14

为什么 Linux 发行版有不同的包管理器?

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

4

7 回答 7

17

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

一般来说,您最需要担心四种包管理系统。您拥有 debian 派生系统,例如使用 debian、ubuntu.debapt/dpkg系列管理工具。您拥有使用该.rpm格式和rpm/yum系列管理工具的 redhat 派生系统。在我看来,就功能而言,这两者大致相同。

重要的是尝试并学习您正在使用的工具集,它们都有很好的文档记录。了解如何检查依赖关系并验证包签名和完整性,并找出包提供的服务,以及相反的包负责特定安装的文件或程序,使用本地包工具为您选择的分发。理想情况下,为 yum 和 rpm 以及 dpkg 和 aptitude 学习命令行选项,您将涵盖大多数基础。然后,如果您愿意,可以使用 GUI 工具。

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

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

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

  • b) 仿照 BSD 移植的源代码构建工具,一个经典的 gentoo。

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

于 2008-11-10T16:11:07.470 回答
6

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

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

于 2008-11-10T15:57:08.310 回答
2

历史惯性。

于 2008-11-10T16:08:16.663 回答
1

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

于 2008-11-10T19:10:20.167 回答
0

还有许多不同的文本编辑器、桌面环境等等。不同的发行版只共享这一点,因为它们提供了所有这些程序。

但是他们必须决定一个包管理器。不同的包管理器不会知道另一个包管理器安装的软件。因此,发行版会根据自己的特定需求来决定一个或自己开发一个。

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

于 2008-11-10T15:52:37.287 回答
0

有些确实共享一个包管理器。我在几个发行版上使用过 Apt。一些发行版需要更具体的理念。例如,Gentoo 需要获取源代码并进行编译的东西,而不仅仅是安装二进制文件。

于 2008-11-10T15:57:10.493 回答
-1

在某些情况下,只是发行版的制造商更喜欢一种包管理系统而不是另一种。Linux 的好处在于选择,多个包管理系统意味着更多选择。

于 2008-11-12T15:02:08.417 回答