天天看點

yum在企業網上的應用

一、 yum原理:

1)yum簡介:

Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE、CentOS中的shell前端軟體包管理器。

2)yum的作用:

yum的宗旨是自動化地更新,安裝/移除rpm包,收集rpm包的相關資訊,檢查依賴性并自動提示使用者解決。

3)yum的特點:

1、yum能夠從指定的伺服器上自動下載下傳rpm包,并進行安裝;

2、yum能夠自動的處理軟體包之間的依賴性關系;

3、yum能夠一次性安裝所有被依賴的軟體包,無需繁瑣的一次次下載下傳、安裝;

4、配置簡單(/etc/yum.conf、/etc/yum.repo.d/youname.repo)

5、使用友善

4)yum配置的相關資訊:

yum的一切配置資訊都儲存在/etc/yum.conf的配置檔案中,此檔案是整個yum系統的重中之重,是以有必要詳細介紹。

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344753555IdwR.png"></a>

5)yum倉庫:

yum預設倉庫放在/etc/yum/repos.d目錄下;

凡是放在/etc/yum/repos.d目錄下的,以.repo為字尾的檔案系統都會識别為yum的倉庫檔案;

yum倉庫是yum的關鍵之處,yum需要有可靠的repository;

倉庫可以是http或ftp站點, 也可以是本地倉庫,但必須包含rpm的header,header包括了rpm包的各種資訊,包括描述,功能,提供的檔案,依賴性等;

正是收集了這些 header并加以分析,才能自動化地完成餘下的任務。

6)Yum相關配置指令:

(1)、rpm包的更新

   * 檢查可更新的rpm包  

   #yum check-update

   * 更新所有的rpm包  

   #yum update

   * 更新指定的rpm包,如更新kernel和kernel source  

   #yum update kernel kernel-source

   * 大規模的版本更新,與yum update不同的是,連舊的淘汰的包也更新  

   #yum upgrade

(2)、rpm包的安裝和删除  

   * 安裝rpm包,如xmms-mp3  

   #yum install xmms-mp3  

   * 删除rpm包,包括與該包有倚賴性的包  

   #yum remove licq  

   * 注:同時會提示删除licq-gnome,licq-qt,licq-text

(3)、yum暫存(/var/cache/yum/)的相關參數

   * 清除暫存中rpm封包件  

   #yum clean packages

   * 清除暫存中rpm頭檔案  

   #yum clearn headers

   * 清除暫存中舊的rpm頭檔案  

   #yum clean oldheaders

   * 清除暫存中舊的rpm頭檔案和封包件  

   #yum clearn 或#yum clearn all  

   * 注:相當于yum clean packages + yum clean oldheaders

(4)、包清單

   * 列出資源庫中所有可以安裝或更新的rpm包  

   #yum list

   * 列出資源庫中特定的可以安裝或更新以及已經安裝的rpm包  

   #yum list mozilla 

   #yum list mozilla*  

   * 注:可以在rpm包名中使用比對符,如列出所有以mozilla開頭的rpm包  

   * 列出資源庫中所有可以更新的rpm包  

   #yum list updates

   * 列出已經安裝的所有的rpm包  

   #yum list installed

   * 列出已經安裝的但是不包含在資源庫中的rpm包  

   #yum list extras  

   * 注:通過其它網站下載下傳安裝的rpm包  

(5)、rpm包資訊顯示(info參數同list)  

   * 列出資源庫中所有可以安裝或更新的rpm包的資訊  

   #yum info

   * 列出資源庫中特定的可以安裝或更新以及已經安裝的rpm包的資訊  

   #yum info mozilla 

   #yum info mozilla*  

   * 注:可以在rpm包名中使用比對符,如列出所有以mozilla開頭的rpm包的資訊

   * 列出資源庫中所有可以更新的rpm包的資訊  

   #yum info updates   

   * 列出已經安裝的所有的rpm包的資訊  

   #yum info installed

   * 列出已經安裝的但是不包含在資源庫中的rpm包的資訊  

   #yum info extras  

   * 注:通過其它網站下載下傳安裝的rpm包的資訊  

(6)、搜尋rpm包

   * 搜尋比對特定字元的rpm包  

   #yum search mozilla  

   * 注:在rpm包名,包描述等中搜尋

   * 搜尋有包含特定檔案名的rpm包  

   #yum provides realplay

二、案例 - 1:

案例說明:

公司内有一個區域網路,主機使用linux作業系統,希望通過一台yum伺服器實作各種軟體包的安裝。

拓撲圖:

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_13447536592Hp8.png"></a>

實驗要求:

在區域網路内架設一台ftp伺服器,在其中放置各種軟體包,隻需在客戶機上配置相應的yum倉庫,使得客戶機實作網路yum安裝;

解決在安裝外來rpm包時,所産生的軟體包依賴關系;

配置步驟:

1)伺服器端配置:

1、FTP伺服器的架設:

挂載CD光牒:

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom

mount: block device /dev/cdrom is write-protected, mounting read-only

安裝vsfpt服務:

[root@localhost ~]# cd /mnt/cdrom/Server/

[root@localhost Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm

warning: vsftpd-2.0.5-16.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

   1:vsftpd                 ########################################### [100%]

[root@localhost Server]#

啟動vsftpd服務:

[root@localhost Server]# service vsftpd start

Starting vsftpd for vsftpd:                                [  OK  ]

2、将rpm包導入FTP伺服器中;

将CD光牒鏡像中的所有軟體包拷貝到ftp伺服器中;

[root@localhost ~]# cp -r /mnt/cdrom/. /var/ftp/pub/

You have mail in /var/spool/mail/root

[root@localhost ~]#

3、檢視檔案的完整性;

檢視各個軟體包倉庫的yum的校驗檔案是否缺失:

Server目錄的完整性:

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_13447536736RNV.png"></a>

VT目錄的完整性:

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344753743WAQp.png"></a>

Cluster目錄的完整性:

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344753774CbWD.png"></a>

ClusterStorage目錄的完整性:

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344753809VlGS.png"></a>

2)用戶端配置:

1、進入yum倉庫目錄檔案:

[root@localhost ~]# cd /etc/yum.repos.d/

[root@localhost yum.repos.d]# ll

total 12

-rw-r--r-- 1 root root 254 Aug  4  2009 rhel-debuginfo.repo

[root@localhost yum.repos.d]#  

2、建立一個yum倉庫:【toftp.repo】

[root@localhost yum.repos.d]# cp rhel-debuginfo.repo toftp.repo

total 16

-rw-r--r-- 1 root root 254 Aug 13 13:11 toftp.repo

[root@localhost yum.repos.d]#

3、編輯toftp.repo倉庫:

[root@localhost yum.repos.d]# vim toftp.repo

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344753837QT84.png"></a>

4、列出倉庫,驗證yum倉庫是否可用:

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344753862yHNn.png"></a>

第一次使用yum時,yum會自動下載下傳所有所需的headers放置于/var/cache/yum目錄下,來作為yum暫存。

驗證測試:

驗證安裝dovecot服務:

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_13447538798Cpr.png"></a>

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344754086RbQj.png"></a>

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344754118eOLG.png"></a>

案例擴充:

如何解決在安裝外來rpm包時,所産生的軟體包依賴關系?

使用httpd-2.2.3-31.el5.i386.rpm測試;

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344754128G7Da.png"></a>

方法一:将外來軟體包添加到yum倉庫中; 步驟:

1、安裝createrepo軟體包:

[root@localhost ~]# cd /mnt/cdrom/Server

[root@localhost Server]# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm

   1:createrepo             ########################################### [100%]

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344754193Uq5i.png"></a>

2、将外來的rpm包導入到/var/ftp/pub/Server目錄下:

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_13447543311xl5.png"></a>

3、将所有軟體包的資訊重新寫入倉庫組檔案中,生成全新的倉庫的組檔案:

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344754347c7Hb.png"></a>

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344754352Q8t3.png"></a>

4、清除原有的yum緩存:

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344754355Dlz1.png"></a>

5、重新列出所有軟體包,更新yum緩存:

<a href="http://cexpert.blog.51cto.com/attachment/201208/12/5251990_1344754359D9EB.png"></a>

方法二:使用yum的本地安裝,并且不進行公鑰校驗;

案例小結:

使用yum本地安裝時,不能進行證書檢測,使得不能夠确認軟體包的安全性;

案例 - 2:待定,敬請期待!!

本文轉自 cexpert 51CTO部落格,原文連結:http://blog.51cto.com/cexpert/961367

繼續閱讀