如何只下载适合 64 位架构的包?
How to download only packages suitable for 64 bit architecture?
我使用的是 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
准备列表并删除重复项。但我更愿意找到更简洁和健壮的方法。
您可以做的是使用标准 yum
选项排除软件包。它被yumdownloader
.
“继承”
示例:
yumdownloader libX11 --archlist=x86_64 --exclude="*.i686"
请注意,由于 multilib,i686 是 x86_64 的“子集”,尤其适用于库(几乎所有库都具有 i686 等效项)。确保你以后不会有任何实际需要 i686 库的软件......我见过的这种仅 i686 软件的唯一值得注意的例子是 steam.i686(根本没有 x86_64 版本),但话又说回来,谁在 RHEL 上播放它? (除了我自己)。
我使用的是 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
准备列表并删除重复项。但我更愿意找到更简洁和健壮的方法。
您可以做的是使用标准 yum
选项排除软件包。它被yumdownloader
.
示例:
yumdownloader libX11 --archlist=x86_64 --exclude="*.i686"
请注意,由于 multilib,i686 是 x86_64 的“子集”,尤其适用于库(几乎所有库都具有 i686 等效项)。确保你以后不会有任何实际需要 i686 库的软件......我见过的这种仅 i686 软件的唯一值得注意的例子是 steam.i686(根本没有 x86_64 版本),但话又说回来,谁在 RHEL 上播放它? (除了我自己)。