yum 下載全量依賴 rpm 包及離線安裝(終極解決方案)

簡介

通常生產環境由於安全原因都無法訪問互聯網。此時就需要進行離線安裝,主要有兩種方式:源碼編譯、rpm包安裝。源碼編譯耗費時間長且缺乏編譯環境,所以一般都選擇使用離線 rpm 包安裝。

 

驗證環境

Centos 7.2

 

查看依賴包

可以使用“yum deplist”命令來查找 rpm 包的依賴列表。例如,要查找“ansible”rpm的依賴包:

$ yum deplist ansible
軟件包:ansible.noarch 2.9.3-1.el7
   依賴:/usr/bin/env
   provider: coreutils.x86_64 8.22-24.el7
   依賴:/usr/bin/python2
   provider: python.x86_64 2.7.5-86.el7
   依賴:PyYAML
   provider: PyYAML.x86_64 3.10-11.el7
   依賴:python(abi) = 2.7
   provider: python.x86_64 2.7.5-86.el7
   依賴:python-httplib2
   provider: python-httplib2.noarch 0.9.2-1.el7
   依賴:python-jinja2
   provider: python-jinja2.noarch 2.7.2-4.el7
   依賴:python-paramiko
   provider: python-paramiko.noarch 2.1.1-9.el7
   依賴:python-setuptools
   provider: python-setuptools.noarch 0.9.8-7.el7
   依賴:python-six
   provider: python-six.noarch 1.9.0-2.el7
   依賴:python2-cryptography
   provider: python2-cryptography.x86_64 1.7.2-2.el7
   依賴:python2-jmespath
   provider: python2-jmespath.noarch 0.9.0-3.el7
   依賴:sshpass
   provider: sshpass.x86_64 1.06-2.el7

 

方案一(推薦):repotrack

# 安裝yum-utils
$ yum -y install yum-utils

# 下載 ansible 全量依賴包
$ repotrack ansible

 

方案二:yumdownloader

# 安裝yum-utils
$ yum -y install yum-utils

# 下載 ansible 依賴包
$ yumdownloader --resolve --destdir=/tmp ansible

參數說明:

  • --destdir:指定 rpm 包下載目錄(不指定時,默認爲當前目錄)
  • --resolve:下載依賴的 rpm 包。

注意

僅會將主軟件包和基於你現在的操作系統所缺少的依賴關係包一併下載。

 

方案三:yum 的 downloadonly 插件

# 安裝插件
$ yum -y install yum-download

# 下載 ansible 依賴包
$ yum -y install ansible --downloadonly --downloaddir=/tmp

注意

與 yumdownloader 命令一樣,也是僅會將主軟件包和基於你現在的操作系統所缺少的依賴關係包一併下載。

 

離線安裝 rpm

# 離線安裝
$ rpm -Uvh --force --nodeps *.rpm
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章