如何只下载适用于64位架构的软件包?

fafcakar  于 2022-11-07  发布在  其他
关注(0)|答案(1)|浏览(180)

我正在使用CentOS 7 64位。我尝试使用yumdownloader下载多个软件包及其依赖项。然而,我面临的问题是,我不需要的软件包被下载。
当我使用yum install <package>安装一个软件包时,只安装了一个软件包:或者x86_x64(如果可用),或i686(如果64位不可用)或noarch。我试图模仿相同的行为,只下载与yumdownloader最匹配的软件包。然而,这并没有像预期的那样工作,x86_x64i686都被下载用于有2个可用体系结构的软件包。添加--archlist=x86_64没有任何区别。在配置文件中设置multilib_policy=best也没有任何区别。
我还检查了repoquery工具。如果我设置了--archlist=x86_64,那么只会列出x86_64软件包。那些只有i686noarch版本的软件包不会被选中。如果我设置了--archlist=x86_64,i686,noarch,那么结果与yumdownloader类似,也就是说,会选中多个体系结构。
是否有方法列出或下载最匹配的软件包?
我看到的唯一选择是完全手动完成-使用repoquery准备列表并删除重复项。但我更希望找到更整洁和健壮的方法。

esbemjvw

esbemjvw1#

你能做的就是使用标准的yum选项来排除软件包。它是由yumdownloader“继承”的。
示例:

yumdownloader libX11 --archlist=x86_64 --exclude="*.i686"

请注意,i686是x86_64的一个“子集”,这是因为它有多个库,尤其适用于库(几乎所有的都有i686的等价物)。确保你以后不会有任何真正需要i686库的软件......我见过的唯一值得注意的这样的i686软件的例子是steam。i686(根本没有x86_64版本),但话又说回来,谁在RHEL上玩那个?(除了我自己)。

相关问题