概述
面對無法聯(lián)網(wǎng)的centos系統(tǒng),安裝rpm軟件包是一個比較耗時的工作,尤其是那些包含很多依賴的軟件包,如果用rpm命令安裝,可以說是一個噩夢。這里根據(jù)個人實踐發(fā)布一個比較完整方便的解決方案。(注:本方案在centos6.564bit測試可用)
具體方案
基本環(huán)境介紹
目標操作系統(tǒng):centos6.564bit,下稱“目標機”(無法聯(lián)網(wǎng)用yum安裝)
本地環(huán)境:在VMware下安裝的純凈centos6.564bit,下稱“虛擬機”(可以聯(lián)網(wǎng)用yum下載安裝包)
本方案基本思路是在一個可以聯(lián)網(wǎng)的系統(tǒng)中下載rpm安裝包,然后傳到無法聯(lián)網(wǎng)的目標操作系統(tǒng),建立安裝源,進行安裝。為了減少不必要的麻煩,在本地用虛擬機安裝一個和目標操作系統(tǒng)一模一樣的但是沒有安裝任何額外軟件的系統(tǒng),用于下載各種安裝包和依賴包。
配置本地環(huán)境
在虛擬機內配置yum只下載RPM包而不安裝,這里要使用–downloadonly選項,需要先安裝yum-plugin-downloadonly。
1
|
# yum install yum-plugin-downloadonly |
在本地環(huán)境下載rpm安裝包
1
|
# yum install --downloadonly --downloaddir=/tmp RPM_Name |
/tmp為指定下載的目錄,RPM_Name為目標軟件。
yum–downloadonly會只下載RPM包不安裝,同時會把依賴的包都下載下來,注意如虛擬機已經(jīng)安裝了依賴包,則不會下載,因此務必確保虛擬機的純凈(如果有方案可以下載已經(jīng)有的依賴包,歡迎告知)。
需要說明的是,為了在目標機構建軟件源,createrepo是必不可少的模塊,因此需要在虛擬機上下載createrepo相關模塊。
1
|
# yum install --downloadonly --downloaddir=/tmp createrepo |
一般會下載三個包,一個是createrepo,另外兩個是依賴包。
上傳rpm安裝包到目標機
采用scp或者pscp.exe(Windows下)等方式將rpm安裝包文件上傳到目標機,并修改權限為可執(zhí)行(chmod755RPM_Name)。
在目標機構建本地軟件源
安裝createrepo
在目標機安裝createrepo:
1
2
3
|
# rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm # rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm # rpm -ivh createrepo-0.9.9-24.el6.noarch.rpm |
createrepo構建本地軟件源
假設安裝包在目標機的/home/user/rpms/目錄下。
1
|
# createrepo /home/user/rpms |
修改yum軟件源
移除現(xiàn)有的軟件源
1
|
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bk |
開啟本地軟件源
1
|
# vim /etc/yum.repos.d/CentOS-Media.repo |
在baseurl增加一行:
1
|
=file:////home/user/rpms/ |
然后修改: enabled=1
這樣就可以使yum采用本地源安裝軟件。
在目標機安裝目標軟件
使用yum正常安裝軟件即可。
1
|
# yum install demo |
如果用的是純凈的虛擬機環(huán)境,并且和目標機保持一致,那么依賴包就會都安裝,yum安裝就會很順利。除非個別包會有依賴沖突,A依賴B,B又依賴A,導致無法安裝,此時可以用rpm命令強制安裝其中一個,再用yum安裝軟件即可。
1
|
# rpm -ivh demo.rpm --nodeps --force |
總結
以上就是本文關于yum安裝本地rpm軟件方案詳解的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:
如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
原文鏈接:http://blog.csdn.net/lanjianhun/article/details/69360406