星期五, 11月 17, 2006

yum的使用


在Fedora Core中,新增了一個叫作yum的套件管理程式,跟Mandrake的urpmi系列工具一樣,能夠幫您快速的安裝、更新套件,也會幫您處理惱人的套件相依性問題。

接下來就讓我們來看看yum的使用方式吧

起手第一式---設定更新路徑

#vi /etc/yum.conf



[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://ftp.cdpa.nsysu.edu.tw/Linux/Fedora/linux/core/$releasever/$basearch/os/

[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://ftp.cdpa.nsysu.edu.tw/Linux/Fedora/linux/core/updates/$releasever/$basearch/





我將套件的路徑設成中山大學的伺服器,因為預設是用國外的站台,所以連線會比較慢,而且有時候可能會失敗,所以用國內的站台會比較好.

設定好路徑就開始進行下一步了,不過在進行下一步前我們先來看一下yum的常用指令。

------------------------------------------------
yum的常用指令
yum update

語法:

yum update [套件1] [套件2] [...]

用來更新套件,若後面不加任何的套件,則會更新所有系統目前已經安裝了的套件



yum install

語法:

yum install 套件1 [套件2] [...]

用來安裝套件



yum upgrade

語法:

yum upgrade [套件1] [套件2] [...]

用來升級套件,功能和 yum update 類似,不同處在於 yum upgrade 會連一些過舊即將洮汰的套件也一起升級,比較類似在做大規模的版本升級動作 (如從 xxx Linux 8.0 升級到 xxx Linux 9)



yum remove

語法:

yum remove 套件1 [套件2] [...]

用來移除套件



yum clean

語法:

yum clean packages

用來清除暫存(/var/cache/yum)目錄下的套件

yum clean headers

用來清除暫存(/var/cache/yum)目錄下的 headers

yum clean oldheaders

用來清除暫存(/var/cache/yum)目錄下舊的 headers

yum clean 或是 yum clean all

用來清除暫存(/var/cache/yum)目錄下的套件及舊的 headers 等於是執行 yum clean packages 及 yum clean oldheaders



yum list

語法:

yum list

列出所有的套件

yum list updates

列出所有可以更新的套件

yum list installed

列出所有已安裝的套件

yum list extras

列出所有已安裝但不在 Yum Repository 內的套件

yum list [參數]

列出所指定的套件,參數可以是套件名稱或是在 shell 中所使用的表示式,如 ? 等



yum check-update

語法:

yum check-update

檢查可以更新的套件



yum info

語法:

yum info
列出所有套件的資訊

yum info updates

列出所有可以更新的套件資訊

yum info installed

列出所有已安裝的套件資訊

yum info extras


列出所有已安裝但不在 Yum Repository 內的套件資訊

yum info [參數]

列出所指定的套件資訊,參數可以是套件名稱或是在 shell 中所使用的表示式,如 ? 等



yum provides

語法:

yum provides 套件1 [套件2] [...]

列出套件提供哪些檔案



yum search

語法:

yum search [參數]

搜尋套件



-------------------------------------------


看完以上的指令如果覺得眼花也沒有關系,要用的時候再查就好,一般我們常用的也就只有安裝跟更新囉

接下來我們要來進入主題更新套件
#yum update


好了,一步就ok
第一次更新它會先下載一些檔頭之類的東西,所以您可以先休息一下喝杯水。

mod_dav_svn-0-1.0.6-1.i38 100% |=========================| 3.3 kB 00:00
mozilla-mail-37-1.6-8.i38 100% |=========================| 5.4 kB 00:00
kde-i18n-Hungarian-1-3.2. 100% |=========================| 29 kB 00:00
kde-i18n-Hebrew-1-3.2.2-2 100% |=========================| 18 kB 00:00
mozilla-nss-devel-37-1.6- 100% |=========================| 9.1 kB 00:00
dhcp-devel-2-3.0.1rc14-1. 100% |=========================| 4.9 kB 00:00
mozilla-37-1.6-8.i386.hdr 100% |=========================| 20 kB 00:00




下載完了以後,它會開始分析有哪些套件需要被更新
如果你有看見像下面這種相依性的字眼,你就按y就好了

dependencies:
[deps: php-mbstring 4.3.8-2.1.i386]
[deps: libselinux-devel 1.11.4-1.i386]
Is this ok [y/N]: y


[update: nfs-utils 1.0.6-22.i386]
[update: krb5-libs 1.3.3-7.i386]
[update: libpng 2:1.2.5-5.i386]
[update: xorg-x11-Mesa-libGL 6.7.0-5.i386]
[update: mod_ssl 1:2.0.50-2.1.i386]
[update: squid 7:2.5.STABLE5-4.fc2.i386]
[update: rsync 2.6.2-1.i386]
[update: xorg-x11-libs-data 6.7.0-5.i386]
I will install/upgrade these to satisfy the dependencies:
[deps: php-mbstring 4.3.8-2.1.i386]
[deps: libselinux-devel 1.11.4-1.i386]
Is this ok [y/N]: y




接下來它就要開始抓更新的套件下來了,就讓它一直跑吧

Downloading Packages
Getting cups-1.1.20-11.1.i386.rpm
cups-1.1.20-11.1.i386.rpm 48% |============ | 1.2 MB 00:25 ETA


Running test transaction:
Test transaction complete, Success!
krb5-libs 100 % done 1/103
.........
............
Transaction(s) Complete




出現了Transaction(s) Complete就表示好了。
根據小弟的經驗,更新完後並不會馬上生效,所以您要自行restart service 或是最簡單的,重開機就好了.

當然如果您有些套件不想讓yum自動升級的話如kernel…等

編輯 /etc/yum.conf
在 [main] 中加入
exclude=kernel kernel-source



介紹yum到這邊,希望大家喜歡

沒有留言: