作者: 王旭 来源: 移动labs
也不记得用了几年Debian了,反正自己03年开始写的Debian的书就要上市了,Potato基本没怎么用过,从 Woody 还是 testing 到 Sarge,然后是 Etch,最近的就是 Lenny ,现在 Sqeeze 是新的 Testing 了,见证了 Debian 这么久的路,我想我还是有点评论的资本的。
一直以来,Debian 以稳定和平滑升级而被众多的拥护者所追捧。Sarge 的 Debian-Installer 之前,Debian 曾经以安装的艰苦而著称,如今,那些艰苦都已经成为过去了,可 Debian 所面临的挑战却更大了。
一个开源项目,它的根本性格和命运都是由孕育它的社区所决定的,维持开源项目的生命力的关键也是让它的社区健康发展,这也就是最近流行的所谓 “ecosystem”论。拥有上千开发者和不计其数用户的Debian,因为其自由、法制和民主,无疑曾是最健康和富有活力的开源社区之一,不过,最近却也面临着社区萎缩的危险。
很多人会把问题归咎于Ubuntu,是的,Ubuntu源于Debian,没有Ubuntu的话,很多新手可能会选择Debian的。可是,我觉得实际上Ubuntu的出现只是将Debian已有的一些问题暴露了出来,而并没有真的伤害Debian。首先,选择Ubuntu的大部分新手,如果真的会选择一个Linux Distro的话,也会选择 RH/Fedora 、Mandrava 或 OpenSuSE 这样的版本,而 Ubuntu 大量派发的光盘和高曝光度让很多用户熟悉了 APT 系统,这反而让他们将来可能会选择 Debian。另一方面,Ubuntu 的很多得到资助的开发者同时也会服务于 Debian,因为同时为 Debian 和 Ubuntu 打包的难度并不大,而这些开发者本身也大多是源于 Debian 社区,对 Debian 有传统好感的。因此,Debian 如果有什么不测的话,Ubuntu 绝对不会是罪魁祸首。
不考虑 Debian 开发者的问题,单从用户角度看,个人觉得,Debian 在它的 Release 方式方面是有一些不爽的地方的----
首先简要介绍一下 Debian 的 release 周期的工作方式:Debian 有 unstable (codename: sid), testing (当前codename: squeeze),和 stable (当前 codename: lenny) 三个平行的发布版,每个都是完整的,可以直接拿来用。
每个软件包都由一个开发者(或小组)维护(目前大概有一千个开发者维护一两万个软件包),这个软件包在三个发布版中的哪个的包都由这同一个开发者来维护。每当上游有新版本,或开发者自己修正 bug 之后,他都会将这个软件包送入Debian仓库,确认无误的情况下会进入 unstable,也就是说只要开发者工作迅速,unstable 的用户总可以用到最新最酷的软件,当然,代价是用户要面临最新出炉的bug,事实证明,debian unstable中的bug其实也不是很多。
如果一个软件包在 unstable 中待了足够长时间没有bug,又没有什么依赖关系的羁绊,那么它就毕业进入 testing 了。unstable 相当于一个新软件包的仓库,它关心的是软件升级和bug。但testing不同,testing的目的是将来成为stable,因此 testing 追求的是整体上的功能目标和整体上没有严重bug,当 testing 已经具备了预先商定的功能,又控制住了整体bug的数量时,testing 就会被复制一份成为新的 stable了,原有的 stable 变为 oldstable,而 testing 也要获得一个新的 codename 了,刚刚发生过的一次更替就是 lenny 取代 etch 成为 stable,新的 testing 被命名为 squeeze。
按理说上面这个过程天衣无缝,不论是软件包还是发布版整体,都能达到一个相当稳定的程度,可以达到既定的平滑升级与稳定运行的目标,是理想的发布版。但是正是这个过程,存在着一些让人挺痛苦的问题:
首先是不可预知的发布周期:如果Debian的一个版本跳票一两个月,那简直值得我们去庆祝一下了,Debian的大部分版本迟到都在半年以上,差不多两年的也不是没有,为了达到一个可以release的目标,常常要耗费很长时间,相比于Ubuntu这样的固定每年发布两个版本的系统,Debian的稳定恰恰成了它让人望而却步的死穴。
正是最后临近发布的这段时间,很多升级都被freeze了,大家忙着抓虫除错,让sid很难得到最新的软件,很多期盼新版本的人实际是期盼新版本快点发布,好让新版本软件可以快点进入sid来。而每当一个stable release之后,大量新的更新涌入也让这段时间成为了致命bug的高发时段,这样,对于大量求新的桌面用户,无法从stable的发布中获益,反而受到挺大冲击,这就成了Debian的又一个梦魇。
此外 Debian 需要支持包括 x86, ppc, ia64, mips, arm 等这些不同的硬件架构并同期发布新版本,这也为其debug带来了很多困难,相比之下,ubuntu们舍弃了很多,也换来了轻快。
实际上,Debian最好能一方面不考虑release的正常的平滑更新,这正式大多数桌面用户所需要的,另一方面,又能在一定时间点分支出一个分支,进行除错和稳定化,退出面向关键应用的更稳定的版本,没有必要分成三个发布版。但是,这样对于由志愿者组成的Debian是很困难的,要知道,业余时间就算是写个这么长的blog都挺累的,更何况让这些志愿者们同时维护相差甚远的两个版本,并按时保质保量的发布呢。这大概也就是前DPL要引入一些商业资助的原因吧。
稳定和平滑,确实是有矛盾的,Debian平滑运行了16年,我们拭目以待debian如何解决它面临的问题吧。写的比较乱,因为确实有些困了,呵呵。
六翼拉菲尔 于 2009-06-10 17:54:23发表:
作者已经明确的表述了debian的优点,“一直以来,Debian 以稳定和平滑升级而被众多的拥护者所追捧。”
而在之后的论述中作者给出的解决方案是,“实际上,Debian最好能一方面不考虑release的正常的平滑更新”
对于此种针锋相对的观点出现在同一位作者的同一篇文章中我表示不解。
crazypenguin 于 2009-05-28 15:44:14发表:
晕倒,你们要更认真的理解作者的口吻才行;
作者的意思并不只是说他自己想要Debian变得更新快之类的那个意思吧;
我理解的是,他是站在一个新接触linux的新手的角度上去说罢了~~
人 , 喜新厌旧 , 这太正常不过了,但我并不觉得这就完全是件好事;
所以,跟linux相处久了,并且又想追求一个稳定的工作学习的操作系统环境的话,我想还是比较多人是会选择上GNU/Debian的;
我爱你,GNU/Debian!
cdaxcy 于 2009-05-24 10:45:58发表:
新软件带来的新功能,只是需要的时候,才有必要升级,求新的话你可以federa。。
aqq5220 于 2009-05-22 13:34:59发表:
了解下!
RedFire87 于 2009-05-18 07:44:07发表:
作者你根本没有理解debian,更不用说linux了。这么多年你是怎么过来的……
huju 于 2009-05-16 21:19:39发表:
我是linux新手,但已经经历了redflag两个版本和ubuntu三个版本,最终找到了debian。我要的是绝对的稳定和可靠,没有特色的redflag和更新太快的ubuntu满足不了我的要求。
ptname.com 于 2009-03-23 12:07:06发表:
作者写了这么长,值得佩服一下。我想要说的是,我周围的一些朋友用LINUX已有7、8年了,最后归结于简单和快捷。我也是。一时的新鲜带来的是烦啊,老是折腾,累啊。
eku123 于 2009-03-18 22:06:19发表:
其他发行版本早已经商业化了,只有debian在为开源和自由继续支撑,不管以后的趋势怎样,我们都应该尊敬和支持它。
jerry520 于 2009-03-18 12:21:12发表:
写的不错啊.鼓励下!
stesen 于 2009-03-14 15:19:03发表:
debian有自己的特点,没人能强求,不喜欢就换,谁都不会拦着
就是喜欢debian的这种自由
花猫 于 2009-03-14 15:00:27发表:
作者是个老手了,本人还是个菜鸟,但我却很喜欢稳定的东西,旧的也可以,不喜欢追新。这就好比是手机,现在是3G了,但我一个新功能也用不上,就连2G一些旧的功能也没用全,说实在的,只接打电话,收发短信,其它一切功能全不用。
看来对我这样的“老人家”,稳定是吸引我的首要因素,也是唯一因素。关心Debian,人人有责,作者值得肯定。此文收藏。
litkt 于 2009-03-14 12:32:58发表:
如此观点,作者快成网敌了.:)
直接了当的说, 作者如此追新, 这些年的linux算是白用了,整个的思维方式还未真正的linux化.
真正linux化的思维方式是, 很多新软件和软件的升级所带来的新功能,只是自己真正需要的时候,才会升级,否则宁可用更老的版本或软件.
作者过于关心升级周期, 过于关心新品, 整个是消费主义心态,与linux和debian的简约和够用即可的思想是格格不入的.
clake846 于 2009-03-14 10:49:14发表:
鸟哥的 Linux 私房菜基础文档6.rar