Linux Yum倉庫配置要點
Yum倉庫的配置文件主要存放在/etc/yum.repos.d/
目錄下,每個倉庫對應一個以.repo
為后綴的文件(如CentOS-Base.repo
)。系統默認可能已包含CentOS-Base.repo
(CentOS/RHEL)、redhat.repo
(RHEL)等默認倉庫文件。每個.repo
文件包含一個或多個[repository_id]
(倉庫唯一標識)段,段的名稱需唯一,用于區分不同倉庫。
每個倉庫段需配置以下關鍵參數:
name
:倉庫的描述名稱(如name=CentOS-$releasever - Base
),用于標識倉庫用途,便于管理員識別。baseurl
:倉庫的基礎URL(如baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
),是Yum下載軟件包的主要來源;也可使用mirrorlist
(鏡像列表URL,如mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
),Yum會自動選擇最優鏡像。enabled
:是否啟用倉庫(1
表示啟用,0
表示禁用)。禁用倉庫后,Yum不會從該倉庫獲取軟件包。gpgcheck
:是否啟用GPG簽名校驗(1
表示啟用,0
表示禁用)。啟用后可確保軟件包未被篡改,提升安全性。gpgkey
:GPG公鑰的路徑(如gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
),用于驗證軟件包簽名的合法性。/etc/yum.conf
是Yum的全局配置文件,包含影響所有倉庫的通用設置,常用參數包括:
cachedir
:緩存目錄(如cachedir=/var/cache/yum/$basearch/$releasever
),用于存儲下載的軟件包和元數據。keepcache
:是否保留下載的軟件包(1
表示保留,0
表示不保留),保留后可加快后續安裝速度。debuglevel
:調試級別(如debuglevel=2
),數值越大,日志信息越詳細,便于排查問題。logfile
:日志文件路徑(如logfile=/var/log/yum.log
),記錄Yum的操作日志。gpgcheck
:全局GPG校驗設置(1
表示啟用,0
表示禁用),可覆蓋倉庫級別的gpgcheck
設置。plugins
:是否啟用插件(1
表示啟用,0
表示禁用),如fastestmirror
插件可自動選擇最快的鏡像源。配置或修改倉庫后,需更新Yum緩存以同步最新倉庫信息:
yum clean all
命令清除所有緩存(包括軟件包和元數據)。yum makecache
命令下載倉庫的最新元數據(如軟件包列表、依賴關系),并存入緩存目錄。緩存更新后,Yum的安裝、更新操作會更快。enabled
參數設置為1
(如enabled=1
),或使用yum-config-manager --enable <repository_id>
命令(如yum-config-manager --enable myrepo
)。enabled
參數設置為0
(如enabled=0
),或使用yum-config-manager --disable <repository_id>
命令(如yum-config-manager --disable myrepo
)。yum repolist
命令查看啟用的倉庫列表,yum repolist all
命令查看所有倉庫(包括禁用的)的狀態。為提高下載速度和可靠性,建議配置倉庫鏡像:
mirrorlist
參數(如mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
),Yum會自動選擇最快的鏡像源。yum install yum-plugin-fastestmirror
命令安裝插件,啟用后會自動選擇最優鏡像,無需手動配置mirrorlist
。若無法訪問網絡,可配置本地倉庫(如使用ISO鏡像或本地目錄):
mkdir /mnt/cdrom; mount /dev/sr0 /mnt/cdrom
)。.repo
文件(如local.repo
),設置baseurl
為本地目錄(如baseurl=file:///mnt/cdrom
),并啟用倉庫(enabled=1
)。createrepo
命令生成元數據(如createrepo /path/to/local/repo
)。repository_id
需唯一,避免與其他倉庫沖突。baseurl
或mirrorlist
的路徑需可訪問(網絡倉庫需確保網絡暢通,本地倉庫需確保路徑存在)。gpgcheck
(1
)并配置正確的gpgkey
,防止安裝被篡改的軟件包。yum repolist
查看倉庫是否啟用,yum install <package_name>
測試是否能正常安裝軟件包。