如何使用 Yum/DNF 下載軟件包而不在 Linux 上安裝

今天,我們將看看如何使用包管理器僅下載 rpm 包(離線),而無需在 Linux 上安裝所有依賴項。

Yum 和 Dnf 包管理器用於 RedHat 發行版,即 RedHat、CentOS 和 Fedora 主要用於安裝、重新安裝、更新、升級和刪除 rpm 包。

注意:請注意 yum-utils 包已在 Centos 和 RHEL 7 中棄用

有兩種方法可以下載軟件包而不安裝它們

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 下載軟件包

要下載軟件包,請運行如下所示的命令。 這 example 顯示了 openssh 服務器的下載。

yumdownloader package-name

筆記:
包被下載到當前工作目錄。 您可以通過附加 — destdir 標誌來指定替代目錄。

要與依賴項一起下載包,請附加 –resolve 標誌。

驗證依賴項的存在

ls

使用 dnf (Fedora 22 及更高版本)

在 Fedora 22 及更高版本,yum 已棄用,取而代之的是 dnf 包管理器。 要使用 dnf 下載包,請使用以下語法:

dnf download package-name

這 example 下載samba包:

dnf download samba

要下載依賴項,請附加 –resolve 標誌

dnf download samba --resolve

驗證依賴項的存在或下載

使用 ls 命令檢查下載的依賴項是否存在。

ls

另請閱讀:

  • 管理基於 RPM 的 Linux 發行版的 21 個 DNF 命令
  • 如何使用 Linux RPM 命令查詢包

通常,安裝軟件包的最佳和最簡單的方法是使用 yum install package-name 0r dnf install package-name 命令。 如果您更喜歡先下載一個包然後再安裝它,請確保您也使用 –resolve 標誌下載依賴項並同時安裝所有這些,以避免出現依賴項錯誤。