在某些状况下,咱们心愿从命令行下载特定或一组 RPM 包而不装置它。尽管咱们能够应用 wget 命令下载,但 wget 不会下载安装包的依赖项。在 CentOS 8 中DNF(或 yum)是一个命令行包管理工具。应用 DNF咱们能够装置、更新和删除 rpm 包。除此之外,它还能够用于下载软件包以及依赖项,而无需装置它们。下载指定的RPM安装包上面应用download子命令在当前目录下载指定安装包:[root@localhost package]# dnf download cifs-utils
该命令在当前目录下载cifs-utils 包。它不会下载依赖项。上面查看一下是否下载实现:

下载 RPM 和依赖项在 dnf 中应用--downloadonly选项,能够下载 rpm 包及其依赖项。咱们还能够应用--downloaddir选项指定下载的地位。上面在/root/package目录下载ansible相干的安装包:[root@localhost ~]# mkdir /root/package
[root@localhost ~]# dnf install -y ansible --downloadonly --downloaddir=/root/package


能够验证一下,是否曾经下载了ansible和相干的依赖项:

当初咱们就能够将这些安装包压缩起来,传入到没有连贯网络的服务器中装置。[root@localhost ~]# tar -zcvf ansible-installer.tar.gz /root/package


下载一组安装包假如咱们要下载Development Tools组下的所有软件包,能够应用上面命令来装置:[root@localhost ~]# dnf groupinstall -y "Development Tools" --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目录中。