yum相關(guān)知識(shí)
創(chuàng)新互聯(lián)技術(shù)團(tuán)隊(duì)10余年來(lái)致力于為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、成都品牌網(wǎng)站建設(shè)、成都全網(wǎng)營(yíng)銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過(guò)多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了上1000家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
一.什么是YUM?
我們知道,有時(shí)候用RPM安裝軟件包時(shí),需要解決依賴關(guān)系。而解決依賴關(guān)系沒(méi)有我們想象的那么簡(jiǎn)單,如果一個(gè)軟件包的安裝需要依賴許多其他的包,這時(shí)我們?nèi)绻謩?dòng)一個(gè)一個(gè)去尋找安裝依賴的包,那是很麻煩的。Yum能夠幫我們自動(dòng)解決程序包的依賴關(guān)系,使我們能夠從尋找安裝依賴包的繁重任務(wù)中解脫出來(lái)。
二.YUM的主要配置文件
yum的主要配置文件分成兩部分:
1. /etc/yum.conf
這是yum的主配置文件,文件的內(nèi)容如下:
cachedir=/var/cache/yum #yum下載的RPM包的緩存目錄
keepcache=0 #緩存是否保存,1保存,0不保存。
debuglevel=2 #調(diào)試級(jí)別(0-10)。
logfile=/var/log/yum.log #yum的日志文件所在的位置
exactarch=1 #在更新的時(shí)候,是否允許更新不同版本的RPM包,比如是否在i386上更新i686的RPM包。
obsoletes=1 #是否允許更新陳舊的RPM包。
gpgcheck=1 #是否檢查GPG(GNU Private Guard),一種密鑰方式簽名。
plugins=1 #是否允許使用插件,默認(rèn)是0不允許。
installonly_limit=3 #允許保留多少個(gè)內(nèi)核包。
exclude=selinux* #屏蔽不想更新的RPM包,可用通配符,多個(gè)RPM包之間使用空格分離。
2./etc/yum.repos.d/*.repo
這是各倉(cāng)庫(kù)的定義文件,我們一般配置的就是這里面的文件。在這個(gè)文件夾里面,我們可以創(chuàng)建以repo格式結(jié)尾的文件。以下是一個(gè)配置文件的內(nèi)容:
書寫格式:
[myBaseOne]:這是標(biāo)識(shí)倉(cāng)庫(kù)用的,中括號(hào)的內(nèi)容可以隨意填寫,但是不能與本機(jī)中其他倉(cāng)庫(kù)名同名。
name=” 字符串”:這是對(duì)這個(gè)倉(cāng)庫(kù)的詳細(xì)說(shuō)明,填上自己想說(shuō)的內(nèi)容
baseurl=url :這是指出軟件包所在鏡像的路徑。url可以分為三種情況:
ftp服務(wù):ftp://SERVER/PATH/TO/REPOSITORY
http服務(wù):http://SERVER/PATH/TO/REPOSITORY
本地目錄:file:///PATH/TO/REPOSTIROY (PATH前面有三個(gè)/,有一個(gè)/代表根目錄)
這三個(gè)路徑都必須指向repodata目錄所在的父目錄,repodata是軟件包庫(kù)的元數(shù)據(jù)放置處。我們可以掛載Centos鏡像,查看其中的內(nèi)容如下:
這里面就有repodata目錄,所以我們?cè)谟帽镜冂R像配置倉(cāng)庫(kù)路徑時(shí),只需寫到掛載處即可(我的掛載處為/mnt/cdrom)
enabled={0|1} :這是指明配置的倉(cāng)庫(kù)是否有效,1代表有效
gpgcheck={1|0} :是否做包校驗(yàn),1表示校驗(yàn)
gpgkey=url://path/to/keyfile :指明gpgkey的路徑
三.YUM命令
yum命令可以分成以下幾個(gè)部分:
1. 倉(cāng)庫(kù)管理:
yum repolist [all|enabled|disabled]
all:列出所有倉(cāng)庫(kù)
enabled:列出所有有效倉(cāng)庫(kù)
disabled:列出所有無(wú)效倉(cāng)庫(kù)
2. 緩存管理:
yum clean:清理緩存
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
yum makecache: 緩存創(chuàng)建
3. 程序包查看:
yum list [all | glob_exp1] [glob_exp2] [...]
yum list {available|updates|installed|extras|obsoletes} [glob_exp1] [...]
yum grouplist [hidden] [groupwildcard] [...]
例:查看以ru開(kāi)頭的軟件包
4. 程序包安裝:
yum install package1 [package2] [...]
注:package只需要提供包名
例:安裝ruby包
5. 卸載:
yum remove package1 [package2] [...]
例:卸載ruby包
6. 程序包升級(jí):
yum update [package1] [package2] [...]
例:升級(jí)ruby包
7. 包組管理:
列出所有包組:grouplist
顯示指定包組詳情:groupinfo group1 [...]
安裝:groupinstall group1 [group2] [...]
卸載:groupremove group1 [group2] [...]
升級(jí):groupupdate group1 [group2] [...]
例:查看可用包組
例:安裝包組
出錯(cuò)了,它把E-mail server當(dāng)成兩個(gè)包組了
四.在本地主機(jī)上用centos鏡像做yum倉(cāng)庫(kù)
1.將鏡像放入DVD驅(qū)動(dòng)中,我的是虛擬機(jī),直接加載鏡像位置即可
2.放入虛擬機(jī)中的鏡像在虛擬機(jī)中一般名為/dev/sr0,如圖
3.創(chuàng)建掛載點(diǎn):mkdir /mnt/cdrom
4.編輯yum配置文件:在編輯之前,需要把系統(tǒng)默認(rèn)的/etc/yum.repos.d/CentOS-Base.repo刪除或者讓它不起作用(改后綴名即可)
然后使用 vim /etc/yum.repos.d/yourBase.repo編輯配置文件,名字可以自己取
在yourBase.repo填入以下內(nèi)容:
5.掛載鏡像:鏡像只有掛載才能使用,輸入以下命令
mount -o ro -t iso9660 /dev/sr0 /mnt/cdrom
因?yàn)槲业囊呀?jīng)掛載了,所以它會(huì)說(shuō)已掛載
讓我們使用 cd /mnt/cdrom 看看
6.測(cè)試:現(xiàn)在讓我們來(lái)使用yum安裝一個(gè)軟件,比如ruby。使用yum install ruby 即可
按y或者n完成安裝或取消,我這按y,出現(xiàn)以下結(jié)果