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服務器,本身可以根據光盤鏡像做yum服務器。
搭建yum服務器:
(1)本地yum(服務器不能上網)
第一步:先掛載光盤
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