我正在使用CentOS 7 64位。我尝试使用yumdownloader
下载多个软件包及其依赖项。然而,我面临的问题是,我不需要的软件包被下载。
当我使用yum install <package>
安装一个软件包时,只安装了一个软件包:或者x86_x64
(如果可用),或i686
(如果64位不可用)或noarch
。我试图模仿相同的行为,只下载与yumdownloader
最匹配的软件包。然而,这并没有像预期的那样工作,x86_x64
和i686
都被下载用于有2个可用体系结构的软件包。添加--archlist=x86_64
没有任何区别。在配置文件中设置multilib_policy=best
也没有任何区别。
我还检查了repoquery
工具。如果我设置了--archlist=x86_64
,那么只会列出x86_64
软件包。那些只有i686
或noarch
版本的软件包不会被选中。如果我设置了--archlist=x86_64,i686,noarch
,那么结果与yumdownloader
类似,也就是说,会选中多个体系结构。
是否有方法列出或下载最匹配的软件包?
我看到的唯一选择是完全手动完成-使用repoquery
准备列表并删除重复项。但我更希望找到更整洁和健壮的方法。
1条答案
按热度按时间esbemjvw1#
你能做的就是使用标准的
yum
选项来排除软件包。它是由yumdownloader
“继承”的。示例:
请注意,i686是x86_64的一个“子集”,这是因为它有多个库,尤其适用于库(几乎所有的都有i686的等价物)。确保你以后不会有任何真正需要i686库的软件......我见过的唯一值得注意的这样的i686软件的例子是steam。i686(根本没有x86_64版本),但话又说回来,谁在RHEL上玩那个?(除了我自己)。