这篇文章早就应该发了,但是我太自私,只管自己躲在Gentoo的树阴下乘凉,不为那些在ubuntu的刀山祸害里挣扎的人提供援助。 所以,我觉得为他们提供无偿的援助——告诉他们,ubuntu很烂很烂。
ubuntu的烂要分两个部分,其一是debian的烂,其二是ubuntu的烂。
# debian之烂
debian的烂,体现在包管理器上,特别是debian特色的拆包习俗。
debian的打包习俗有三大恶:
- 拆包细
- 乱改名
- 版本旧
拆包过细,大大增加维护负担。虽然对用户来说看似节约了硬盘空间,安装更少的二进制数据,实际上包管理器的数据库变得更加庞大。
乱改名这就是debian的原罪了。因为deb包本身的限制,无法在包里编制版本信息以允许相同的包的不同版本同时安装。只能采取将软件的版本作为后缀作为包名。比如 libXXX2 libXXX1 libXXX0 这样开发者在写依赖的时候,就需要知道具体后缀是0 还是1 还是2。非常麻烦。
因为拆包细,写依赖就要写一堆,稍微不注意就少写依赖了。大大增加了打包人员的维护负担。
乱改名和拆包结合起来,导致一些著名的软件,即便是使用他的本名你也安装不了。 比如 apt-get install git 是无法安装git的。因为 git 被拆包了,而且还改名了。到现在我也不知道如何安装git。
debian 包以旧为荣耀,片面的认为旧就是稳定。
debian的包,一个字旧。debian通常包含的是上游停止维护的版本。诶,你说上游停止维护的版本,稳定个鬼啊。
可是 debian 不这么认为,debian 认为旧就是稳定。
ubuntu自身之恶
除了原原本本的继承了全部的debian之恶,ubuntu自身的恶就罄竹难书了。
ubuntu喜欢控制,喜欢 fork 上游软件。然后自己定制。定制完了不回馈给上游。
过了一年,ubuntu 又重新 fork ,因为自己 fork 的那个版本落后了,显然不能和上游竞争了。
ubuntu想控制 gnome , 结果控制不了,就自己 fork 个 unity。先是 gtk 开发,然后失败, 然后 以compiz 插件开发,失败,然后又用 Qt 开发。 哥我还是会断定他继续失败。
ubuntu一意孤行,一定要故意创造和其他发行版不兼容的地方。其他发行版用 systemd , ubuntu一意孤行的使用upstart。故意创造不兼容的地方。
TOBE ADD
Comments