Yumdownloader还下载不同架构的包

Yumdownloader还下载不同架构的包

在 x86_64 机器上,如果我运行命令 - yumdownloader <pkg_name>,它会下载 i686 和 x86_64 arch 软件包,而在 i686 机器上,它只下载 i686 软件包。如何解决这个问题?除了提供 archlist 选项之外,还有其他解决方案吗?

答案1

自动排除 i686 软件包:

yumdownloader -x '*i686'

答案2

一种可能性:在 中/etc/yum.conf,您可以更改多库策略如果默认情况下您想匹配,则从“全部”到“最佳” x86_64

您还可以在之后指定架构软件包名称。例如yumdownloader guile.x86_64

但这是正在发生的事情,表明如何“修复”。当您不使用--archlist或不提供架构时,像“guile”、“guile”这样的包将匹配两个包“guile.x86_64”和“guile.i686”,前提是提供了每个包所需的所有依赖项。

因此,这里糟糕的反馈循环是,安装一个软件包的两个版本的次数越多,例如不提供--archlist或在下载中指示拱门,就越有可能将来安装或下载将匹配多个包,因为这样您更有可能满足两个依赖项。

因此,处理此问题的另一种更乏味的方法是查找包的依赖关系,并且在存在i686版本的情况下,消除那些。这将需要您删除越来越多的i686软件包,并且您可能需要确保有x86_64这些软件包的版本。在某些情况下,可能没有,或者没有其他包也可以。

如果您以自动化方式构建此系统,例如通过输入脚本蟒蛇x86_64或者像 puppet 或 Chef 这样的配置管理系统,当您列出要加载的包时,您可能需要在包名称后面添加 arch (例如,guile.x86_68而不是guile),以减少每个包同时安装在 32 位和 32 位操作系统中的问题。或 64 位方式。

最后,我应该指出,毫无疑问,有些软件包仅以 32 位形式存在。

相关内容