有些情况下,我们希望通过命令行下载特定的或者一组RPM包而不安装。虽然我们可以使用wget命令来下载,但是wget不会下载安装包的依赖。DNF(或yum)是CentOS8中的命令行包管理工具。使用DNF我们可以安装、更新和删除rpm包。除此之外,它还可以用于下载包和依赖项而无需安装它们。下载指定的RPM安装包接下来使用download子命令下载当前目录下的指定安装包:[root@localhostpackage]#dnfdownloadcifs-utils该命令下载当前目录下的cifs-utils包。它不会下载依赖项。让我们检查一下是否下载完成:下载RPM和依赖项使用dnf中的--downloadonly选项下载rpm包及其依赖项。我们还可以使用--downloaddir选项指定下载位置。在/root/package目录下下载ansible相关的安装包:[root@localhost~]#mkdir/root/package[root@localhost~]#dnfinstall-yansible--downloadonly--downloaddir=/root/package可以验证ansible及相关依赖包是否已经下载:现在我们可以将这些安装包压缩,传输到一台没有联网的服务器上进行安装。[root@localhost~]#tar-zcvfansible-installer.tar.gz/root/package下载一套安装包假设我们要下载DevelopmentTools组下的所有包,可以使用如下命令安装:[root@localhost~]#dnfgroupinstall-y"DevelopmentTools"--downloadonly--downloaddir=/root/package进入/root/package目录,验证是否下载了相关软件包总结每当我们使用dnf命令下载安装包,如果没有使用--downloadidr标志,那么包将被下载到/var/cache/dnf/baseos-xxxx/packages,/var/cache/dnf/appstream-xxxx/packages,/var/cache/dnf/epel-xxxx/packages目录下。
