天天看點

YUM 使用

 yum是幹什麼的

  使用redhat,fedora的linuxer肯定都為rpm著名的dependency hell而頭疼(這也是所有基于rpm發行版都有的問題)。foo is needed by bar,bar is needed by foo。要裝卸個軟體,還得辛辛苦苦地梳理清楚所有依賴性問題,rpm的幾個搜尋站點成了時常光顧的場所,如果不幸碰到循環依賴,那就隻有幹瞪眼的分了。 有時加個--nodeps參數,倒是眼不見,心不煩,但這樣裝上的軟體,你能保證正常使用嗎,這樣解除安裝軟體,你能保證不影響其它軟體工作嗎,恐怕誰也不能 給出肯定的答案。每到這時,帽子們隻有看着debian的 apt暗自羨慕了。好在,這些都已經成為過去時了。基于rpm的發行版現在也有了像apt那樣自 動解決依賴關系的包管理工具了。其中一個著名的就是apt4rpm,這基本上是debian系統apt的在rpm發行版的移植。但是使用Redhat和 Fedora的linuxer你們知道嗎,還有一個與apt功能類似的rpm包管理系統,那就是yum。Fedora系統已經自帶,Redhat也有相應 的rpm下載下傳。與apt相比,yum的功能一點也不弱,甚至還有許多勝過apt 之處。比如說,yum是Fedora系統自帶的,是以它能使用fedora官方的軟體源,完成各種官方釋出>的各種更新。對于第三方軟體源的支援,yum也 不差,大多數支援apt的repository注,也能支援yum,比如說freshrpms,fedora.us,livna等等。此外yum有一個比較 詳細的log,可以檢視何時更新安裝了什麼軟體包等。yum的代碼較apt更為精簡等。

  一. yum是什麼

  yum = Yellow dog Updater, Modified主要功能是更友善的添加/删除/更新RPM包.它能自動解決包的倚賴性問題.

  它能便于管理大量系統的更新問題

  注:為什麼要使用yum而不用apt,最簡單的原因,Fedora自帶

  二. yum特點

  *可以同時配置多個資源庫(Repository)

  *簡潔的配置檔案(/etc/yum.conf)

  *自動解決增加或删除rpm包時遇到的倚賴性問題

  *使用友善

  *保持與RPM資料庫的一緻性

  三. yum安裝

  Fedora自帶

  #rpm -ivh yum-2.0.4-2.noarch.rpm

  四. yum配置

  注:修改和增加配置檔案中的資源庫,加快下載下傳速度和擁有更多可更新的rpm包将/etc/yum.conf的内容全部替換為

  [main]

  cachedir=/var/cache/yum

  debuglevel=2

  logfile=/var/log/yum.log

  pkgpolicy=newest

  distroverpkg=fedora-release

  tolerant=1

  exactarch=1

  [fedora-us-1]

  name=Fedora Core 1 -- Fedora US mirror

  baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/os

  [fedora-us-1-updates]

  name=Fedora Core 1 updates -- Fedora US mirror

  baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/updates

  [fedora-us-1-stable]

  name=Fedora Linux (stable) for Fedora Core 1 -- Fedora US mirror

  baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/stable

  [freshrpms]

  name=Fedora Linux $releasever - $basearch - freshrpms

  baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms

  五. yum應用

  注:當第一次使用yum或yum資源庫有更新時,yum會自動下載下傳所有所需的headers放置于/var/cache/yum目錄下,所需時間可能較長.

  檢查有哪些可更新的rpm包

  #yum check-update

  安裝rpm包,使xmms可以播放mp3

  #yum install xmms-mp3

  安裝mplayer,同時自動安裝相關的軟體

  #yum install mplayer

  删除licq包,同時删除與該包有倚賴性的包

  #yum remove licq

  注:同時會提示删除licq-gnome,licq-qt,licq-text,非常友善

  系統更新(更新所有可以更新的rpm包,包括kernel)

  #yum -y update

  每天定期執行系統更新

  #chkconfig yum on

  #service yum start

  六. yum指令詳解

  *rpm包的更新

  檢查可更新的rpm包

  更新所有的rpm包

  #yum update

  更新指定的rpm包,如更新kernel和kernel source

  #yum update kernel kernel-source

  大規模的版本更新,與yum update不同的是,連舊的淘汰的包也更新

  #yum upgrade

  *rpm包的安裝和删除

  安裝rpm包,如xmms-mp3

  删除rpm包,包括與該包有倚賴性的包

  注:同時會提示删除licq-gnome,licq-qt,licq-text

  *yum暫存(/var/cache/yum/)的相關參數

  清除暫存中rpm封包件

  #yum clean packages

  清除暫存中rpm頭檔案

  #yum clean headers

  清除暫存中舊的rpm頭檔案

  #yum clean oldheaders

  清除暫存中舊的rpm頭檔案和封包件

  #yum clean或#yum clean all

  注:相當于yum clean packages + yum clean oldheaders

  *rpm包清單

  列出資源庫中所有可以安裝或更新的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

  七. 安全的更新freshrpms.net的rpm包

  安裝freshrpms.net的GPG key #rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt

  編輯/etc/yum.conf,增加以下資訊到尾部

  gpgcheck=1

  注:

  檢查GPG Key

  # rpm -qa gpg-pubkey*

  顯示Key資訊

  #rpm -qi gpg-pubkey-e42d547b-3960bdf1

  删除Key

  #rpm -e gpg-pubkey-e42d547b-3960bdf1