Linux:yum(新增/刪除/更新RPM包)的詳細使用方法
yum是什麼
- yum = Yellow dog Updater, Modified
- 主要功能是更方便的新增/刪除/更新RPM包.
- 它能自動解決包的倚賴性問題.
- 它能便於管理大量系統的更新問題
yum特點
- 可以同時配置多個資源庫(Repository)
- 簡潔的配置檔案(/etc/yum.conf
- 自動解決增加或刪除rpm包時遇到的倚賴性問題
- 使用方便
- 保持與RPM資料庫的一致性
yum安裝
- CentOS自帶(yum-*.noarch.rpm)
#rpm -ivh yum-*.noarch.rpm
- 在第一次啟用yum之前首先需要匯入系統的RPM-GPG-KEY:
#rpm --import /usr/share/doc/centos-release-3(4)/RPM-GPG-KEY-CentOS-3(4)
yum指令
- 注:當第一次使用yum或yum資源庫有更新時,yum會自動下載所有所需的headers放置於/var/cache/yum目錄下,所需時間可能較長.
rpm包的更新
- 檢查可更新的rpm包
#yum check-update
- 更新所有的rpm包
#yum update
- 更新指定的rpm包,如更新kernel和kernel source
#yum update kernel kernel-source
- 大規模的版本升級,與yum update不同的是,連舊的淘汰的包也升級
#yum upgrade
rpm包的安裝和刪除
- 安裝rpm包,如xmms-mp3
#yum install xmms-mp3
- 刪除rpm包,包括與該包有倚賴性的包
#yum remove licq
- 注:同時會提示刪除licq-gnome,licq-qt,licq-text
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
包列表
- 列出資源庫中所有可以安裝或更新的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包
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包的資訊
搜尋rpm包
- 搜尋匹配特定字元的rpm包
#yum search mozilla
- 注:在rpm包名,包描述等中搜索
- 搜尋有包含特定檔名的rpm包
#yum provides realplay
增加資源庫
- 例如:增加rpm.livna.org作為資源庫
- 安裝Livna.org rpms GPG key
- 檢查GPG Key
# rpm -qa gpg-pubkey*
- 顯示Key資訊
#rpm -qi gpg-pubkey-a109b1ec-3f6e28d5
- (注:如果要刪除Key,使用#rpm -e gpg-pubkey-a109b1ec-3f6e28d5)
新增yum源
新增yum源,可以都放在 /etc/yum.repos.d/ 目錄下,一個源一個檔案,字尾是repo就可以了。系統本身有兩個檔案,都是國外的源,比較慢,可以把他們備份,使用國內的源來更新。
這些源互相的差別
單獨使用中科大的更新源:是2658個包
單獨使用freshrpms,是514個包。
單獨rpmforge,是4471個包
那麼如果我使用3個源(不包括rpmforge),是2822個包,其中dvd是1784個包。freshrpms是164,其他就是從中科大下載的。
所有可以看出來yum還是很聰明的,自動本地的是最快的,
剛剛又添加了一個rpmforge源,這個源太厲害了,一下子就多了3979個包。這可不是全部啊,這是別的沒有,就他有的包啊。
現在我的機器了可以更新的包是6668個包。
rpmforge,這個太牛了,昨天研究pxe安裝xp,需要安裝cabextract,我到處搜尋找這個包都沒有找到,最後在cu上找到一個原始碼包,編譯安裝,搞了半天才搞定,沒有想到,現在我直接yum就搞定了。
rpmforge,這個源的包基本都是獨有的,
還有一點就是需要注意的,rhms,一個redhat的郵件解決方案,把把所有需要用到的rpm包下載到本地,再通過yum來安裝。非常方便。
六:各種源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.save
mv /etc/yum.repos.d/CentOS-Media.repo /etc/yum.repos.d/CentOS-Media.repo.save
1:使用本地光碟機
mkdir /mnt/dvd
mount /dev/cdrom /mnt/dvd
建立 dvdiso.repo 檔案,新增下面內容。
vi /etc/yum.repos.d/dvdiso.repo
[DVDISO]
name=DVD ISO
baseurl=file:///mnt/dvd
enabled=1
gpgcheck=0
2:使用中科大的源
建立ustc.repo 檔案
######################
[base]
name=CentOS-5 - Base
repo=os
baseurl=http://centos.ustc.edu.cn/centos/5.2/os/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[update]
name=CentOS-5 - Updates
baseurl=http://centos.ustc.edu.cn/centos/5.2/updates/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[addons]
name=CentOS-5 - Addons
baseurl=http://centos.ustc.edu.cn/centos/5.2/addons/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[extras]
name=CentOS-5 - Extras
baseurl=http://centos.ustc.edu.cn/centos/5.2/extras/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[centosplus]
name=CentOS-5 - Plus
baseurl=http://centos.ustc.edu.cn/centos/5.2/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[contrib]
name=CentOS-5 - Contrib
baseurl=http://centos.ustc.edu.cn/centos/5.2/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
###################
使用freshrpms源
建立 freshrpms.repo 檔案
[freshrpms]
name=Fedora Linux $releasever - $basearch - freshrpms
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
gpgcheck=1
使用rpmforge一個源
wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
下面這個源,可以安裝webmin,建立/etc/yum.repos.d/Doylenet.repo
[doylenet]
name=Doylenet custom repository for CentOS
baseurl=http://files.doylenet.net/linux/yum/centos/5/i386/doylenet/
gpgcheck=1
gpgkey=http://files.doylenet.net/linux/yum/centos/RPM-GPG-KEY-rdoyle
enabled=1
yum install webmin