解決linux安裝軟件依賴的曲線救國方案

相信你們在一臺沒法鏈接外網的linux上安裝軟件時,對於軟件依賴的安裝,都會特別頭疼,由於軟件依賴的安裝,不管是其數量,仍是安裝的複雜度都比軟件自己要高出一個維度!node

 

今天就和你們分享一個,解決linux安裝軟件依賴的曲線救國方案,但願你們之後均可以愉快的安裝軟件!linux

 

首先,要和你們介紹一個很是好用的插件yum-plugin-downloadonly,這個插件的做用是從yum倉庫下載目標軟件及其所需依賴。apache

 

// 安裝插件
$ sudo yum install yum-plugin-downloadonly -y

/* * 語法示例 * downloadonly:標記只下載不安裝
* setopt=protected_multilib=false:避免「Protected multilib versions」錯誤,咱們只想安靜的下載全部依賴 * downloaddir:指定下載目錄
* target_dir:指定依賴的存儲位置
* soft_name:軟件名稱,能夠yum search <keyword>去獲取
*/ $
yum install --downloadonly --setopt=protected_multilib=false --downloaddir=<target_dir> <soft_name>

 

有了插件yum-plugin-downloadonly的支持,接下來我將以安裝apache服務器爲例進行本文主題的演示。centos

 

準備條件:服務器

一、一臺CentOS 6.5的linux,沒法鏈接外網,記爲服務器A;spa

二、一臺CentOS 6.5的linux,能夠鏈接外網,記爲服務器B;插件

如今,咱們須要在服務器A上安裝apache服務器,咱們先在服務器B上下載軟件及依賴:code

// 下載apache服務器軟件及依賴
$ sudo yum install --downloadonly --setopt=protected_multilib=false --downloaddir=/root/downloads/httpd httpd.x86_64
$ cd /root/downloads/httpd
// 查看下載好的文件
$ ls
apr-1.3.9-5.el6_9.1.x86_64.rpm       apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm  httpd-tools-2.2.15-69.el6.centos.x86_64.rpm
apr-util-1.3.9-3.el6_0.1.x86_64.rpm  httpd-2.2.15-69.el6.centos.x86_64.rpm     mailcap-2.1.31-2.el6.noarch.rpm

 

將下載好的文件,拷貝至服務器A上:blog

// 進入文件所在目錄
$ cd /root/downloads/httpd
// 忽略依賴安裝目錄下全部的軟件 $
sudo rpm -Uvh --nodeps --replacefiles *.rpm

至此,apache服務器就安裝完畢了,是否是比平時的方式要簡單不少。get

 

凡事皆有兩面性,如下是此方案的缺點:

1)目標服務器和源服務器版本必須相同;(因爲CentOS是從RedHat編譯過來的 ,所以兩者能夠互通,咱們的生產環境就是這種狀況。)

2)沒法使用軟件的最新版本,只能使用yum倉庫中的版本(通常最新軟件只能在官網下載,可能未及時收錄到yum倉庫,不過軟件的依賴依然可使用此方案。);

相關文章
相關標籤/搜索