Fedora Yum命令查詢軟體包及清除快取
今天學習點Fedora Yum命令,學習Fedora Yum命令時要了解如何編譯調式及執行Fedora Yum命令。Fedora 中的 Fedora Yum命令詳解。總所周知,Redhat和Fedora的軟體安裝命令是rpm。
但是用rpm安裝軟體最大的麻煩就是需要手動尋找安裝該軟體所需要的一系列依賴關係,超級麻煩不說,要是軟體不用了需要解除安裝的話由於解除安裝掉了某個依 賴關係而導致其他的軟體不能用是非常惱人的。令人高興的是,Fedora終於推出了類似於 ubuntu中的apt的Fedora Yum命令,令Fedora的軟體安裝變得簡單容易。Fedora Yum命令有以下特點:
*可以同時配置多個資源庫(Repository)
*簡潔的配置檔案(/etc/yum.conf)
*自動解決增加或刪除rpm包時遇到的倚賴性問題
*使用方便
*保持與RPM資料庫的一致性
Fedora Yum命令,是Yellow dog Updater Modified的簡稱,起初是由yellow dog這一發行版的開發者Terra Soft研發,用python寫成,那時還叫做yup(yellow dog updater),後經杜克大學的Linux@Duke開發團隊進行改進,遂有此名。Fedora Yum命令的宗旨是自動化地升級,安裝/移除rpm包,收集rpm包的相關資訊,檢查依賴性並自動提示使用者解決。Fedora Yum命令的關鍵之處是要有可靠的repository,顧名思義,這是軟體的倉庫,它可以是http或ftp站點,也可以是本地軟體池,但必須包含 rpm的header, header包括了rpm包的各種資訊,包括描述,功能,提供的檔案,依賴性等.正是收集了這些 header並加以分析,才能自動化地完成餘下的任務。
一.Fedora Yum命令的一切配置資訊都儲存在一個叫yum.conf的配置檔案中,通常位於/etc目 錄下,這是整個Fedora Yum命令系統的重中之重,我在的F10中查看了這一檔案,大家一起來看下:
- [main]
- cachedir=/var/cache/yum
- keepcache=0
- debuglevel=2
- logfile=/var/log/yum.log
- exactarch=1
- obsoletes=1
- gpgcheck=1
- plugins=1
- installonly_limit=3
下面簡單的對這一檔案作簡要的說明:cachedir:Fedora Yum命令快取的目錄,yum在此儲存下載的rpm包和資料庫,一般是/var/cache/yum。debuglevel:除錯級別,0──10,預設 是2logfile:yum的日誌檔案,預設是/var/log/yum.log。exactarch,有兩個選項1和0,代表是否只升級和你安裝軟體包 cpu體系一致的包,如果設為1,則如你安裝了一個i386的rpm,則yum不會用686的包來升級。gpgchkeck= 有1和0兩個選擇,分別代表是否是否進行gpg校驗,如果沒有這一項,預設好像也是檢查的。
二.好了,接下來就是Fedora Yum命令的使用了,首先用yum來升級軟體,Fedora Yum命令的操作大都須有超級使用者的許可權,當然可以用sudo。yum update,這一步是必須的,Fedora Yum命令會從伺服器的header目錄下載rpm的header,放在本地的快取中,這可能會花費一定的時間,但比起yum 給我們帶來方便,這些時間的花費又算的了什麼呢?header下載完畢,Fedora Yum命令會判斷是否有可更新的軟體包,如果有,它會詢問你的意見,是否更新,還是說 y吧,把系統始終up to date總是不錯的,這時Fedora Yum命令開始下載軟體包並使用呼叫rpm安裝,這可能要一定時間,取決於要更新軟體的數目和網路狀況,萬一網路斷了,也沒關係,再進行一次就可以了。升 級完畢,以後每天只要使用yum check-update檢查一下有無跟新,如果有,就用yum update進行跟新,時刻保持系統為最新,堵住一切發現的漏洞。用yum update packagename 對某個單獨包進行升級。
現在簡單的把Fedora Yum命令軟體升級的一些命令羅列一下:
1.列出所有可更新的軟體清單
命令:yum check-update
2.安裝所有更新軟體
命令:yum update
3.僅安裝指定的軟體
命令:yum install
4.僅更新指定的軟體
命令:yum update
5.列出所有可安裝的軟體清單
命令:yum list
三.使用Fedora Yum命令安裝和解除安裝軟體,有個前提是Fedora Yum命令安裝的軟體包都是rpm格式的。安裝的命令是,yum install xxx,yum會查詢資料庫,有無這一軟體包,如果有,則檢查其依賴衝突關係,如果沒有依賴衝突,那麼最好,下載安裝;如果有,則會給出提示,詢問是否要 同時安裝依賴,或刪除衝突的包,你可以自己作出判斷刪除的命令是,yum remove xxx,同安裝一樣,yum也會查詢資料庫,給出解決依賴關係的提示。
1.用YUM安裝軟體包
命令:yum install
2.從硬碟安裝 rpm 包並使用 yum 解決依賴
yum localinstall application_name
3.用YUM刪除軟體包
命令:yum remove
四.用Fedora Yum命令查詢想安裝的軟體我們常會碰到這樣的情況,想要安裝一個軟體,只知道它和某方面有關,但又不能確切知道它的名字。這時Fedora Yum命令的查詢功能就起作用了。你可以用 yum search keyword這樣的命令來進行搜尋,比如我們要則安裝一個Instant Messenger,但又不知到底有哪些,這時不妨用 yum search messenger這樣的指令進行搜尋,yum會搜尋所有可用rpm的描述,列出所有描述中和messeger有關的rpm包,於是我們可能得到 gaim,kopete等等,並從中選擇。有時我們還會碰到安裝了一個包,但又不知道其用途,我們可以用yum
info packagename這個指令來獲取資訊。
1.使用Fedora Yum命令查詢軟體包
命令:yum search
2.列出所有可安裝的軟體包
命令:yum list
3.列出所有可更新的軟體包
命令:yum list updates
4.列出所有已安裝的軟體包
命令:yum list installed
5.列出所有已安裝但不在 Yum Repository 內的軟體包
命令:yum list extras
6.列出所指定的軟體包
命令:yum list 7.使用YUM獲取軟體包資訊
命令:yum info 8.列出所有軟體包的資訊
命令:yum info
9.列出所有可更新的軟體包資訊
命令:yum info updates
10.列出所有已安裝的軟體包資訊
命令:yum info installed
11.列出所有已安裝但不在 Yum Repository 內的軟體包資訊
命令:yum info extras
12.列出軟體包提供哪些檔案
命令:yum provides
13.系統中有哪些yum源
命令:yum repolist
五.清除Yum快取Fedora Yum命令會把下載的軟體包和header儲存在cache中,而不會自動刪除。如果我們覺得它們佔用了磁碟空間,可以使用yum clean指令進行清除,更精確的用法是yum clean headers清除header,yum clean packages清除下載的rpm包,yum clean all 清除所有
1.清除快取目錄(/var/cache/yum)下的軟體包
命令:yum clean packages
2.清除快取目錄(/var/cache/yum)下的 headers
命令:yum clean headers
3.清除快取目錄(/var/cache/yum)下舊的 headers
命令:yum clean oldheaders
4.清除快取目錄(/var/cache/yum)下的軟體包及舊的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
以上所有命令引數的使用都可以用man來檢視
5.啟用/禁用一個軟體倉庫
yum –enablerepo=repo_name (repo_name 代表倉庫名,下同)
yum –disablerepo=repo_name
6.匯入 Fedora GPG 祕匙
Fedora 有兩個基本的軟體倉庫,名為 “fedora” 和 “updates” 。要使用它們並且在安裝那些未簽名的軟體包時避免發生錯誤,你必須匯入它們的 GPG 密匙,開啟一個終端並且輸入如下命令:
rpm –import /etc/pki/rpm-gpg/*