『學了就忘』Linux軟體包管理 — 45、yum原始檔詳細說明

繁華似錦Fighting發表於2021-11-17

提示:RPM包的線上安裝就是yum安裝,yum安裝需要依據yum原始檔內容配置來尋找軟體。本文來說說yum原始檔的內容和使用。

1、yum原始檔解析

yum源配置檔案儲存在/etc/yum.repos.d/目錄中,檔案的副檔名一定是*.repo。也就是說,yum源配置檔案只要副檔名是*.repo就會生效。

檢視/etc/yum.repos.d/目錄內容如下:

[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo
CentOS-Debuginfo.repo
CentOS-fasttrack.repo
CentOS-Media.repo
CentOS-Vault.repo
  • CentOS-Base.repo:CentOS中預設情況下CentOS-Base.repo檔案生效,需要使用網路,但官方源在國外,連線速度令人心痛。(如果你的網路比較好,就可以直接用,無需配置。)
  • CentOS-Media.repo:光碟yum源,自己練習或者做實驗的時候,可以使用此yum源。

2、檢視yum原始檔

我們開啟CentOS-Base.repo 檔案看看,命令如下:

[root@localhost yum.repos.d]# vim /etc/yum.repos.d/CentOS-Base.repo

檔案內容如下圖:

image

CentOS-Base.repo檔案中有5個yum源容器(每一段都是一個yum源容器地址),這裡只列出了base容器,其他容器和base容器類似。

我們解釋一下base這個容器。

  • [base]:容器名稱,一定要放在[]中。
  • name:容器說明,可以自己隨便寫。
  • mirrorlist:映象站點,這個可以註釋掉。
  • baseurl:我們的yum源伺服器的地址。預設是CentOS官方的yum源伺服器,是可以使用的。
    如果你覺得慢,則可以改成你喜歡的yum源地址(國內映象也可以)。
    注意mirrorlistbaseurl兩個選項只有一個能生效,另一個要註釋掉。
  • enabled:此容器是否生效,如果不寫或寫成enabled=1則表示此容器生效,寫成enabled=0則表示此容器不生效。(沒寫預設=1)
  • gpgcheck:如果為1則表示RPM的數字證書生效;如果為0則表示RPM的數字證書不生效。
  • gpgkey:數字證書的公鑰檔案儲存位置。證書位置,不用修改。
    注意:gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6中有三個///
    前兩個是協議的,最後一個表示根目錄,三個/一個都不能少。

3、搭建本地光碟yum源

需要做的是讓CentOS-Base.repo源不生效,讓CentOS-Media.repo源生效。

第一步:

放入CentOS安裝光碟,並掛載光碟到指定位置。

命令如下:

# 建立 cdrom目錄,作為光碟的掛載點
[root@localhost ~]# mkdir /mnt/cdrom

# 掛載光碟到/mnt/cdrom目錄下
[root@localhost ~]#mount /dev/cdrom /mnt/cdrom/
mount:block device/dev/sr0 is write-protected,mounting read-only

第二步:

修改其他幾個yum源配置檔案的副檔名,讓它們失效。

因為只有副檔名是*.repo的檔案,才能作為yum源配置檔案。當然也可以刪除其他幾個yum源配置檔案,但是如果刪除了,當你又想用網路作為yum源時,就沒有了參考檔案,所以最好還是修改副檔名。

命令如下:

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv CentOS-Base.repo  Cent0S-Base.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Debuginfo.repo  Cent0S-Debuginfo.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Vault.repo  CentOS-Vault.repo.bak

其實只改CentOS-Base.repo檔案就可以,因為其他的本來預設就不生效。

第三步:

修改光碟yum源配置檔案CentOS-Media.repo生效。

參照以下方法修改:

# 修改編輯CentOS-Media.repo檔案
[root@localhost yum.repos.d]# vim CentOS-Media.repo

# 檔案中內容
[c6-media]
name=Cent0S-$releasever-Media
# 地址為你自己的光碟掛載地址
baseurl=file:///mnt/cdrom
# 註釋這兩個不存在的地址
#  file:///media/cdrom/
#  file:///media/cdrecorder/
注意:如果不註釋掉這兩個沒有用的地址,
在centos6以前版本直接就會報錯。
在centos6開始,不會直接報錯,但是每次執行yum命令,
都會報兩個小錯誤,說這兩個位置找不到。但不影響執行。
還有就是註釋的`#`一定要定格寫。

# 把enabled=0改為enabled=1,讓這個 yum源配置檔案生效
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

配置完成,現在可以感受一下yum的便捷了。

最後總結一下:

  • 步驟一:修改自己掛載光碟的位置。
  • 步驟二:註釋掉兩個沒用的地址。
  • 步驟三:enabled=0改成enabled=1

相關文章