多包管理器

卢勋爵

使用多个程序包管理器存在陷阱吗?我可以同时使用Redhat的yum和Debian的能力吗?

我碰到了这篇文章和这个信息图表-2011 Linux Distro比较结果

我倾向于选择Debian,但快速安装VM显示该内核在稳定版本中尚未升级到3.2。因此,我计划迁移到Archlinux,但是该信息图表认为该软件包的可用性很低,我想知道是否可以从Fedora或Ubuntu存储库中安装.deb或.rpm文件。

科里·亨德森(Corey Henderson):

简短的答案是,是的,您可以,但实际上不应该

以下是交叉分发安装时要考虑的事项列表(无特定顺序):

  • 依赖地狱

首先出现诸如yum / apt / yast之类的东西的主要原因是为了避免所谓的依赖地狱通过使用来自其他系统的软件包,您将无损安装到软件包中的工作无法进行干净安装。

二级软件包管理器将要满足其自身的依赖性,并安装一堆已经安装的东西。这意味着您必须一次安装一个软件包,以免覆盖主软件包管理器中已经安装的软件包,并且会遇到各种问题。

  • 他们是否使用相同的包管理器?

如果这样做,您甚至可以直接安装它,但是您可能会遇到依赖性问题或程序包冲突。如果没有,则可以使用各种工具提取软件包,然后将二进制文件放到文件系统上(请查看Alien,或有关提取.rpm和.deb文件的文章)。

这将为您提供系统上的文件,但不能保证它会立即可用。可能(通常)需要一些附加的手动搜索。

  • 基本软件包(例如glibc)的版本是否相同或非常接近?

如果是这样,则出现问题的机会就更少。这两个发行版的基本软件包之间的差异越大,您丢失运行的发行版中不可用的共享库的可能性就越大,因为版本不同并且文件名与二进制文件不匹配寻找。

从技术上讲,您还可以从其他发行版中提取基本依赖项,并将它们放在文件系统中,但是,如果您需要从源代码进行编译,那肯定会让您感到痛苦。想象一下gcc会是多么混乱。

  • 您要安装的软件包是否需要特定的内核模块?

我能清楚地说明这一点的最好方法是我最近从网络主机购买VM时遇到的一个常见问题。您获得了自己的xen或virtuozzo内核品牌,而iptables不能完全正常工作,因为netfilter在内核中并且ABI已更改。使它重新工作可能非常令人头疼,并且此问题不仅限于iptables。我最好的建议是在自己的基本存储库中选择具有所需内核的发行版。

  • 从源编译

毫无疑问,如果您非常想从其他系统获取软件包,就必须这样做。由于各种发行版以不同的方式设置其构建环境,因此您将花费一半的时间来解决路径和其他配置问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章