在安裝gtk+編譯環境的過程中,你會發現,RPM軟件包之間的依賴關系非常復雜。在實際管理過程中,這種依賴關系可能會更加復雜。因此非常有必要尋找一種自動化安裝工具,讓安裝工具自己處理這些關系復雜的依賴關系。幸運的是Red Hat推出了一個名為Yellowdog Updater Modified的包管理器(通常簡稱為yum)。
一、yum簡介
yum包管理器可以自行計算要安裝軟件包的依賴性,並自動安裝軟件包需要的軟件包和庫文件。
使用yum包管理器時,需要為其設置yum使用的軟件源(軟件源也稱為軟件倉庫,其中包含了若干rpm安裝包和yum工作的索引文件)。對於使用Fedora Core Linux發行版的用戶而言,可以直接使用操作系統自帶的yum源。使用Red Hat Enterprise Linux發行版的用戶,如果未將系統注冊到紅帽網絡,將無法使用官方的源。
二、配置yum
yum可以使用互聯網或本地保存的安裝包作為源。當用戶指定安裝某個軟件時,yum將會查找源,並計算軟件包的依賴性,然后安裝軟件包。yum安裝軟件包的整個過程都不需要用戶參與,大大降低了安裝軟件包的難度。
1、yum的配置文件
yum使用的配置文件為/etc/yum.conf,這個文件是yum工作的核心配置文件。查看其配置文件內容如下:
[root@localhost Server]# cat /etc/yum.conf [main] cachedir=/var/cache/yum keepcache=0 debuglevel=2 logfile=/var/log/yum.log pkgpolicy=newest distroverpkg=redhat-release tolerant=1 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
這個配置文件的內容十分簡潔,每一行就是一個配置項。其中配置了yum的緩存目錄、錯誤級別、日志文件等。通常不需要對這個文件中的內容做特殊的設置。
除了yum工作的配置文件外,還有源配置文件。這些文件通常為於目錄/etc/yum.repos.d中,默認情況下該目錄中只有一個配置文件rhel-debuginfo.repo。
查看yum源配置文件的內容:
[root@localhost yum.repos.d]# cat rhel-debuginfo.repo [rhel-debuginfo] name=Red Hat Enterprise Linux $releasever - $basearch - Debug baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
這個配置文件的內容比較簡單,每行為一個配置項,並使用等號“=”為每個配置項賦值。這些配置項及其含義如下:
[name]:軟件源的名稱。
name:軟件源的描述信息。
baseurl:軟件源的位置。默認的軟件源為Red Hat官方的軟件源。
enabled:是否需要啟用這個軟件源,1為啟用,0為禁用。
gpgcheck:是否需要驗證GPG簽名。GPG簽名用於驗證軟件包是否來自Red Hat官方。
gpgkey:GPG簽名的驗證密鑰信息存放位置。
2、使用DVD光盤配置軟件源
RHL5.3的安裝光盤分為DVD和CD兩種,DVD安裝光盤將所有需要的內容和安裝文件都集中放置在一張光盤上,而CD安裝光盤則分別存放在4張光盤內。
由於DVD光盤已經將所有需要的文件集中放置,因此可以直接將DVD光盤掛載到系統中,使用光盤建立yum源。
(1)在配置yum源之前,應該先備份其源配置文件:
#使用cp命令備份yum源配置文件 # cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/rhel-debuginfo.repo.bak
(2)掛載光驅到目錄/mnt,以便於指定光驅目錄為yum源:
[root@localhost ~]# mount /dev/cdrom /mnt mount: block device /dev/cdrom is write-protected, mounting read-only
(3)掛載完成后修改yum源配置文件,將文件rhel-debuginfo.repo的內容修改如下:
[root@localhost ~]# cat /etc/yum.repos.d/rhel-debuginfo.repo [rhel-debuginfo] name=Red Hat Enterprise Linux $releasever - $basearch - Debug baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #以上內容無變化 #以下為新寫入內容 [cdrom] name=Red Hat DVD baseurl=file:///mnt/Server/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
新建的軟件源中,軟件源的目錄為/media/cdrom/Server。此處的“file://”與前面的“ftp://”類似,表示使用的協議,官方的源中使用的“ftp://”表示使用FTP協議。此處的“file://”表示使用本地文件系統,而其后的/media/cdrom/Server則表示源目錄在本地文件系統上的具體位置。
配置好以上內容之后,使用DVD安裝光盤建立的yum源就可以使用了。
3、使用CD安裝光盤配置軟件源
使用CD安裝光盤時,由於安裝文件分布在不同的光盤上,因此建立yum源之前,需要將4張安裝光盤的安裝文件都復制到硬盤的同一個目錄中,然后在修改yum源配置文件。
(1)在本例中,先將所有光盤中的安裝文件(即光盤上所有的“.rpm”結尾的文件)都復制到目錄/mnt/cd_yum/rpm中。
(2)yum工作時依賴於幾個索引文件,這幾個索引文件被放置在光盤上的安裝文件目錄中的repodata子目錄中。
[root@localhost ~]# ls /media/cdrom/Server/repodata/ comps-rhel5-server-core.xml other.xml.gz repomd.xml filelists.xml.gz primary.xml.gz TRANS.TBL
上面這個示例命令假定光盤已經掛載到目錄/media/cdrom。命令輸出的幾個文件filelists.xml.gz、other.xml.gz和repomd.xml,都是yum工作時必需的文件。如果在復制時沒有復制到這幾個文件,或者這幾個文件的內容不准確,都會影響yum的正常使用。
用戶復制安裝文件時,可以一並復制這個目錄,也可以使用createrepo命令重新創建這個目錄中的文件。
(3)重新創建索引文件需要使用命令createrepo,默認情況下,系統並沒有安裝createrepo命令的軟件包。可以使用以下名安裝:
[root@localhost Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm warning: createrepo-0.4.4-2.fc6.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:createrepo ########################################### [100%]
安裝完成之后,就可以使用該命令建立索引文件了:
[root@localhost ~]# createrepo /mnt/cd_yum/rpm/
由於命令會搜索、分析所有軟件包,並建立索引文件,因此這個命令會耗費大量時間。命令完成之后,將在目錄/mnt/cd_yum/rpm中建立一個新的子目錄repodata,並將新生成的索引文件放置在其中。
(4)完成以上步驟后,就可以修改yum源配置文件了。具體可以參考使用DVD建立yun源步驟中的配置文件,修改完成后就可以使用yum安裝軟件包了。
注意:使用安裝光盤建立yum源,僅僅是為了安裝軟件包時方便,不能為系統更新軟件,因此建議使用官方的yum源,以便於獲取更多更新的軟件包。
三、查詢源上的軟件包
【命令格式】
yum search package_name
四、利用yum安裝軟件包
【命令格式】
yum [-y] install soft_package_name
使用yum命令安裝軟件包時,可以使用選項y,該選項將會自動允許yum的所有操作而不提示用戶。
五、利用yum卸載軟件包
【命令格式】
yum [-y] remove soft_package_name
與安裝軟件包類似,選項y將授權yum自動操作。
注意:不建議使用yum工具自動卸載與系統相關的軟件包。
六、安裝、卸載軟件包組
軟件包組是發行版自定義的軟件包集合,軟件包組會顯示在操作系統安裝過程中的軟件定制界面中。
【命令格式】
yum [grouplist | goupinstall | groupremove] group_name
grouplist:列出所有的軟件包組。
goupinstall:安裝指定的軟件包組。
groupremove:卸載指定的軟件包組。