我们有 redhat 机器版本 7.2
我们要升级到版本 - 7.3
我们可以这样做
# subscription-manager register --auto-attach
# yum --releasever=7.3 update
这将在线升级操作系统
但万一我们只想下载缺少的 rpm
yumdowloader
是否可以下载 rpm 而不安装它们?
我们尝试将勘误表安装为:
yum install --downloadonly --downloaddir=/tmp RHSA-2017:1308
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
HighAvailability | 4.1 kB 00:00:00
ResilientStorage | 4.1 kB 00:00:00
local | 4.1 kB 00:00:00
No package RHSA-2017:1308 available
答案1
是的,yumdownloader
可用于下载单独的 RPM。手册页可以在这里找到:https://linux.die.net/man/1/yumdownloader
“downloadonly”插件可能令人感兴趣,更多详细信息请参见https://access.redhat.com/solutions/10154
要下载特定的建议,您可以使用:
yum update --downloadonly --downloaddir=/tmp --advisory=RHSA-2017:1308
答案2
除了 yumdownloader 之外,还有多种工具可用于下载 rpm 及其依赖项(而不是安装它们),例如 repotrack。
# repotrack glibc
您还可以将 repoquery 与 yumdownloader 结合使用来识别依赖项列表并下载它而无需安装。
# yumdownloader --downloadonly --downloaddir=. glibc --resolve
此处该工具将下载 glibc rpm 以及依赖项列表
确保您的设置中安装了 yum-utils 才能使用这些工具。
# yum install -y yum-utils
笔记:在所有提供依赖项列表的命令和工具中,大多数人都忽略了一件事。该工具将检查本地主机中缺少的依赖项列表,并下载相同的依赖项,但如果您计划将此依赖项列表带到安装了不同组 rpm 的其他主机,或者更糟糕的是,如果相同的不同次要/主要版本安装操作系统后,下载的依赖项列表安装很可能会失败。
因此,如果您计划为某些客户端主机创建脱机存储库,则建议用于下载 rpm 的源主机必须安装与客户端主机相同的 rpm 集。
您还可以在本地计算机上同步在线存储库https://www.golinuxcloud.com/how-to-download-entire-repository-from-centos-rhel-7-for-offline-use/ 然后离线使用它以供以后使用。
# reposync --gpgcheck -l --repoid=extras --download_path=/tmp
同步整个存储库将花费大量时间,具体取决于 rpm 计数。