Linux如何在不安装的情况下使用Yum/DNF下载软件包
时间:2020-03-05 15:26:34 来源:igfitidea点击:
今天,我们将探讨如何使用包管理器仅下载rpm包(脱机),而无需在Linux上安装所有依赖项。
Yum和Dnf软件包管理器在RedHat发行版(即RedHat,CentOS和Fedora)中使用,主要用于rpm软件包的安装,重新安装,更新,升级和删除。
注意:请注意,Centos和RHEL 7中不推荐使用yum-utils软件包
有两种下载软件包而不安装它们的方法
1)yum-downloadonly实用程序
2)使用yumdownloader
3)使用dnf下载
安装yum-downloadonly工具(CentOS和RHEL 6.8)
首先,使用下面的命令安装downloadonly实用程序。
yum install yum-plugin-downloadonly
使用yum-downloadonly下载软件包
现在,我们已经下载了实用程序工具,让我们看看如何下载Web服务器软件包(httpd)。
yum install –-downloadonly httpd
输出示例
[root@li1080-41 ~]# yum install --downloadonly httpd Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile * base: mirrors.linode.com * extras: mirrors.linode.com * updates: mirrors.linode.com Resolving Dependencies --> Running transaction check ---> Package httpd.x86_64 0:2.2.15-60.el6.centos.6 will be installed --> Processing Dependency: httpd-tools = 2.2.15-60.el6.centos.6 for package: htt pd-2.2.15-60.el6.centos.6.x86_64 --> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-60.el6.centos .6.x86_64 --> Processing Dependency: /etc/mime.types for package: httpd-2.2.15-60.el6.cent os.6.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15- 60.el6.centos.6.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-60.e l6.centos.6.x86_64
注意:默认情况下,程序包已下载到/var/cache/yum目录。
要指定备用路径,请添加--downloaddir =/path /标志,例如
yum -y install --downloadonly --downloaddir=/opt samba
上面的命令将samba软件包存储在/opt目录中。
安装yumdownloader(CentOS和RHEL 7)
首先安装EPEL存储库。
请注意,在Centos和RHEL 7中不赞成使用yum-utils
yum install epel-release
使用yumdownloader下载软件包
要下载软件包,请运行如下所示的命令。
该示例显示了openssh服务器的下载。
yumdownloader package-name
说明:
程序包已下载到当前工作目录。
我们可以通过添加-destdir标志来指定备用目录。
要在依赖项旁边下载软件包,请添加--resolve标志。
验证依赖项的存在
ls
使用dnf下载软件包(Fedora 22和更高版本)
在Fedora 22及更高版本上,不赞成使用yum,而由dnf软件包管理器代替。
要使用dnf下载软件包,请运行如下所示的命令。
下面的示例说明了samba软件包的下载。
dnf download package-name Downloading with dependencies
要下载依赖项,请添加--resolve标志
dnf download samba --resolve
验证依赖项的存在或者下载
使用ls命令检查是否存在下载的依赖项。
ls