一)YUM介紹

yum(yellowdog updater modified)的理念是使用一個(gè)中心倉庫(repository)管理一部分甚至一個(gè)distribution的應(yīng)用程序相互關(guān)系,根據(jù)計(jì)算出來的軟件依賴關(guān)系進(jìn)行相關(guān)的升級(jí)、安裝、刪除等等操作,減少了Linux用戶頭痛的dependencies的問題。

yum通過一個(gè)或者多個(gè)配置文件描述對(duì)應(yīng)的repository的網(wǎng)絡(luò)地址,通過http或者ftp協(xié)議在需要的時(shí)候從repository獲得必要的信息,下載相關(guān)的軟件包。這樣,本地用戶通過建立不同的repository的描述說明,在有網(wǎng)絡(luò)連接時(shí)就能方便進(jìn)行系統(tǒng)的升級(jí)維護(hù)工作。

二)YUM配置及應(yīng)用

1建立repository

repository可以使用createrepo命令創(chuàng)建,也可以用網(wǎng)絡(luò)中已有的repository鏡像,下面我們介紹如何建立一個(gè)repository(以httpd為例)。

1.1配置HTTP服務(wù)

1、創(chuàng)建要存放RPM包的目錄

#mkdir /data && mkdir /data/RPMS
2、將每張安裝光盤上的GTES目錄下所有的RPM包以及其他新的軟件包復(fù)制到/data/RPMS目錄下,如果您只想管理部分RPM

包也可以只將需要的包復(fù)制到此目錄:

#cp *.rpm /data/RPMS

3、將第一張安裝光盤GTES/repodata/comps.xml文件復(fù)制到/data/下,然后執(zhí)行createrepo命令:

#createrepo -v -p -g /data/comps.xml -o /data/RPMS /data/RPMS

該操作會(huì)創(chuàng)建/data/RPMS/repodata目錄,并在其中生成有關(guān)/data/RPMS目錄中rpm包的信息文件。類似下面的結(jié)果:

#ls -l /data/RPMS/repodata
-rw-r–r– 1 root root  895280 04-24 14:24 comps.xml
-rw-r–r– 1 root root 2050016 04-24 14:24 filelists.xml.gz
-rw-r–r– 1 root root  113566 04-24 14:24 other.xml.gz
-rw-r–r– 1 root root  750514 04-24 14:24 primary.xml.gz
-rw-r–r– 1 root root    1140 04-24 14:24 repomd.xml

4、編輯/etc/httpd/conf/httpd.conf
DocumentRoot  "/var/www/html" 改為 DocumentRoot  "/data"

然后在文件最后添加下列幾行:

      Options FollowSymLinks Indexes Includes
      AllowOverride None

5、重新啟動(dòng)httpd

#/etc/init.d/httpd restart
1.2配置yum-updatesd服務(wù)
1、編輯/etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=turbolinux-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1   ==>只需要將此處改為0,即不檢查GPG簽名。
plugins=1
metadata_expire=1800

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

2、重新啟動(dòng)yum-updatesd

/etc/init.d/yum-updatesd restart

2.配置yum客戶端

要使用yum功能,我們僅僅需要配置一個(gè)yum客戶端。如下:

1、編輯/etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=turbolinux-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1   ==>只需要將此處改為0,即不檢查GPG簽名。
plugins=1
metadata_expire=1800

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

2、編輯/etc/yum.conf或者在/etc/yum.repos.d/下新建以.repo為后綴的文件(如:gtes11.repo),在文件最后加入下列幾行:

[repositoryid]
name = gtes11 packages updates
baseurl = http://yourwebservername/RPMS or yourwebserverip/RPMS 
如果repository在您本地系統(tǒng)上,也可以用下面的方式:
baseurl = file:///data/RPMS/   

3.yum應(yīng)用

當(dāng)?shù)谝淮问褂脃um或yum資源庫有更新時(shí),yum會(huì)自動(dòng)下載所有所需的headers放置于/var/cache/yum目錄下,所需時(shí)間可能較長(zhǎng)。

3.1 yum命令介紹

下面我們介紹一下yum一些常用命令:

列出資源庫中所有可以安裝或更新的rpm包

#yum list

列出資源庫中特定的可以安裝或更新以及已經(jīng)安裝的rpm包

#yum list mozilla

可以在rpm包名中使用匹配符,如列出所有以mozilla開頭的rpm包

#yum list mozilla*

搜索rpm包

#yum search mozilla

安裝rpm包,同時(shí)自動(dòng)安裝其所依賴的軟件包

#yum install mozilla

刪除rpm包,同時(shí)刪除倚賴于該包所有的軟件包

#yum remove mozilla

檢查有哪些可更新的rpm包

#yum check-update

更新指定的rpm包

#yum update mozilla

更新軟件包(更新所有可以升級(jí)的rpm包,包括kernel)

#yum -y update

大規(guī)模的版本升級(jí),與yum update不同的是,連舊的淘汰的包也升級(jí)
#yum upgrade
yum緩存(/var/cache/yum/)的相關(guān)參數(shù)
清除緩存中rpm包文件
#yum clean packages
清除緩存中rpm頭文件
#yum clean headers
清除緩存中舊的rpm頭文件
#yum clean oldheaders
清除緩存中舊的rpm頭文件和包文件
#yum clean 或#yum clean all (相當(dāng)于yum clean packages + yum clean oldheaders)

注意:在您正確配置了repository及yum客戶端后,使用yum時(shí),如果報(bào)""這樣的錯(cuò)誤,很可能是您客戶端yum緩存造成的。執(zhí)行yum clean all后,基本上就可以解決。 

3.2 圖形工具

1、添加/刪除軟件包工具

Turbolinux提供了基于yum的圖形化軟件包添加/刪除工具,選擇"應(yīng)用程序→系統(tǒng)工具→添加/刪除軟件"。

瀏覽 查看您系統(tǒng)上當(dāng)前已安裝的軟件包組的情況。

搜索 查找某個(gè)軟件包

列表 [所有軟件包] 是您系統(tǒng)當(dāng)前已安裝的包和可用的包的總
     [已安裝的軟件包] 是您系統(tǒng)當(dāng)前已安裝的軟件包
     [可用的軟件包] 是您當(dāng)前系統(tǒng)上沒有安裝和已刪除的軟件包 

注意:在您添加所選的包的同時(shí),此工具會(huì)同時(shí)添加它所依賴的包;刪除所選的包的同時(shí),會(huì)刪除依賴此包的一些包。

2、更新軟件包工具

Turbolinux 還提供了一個(gè)圖形化的軟件更新的工具,選擇"應(yīng)用程序→系統(tǒng)工具→軟件包更新工具"。
 
如果您的repository有新的軟件包,此工具會(huì)為您找到,點(diǎn)擊[應(yīng)用更新]即可更新此包。

總結(jié),RPM使用起來最直接,不需要額外配置其他服務(wù);而YUM則需要配置repository,但是使用起來比較方便。至于哪個(gè)工具比較好用,還要因人而異。

分享到

多易

相關(guān)推薦