欢迎再次阅读我们的#Eden访社区#专题,我依然是那个老犯错的@陈欧侃 。首先,我要向@Tom_Bu 道歉,上期由于我的排版处理原因让你难受了,非常不好意思!
好的,回归正题,本期我们继续请到了安同开源社区的开发团队。同学们,你们作为国内Linux的新生力量,我想和你们一起來讨论些Linux的技术话题。你们介绍安同的时侯提到,你们采用了DEB加APT作为软件包管理机制。我想问下,你们认为DEB和RPM两种格式中谁更优秀?
王铭烨 :
有意思的问题来了。。以下仅表明个人观点
最早碰包管理是iOS越狱的Cydia/APT,说实话当时概念还各种混乱……然后不知怎么搞了个预装Ubuntu(嗯,没错)的电脑,于是apt技能点就多起来了,我就开始用apt-dpkg包管理体系了……
yum-rpm这边嘛……一直由于种种原因不大会用,最近才刚上手……感觉还是apt好上手……不过我还是得承认rpm有一些dpkg没有的特性……
欧侃:
OK,其他同学都在沉默!好吧,也许同学们知道,我是习惯使用KDE桌面的,但也有很多人喜欢Gnome,而你们认为桌面环境应该是怎样的?是大而全还是小而精?
Tom Bu
先说下,我一个Arch一个Anthon都是KDE,也曾经装过KDE on Windows;GNOME用过不过G2不够 Eye Candy 而 G3就是我的本子(配置见下面)带着都小吃力;Xfce的话没那么多精力去Hack 打磨所以也放弃了! 桌面环境我一直认为适用的就是最好的,比如我不会给我的SNB i5 8G内存带固态的笔记本用LXDE。
因为太影响心情(我可不想一张好端端的SYD或者别的壁纸被LXDE给毁了);我也不会给CentralPoint那个 备用桌面用KDE甚至DE。
DE因为没有必要(实际上这种环境下你只需要窗口管理器、面板、文件管理器、浏览器、文本编辑器、终端器、系统监视器)。所以对于这个问题我只能回答“视情况而定”。
顺便补上因为考 SAT II一直没回答的包管理的问题:
其实我最欣赏的包管理是Windows Installer,真的。
包管理应该和数据库一样做到ACID(原子性、一致性、隔离性、持久性),而在我见过的所有包管理中Windows Installer无疑是处理的最好的(包括依赖处理,Windows 8+已经做得非常好了)
实际上,只要做到了基本的依赖处理和 ACID 其他的特性都不重要,比如RPM的软性依赖在 DPKG/APT中一直缺席,但是这并没有影响到Debian/Ubuntu。
因为这些发行版巧妙地使用了元包(meta-packages)来实现了软性依赖(比如 netbeans 依赖于 default-jre 而这个包则可能依赖于 openjdk6/openjdk7/gcj 等),类似的机制还包括 Pacman 的 Provide 特性;相反真正对系统来说的就是上述的 ACID。
Jeff Bai:
我对桌面环境的选择完全视心情而定.....不过还是最喜欢 KDE.
桌面环境又是一个圣战题材啊,所以我们仓库里面提供了KDE/MATE/Xfce/RazorQt/LxQt/LXDE/... 大约二十多个桌面环境,配合我们的AOSC Spin项目(当前没什么进展),社区成员或者开发组自身的人可以构建自己的,带有不同桌面环境的版本(而不仅仅是官方的KDE 版本)。
更正下,桌面环境_以及_窗口管理器比如 Awesome
欧侃:
我突然想追问下,一款轻巧的桌面环境对于支持古董级的机器多大用处?而你们认为Linux应该支持多少年以前的主流配置?
Tom Bu:
我个人对这个的看法是:
物尽其用,比如Alpine Linux,使用uClibc构建,配合LXDE,或许可以让我淘宝上花500买来的使用全美达处理器的本子成为我的备用机,在长途旅行中放放歌带带Vim啥的(不敢奢望视频和Emacs/Atom,我随便一季动漫就是720p,同不敢奢望无损,只要有AAC就够了)
对于配置,我一贯没有什么时间概念,只记得处理器代系。
我曾经在一台使用Willamette Celeron 和384 MB SDRAM的机器上成功运行Puppy Linux(IceWM)且拥有可以接受的速度。我个人以这一代处理器到我当时使用的Puppy的发布时间(2012年)为可以保证速度的支持极限。
欧侃:
的,最近著名大嘴袁萌教授发文指责央视称Linux缺乏硬件厂商的支持是在诋毁Linux,而我认为目前Linux是很缺乏软、硬件厂商的支持。不知,这点你们有什么看法?
Tom Bu::
首先是硬件:
任何自行配置过Linux内核的都知道Linux内核支持多少不同种类的硬件。在我经手过的电脑中,是有些电脑的部分硬件(一般为无线网卡,Broadcom的最为常见)需要专有驱动程序,不过相比之下,Linux能开箱即用的硬件总体上是多于Windows的。
在几年前驱动的确很成问题,不过现在Linux已经可以做到在大部分机器上开箱即用。以我的笔记本为例,大多数内核3.2+的发行版均可以在不另行配置的情况下运转的非常好,而即使是Windows 8.1在安装好后也有近10个驱动要装才能完全驱动起来。
说Linux软件不够多的先看完AUR再说话。
当然这只是玩笑话。Linux上软件不如Windows丰富在某种程度上是事实。不过就日常而言现阶段的软件包已经足够多了。浏览网页有Chromium,收发邮件、联系人、日程我可以用一套kdepim和Akonadi来完成,文书处理这些学生经常进行的工作可以使用LibreOffice和WPS,音视频图片处理有Audacity, Kdenlive,Lightworks, GIMP,RawTherapee,Inkscape,音频播放我用的是被视为与foobar2000相匹敌的DeaDBeeF,视频播放使用Mplayer(包括其前端 ROSA Media Player)和VLC,通讯的话Skype和Pidgin-lwqq基本够用,在游戏方面,我的电脑上有PyTouhou,Taisei, Story of a Lost Sky这类消磨时间的游戏,而我们开发组也有提供大型游戏、PSP等的模拟器和一些galgame的运行时环境。
还有就是灵活应用Wine。我们可以将Wine理解成一个Windows子系统,我的Wine主要被我用来运行一些游戏,比如基于.NET的osu!、绝大多数东方系列游戏和红色警戒等。除此之外Wine还可以被用来运行到Adobe Photoshop(最高到CS5)、MicrosoftOffice(最高到2010)等应用程序。
总体而言,Linux的软硬件支持肯定是能够满足大多数常规任务的,并没有严重的软硬件支持的短板。
欧侃:
不过,我还是认为硬件厂商对Linux支持的不够,一些没有被内核支持的硬件确实很难找到驱动程序,还有些手机、相机和打印机的专门的管理工具硬件厂商的确不提供的。
那么,你们对Linux在未来这段时期的发展有何展望?
王铭烨:
嗯,补一刀,驱动支持和厂商支持的确在Linux上常常不是一件事……
貌似CC*V按照Windows的习惯把那两个划等号了……
Jeff Bai:
我认为在 Linux 这种生态环境中,其实厂商支持并非总是主动,但是我举一个最近的例子。Phoronix.com近日有这么一个报道,标题为\"Marek Patches A "Mega Radeon\" Driver"这是一个典型的厂商支持案例,但是目的呢:
1. 简化开源支持的工作
2. 纯粹的厂商看不顺眼
我如此分析大概的意思就是,厂商如果大发慈悲去支持一个开源驱动项目,往往在帮助用户的过程中是在给自己寻方便,就思考一下,如果用户下载了一个发行版(这个发行版也显然只能预装开源驱动),然后他的显卡工作并不良好——一个可能的结果就是这个用户不明白问题出在了“软件支持”还是“硬件质量”上......
至于手机/相机/打印机我相信还有很大空间可以改善,作为一个摄影爱好者我很明白这一块的支持问题......
我也经常需要回到Windows去处理我的照片,首先是相机识别有问题,其次就是......
图形性能真是比较糟糕。展望的话,我认为顺其自然了,目前总的来说Linux的发展生态还是很不错的。
Tom Bu:
关于周边设备,我就不吐槽被我抛弃的iPod Shuffle了。 当时只有gtkPod一个软件能同步歌曲,还没法写入语音播报信息和播放列表(Shuffle没屏幕),于是iTunes这个不怎么样的软件成了Windows的杀手应用。
相机的话PTP协议我还没试过,不过我知道我笔记本内置的读卡器内核肯定是支持的还有我的小米,MTP时灵时不灵的,很烦。
王铭烨:
嗯,我这边常年adb连手机……(mtp不能传4GiB以上简直捉急)。另外OS X用户表示iTunes还不错啊,当然首先你要……
欧侃:
既然说了硬件问题,我们再来说说应用软件方面的事。首先,同学们认为要推动Linux应用软件高速发展的前提条件有哪些?
Tom Bu:
顺其自然吧,现在形势已经很喜人了当然民众得有相关的意识而且最好国家能真正去用,而不只是说说就像德国慕尼黑政府的案例。
记得我小学的时候我们的信息课本上就有红旗Linux(那是还是KDE3),当时我们的老师直接就跳过去了,我问老师为什么不上,老师只是说“我也没用过,而且重装很麻烦”。等我真正到了开始熟练使用Linux的时候,红旗已经不在了!然后就是不要有涉嫌绑架用户的发行版专属软件(不点名了)
欧侃
嗯,近一年来,Linux平台上的国产商业应用软件好像多了起来,如瑞星、傲游、金山和搜狗都推出了各自的Linux版应用。虽然这比起普及Linux桌面岁所需要的数量还只能说是冰山一角,但还是让我们看到些许希望。那么,你们觉得怎么吸引更多的商业公司为Linux开发应用?
Tom Bu:
首先是一个有吸引力的开发环境。
现在各大 Linux 发行版之间的区别很大,就init为例,虽然大多数发行版已经开始使用systemd,但部分发行版依然在使用 Upstart 或者 BSD init,还有各大发行版在库等方面也有许许多多的差别,这些都给开发带来了麻烦。
别的不说,此处就提下QQ for Linux, 生不逢时,最后不了了之了
补充一句,有时候一些改进成为私有补丁纯粹是因为向上游提交的时候碰壁了,上游不接受,于是下游只好以一种“不要拉倒”的态度去处理这个问题在此再次不点名批评某大型桌面环境的某语种本土化社区。
Tom Bu:
研究下现有的 Linux 平台的商业软件,不难发现一些特点,包括使用可移植性高的技术(如 Java, Qt)、自带绝大多数共享库与运行时环境。
造成这种现象的原因就是 Linux 平台的碎片化。使用 Java, Qt 等能够提供给单一源码可移植性的解决方案能够减少工作量,提升开发效率,同时捆绑运行时与共享库则能够最大程度上克服发行版间碎片化的影响。
其次是大环境吧
欧侃
既然提到了QT等开发工具和库,我想先说说我这个“门外汉”的想法。我觉得相对于GTK来说,QT比较独立,依赖相对也较少。而GTK虽然比较复杂, 但GTK程序的效率好像比QT程序更快些。不过,让我讨厌的是,基于GTK派生 出很 多二级开发工具包,如 gtkmm等等,使清理GTK 应用的依赖关系更加困难。对此,同学们有何评论?
Tom Bu:
其实Qt真的不只是那一个东西,一个Qt包括了很多,比如上次为了修复OS2上的Akonadi,我重构了Qt并且补充了相当多的依赖。想象下Qt的依赖中包括MySQL, PostgreSQL, unixODBC, FreeTDS, 分别提供了面向前端程序的MySQL, PostgreSQL, ODBC (SQL Server), TDS (Sybase) 的数据库封装,除此之外,Qt还有Phonon多媒体模块等。相对而言,Qt依赖比较有序不过真心不少。
GTK依赖不但多,还乱,这个自己装一次GNOME就知道了。
还有就速度上我这没找到多大区别。我笔记本上分别有安装GNOME的OS2和安装KDE的Arch,而至都使用了带有BFQ, CK1, UKSM补丁的3.14内核,我并没有感觉GNOME明显更快
Leslie Zhai:(感谢Tom Bu翻译)
因为我在用bugie-desktop所以没法打中文。
1. Qt 不只是 UI 库
2. 在架构上 Qt 优于 GTK
3. C 比 C++ 快但是汇编比 C 快
4. 我讨厌 GtkMM
我的看法:
基本同意,Qt 的架构优势使其能更好消除平台差别提供单一源码可移植性,而且其众多的 功能封装也有利于开发(最明显的 Qt 数据库后端支持 SQlite, MySQL, PostgreSQL, unixODBC [MS SQL Server], TDS [Sybase Adeptive Server]等)。而GTK的混乱是有目共睹的
欧侃:
非常感谢安同团队的所有同学在过去一个多月和我探讨了话题,最后想请年轻的你们给大家说点对未来的展望?
以俊德:
且不说安同这个系统,首先就是我们一帮年轻人,能够为了同一个目标走在一起,这就是非常好的了,而且是缘分。
(我想起当年作为NOIP党的我就是因为看到安同“由中学生构建”,而且刚好那时有做系统的想法,才加入进来的。要不 然我现在一定还在题海中苦苦挣扎 )
如果能够有更多志同道合的人参与这个项目,那就是极好的了。现在像我们这个年龄段的,能够有兴趣弄代码的,都不算多。 (我们学校基本上没有弄代码的人)
再说安同这个系统吧,我虽然不是构建者,但我知道安同这两年走过的太多 (当我使用安同一个小时后我并不感到笔记本电脑 明显热乎的时候)。从刚开始基于openSuSE的,呆在虚拟机里面的大家伙(我还保留着),到基于Debian的一代系 统,再到现在的二代系统,安同作为一个由学生党维护的发行版,不得不说这些都是一次又一次的飞跃。
我非常看好安同OS,同时也很希望中国的Linux社区环境能够更快地完善起来。
本人在学校有一个信息技术社团,借此 我也能看到非常多的学生生活在一个信息技术发达的时代,面对“开源”与“Linux”,甚至“版权”这些概念时就像他们看到美国航母一样震惊,这就体现了不论是学校还是社会对于这些概念没有给予普及,或者是,没有支持。我希望未来能够有学校可以支 持开源软件以及Linux系统。
Jeff Bai:
哈哈,以兄长篇大论......
我个人来说从来没有预料过这个社区能走到今天,也到了三周年了...... 我觉得友情第一,技术第二别的都放一边。我感觉我们能在一起很幸运,很开心。
Leslie Zhai:
Happy Hacking :)
欧侃:
歇息,感谢安同开源社区的各位同学接受我门Eden的专访!由于邮件数量非常庞大,观点如有遗漏敬请同学们谅解!
(陈欧侃策划、采编)