1. 程式人生 > >yum無連線外網的安裝實現

yum無連線外網的安裝實現

希望對大家有用,各位有更好的方法,也希望給分享下

前言:

在centos上,使用yum安裝軟體很方便,比如安裝gcc,java等, 但是在沒有網路的情況下呢?

我之前就碰到過這麼一個問題,在一個沒有外網的環境內,我需要安裝GCC等工具, 然後有人推薦我先去其他電腦下載對應的rpm包,然後在拷貝過去安裝。

然而RPM是一個互相依賴的網路狀包,也就是說最上面的安裝包依賴其他三個包,然後這三個包又依賴另外的包,而且很噁心的是每個包還有對應的版本。並不是全部用最新的包都可以。 當我下過來的時候,去安裝的時候又發現一個很噁心的事情,包的安裝是有順序的,然後我辛辛苦苦寫了個遍歷指令碼,想區分出包的依賴關係,可以讓我知道哪些包先安裝,結果發現了一個死迴圈,頓時萬念俱灰。

各種百度,尋找各種蛛絲馬跡。被我發現了一個叫做“快取”的詞。於是我就找到了下面的這種方法, 可以在沒網的centos下安裝GCC java python cmake 等等工具。

嘗試步驟

1. 需要在一臺可以連外網的機子上安裝一個同版本的centos的虛擬機器。可能不同的版本包含了不同的基層依賴包,這樣有可能會導致後續的安裝失敗。當然這也是我的猜測。 

2. 修改虛擬機器上的yum配置檔案  /etc/yum.conf  ,將 keepcache=0  修改成  keepcache=1, 開啟快取開關。因為yum在安裝的時候會先去快取查詢,如果沒有查詢成功則會去網路下載。

3. 在虛擬機器上使用yum命令安裝需要的軟體。比如 yum install java, 這個時候java的安裝快取就會儲存起來。 在目錄  /var/cache/yum/ 下可以看到。 一般來說是個 x86_64的資料夾。 

4. 用U盤把虛擬機器上的 /var/cache/yum/目錄下的所有檔案全部拷貝到沒有網路的centos的目錄 /var/cache/yum/ 下面。 假裝目標機上已經安裝過一次了。 

5. 在目標機(沒有網路的centos)上 使用yum命令安裝就可以了。  比如本次的例子   yum install java.

希望則個小tip能幫助到大家。在安裝軟體的時候能節省一點時間。