yum包管理器能夠自行計算要安裝軟件包的依賴性,並自動安裝軟件包須要的軟件包和庫文件。linux
使用yum包管理器時,須要爲其設置yum使用的軟件源(軟件源也稱爲軟件倉庫,其中包含了若干rpm安裝包和yum工做的索引文件)。對於使用Fedora Core Linux發行版的用戶而言,能夠直接使用操做系統自帶的yum源。使用Red Hat Enterprise Linux發行版的用戶,若是未將系統註冊到紅帽網絡,將沒法使用官方的源。緩存
yum可使用互聯網或本地保存的安裝包做爲源。當用戶指定安裝某個軟件時,yum將會查找源,並計算軟件包的依賴性,而後安裝軟件包。yum安裝軟件包的整個過程都不須要用戶參與,大大下降了安裝軟件包的難度。網絡
一、yum的配置文件工具
yum使用的配置文件爲/etc/yum.conf,這個文件是yum工做的核心配置文件。查看其配置文件內容以下:post
[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的緩存目錄、錯誤級別、日誌文件等。一般不須要對這個文件中的內容作特殊的設置。url
除了yum工做的配置文件外,還有源配置文件。這些文件一般爲於目錄/etc/yum.repos.d中,默認狀況下該目錄中只有一個配置文件rhel-debuginfo.repo。spa
查看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
這個配置文件的內容比較簡單,每行爲一個配置項,並使用等號「=」爲每一個配置項賦值。這些配置項及其含義以下:debug
[name]:軟件源的名稱。日誌
name:軟件源的描述信息。
baseurl:軟件源的位置。默認的軟件源爲Red Hat官方的軟件源。
enabled:是否須要啓用這個軟件源,1爲啓用,0爲禁用。
gpgcheck:是否須要驗證GPG簽名。GPG簽名用於驗證軟件包是否來自Red Hat官方。
gpgkey:GPG簽名的驗證密鑰信息存放位置。
二、使用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源就可使用了。
三、使用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 [-y] install soft_package_name
使用yum命令安裝軟件包時,可使用選項y,該選項將會自動容許yum的全部操做而不提示用戶。
【命令格式】
yum [-y] remove soft_package_name
與安裝軟件包相似,選項y將受權yum自動操做。
注意:不建議使用yum工具自動卸載與系統相關的軟件包。
軟件包組是發行版自定義的軟件包集合,軟件包組會顯示在操做系統安裝過程當中的軟件定製界面中。
【命令格式】
yum [grouplist | goupinstall | groupremove] group_name
grouplist:列出全部的軟件包組。
goupinstall:安裝指定的軟件包組。
groupremove:卸載指定的軟件包組。