1. 程式人生 > >Linux:yum(新增/刪除/更新RPM包)的詳細使用方法

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