Yum的使用
一 yum簡介
YUM是Yellow dog Updater Modified的縮寫,是有Duke University所發起的計劃,目的就是爲了解決RPM的依賴關係問題,方便使用者進行軟件包的安裝,升級等工作。
二 Yum可以分爲本地yum和網絡yum
本地yum是將源文件(軟件包)放在本地主機上,而網絡yum是將源文件放在yum服務器上,yum客戶端通過ftp www或nfs下載到本地然後進行安裝。
三 案例一:網絡yum服務器 ------基於32位centos6.5 FTP
步驟一:yum服務器的配置
安裝vsftpd
cd /media/cdrom/Packages/ #掛載光驅
yum --disablerepo=\* --enablerepo=c6-media install vsftpd –y
rpm -ql vsftpd #查看vsftpd形成的文件目錄
會看的這兩個目錄,我們知道ftp提供賬號登陸和匿名登陸,匿名登陸時默認進入/var/ftp目錄同時會看到一個/var/ftp/pub目錄。
開啓vsftpd服務
[root@vbird Packages]# service vsftpd start
進入/media/cdrom/下把所有文件拷貝到/var/ftp/目錄下以供ftp客戶訪問
[root@vbird cdrom]# cp -r . /var/ftp
步驟二:yum客戶端的配置
安裝ftp或lftp
cd /media/cdrom/Packages/ #掛載光驅
yum --disablerepo=\* --enablerepo=c6-media install ftp –y
配置/etc/yum.repos.d/下的文件來爲yum客戶端指明yum服務器的位置,如何訪問,數字簽名等。
[root@vbird Packages]# cd /etc/yum.repos.d/
[root@vbird yum.repos.d]# ll
total 16
-rw-r--r--. 1 root root 1926 Nov 27 2013 CentOS-Base.repo
-rw-r--r--. 1 root root 638 Nov 27 2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 630 Nov 27 2013 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 Nov 27 2013 CentOS-Vault.repo
可以發現有4條配置文件,對以上作出備份並修改來指明yum服務器的ftp訪問
[root@vbird yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.abk
[root@vbird yum.repos.d]# cp CentOS-Debuginfo.repo CentOS-Debuginfo.repo.abk
[root@vbird yum.repos.d]# cp CentOS-Media.repo CentOS-Media.repo.abk
[root@vbird yum.repos.d]# cp CentOS-Vault.repo CentOS-Vault.repo.abk
[root@vbird yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1926 Nov 27 2013 CentOS-Base.repo
-rw-r--r--. 1 root root 1926 Jul 15 05:09 CentOS-Base.repo.abk
-rw-r--r--. 1 root root 638 Nov 27 2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 638 Jul 15 05:09 CentOS-Debuginfo.repo.abk
-rw-r--r--. 1 root root 630 Nov 27 2013 CentOS-Media.repo
-rw-r--r--. 1 root root 630 Jul 15 05:09 CentOS-Media.repo.abk
-rw-r--r--. 1 root root 3664 Nov 27 2013 CentOS-Vault.repo
-rw-r--r--. 1 root root 3664 Jul 15 05:10 CentOS-Vault.repo.abk
刪除以三個後綴爲.repo的文件保留CentOS-Debuginfo.repo文件用來修改
[root@vbird yum.repos.d]# ll
total 20
-rw-r--r--. 1 root root 1926 Jul 15 05:09 CentOS-Base.repo.abk
-rw-r--r--. 1 root root 638 Nov 27 2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 638 Jul 15 05:09 CentOS-Debuginfo.repo.abk
-rw-r--r--. 1 root root 630 Jul 15 05:09 CentOS-Media.repo.abk
-rw-r--r--. 1 root root 3664 Jul 15 05:10 CentOS-Vault.repo.abk
編輯CentOS-Debuginfo.repo文件
Vim CentOS-Debuginfo.repo
保存退出後用 yum list all查看
在這裏我們就可以在yum客戶端下用yum來對軟件包進行信息查詢、安裝、卸載、升級等操作
查詢httpd的信息:
安裝httpd:
yum list all #列出全部
yum list installed #列出已安裝
yum list available #列出未安裝
yum info 名稱 #顯示該軟件包的信息
yum remove 名稱 #刪除
yum grouplist #列出包組
yum groupinstall
yum groupinfo
yum groupremove
yum localinstall #本地安裝
yum repolist
yum clean all #清除yum緩存
步驟三:yum服務器的更新
當yum服務器的軟件包發生更新時如何同步到yum客戶端呢?
使用yum clean all是無濟於事的
當我們進入/var/ftp/目錄下時會看到一個dr-xr-xr-x. 2 root root 4096 Jul 20 04:39 repodata這樣的目錄,用tree查看該目錄
其中repomd.xml就是用來記錄服務器Packages目錄下軟件包的信息情況,我們需要對它來進行更新,在ftp目錄下使用createrepo命令
[root@vbirdftp]#createrepo -g repodata/3fe289964708818d65e318fae9784208fdb73f21560f21b524582a87c170a677-c6-i386-comps.xml ./
這樣yum服務器的更新信息就能同步到yum客戶端了