1、什么是yum
yum,是一個專門為了解決包的依賴關系而存在的軟件包管理器。就好像 Windows 系統上可以通過 360 軟件管家實現軟件的一鍵安裝、升級和卸載,Linux 系統也提供有這樣的工具,就是 yum。
2、安裝yum
yum 軟件可以用 rpm 命令安裝,安裝之前可以通過如下命令查看 yum 是否已安裝:
[root@localhost ~]# rpm -qa | grep yum
yum-metadata-parser-1.1.2-16.el6.i686
yum-3.2.29-30.el6.centos.noarch
yum-utils-1.1.30-14.el6.noarch
yum-plugin-fastestmirror-1.1.30-14.el6.noarch
yum-plugin-security-1.1.30-14.el6.noarch
可以看到,系統上已經安裝了 yum。
3、什么是yum源
使用 yum 安裝軟件包之前,需指定好 yum 下載 RPM 包的位置,此位置稱為 yum 源。
也可以說,yum 源指的就是軟件安裝包的來源,yum 源既可以使用網絡 yum 源,也可以將本地光盤作為 yum 源。
網絡 yum 源搭建
一般情況下,只要你的主機網絡正常,可以直接使用網絡 yum 源,不需要對配置文件做任何修改,這里對 yum 源配置文件做一下簡單介紹。
網絡 yum 源配置文件位於 /etc/yum.repos.d/ 目錄下,文件擴展名為"*.repo"(只要擴展名為 "*.repo" 的文件都是 yum 源的配置文件)。
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo
CentOS-Media.repo
CentOS-Debuginfo.repo.bak
CentOS-Vault.repo
可以看到,該目錄下有 4 個 yum 配置文件,通常情況下 CentOS-Base.repo 文件生效。我們可以嘗試打開此文件,命令如下:
[root@localhost yum.repos.d]# vim /etc/yum.repos.d/ CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/? release= $releasever&arch=$basearch&repo=os
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
…省略部分輸出…
此文件中含有 5 個 yum 源容器,這里只列出了 base 容器,其他容器和 base 容器類似。base 容器中各參數的含義分別為:
- [base]:容器名稱,一定要放在[]中。
- name:容器說明,可以自己隨便寫。
- mirrorlist:鏡像站點,這個可以注釋掉。
- baseurl:我們的 yum 源服務器的地址。默認是 CentOS 官方的 yum 源服務器,是可以使用的。如果你覺得慢,則可以改成你喜歡的 yum 源地址。
- enabled:此容器是否生效,如果不寫或寫成 enabled 則表示此容器生效,寫成 enable=0 則表示此容器不生效。
- gpgcheck:如果為 1 則表示 RPM 的數字證書生效;如果為 0 則表示 RPM 的數字證書不生效。
- gpgkey:數字證書的公鑰文件保存位置。不用修改。
本地 yum 源
在無法聯網的情況下,yum 可以考慮用本地光盤(或安裝映像文件)作為 yum 源。
Linux 系統安裝映像文件中就含有常用的 RPM 包,我們可以使用壓縮文件打開映像文件(iso文件),進入其 Packages 子目錄
可以看到,該子目錄下含有幾乎所有常用的 RPM 包,因此使用系統安裝映像作為本地 yum 源沒有任何問題。
在 /etc/yum.repos.d/ 目錄下有一個 CentOS-Media.repo 文件,此文件就是以本地光盤作為 yum 源的模板文件,只需進行簡單的修改即可,步驟如下:
- 放入 CentOS 安裝光盤,並掛載光盤到指定位置。命令如下:
[root@localhost ~]# mkdir /mnt/cdrom
#創建cdrom目錄,作為光盤的掛載點
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device/dev/srO is write-protected, mounting read-only
#掛載光盤到/mnt/cdrom目錄下 - 修改其他幾個 yum 源配置文件的擴展名,讓它們失效,因為只有擴展名是"*.repo"的文件才能作為 yum 源配置文件。當也可以刪除其他幾個 yum 源配置文件,但是如果刪除了,當又想用網絡作為 yum 源時,就沒有了參考文件,所以最好還是修改擴展名。 命令如下:
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv CentOS-Base, repo CentOS-Base.repo.bak
[root@localhost yum.repos.d]#mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Vault.repo CentOS-Vault.repo.bak - 修改光盤 yum 源配置文件 CentOS-Media.repo,參照以下方修改:
[root@localhost yum.repos.d]# vim CentOS-Media.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
#地址為你自己的光盤掛載地址
#file:///media/cdrom/
#file:///media/cdrecorder/
#注釋這兩個的不存在地址
gpgcheck=1
enabled=1
#把enabled=0改為enabled=1, 讓這個yum源配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
如此,本地 yum 源就配置完成了。