在我使用Debian的Linux生涯中,我一直在查看其他发行版,对于它们在不同版本之间没有提供平稳的升级,我感到非常惊讶。Debian是可以无限升级的,我现在已经通过几个主要的稳定版本进行了升级。
我指的是得到良好支持的发行版,如Fedora (和衍生品),甚至是Ubuntu和衍生品。甚至是像CentOS这样的稳定的面向服务器的发行版。
是不是因为Debian的包管理系统和包升级脚本比其他发行版要先进得多?
还是从零开始重新安装一个主要版本的升级只是一个更好的想法,总体上,不管发行版?
发布于 2012-04-20 02:33:56
这是多种因素的结合。
大多数发行版使用主要版本作为实现重大更改(有时是中断更改)的时间。例如,Fedora 15添加了systemd,Ubuntu在6.10中增加了upstart。Debian在很多方面都是非常保守的发行版。巨大的,破碎的变化是不能接受的。
例如,Debian的发布周期相距甚远,因为它们要求修改每个重要的包以满足新版本的标准。
Debian的包管理技术并不优于Fedora或Ubuntu(显然,因为它与Ubuntu相同),但是Debian已经决定,在文化上,拥有一个平滑的升级系统非常重要。
发布于 2012-04-20 04:29:17
更具体地说,我在进行升级时遇到了许多发行版上的问题。例如,Ubuntu会在不同版本之间大幅更改其已安装的包库。如果您执行传统的‘dist-升级’,安装的软件包将更新到他们的新版本,但最终结果缺乏新的阵容变化。如果默认安装中的包降级为“支持”或更糟的“不支持”,则仍然保留该包。如果新包现在处于默认安装中,则不会安装它。即使你的版本是“技术上的”升级版本,它并不反映新的发行体验。同样的情况也非常准确,当将CentOS5与CentOS6进行比较时,它们完全重新组织了它们的打包名称。
Debian优先考虑的是平滑的升级,而代价是如此剧烈的变化。这就是为什么Debian在更新的特性上比较慢的原因,对于他们的社区来说,权衡是可以接受的。为了回应前面的答案,它与包管理技术本身无关。我要说的是,Ubuntu不断的重新安装让我疲惫不堪。
发布于 2012-04-20 12:42:06
对于整个滚动释放发行版来说,您所说的并不正确。
对于系统维护软件来说,当只升级系统的某些部分或在整个升级过程中保持配置一致性时,解决跨包兼容性问题要困难得多。需要对各种软件包进行调整,使它们能够很好地相互配合。
这就是为什么提供系统更新的最简单(也就是最可靠的)解决方案是定期准备一个完整的、经过彻底测试的、完全安装的版本。企业解决方案,如Red,采取的立场是,客户必须得到一个可靠的系统,并为中断升级尽可能长的麻烦。(当然,小的升级和错误修复必须是可用的,甚至是自动提取的)。这也是免费服务器发行版(如CentOS )背后的一般理念。
对系统开发人员来说,为最终用户提供一个在版本之间无缝升级的路径是一个巨大的挑战。许多发行版选择不为此牺牲自己稀缺的时间。许多流行的软件包(例如QT )很难升级,通常需要完全重新安装。更重要的是,许多项目显示发展努力有所减少,或被新技术所取代。对于系统包,这通常需要进行一些重要的系统重新设计。如果迁移过程必须考虑到一些人希望从C版升级到D版,但另一些人则将从表格B或从A转到中间的某个自定义状态,则迁移过程可能特别难以执行。
因此,正如您可能已经猜到的,最具挑战性的方法是滚动发布。我不知道Debian方法的细节,但从您的描述中我可以看出它们处于中间位置。
https://unix.stackexchange.com/questions/36920
复制相似问题