使用多个程序包管理器存在陷阱吗?我可以同时使用Redhat的yum和Debian的能力吗?
我碰到了这篇文章和这个信息图表-
我倾向于选择Debian,但快速安装VM显示该内核在稳定版本中尚未升级到3.2。因此,我计划迁移到Archlinux,但是该信息图表认为该软件包的可用性很低,我想知道是否可以从Fedora或Ubuntu存储库中安装.deb或.rpm文件。
简短的答案是,是的,您可以,但实际上不应该。
以下是交叉分发安装时要考虑的事项列表(无特定顺序):
首先出现诸如yum / apt / yast之类的东西的主要原因是为了避免所谓的依赖地狱。通过使用来自其他系统的软件包,您将无损安装到软件包中的工作无法进行干净安装。
二级软件包管理器将要满足其自身的依赖性,并安装一堆已经安装的东西。这意味着您必须一次安装一个软件包,以免覆盖主软件包管理器中已经安装的软件包,并且会遇到各种问题。
如果这样做,您甚至可以直接安装它,但是您可能会遇到依赖性问题或程序包冲突。如果没有,则可以使用各种工具提取软件包,然后将二进制文件放到文件系统上(请查看Alien,或有关提取.rpm和.deb文件的文章)。
这将为您提供系统上的文件,但不能保证它会立即可用。可能(通常)需要一些附加的手动搜索。
如果是这样,则出现问题的机会就更少。这两个发行版的基本软件包之间的差异越大,您丢失运行的发行版中不可用的共享库的可能性就越大,因为版本不同并且文件名与二进制文件不匹配寻找。
从技术上讲,您还可以从其他发行版中提取基本依赖项,并将它们放在文件系统中,但是,如果您需要从源代码进行编译,那肯定会让您感到痛苦。想象一下gcc会是多么混乱。
我能清楚地说明这一点的最好方法是我最近从网络主机购买VM时遇到的一个常见问题。您获得了自己的xen或virtuozzo内核品牌,而iptables不能完全正常工作,因为netfilter在内核中并且ABI已更改。使它重新工作可能非常令人头疼,并且此问题不仅限于iptables。我最好的建议是在自己的基本存储库中选择具有所需内核的发行版。
毫无疑问,如果您非常想从其他系统获取软件包,就必须这样做。由于各种发行版以不同的方式设置其构建环境,因此您将花费一半的时间来解决路径和其他配置问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句