總所周知,Redhat和Fedora的軟件安裝命令是rpm,但是用rpm安裝軟件最大的麻煩就是需要手動(dòng)尋找安裝該軟件所需要的一系列依賴關(guān)系,超級(jí)麻煩不說(shuō),要是軟件不用了需要卸載的話由于卸載掉了某個(gè)依賴關(guān)系而導(dǎo)致其他的軟件不能用是非常惱人的。令人高興的是,F(xiàn)edora終于推出了類似于 ubuntu中的apt的命令yum,令Fedora的軟件安裝變得簡(jiǎn)單容易。Yum 有以下特點(diǎn):
*可以同時(shí)配置多個(gè)資源庫(kù)(Repository)
*簡(jiǎn)潔的配置文件(/etc/yum.conf)
*自動(dòng)解決增加或刪除rpm包時(shí)遇到的倚賴性問(wèn)題
*使用方便
*保持與RPM數(shù)據(jù)庫(kù)的一致性
yum,是Yellow dog Updater Modified的簡(jiǎn)稱,起初是由yellow dog這一發(fā)行版的開(kāi)發(fā)者Terra Soft研發(fā),用python寫成,那時(shí)還叫做yup(yellow dog updater),后經(jīng)杜克大學(xué)的Linux@Duke開(kāi)發(fā)團(tuán)隊(duì)進(jìn)行改進(jìn),遂有此名。yum的宗旨是自動(dòng)化地升級(jí),安裝/移除rpm包,收集rpm包的相關(guān)信息,檢查依賴性并自動(dòng)提示用戶解決。yum的關(guān)鍵之處是要有可靠的repository,顧名思義,這是軟件的倉(cāng)庫(kù),它可以是http或ftp站點(diǎn),也可以是本地軟件池,但必須包含rpm的header, header包括了rpm包的各種信息,包括描述,功能,提供的文件,依賴性等.正是收集了這些 header并加以分析,才能自動(dòng)化地完成余下的任務(wù)。
1.yum的一切配置信息都儲(chǔ)存在一個(gè)叫yum.conf的配置文件中,通常位于/etc目 錄下,這是整個(gè)yum系統(tǒng)的重中之重,我在的F7中查看了這一文件,大家一起來(lái)看下:
[hanlong@wh_eric F7常用文檔]$ sudo more /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
下面簡(jiǎn)單的對(duì)這一文件作簡(jiǎn)要的說(shuō)明:
cachedir:yum緩存的目錄,yum在此存儲(chǔ)下載的rpm包和數(shù)據(jù)庫(kù),一般是/var/cache/yum。
debuglevel:除錯(cuò)級(jí)別,0──10,默認(rèn)是2
logfile:yum的日志文件,默認(rèn)是/var/log/yum.log。
exactarch,有兩個(gè)選項(xiàng)1和0,代表是否只升級(jí)和你安裝軟件包c(diǎn)pu體系一致的包,如果設(shè)為1,則如你安裝了一個(gè)i386的rpm,則yum不會(huì)用686的包來(lái)升級(jí)。
gpgchkeck= 有1和0兩個(gè)選擇,分別代表是否是否進(jìn)行g(shù)pg校驗(yàn),如果沒(méi)有這一項(xiàng),默認(rèn)好像也是檢查的。
2.好了,接下來(lái)就是yum的使用了,首先用yum來(lái)升級(jí)軟件,yum的操作大都須有超級(jí)用戶的權(quán)限,當(dāng)然可以用sudo。
yum update,這一步是必須的,yum會(huì)從服務(wù)器的header目錄下載rpm的header,放在本地的緩存中,這可能會(huì)花費(fèi)一定的時(shí)間,但比起yum 給我們帶來(lái)方便,這些時(shí)間的花費(fèi)又算的了什么呢?header下載完畢,yum會(huì)判斷是否有可更新的軟件包,如果有,它會(huì)詢問(wèn)你的意見(jiàn),是否更新,還是說(shuō) y吧,把系統(tǒng)始終up to date總是不錯(cuò)的,這時(shí)yum開(kāi)始下載軟件包并使用調(diào)用rpm安裝,這可能要一定時(shí)間,取決于要更新軟件的數(shù)目和網(wǎng)絡(luò)狀況,萬(wàn)一網(wǎng)絡(luò)斷了,也沒(méi)關(guān)系,再進(jìn)行一次就可以了。升級(jí)完畢,以后每天只要使用yum check-update檢查一下有無(wú)跟新,如果有,就用yum update進(jìn)行跟新,時(shí)刻保持系統(tǒng)為最新,堵住一切發(fā)現(xiàn)的漏洞。用yum update packagename 對(duì)某個(gè)單獨(dú)包進(jìn)行升級(jí)。
現(xiàn)在簡(jiǎn)單的把yum軟件升級(jí)的一些命令羅列一下:
(更新:我在安裝wine的時(shí)候是用rpm一個(gè)一個(gè)安裝的,先安裝以來(lái)關(guān)系,然后在安裝wine的主包,但是剛剛在論壇上發(fā)現(xiàn)來(lái)一個(gè)好的帖子,就yum的本地安裝。參數(shù)是-localinstall
$yum localinstall wine-*
這樣的話,yum會(huì)自動(dòng)安裝所有的依賴關(guān)系,而不用rpm一個(gè)一個(gè)的安裝了,省了好多工作。
還有一個(gè)與他類似的參數(shù):
$yum localupdate wine-*
如果有wine的新版本,而且你也下載到來(lái)本地,就可以這樣本地更新wine了。)
1.列出所有可更新的軟件清單
命令:yum check-update
2.安裝所有更新軟件
命令:yum update
3.僅安裝指定的軟件
命令:yum install
4.僅更新指定的軟件
命令:yum update
5.列出所有可安裝的軟件清單
命令:yum list
3.使用yum安裝和卸載軟件,有個(gè)前提是yum安裝的軟件包都是rpm格式的。
安裝的命令是,yum install xxx,yum會(huì)查詢數(shù)據(jù)庫(kù),有無(wú)這一軟件包,如果有,則檢查其依賴沖突關(guān)系,如果沒(méi)有依賴沖突,那么最好,下載安裝;如果有,則會(huì)給出提示,詢問(wèn)是否要同時(shí)安裝依賴,或刪除沖突的包,你可以自己作出判斷
刪除的命令是,yum remove xxx,同安裝一樣,yum也會(huì)查詢數(shù)據(jù)庫(kù),給出解決依賴關(guān)系的提示。
1.用YUM安裝軟件包
命令:yum install
2.用YUM刪除軟件包
命令:yum remove
4.用yum查詢想安裝的軟件
我們常會(huì)碰到這樣的情況,想要安裝一個(gè)軟件,只知道它和某方面有關(guān),但又不能確切知道它的名字。這時(shí)yum的查詢功能就起作用了。你可以用 yum search keyword這樣的命令來(lái)進(jìn)行搜索,比如我們要?jiǎng)t安裝一個(gè)Instant Messenger,但又不知到底有哪些,這時(shí)不妨用 yum search messenger這樣的指令進(jìn)行搜索,yum會(huì)搜索所有可用rpm的描述,列出所有描述中和messeger有關(guān)的rpm包,于是我們可能得到 gaim,kopete等等,并從中選擇。
有時(shí)我們還會(huì)碰到安裝了一個(gè)包,但又不知道其用途,我們可以用yum info packagename這個(gè)指令來(lái)獲取信息。
1.使用YUM查找軟件包
命令:yum search
2.列出所有可安裝的軟件包
命令:yum list
3.列出所有可更新的軟件包
命令:yum list updates
4.列出所有已安裝的軟件包
命令:yum list installed
5.列出所有已安裝但不在 Yum Repository 內(nèi)的軟件包
命令:yum list extras
6.列出所指定的軟件包
命令:yum list 7.使用YUM獲取軟件包信息
命令:yum info 8.列出所有軟件包的信息
命令:yum info
9.列出所有可更新的軟件包信息
命令:yum info updates
10.列出所有已安裝的軟件包信息
命令:yum info installed
11.列出所有已安裝但不在 Yum Repository 內(nèi)的軟件包信息
命令:yum info extras
12.列出軟件包提供哪些文件
命令:yum provides
5.清除YUM緩存
yum 會(huì)把下載的軟件包和header存儲(chǔ)在cache中,而不會(huì)自動(dòng)刪除。如果我們覺(jué)得它們占用了磁盤空間,可以使用yum clean指令進(jìn)行清除,更精確的用法是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)
以上所有命令參數(shù)的使用都可以用man來(lái)查看:
1、安裝圖形版yumex:yum install yumex。
2、安裝額外的軟件倉(cāng)庫(kù):
rpm.livna.org 的軟件包倉(cāng)庫(kù):
rpm -ivh http://livna-dl.reloumirrors.net … ease-7-2.noarch.rpm
freshrpms.net 的軟件包倉(cāng)庫(kù):
rpm –ivh http://ftp.freshrpms.net/pub/fre … 1.1-1.fc.noarch.rpm
3、安裝最快源 yum install yum-fastestmirror
資源真的是非常豐富,從Centos到Ubuntu,ISO鏡像、升級(jí)包,應(yīng)有盡有,上交的兄弟們真是幸福,羨慕啊。不過(guò)還好,我們好歹也算是在教育網(wǎng)內(nèi),湊合著也可以沾點(diǎn)光,下載一些。
網(wǎng)址為:ftp://ftp.sjtu.edu.cn/
相應(yīng)的yum的repo為
[updates]
name=Fedora updates
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/updates/$releasever/$basearch/
enabled=1
gpgcheck=0
[fedora]
name=Fedora $releasever - $basearch
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/releases/$releasever/Everything/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
如果在機(jī)器上安裝了apt管理器,則相應(yīng)的源為
repomd ftp://ftp.sjtu.edu.cn/ fedora/linux/updates/$(VERSION)/$(ARCH)/
repomd ftp://ftp.sjtu.edu.cn/ fedora/linux/releases/$(VERSION)/Everything/$(ARCH)/os/
這與前面yum的源的格式上有一些差別,需要加以注意。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。