在離線環境、內網隔離區或追求安裝速度的場景下,將 CentOS 安裝光盤配置為本地 YUM 源是基礎運維必備技能。本文提供從光盤掛載、倉庫文件重構、緩存重建到驗證測試的標準化操作流程,並解決開機自動掛載持久化問題。

# 創建標準掛載目錄
mkdir -p /media/CentOS
# 掛載光盤 (自動識別文件系統類型)
mount -t auto /dev/cdrom /media/CentOS
# 驗證掛載內容
ls /media/CentOS/
# 應看到 repodata/、Packages/、RPM-GPG-KEY-CentOS-* 等
cd /etc/yum.repos.d/
# 備份並禁用預設網絡源
mv CentOS-Base.repo CentOS-Base.repo.bak
# 若存在 epel、docker 等第三方源,同樣備份或 disabled=1
vim /etc/yum.repos.d/CentOS-Media.repo
修改為如下標準配置 (針對 CentOS 6.x,7.x 同理調整 $releasever):
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
關鍵點解析:
baseurl 指向掛載點 /media/CentOS/ (末尾斜槿必加)enabled=1 啟用本地源gpgcheck=1 保持簽名驗證,gpgkey 指向系統內建公鑰# 清理舊緩存
yum clean all
# 重建緩存 (會讀取光盤 repodata)
yum makecache
# 驗證軟體包列表
yum list | head -20
# 應顯示 c6-media 源下的包列表

方法 A:/etc/fstab 靜態掛載 (推薦物理光碟機)
echo '/dev/cdrom /media/CentOS iso9660 defaults,ro 0 0' >> /etc/fstab
方法 B:Systemd 掛載單元 (推薦 ISO 文件掛載)
# 創建掛載單元 /etc/systemd/system/media-CentOS.mount
[Unit]
Description=CentOS Installation Media
After=local-fs.target
[Mount]
What=/path/to/CentOS-7-x86_64-DVD.iso
Where=/media/CentOS
Type=iso9660
Options=loop,ro
[Install]
WantedBy=multi-user.target
# 啟用並啟動
systemctl daemon-reload
systemctl enable --now media-CentOS.mount
cd /etc/yum.repos.d/
mv CentOS-Base.repo.bak CentOS-Base.repo
yum clean all && yum makecache
yum install httpd -y && systemctl enable --now httpdln -s /media/CentOS /var/www/html/centosbaseurl=https://server-ip/centos/firewall-cmd --add-service=http --permanent && firewall-cmd --reloadDVD 作為 YUM 源的核心邏輯:掛載 → 禁用網絡源 → 重構 Media.repo (enabled=1, baseurl=file://掛載點) → 重建緩存 → 持久化掛載。操作過程嚴格遵循 YUM 倉庫元數據結構要求,配合 GPG 簽名驗證確保軟體供應鏈安全。掌握此流程,離線環境部署、內網批量安裝、版本鎖定升級均可得心應手。