天天看點

RHEL 5基礎篇—使用yum解決rpm包的依賴關系

使用YUM解決rpm包的依賴關系

YUM簡介:

YUM是Yellow dog Updater Modified的簡稱,yum是軟體的倉庫,它可以是http或ftp站點,也可以是本地軟體池,但必須包含rpm的header。

header包括了rpm包的各種資訊,包括描述,功能,提供的檔案,依賴性等.正是收集了這些 header并加以分析,才能自動化地完成餘下的任務。

YUM有以下特點:

1、可以同時配置多個資源庫(Repository)。

2、簡潔的配置檔案(/etc/yum.conf)。

3、自動解決增加或删除rpm包時遇到的依賴性問題使用友善。

4、YUM分為伺服器端和用戶端。

配置YUM的三種方法

<b>伺服器端</b>:

方法一:使用CD光牒作為YUM資料庫。

1、 挂載CD光牒,将CD光牒挂載到/media目錄下。

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367106mfOq.jpg"></a>

2、 安裝ftp服務,ftp軟體包在CD光牒中的Server目錄下。

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367111PqW1.jpg"></a>

3、 umount解除安裝CD光牒,重新将CD光牒挂載到/var/ftp/pub目錄下。(此目錄是ftp的預設路徑)

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_13663671192cfH.jpg"></a>

4、 使用service vsftpd start 啟動ftp服務。

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367126PjGM.jpg"></a>

注:每次使用YUM伺服器時,都需要臨時挂載CD光牒 (mount /dev/cdrom /var/ftp/pub)

方法二:使用CD光牒鏡像作為YUM資料庫

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367128gbPd.jpg"></a>

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367140ENAJ.jpg"></a>

3、 将CD光牒中的内容制作成iso的鏡像檔案。(鏡像名字可以随便取)

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367143iVGA.jpg"></a>

4、 使用mount –o loop指令将iso的鏡像檔案挂載到ftp的預設路徑。

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_13663671534eZE.jpg"></a>

5、 使用service vsftp start 啟動ftp服務。

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367156aOQt.jpg"></a>

方法三:将CD光牒軟體包複制到硬碟,重新建構YUM索引庫

1、挂載CD光牒,将CD光牒挂載到/media目錄下。

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367159U2y5.jpg"></a>

2、安裝ftp服務,ftp軟體包在CD光牒中的Server目錄下。

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367167Epi3.jpg"></a>

3、安裝 安裝createrepo軟體包,該RPM包在Server目錄中。

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367198ykpW.jpg"></a>

4、将CD光牒中的所有軟體都拷貝到ftp預設路徑。(/var/ftp/pub/)

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367201Vqnl.jpg"></a>

5、執行createrepo指令重新建構YUM索引庫。

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367202pCuu.jpg"></a>

6、使用service vsftp start 啟動ftp服務。

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367205ozQt.jpg"></a>

這樣伺服器端就配置就算是OK了,接下來就是用戶端配置了。

<b>用戶端配置:</b>

1、修改yum配置檔案,指定YUM源。(vi /etc/yum.repos.d/rhel-debuginfo.repo)

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367222CKSb.jpg"></a>

2、編輯配置檔案。

<a href="http://cshbk.blog.51cto.com/attachment/201304/19/5685776_1366367239dJm4.jpg"></a>

第一行:[ ]内的是倉庫的名字。

第二行:name是倉庫的描述也可以說是名字。

第三行:enabled 是否啟用這個倉庫,1為起用,0為禁用。

第四行:gpgcheck 是否檢查GPG簽名,0為不檢查,1為檢查。(用來驗證要安裝的包是不是RedHat官方的,這一行沒有也可,一般改為0不檢查)

第五行:GPGKEY 的存放位址一般就在圖檔上顯示的,(這一行沒有也行,一般使用#号注釋)

安裝參數:

yum [選項] [指令] [軟體包]

參數說明:

選項:

-y : 如果在工作過程中如要使用者響應,這個參數可以直接回答yes (常用)。

指令:

list : 列出在yum server 上面有的RPM套件。

install: 安裝某個套件。

update : 更新某個套件,如果update後面沒有接套件名稱,即更新目前主機所有已安裝的套件。

info : 列出某個套件的詳細資訊,相當于rpm -qi package内容。

clean : 将已下載下傳到本機的packages或headers移除。

remove : 移除已經安裝在系統中的某個套件。

yum localinstall [軟體包]:本地安裝軟體包。

yum update:全部更新。

yum update [軟體包]:更新指定程式包package。

yum check-update:檢查可更新的程式。

yum info [軟體包]:顯示安裝包資訊。

yum list:顯示所有已經安裝和可以安裝的程式包。

yum list [軟體包]:顯示指定程式包安裝情況。

yum search [軟體包的關鍵字]:查找軟體包。

yum remove 或 erase [軟體包的名字]:删除程式包。

yum clean headers: 清除header。

yum clean packages: 清除下載下傳的rpm包。

yum clean all: 清除header與rpm包。

例如:

如果最後顯示的installed則表示系統已經安裝了該軟體包,顯示的是server則系統沒有安裝該軟體包。

本文轉自yun5277 51CTO部落格,原文連結:http://blog.51cto.com/dengqi/1181589,如需轉載請自行聯系原作者