Linux無法連通外網情況下缺少依賴(CentOS7環境)

在有外網的情況下,可以用yum很容易的完成服務及其相關依賴的安裝。而由於客戶要求,導致生產服務器上無法連通外網。於是在搭建生產環境的時候,由於外網不通,導致缺少依賴的問題頻頻出現。

現將解決此類問題的方法歸納如下:

  • 直接下載(此方法適用於缺少單個或個別依賴的情況下

  1. 通過有網環境下載缺少的rpm包
  2. 上傳至生產服務器
  3. 通過yum localinstall *.rpm 安裝
  • 通過虛擬機安裝(此方法適用於缺少依賴數量很多的情況下)

  1. 在有網環境下創建一個與生產環境相同操作系統的虛擬機。
  2. 確認yum正常。
  3. 修改配置文件/etc/yum.conf,keepcache=1
    # vi /etc/yum.conf
    [main]
    cachedir=/var/cache/yum/$basearch/$releasever
    keepcache=1
    ......
  4. 通過yum install  <package_name> 安裝相關服務
  5. 查找yum緩存的rpm文件,並將其上傳至生產服務器
    # find /var/cache/yum/ -name "*.rpm"
  6. 在生產服務器上,通過yum localinstall *.rpm 安裝。
  • 解決包樹狀依賴的問題

  1. 比如yum localinstall a.rpm,提示需要安裝 b.rpm,那麼可以先yum localinstall b.rpm
  • 解決包相互依賴的問題

  1. 比如yum localinstall a.rpm ,提示需要安裝 b.rpm ,再執行yum localinstall b.rpm ,又提示需要安裝a.rpm,那麼可以直接這樣:yum localinstall a.rpm b.rpm
  • 解決與現有包版本衝突的問題

  1. 現有包影響不大的情況下,可卸載現有包,重新安裝與之版本相匹配的包。
  2. 現有包影響大的情況(比如爲linux的系統相關的包),可通過忽略版本檢驗來安裝rpm包(不確定相關服務是否會因此而運行異常),比如:
    rpm -ivh nfs-utils-1.3.0-0.65.el7.x86_64.rpm gssproxy-0.7.0-26.el7.x86_64.rpm krb5-libs-1.15.1-37.el7_7.2.x86_64.rpm libini_config-1.3.1-32.el7.x86_64.rpm libref_array-0.1.5-32.el7.x86_64.rpm libverto-libevent-0.2.5-4.el7.x86_64.rpm libbasicobjects-0.1.1-32.el7.x86_64.rpm libcollection-0.7.0-32.el7.x86_64.rpm libpath_utils-0.2.1-32.el7.x86_64.rpm libevent-2.0.21-4.el7.x86_64.rpm libtirpc-0.2.4-0.16.el7.x86_64.rpm keyutils-1.5.8-3.el7.x86_64.rpm libpath_utils-0.2.1-32.el7.x86_64.rpm libnfsidmap-0.25-19.el7.x86_64.rpm quota-4.01-19.el7.x86_64.rpm rpcbind-0.2.0-48.el7.x86_64.rpm quota-nls-4.01-19.el7.noarch.rpm tcp_wrappers-7.6-77.el7.x86_64.rpm --force --nodeps
    	

    若有遺漏或偏頗之處,還請指出,以便大家共同成長。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章