yum,是Yellow dog Updater Modified的簡稱,起初是由yellow dog這一發行版的開發者Terra Soft研發,用python寫成,那時還叫做yup(yellow dog updater),後經杜克大學的Linux@Duke開發團隊進行改進,遂有此名。yum的宗旨是自動化地更新,安裝/移除rpm包,收集rpm包的相關資訊,檢查依賴性并自動提示使用者解決。yum的關鍵之處是要有可靠的repository,顧名思義,這是軟體的倉庫,它可以是http或ftp站點, 也可以是本地軟體池,但必須包含rpm的header, header包括了rpm包的各種資訊,包括描述,功能,提供的檔案,依賴性等.正是收集了這些 header并加以分析,才能自動化地完成餘下的任務。它能夠從指定的伺服器自動下載下傳RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載下傳、安裝。自己本身也可以做yum伺服器,本身可以根據CD光牒鏡像做yum伺服器。
搭建yum伺服器:
(1)本地yum(伺服器不能上網)
第一步:先挂載CD光牒
mount /dev/cdrom /media/
echo "/dev/cdrom /media iso9660 defaults 0 0" >> /etc/fstab 實作開機挂載
第二步:建立yum倉庫(以centos為例)
vim /etc/yum.repos.d/iso.repo (iso是随便取得名字,但是一定要以repo結尾)
[Centos]
name=CentOS
baseurl=file:///media/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
然後儲存退出
(如果是redhat5.x的系統這裡寫成file:///media/Server/,是redhat6.x的系統file:///media/Packages/)
參數的解釋
#####
[Centos] (這個是一個辨別,可以随便取,必須唯一)
name=CentOS (這個是一個名字,可以随便取,必須唯一)
baseurl=file:///media/Server/ (本地的路徑)
enabled=1 (為1則是打開倉庫,為0則是關閉倉庫)
gpgcheck=1 (公鑰值)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 (檢測公鑰值的檔案路徑)
[ ]内的是倉庫的名字
name是倉庫的描述也可以說是名字
baseurl 倉庫的位置
enabled 是否啟用這個倉庫,1為起用,0為禁用
gpgcheck 是否檢查GPG簽名(用來驗證要安裝的包是不是REDHAT官方的)
gpgcheck 的存放位址我們需要用下面的指令導入這個簽名。才能使用這項功能
#####
搭建完yum後,先輸入 yum clean all
(2)外網yum(伺服器能上網)
vim /etc/yum.repos.d/163.repo
[base]
name=centos6
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch
gpgecheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
然後儲存退出
如果系統是5.x版本的redhat(baseurl=http://mirrors.163.com/centos/5/os/$basearch)
安裝外網yum的時候可以自己先進去這個網站看看
http://mirrors.163.com/
搭建完yum後,先輸入 yum clean all
使用yum
首先用yum來更新軟體,yum的操作大都須有超級使用者的權限,當然可以用sudo。
裝了系統添加删除軟體是常事,yum同樣可以勝任這一任務,隻要軟體是rpm安裝的。
安裝的指令是,yum install xxx,yum會查詢資料庫,有無這一軟體包,如果有,則檢查其依賴沖突關系,如果沒有依賴沖突,那麼最好,下載下傳安裝;如果有,則會給出提示,詢問是否要同時安裝依賴,或删除沖突的包,你可以自己作出判斷。
删除的指令是,yum remove xxx,同安裝一樣,yum也會查詢資料庫,給出解決依賴關系的提示。
yum的常用指令:
1.yum check-update 列出所有可更新的軟體清單
2.yum update 安裝所有更新軟體
3.yum -y install <package_name> 安裝指定的軟體
4.yum update <package_name> 更新指定的軟體
5.yum list <package_name> 不加<package_name>列出所有可安裝的軟體清單,加了列出指定的
6.yum -y remove <package_name> 删除軟體
7.yum search <package_name> 查找軟體
8.yum list installed 列出所有已安裝的軟體包
9.yum list extras 列出所有已安裝但不在 Yum Repository 內的軟體包
10.yum info <package_name> 不加<package_name>列出所有軟體包的資訊,加了列出指定的
11.yum provides <package_name> 列出軟體包提供哪些檔案
12.yum clean packages 清除緩存目錄(/var/cache/yum)下的軟體包
13. yum clean all 清除緩存目錄(/var/cache/yum)下的軟體包及舊的headers
參考http://www.cnblogs.com/chuncn/archive/2010/10/17/1853915.html