歡迎您光臨本站 註冊首頁

linux下yum的使用 

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
Red Hat/Fedora Linux有提供一個非常棒的系統升級機制Red Hat Network,當Red Hat公司修正或發表新的RPM程序套件時,如果您想要將某些程序升級成新的RPM套件,只要連接到[url]http://rhn.redhat.com/[/url]網站,該網站就會自動偵測系統中應該更新的RPM套件,並自動下載安裝替您更新,這個功能非常類似Windows系統的Windows Updates在線升級功能.雖然Red Hat Network有這種好處,但這個服務是專為商業用戶而設的,因此向使用者收費亦是必然的,付費會員是年繳60元美金,但由於在線升級服務的質量良好,全球有大量的使用者付款向Red Hat購買這種服務.
但是對於一般不是商業的用戶,也可以登入Red Hat Network網站並註冊一個賬號使用在線升級機制.但是自從Red Hat公司於2003年9月宣布不再發行Red Hat Linux免費版本之後,所有Red Hat Linux愛好者迫切想知道如何繼續使用Red Hat Network這個在線升級機制?Red Hat的CEO Mathew Szuilk為Red Hat的愛用者解釋往後Red Hat Network的運作機制,Red Hat公司指出使用Fedora Core並搭配YUM (YellowDog Updater, Modified) 即可免費的繼續使用Red Hat Network下載最新修補軟體.
YUM的全名是YellowDog Updater, Modified,YellowDog ([url]http://www.yellowdoglinux.com/[/url] ) 是一個Linux發行套件的名稱,YellowDog Updater (YU) 是YellowDog這個Linux套件自行開發的RPM軟體套件管理系統,這個YU系統的特色是可以配合網路上的軟體資料庫直接進行軟體的更新和移除,後來美國Duke University將之改良,改命名為YellowDog Updater, Modified (YUM),yum可以自動更新/移除RPM套件,它會自動計算相依性,判斷哪些RPM套件應該安裝而哪些不必安裝,正yum的出現可以解決安裝 RPM套件時煩人的相依性 (dependency) 問題並且可直接透過網路進行系統升級,Red Hat與Fedora社群將yum納入共同開發的Fedora Core Linux之內,這個yum軟體於是成為了Red Hat Network更新軟體系統up2date的骨幹,您可以很容易地透過yum自動升級Fedora Code Linux系統.





取得 yum
基本上yum與up2date是Fedora Core預設的在線升級系統,您的Linux系統已經預設安裝了.如果您的系統還未安裝這兩個套件,可以從Linux DVD安裝光碟的Fedora/RPMS/ 取得yum-2.1.11-3.noarch.rpm、up2date-4.3.47-5.i386.rpm以及up2date-gnome- 4.3.47-5.i386.rpm.或者從YUM的官方網站 [url]http://www.linux.duke.[/url] edu/ projects/yum/ 下載最新版的YUM.
u yum官方網站: [url]http://www.linux.duke.edu/projects/yum/[/url]



安裝 yum
# rpm -ivh yum-2.1.11-3.noarch.rpm # rpm -ivh up2date-4.3.47-5.i386.rpm # rpm -ivh up2date-gnome-4.3.47-5.i386.rpm



設定yum伺服器
要利用yum自動升級Linux系統之前,您必須先設定可供您索取RPM檔案的yum伺服器.yum升級系統並沒有另外發展新的通訊協議,它下載檔案的方式主要是透過http與ftp通訊協議來取得檔案,也就是說放置Fedora Core Linux更新檔案的WWW站或者FTP站都可以當作您的yum伺服器.因此找一台離您較近的伺服器會讓更新進度快速的完成,否則內訂的伺服器http: //download.fedora.redhat.com 遠在美國,我們要透過它來升級系統,只能說慢的可以.而要尋找一台可供信賴且距離近的yum伺服器,最簡單的方法就是從Fedora官方網站 [url]http://fedora.redhat.com/[/url] download /mirrors.html查出全球伺服器的mirror列表,然後找一台離您最近的伺服器,再將它設定到 /etc/yum.conf檔案中即可.底下就是幾個離我們較近或速度較快的伺服器:
國外 yum 伺服器
安裝光碟套件
[url]http://mirrors.kernel.org/fedora/core/3/i386/os/[/url]
升級套件
[url]http://mirrors.kernel.org/fedora/core/updates/3/i386/[/url]
安裝光碟套件
[url]http://ftp.freshrpms.net/pub/fedora/linux/core/3/i386/os/[/url]
升級套件
[url]http://ftp.freshrpms.net/pub/fedora/linux/core/updates/3/i386/[/url]


國內yum伺服器
[url]http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/3/i386/os/[/url]
[url]http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/updates/3/i386/[/url]
[url]http://linux.cdpa.nsysu.edu.tw/Linux/Fedora/linux/core/3/i386/os/[/url]
[url]http://linux.cdpa.nsysu.edu.tw/Linux/Fedora/linux/core/updates/3/i386/[/url]

以mirrors.kernel.org 為例,您必須先知道該FTP站將Fedora Project官方更新的RPM套件放置在哪一個目錄底下,該目錄通常是以Linux發行套件的版本名稱如fedora為字眼,然後再搭配版本號碼、系統平台如i386,以updates為字眼,您只要一層一層找下去只要『找到放置header/目錄那一層的網址』即可,yum得靠 header/目錄下的header.info檔案找到您所要安裝RPM套件的位置,例如:筆者已經替您找好某台伺服器的路徑了,您可以使用瀏覽器到下列網址看看,是否有header/目錄.
[url]http://mirrors.kernel.org/fedora/core/3/i386/os/[/url]  (安裝光碟套件)
[url]http://mirrors.kernel.org/fedora/core/updates/3/i386/[/url] (升級套件)
當然您也可以選取其它的FTP站,並不一定要使用筆者設定的FTP站,將來若yum伺服器上的路徑有所更改,您要記得使用FTP程序或者網頁瀏覽器到該 FTP站或網站上確定正確路徑之後,再設定到yum.conf檔案中即可.再來請編輯 /etc/yum.conf設定檔:
# gedit /etc/yum.conf
yum.conf 的內容共分成四段:base、updates-released、update-testing、以及development,base是定義 Fedora安裝光碟套件的位置,updates-released是定義Fedora升級套件的位置,後面update-testing與 development則是測試與發展中套件的位置.我們只要定義base與updates-released的網址即可,update- testing與development套件可能還有錯誤會造成系統不穩,除非您是開發測試人員,否則不用安裝這些套件.再來請把原先系統預設的伺服器路徑以 # 批註掉,然後改填入離您較近的伺服器即可,請將base與updates-released段落中baseurl= 後面的網址替換成:


[url]http://mirrors.kernel.org/fedora/core/3/i386/os/[/url]  (安裝光碟套件)
[url]http://mirrors.kernel.org/fedora/core/updates/3/i386/[/url] (升級套件)
修改完網址並存檔之後即完成 /etc/yum.conf的設定,完整的設定檔如下:
/etc/yum.conf設定檔內容
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=20
obsoletes=1
gpgcheck=1
# 以上段落為內訂設定,不需更改
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
# 告訴您可以直接將YUM升級網址放在此,或者另存成檔案放在
/etc/yum.repos.d目錄
# 為了方便性,您可以直接填寫在 /etc/yum.conf 即可.
[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://mirrors.kernel.org/fedora/core/3/i386/os/
# 請加入此段Fedora安裝套件的網址描述
[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://mirrors.kernel.org/fedora/core/updates/3/i386/
# 請加入此段Fedora升級套件的網址描述
# 底下testing與development的網址不用理會,維持批註掉即可.
#[updates-testing]
#name=Fedora Core $releasever - $basearch - Unreleased Updates
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux
/core/updates/testing
#[development]
#name=Fedora Core $releasever - Development Tree
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux
/core/development/$basearch/



在此教您一個小技巧,如果網址太長很難輸入,建議您先利用ncftp或者網頁瀏覽器先連接到您預備設定為yum server的FTP站,然後確認其放置Fedora安裝套件的位置,以及Fedora升級套件的位置之後,然後執行pwd顯示目前所在位置,這樣就可以輕易地取得整個網址了.


啟動 yum 升級系統
# yum check-update   (檢查需要升級的套件)

Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
iiimf-protocol-lib-1-11.4 100% |===================| 5.3 kB 00:00
xorg-x11-xauth-0-6.7.0-5. 58% |======== | 40 kB 00:01 ETA



第一次執行yum check-update必須花比較久的時間,yum必須檢查伺服器上所有header數據,請耐心等候.完成之後,往後第二次執行 yum check-update就會很快了,數據已經儲存到您的系統上.而在使用yum升級系統之前,基於系統安全性考慮,yum需要所有RPM套件的 GPG認證金鑰,認證升級RPM套件的完整性之後,才能安全地幫您自動升級系統,您必須先載入Fedora DVD安裝光碟的RPM-GPG-KEY與RPM-GPG-KEY-fedora這兩個GPG認證金鑰檔案,才能執行yum update自動升級所有RPM套件.
# rpm --import RPM-GPG-KEY
# rpm --import RPM-GPG-KEY-fedora
# yum update   (自動升級所有RPM套件)

[update: mkisofs 8:2.01-0.a27.4.FC2.1.i386]
[update: rsync 2.6.2-1.i386]
[update: kdelibs 6:3.2.2-6.i386]
[update: xorg-x11-libs 6.7.0-5.i386]
[update: nfs-utils 1.0.6-22.i386]
[update: xorg-x11-libs-data 6.7.0-5.i386]
[update: xorg-x11-devel 6.7.0-5.i386]

Is this ok [y/N]: y   (詢問您是否升級這些RPM套件?)
檢查完header之後,直接執行yum update,yum程序會列出所有需要升級的RPM套件名稱,然後詢問您要不要更新,等您按y之後,系統就會自動升級了,您完全不需要自己抓取任何的 RPM套件,以及理會煩人的RPM套件相依問題,系統會很順利地升級伺服器上的所有RPM套件.
另外yum程序已經自動在系統的 /etc/cron.daily 目錄中放有yum.cron,每天會定時幫您自動執行yum系統升級程序,自動檢查並更新伺服器上update的新RPM套件,所有的yum執行過程也都會記錄在 /var/log/yum.log中,您的Linux系統安裝yum之後,再也不用為系統安全漏洞而要更新哪些RPM套件而煩惱了,yum會永遠默默的在背後替您更新成最新的Linux系統.






附上「YUM 命令使用方法「:
yum除了可以用來升級整個Fedora Core Linux系統之外,如果您不想每次都要上網去下載RPM檔案會來安裝,您也可以透過yum來幫您安裝一個小軟體,並幫您解決RPM套件的相依性問題.
# yum install net-snmp-utils
使用 yum install 單獨安裝一個RPM套件.關於伺服器上的package名稱,您可以先執行 yum list | more 來查詢.
# yum list
查詢伺服器上的RPM套件名稱.
# yum remove expat-devel
使用 yum remove 則會移除Linux系統上已經安裝的RPM套件.您可以先執行 yum list installed | more查看系統已經安裝的套件名稱.
# yum list installed
查詢系統已安裝的RPM套件名稱.
# yum clean packages
所有使用yum指令安裝的RPM套件,都會從伺服器下載回來並在 /var/cache/yum目錄中,如果您覺得這些已經安裝好的RPM套件已經無用了,可以執行yum clean packages把所有暫存的RPM檔案都清除掉.
# yum clean headers
清除yum從伺服器下載的header/ 目錄與header.info檔案.
# yum clean all

文章來自:[url]http://blog.csdn.net/dycwahaha/archive/2007/12/01/1911228.aspx[/url]


[火星人 ] linux下yum的使用 已經有494次圍觀

http://coctec.com/docs/linux/show-post-53750.html