您好,登錄后才能下訂單哦!
概述
面對無法聯網的centos系統,安裝rpm軟件包是一個比較耗時的工作,尤其是那些包含很多依賴的軟件包,如果用rpm命令安裝,可以說是一個噩夢。這里根據個人實踐發布一個比較完整方便的解決方案。(注:本方案在centos6.564bit測試可用)
具體方案
基本環境介紹
目標操作系統:centos6.564bit,下稱“目標機”(無法聯網用yum安裝)
本地環境:在VMware下安裝的純凈centos6.564bit,下稱“虛擬機”(可以聯網用yum下載安裝包)
本方案基本思路是在一個可以聯網的系統中下載rpm安裝包,然后傳到無法聯網的目標操作系統,建立安裝源,進行安裝。為了減少不必要的麻煩,在本地用虛擬機安裝一個和目標操作系統一模一樣的但是沒有安裝任何額外軟件的系統,用于下載各種安裝包和依賴包。
配置本地環境
在虛擬機內配置yum只下載RPM包而不安裝,這里要使用–downloadonly選項,需要先安裝yum-plugin-downloadonly。
# yum install yum-plugin-downloadonly
在本地環境下載rpm安裝包
# yum install --downloadonly --downloaddir=/tmp RPM_Name
/tmp為指定下載的目錄,RPM_Name為目標軟件。
yum–downloadonly會只下載RPM包不安裝,同時會把依賴的包都下載下來,注意如虛擬機已經安裝了依賴包,則不會下載,因此務必確保虛擬機的純凈(如果有方案可以下載已經有的依賴包,歡迎告知)。
需要說明的是,為了在目標機構建軟件源,createrepo是必不可少的模塊,因此需要在虛擬機上下載createrepo相關模塊。
# yum install --downloadonly --downloaddir=/tmp createrepo
一般會下載三個包,一個是createrepo,另外兩個是依賴包。
上傳rpm安裝包到目標機
采用scp或者pscp.exe(Windows下)等方式將rpm安裝包文件上傳到目標機,并修改權限為可執行(chmod755RPM_Name)。
在目標機構建本地軟件源
安裝createrepo
在目標機安裝createrepo:
# 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/目錄下。
# createrepo /home/user/rpms
修改yum軟件源
移除現有的軟件源
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bk
開啟本地軟件源
# vim /etc/yum.repos.d/CentOS-Media.repo
在baseurl增加一行:
=file:////home/user/rpms/
然后修改: enabled=1
這樣就可以使yum采用本地源安裝軟件。
在目標機安裝目標軟件
使用yum正常安裝軟件即可。
# yum install demo
如果用的是純凈的虛擬機環境,并且和目標機保持一致,那么依賴包就會都安裝,yum安裝就會很順利。除非個別包會有依賴沖突,A依賴B,B又依賴A,導致無法安裝,此時可以用rpm命令強制安裝其中一個,再用yum安裝軟件即可。
# rpm -ivh demo.rpm --nodeps --force
總結
以上就是本文關于yum安裝本地rpm軟件方案詳解的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站:
10 個超級有趣的 Linux 終端游戲分享
關于Linux系統,你可能還不知道的七件事
如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。