標籤:linux
yum有以下特點:
*可以同時配置多個資產庫(Repository)
*簡潔的設定檔(/etc/yum.conf)
*自動解決增加或刪除rpm包時遇到的倚賴性問題
*使用方便
*保持與RPM資料庫的一致性
yum,是Yellow dog Updater Modified的簡稱,起初是由yellow dog這一發行版的開發人員Terra Soft研發,用python寫成,那時還叫做yup(yellow dog updater),後經杜克大學的[email protected]Team Dev進行改進,遂有此名。yum的宗旨是自動化地升級,安裝/移除rpm包,收集rpm包的相 關資訊,檢查依賴性並自動提示使用者解決。yum的關鍵之處是要有可靠的repository,顧名思義,這是軟體的倉庫,它可以是http或ftp網站, 也可以是本地軟體池,但必須包含rpm的header, header包括了rpm包的各種資訊,包括描述,功能,提供的檔案,依賴性等.正是收集了這些 header並加以分析,才能自動化地完成餘下的任務。
1.yum的一切配置資訊都儲存在一個叫yum.conf的設定檔中,通常位於/etc目 錄下,這是整個yum系統的重中之重:
對yum設定檔的簡單解析:
cachedir:yum緩衝的目錄,yum在此儲存下載的rpm包和資料庫,一般是/var/cache/yum。
debuglevel:除錯層級,0──10,預設是2
logfile:yum的記錄檔,預設是/var/log/yum.log。
exactarch,有兩個選項1和0,代表是否只升級和你安裝軟體包cpu體系一致的包,如果設為1,則如你安裝了一個i386的rpm,則yum不會用686的包來升級。
gpgchkeck= 有1和0兩個選擇,分別代表是否是否進行gpg校正,如果沒有這一項,預設好像也是檢查的。
2.常用命令:
1.列出所有可更新的軟體清單 命令:yum check-update 2.安裝所有更新軟體(更新所有可以升級的rpm包,包括kernel) 命令:yum update 3.僅安裝指定的軟體 命令:yum install 4.僅更新指定的軟體 命令:yum update packagename 5.尋找軟體包 命令:yum search 6.列出所有可安裝的軟體包 命令:yum list 7.列出所有可更新的軟體包 命令:yum list updates 8.列出所有已安裝的軟體包 命令:yum list installed 9.列出所有已安裝但是不在Yum Repository 內的軟體包資訊 命令:yum list extras 10.列出指定的軟體包 命令:yum list packagename 11.列出指定軟體包資訊 命令:yum info packagename 12.列出所有軟體包資訊 命令:yum info 13.列出所有可更新的軟體包資訊 命令:yum info updates 14.列出所有已安裝的軟體包資訊 命令:yum info installed 15.列出所有已安裝但不在 Yum Repository 內的軟體包資訊 命令:yum info extras 16.列出軟體包提供哪些檔案 命令:yum provides packagename 17.刪除軟體包 命令:yum remove 18.清除緩衝目錄(/var/cache/yum)下的軟體包 命令:yum clean packages 19.清除緩衝目錄(/var/cache/yum)下的 headers 命令:yum clean headers 20.清除緩衝目錄(/var/cache/yum)下舊的 headers 命令:yum clean oldheaders 21.清除緩衝目錄(/var/cache/yum)下的軟體包及舊的headers 命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 22.大規模的版本升級,與yum update不同的是,連舊的淘汰的包也升級 命令:yum upgrade
每天定期執行系統更新#chkconfig yum on#service yum start
3.yum命令補充:
1.關於yum update命令:
yum update,yum會從伺服器的header目錄下載rpm的header,放在本地的緩衝中,這可能會花費一定的時間。header下載完畢,yum會判斷是否有可更新的軟體包,如果有,它會詢問你的意見,是否更新。當同意更新後,yum開始下載軟體包並調用rpm安裝,這可能要一定時間,取決於要更新軟體的數目和網路狀況,萬一網路斷了,也沒關係,再進行一次就可以了。
yum update packagename 對某個單獨包進行升級。
2.關於yum安裝和刪除命令:
安裝的命令是,yum install xxx,yum會查詢資料庫,有無這一軟體包,如果有,則檢查其依賴衝突關係,如果沒有依賴衝突,那麼最好,下載安裝;如果有,則會給出提示,詢問是否要同時安裝依賴,或刪除衝突的包,你可以自己作出判斷。
刪除的命令是,yum remove xxx,同安裝一樣,yum也會查詢資料庫,給出解決依賴關係的提示。
3.關於yum查詢命令:
我們常會碰到這樣的情況,想要安裝一個軟體,只知道它和某方面有關,但又不能確切知道它的名字。這時yum的查詢功能就起作用了。你可以用 yum search keyword這樣的命令來進行搜尋,比如我們要則安裝一個Instant Messenger,但又不知到底有哪些,這時不妨用 yum search messenger這樣的指令進行搜尋,yum會搜尋所有可用rpm的描述,列出所有描述中和messeger有關的rpm包,於是我們可能得到 gaim,kopete等等,並從中選擇。
有時我們還會碰到安裝了一個包,但又不知道其用途,我們可以用yum info packagename這個指令來擷取資訊。
4.關於yum緩衝命令:
yum 會把下載的軟體包和header儲存在cache中,而不會自動刪除。如果我們覺得它們佔用了磁碟空間,可以使用yum clean指令進行清除,更精確的用法是yum clean headers清除header,yum clean packages清除下載的rpm包,yum clean all 清除所有。
4.yum配置:
注:修改和增加設定檔中的資產庫,加快下載速度和擁有更多可更新的rpm包將/etc/yum.conf的內容全部替換為[main]cachedir=/var/cache/yumdebuglevel=2logfile=/var/log/yum.logpkgpolicy=newestdistroverpkg=fedora-releasetolerant=1exactarch=1[fedora-us-1]name=Fedora Core 1 -- Fedora US mirrorbaseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/os[fedora-us-1-updates]name=Fedora Core 1 updates -- Fedora US mirrorbaseurl=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 mirrorbaseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/stable[freshrpms]name=Fedora Linux $releasever - $basearch - freshrpmsbaseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
5.安全的更新freshrpms.net的rpm包
安裝freshrpms.net的GPG key
rpm --importhttp://freshrpms.net/packages/RPM-GPG-KEY.txt
編輯/etc/yum.conf,增加以下資訊到尾部
[freshrpms]
name=Fedora Linux $releasever - $basearch - freshrpms
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
gpgcheck=1
注:
檢查GPG Key
# rpm -qa gpg-pubkey*
顯示Key資訊
#rpm -qi gpg-pubkey-e42d547b-3960bdf1
刪除Key
#rpm -e gpg-pubkey-e42d547b-3960bdf1
Linux學習篇之---CentOS Yum命令詳解