为什么各种Linux发行版使用不同的软件包pipe理器?

为什么Linux发行版有不同的软件包pipe理器?

我觉得这很奇怪,因为其他软件,如文本编辑器,桌面环境和graphics软件(Inkscape,Blender,GIMP)在发行版之间共享。 为什么不有一个共同的设置工具?

就像UNIX世界中存在重复行为的大多数事情一样,它是许多事物的组合,但主要是历史,政治/宗教以及建立更好的捕鼠器/ NiH综合症的愿望。 开源支持者经常称赞执行相同任务的多个系统组件的存在是一个有用的功能。

一般来说,你大多需要担心四种包管理系统。 你有debian派生的系统,如debian,使用.deb ubuntu和apt / dpkg系列的管理工具。 您有使用.rpm格式和rpm / yum系列管理工具的redhat衍生系统。 在我看来,这两者大致相当。

重要的是尝试和学习你正在使用的工具集,它们都是有据可查的。 了解如何检查依赖关系,并验证包签名和完整性,并找出包提供的服务,以及相反,哪些包负责特定安装的文件或程序,使用本地包工具进行分发。 理想的学习命令行选项来为yum和rpm做这个,然后dpkg和aptitude,你将拥有大部分的基础。 然后使用GUI工具,如果你喜欢。

我认为最重要的是要记住,即使使用相同的软件包格式,将来自不同发行版或发行版的软件包混合在一起通常也是一个错误,例如,不要在您的Ubuntu系统上安装debian.deb文件,或者使用SuSE rpm你的Fedora系统上的文件,除非你真的明白你在做什么。

我提到的其他两种口味不太主流,但为了完整起见,我列出了它们。 这些是

  • a)在二进制/源代码tarball之外没有包系统经典slackware,和

  • b)建立在BSD端口之后的源代码构建工具, 一个经典的gentoo。

再次,你不想在这里,直到你明白为什么你可能想在我看来。

历史原因。 同样,你可能会问,为什么有多家公司提供类似的服务,只有一家公司可以提高整体效率。

请参阅http://kitenet.net/~joey/pkg-comp/ ,从Debian开发人员的角度比较不同的软件包格式。 另外请注意,您可以使用一个名为alien的程序在其他类型的系统上安装一种软件包。 这并不完美,但是当供应商为您选择的发行版提供“错误”的软件包格式的软件时,它会有所帮助。

历史惯性。

现在Fedora同时使用APT和YUM,他们在Wiki上有一点点关注,当他们开始制作Fedora的时候,他们选择了YUM,因为APT一段时间没有任何更新,而且他们现在支持APT,但是默认为YUM,因为这是Anaconda安装程序使用的。

有些人共享一个包管理器。 我已经在几个发行版上使用了Apt。 一些发行版需要一些更具体的哲学。 例如,Gentoo需要抓取源代码和编译的东西,而不是只安装一个二进制文件。

在某些情况下,发行商的制造商更愿意使用一种包裹管理系统。 关于Linux的好处是选择,多个包管理系统意味着更多的选择。

还有许多不同的文本编辑器,桌面环境等等。 不同的分布只是分享这个,因为他们提供所有这些程序。

但他们必须决定一个软件包管理器。 不同的包管理器不会知道另一个包管理器安装的软件。 所以分配决定一个人或自己开发一个,根据他们的具体需求量身定做。

两个非常常见的软件包管理器是RPM和apt,它们都被不同的发行版所使用。