Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 虛擬機掛載 ISO 配置本地 YUM 源完整指南

編輯:關於 Linux

在無外網環境或需加速套件安裝時,將系統安裝 ISO 掛載為本地 YUM 源是 Linux 虛擬機部署的核心技能。本文涵蓋 ISO 掛載、YUM 源配置、GPG 金鑰導入、快取管理、多版本隔離與自動化腳本完整流程。

適用場景

  • 離線/內網環境部署 RHEL/CentOS/Rocky/Alma/Fedora。
  • 加速套件安裝 (本地讀取 vs 外網下載)。
  • 版本鎖定:確保所有節點安裝完全一致的套件版本。

步驟一:掛載 ISO

方法 1:循環裝置掛載 (單一 ISO 檔)

# 建立掛載點
mkdir -p /mnt/iso

# 掛載 (需 root)
mount -o loop /path/to/Rocky-9.3-x86_64-dvd.iso /mnt/iso

# 驗證
ls /mnt/iso
# 應見 BaseOS、AppStream、repodata 等目錄

方法 2:光碟機裝置掛載 (實體/虛擬光碟)

mount /dev/cdrom /mnt/iso
# 或
mount /dev/sr0 /mnt/iso

方法 3:開機自動掛載 (/etc/fstab)

/path/to/Rocky-9.3-x86_64-dvd.iso  /mnt/iso  iso9660  loop,ro  0 0
# 掛載選項:loop(循環裝置)、ro(唯讀)
# 重啟後自動掛載,systemd 會在需要時自動處理 loop 裝置

步驟二:配置 YUM 源檔案

  1. 備份/清理現有源:
    mkdir -p /etc/yum.repos.d/backup
    mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
  2. 建立本地源檔案 /etc/yum.repos.d/local-iso.repo:
    [BaseOS]
    name=Local ISO BaseOS
    baseurl=file:///mnt/iso/BaseOS
    enabled=1
    gpgcheck=1
    gpgkey=file:///mnt/iso/RPM-GPG-KEY-rockyofficial
    
    [AppStream]
    name=Local ISO AppStream
    baseurl=file:///mnt/iso/AppStream
    enabled=1
    gpgcheck=1
    gpgkey=file:///mnt/iso/RPM-GPG-KEY-rockyofficial
    
    # 若 ISO 包含 PowerTools/CRB/Extras 等倉庫,同理添加

    關鍵參數說明:

    • baseurl=file:///mnt/iso/...:file:// 協議指向本地路徑,三個斜線表示絕對路徑。
    • gpgcheck=1:驗證套件簽名,確保安全性。
    • gpgkey=file:///mnt/iso/RPM-GPG-KEY-...:指定 ISO 內的 GPG 公鑰檔案。

步驟三:驗證與使用

# 清理快取
yum clean all

# 重建快取 (下載元資料到本地)
yum makecache

# 列出可用套件
yum list available

# 安裝測試
yum install -y vim net-tools

# 檢查已安裝
rpm -qa | grep vim

進階:多版本 ISO 管理與切換

# 目錄結構
/mnt/iso/
├── rocky-8.9/
│   ├── BaseOS/
│   └── AppStream/
├── rocky-9.3/
│   ├── BaseOS/
│   └── AppStream/
└── current -> rocky-9.3  # 符號連結指向當前使用版本

# YUM 源指向 current
baseurl=file:///mnt/iso/current/BaseOS

# 切換版本:只需更新符號連結
ln -sfn rocky-8.9 /mnt/iso/current
yum clean all && yum makecache

進階:PXE/HTTP 共享本地源 (多機器部署)

  1. 安裝 HTTP 服務:yum install -y nginx 或 httpd
  2. 配置目錄別名:/mnt/iso/current 映射到 https://repo.local/rocky/9/BaseOS
  3. 客戶端源配置:baseurl=https://repo.local/rocky/9/BaseOS
  4. 啟用 createrepo_c 定期更新元資料 (若 ISO 內容變動)。

常見問題與解決

問題原因解決
mount: /mnt/iso: WARNING: device write-protected, mounted read-onlyISO 映像本質唯讀正常現象,加 ro 選項明確指定
Repodata is over 2 weeks oldISO 製作時間較早正常,ISO 為靜態快照,忽略或手動 createrepo 更新
GPG 金鑰驗證失敗金鑰檔案路徑錯誤/檔案損壞確認 ls /mnt/iso/RPM-GPG-KEY-*,路徑正確則 rpm --import 手動導入
安裝套件報 Failed to downloadYUM 仍嘗試連線網路源確認已 mv 走所有 *.repo,enabled=0 或刪除
掛載點佔用導致卸載失敗YUM 進程/Shell 當前目錄在掛載點lsof /mnt/iso 找出進程,切換目錄後 umount

自動化部署腳本 setup_local_yum.sh

#!/bin/bash
# 用法: ./setup_local_yum.sh /path/to/iso [mount_point]
ISO_PATH=${1:-/root/Rocky-9.3-x86_64-dvd.iso}
MNT=${2:-/mnt/iso}

mkdir -p "$MNT"
mount -o loop,ro "$ISO_PATH" "$MNT"

cat > /etc/yum.repos.d/local-iso.repo <

掌握 ISO 掛載與本地 YUM 源配置,讓 Linux 虛擬機在離線、弱網、版本管控等場景下實現可靠、高效的套件管理。

Copyright © Windows教程網 All Rights Reserved