我有一个 RHEL 7.8 系统。如果我rpm -qa
这样做,它会列出 2,551 rpm。
当我reposync
这样做时,它显示要下载的转速为 13,314 rpm。在/var/cache/yum/
各自的存储库下有一个packages
文件夹,现在也有一个Packages
文件夹。
我让 reposync 运行了一夜,最终得到的Packages
文件夹有 50GB 或更多的东西,并且它有一堆子文件夹a/ b/ c/ d/
。
我的存储库是这样的:
- 埃佩尔
- rhel-7-server-extras-rpms
- rhel-7-服务器-可选-rpm
- rhel-7-服务器-rpm
有没有办法只关于-下载我实际安装在系统上的rpm?例如,安装 DVD 或 RHEL 上的所有内容都小于 ~4.5GB,而且我知道我并没有使用其中的所有内容。即使从 epel 和额外/可选存储库安装了少量额外软件,我也应该能够轻松地将所有软件安装在一张 4.5GB DVD 上,并且我预计只需要 2,551 rpm。我怎样才能简单地下载我的系统上安装的所有这些 rpm 的当前/最新版本?
有人可以提供高级解释,以便我能够理解发生了什么吗?是否reposync
下载给定存储库的每个 rpm?
答案1
有没有办法只关于-下载我实际安装在系统上的rpm?
您可以耦合输出rpm -qa
并使用yumdownloader
or yum --downloadonly
(这将下载 RPM 和依赖项)已安装软件包,而不是其潜在的更新)
yum reinstall --downloadonly --downloaddir=/path/to/local/files `rpm -qa`
请注意reinstall
,因为install
会看到软件包已经存在并且yum
不会采取任何进一步的操作。
有人可以提供高级解释,以便我能够理解发生了什么吗?是否
reposync
下载给定存储库的每个 rpm?
从man
页面:
reposync 用于将远程 yum 存储库同步到本地目录,使用 yum 检索包。
因此,用例可能是如果您希望在本地获得高可用性备份存储库,或者期望可以从远程存储库中删除软件包。