【问题标题】:Why do various Linux distros use different package managers?为什么各种 Linux 发行版使用不同的包管理器?
【发布时间】:2010-09-21 15:34:54
【问题描述】:

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

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

【问题讨论】:

  • 打包系统也在发行版之间共享。 red hat 和 suse 使用 rpm,debian 和 ubuntu 使用 deb,例如
  • 因为增殖是完全可能的。 BSD 的 IIRC 不那么糟糕。

标签: linux unix installation package-managers


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 我不能责怪他——这样的比较肯定会招致激战。但有趣的内容实际上仍然存在于一个 xml 文件中,供技术更先进的读者查找。当然,随着开发人员向各种打包格式添加新功能,它可能会过时。
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      历史惯性。

      【讨论】:

        【解决方案5】:

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

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

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

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

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

        • a) 没有外部的软件包系统 二进制/源 tarball a la 经典 slackware 和

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

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

        【讨论】:

        • 我相信 slackware 确实有一个包管理器,只是没有官方存储库。现在吃豆子也有相当的市场份额。
        【解决方案6】:

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

        【讨论】:

        • 这是否意味着 Fedora 比 Ubuntu 对多包更友好?
        • 在文件冲突、同一个包的多个安装版本等情况下,APT 和 YUM 的互操作效果如何?
        【解决方案7】:

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

        【讨论】:

          猜你喜欢
          • 2021-08-05
          • 1970-01-01
          • 2012-11-16
          • 2014-10-16
          • 2010-12-03
          • 2022-09-27
          • 2019-08-30
          • 2020-11-07
          • 1970-01-01
          相关资源
          最近更新 更多