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