簡介
通常生產環境由於安全原因都無法訪問互聯網。此時就需要進行離線安裝,主要有兩種方式:源碼編譯、rpm包安裝。源碼編譯耗費時間長且缺乏編譯環境,所以一般都選擇使用離線 rpm 包安裝。
操作系統
Centos 7.9
查看依賴包
可以使用“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 openssh-server
方案二:yumdownloader
有部分包,例如Vim,無法通過repotrack進行打包的,yumdownloader可以打包,需要的時候應該結合使用
# 安裝yum-utils $ yum -y install yum-utils # 下載 vim 依賴包 $ yumdownloader --resolve --destdir=/tmp vim
參數說明:
- —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
參考資料
https://cloud.tencent.com/developer/article/1614031?areaSource=102001.17&traceId=3NwqzyI9xtpecUQajm3nA