多包管理器

Lor*_*oh. 9 linux distro yum package-managers aptitude

使用多个包管理器有陷阱吗?我可以同时使用Redhat的yum和Debian的天赋吗?

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

我倾向于选择Debian,但是一个快速的VM安装显示内核在稳定的repo中没有升级到3.2.所以我打算转移到Archlinux,但是信息图表对软件包可用性的评价很低,我想知道我是否可以从Fedora或Ubuntu存储库安装.deb或.rpm文件.

Cor*_*son 9

简短的回答是,是的,你可以,但你真的不应该.

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

  • 依赖地狱

首先存在yum/apt/yast之类的主要原因是为了避免所谓的依赖地狱.通过使用来自其他系统的软件包,您可以放弃已经放入软件包中的工作.

辅助包管理器将希望满足自己的依赖关系,并安装一堆已安装的东西.这意味着您必须一次安装一个软件包,这样您就不会覆盖主软件包管理器中已安装的软件包,并且会遇到各种问题.

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

如果他们这样做,您甚至可以直接安装它,但您可能会遇到依赖性问题或包冲突.如果他们不这样做,你可以用各种工具提取包,然后将二进制文件放到文件系统上(看看外星人,或者这篇关于提取.rpm和.deb文件的帖子).

这将获得系统上的文件,但不保证它将开箱即用.可能(并且通常是)需要一些额外的手动狩猎.

  • 基本软件包的版本如glibc是相同还是非常接近?

如果是这样,问题的可能性就会降低.两个发行版的基础软件包之间的进一步区别,您运行的发行版中缺少共享库的可能性越大,因为版本不同且文件名与二进制文件不匹配寻找.

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

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

我能说清楚这一点的最好方法是我现在看到的从网络主机购买虚拟机的常见问题; 你有自己的xen或virtuozzo内核品牌,iptables不能直接工作,因为netfilter在内核中并且ABI已经改变了.让它再次运行可能会让人头疼,这个问题不仅限于iptables.我最好的建议是在自己的基础存储库中选择具有所需内核的发行版.

  • 从源代码编译

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

  • 非常感谢:-)这是一个非常好的答案.我希望这个问题已被移动而不是被关闭. (2认同)