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 YUM 本地軟體倉庫建立與套件管理實戰

編輯:Linux 教學

YUM (Yellowdog Updater, Modified) 解決 RPM 套件相依性地獄的利器。本文示範以 RHEL 5 ISO 建立本地 YUM 倉庫,實現離線環境下的套件安裝、更新、移除與群組管理。

一、實驗環境

  • 作業系統:Red Hat Enterprise Linux AS 5
  • 核心版本:2.6.18-8.el5
  • 架構:i386 SMP
  • 安裝媒介:RHEL 5 DVD ISO 檔案

二、掛載 ISO 並安裝 YUM 核心套件

# 掛載 ISO
mkdir -p /mnt/iso
mount -o loop /opt/rhel5.0.iso /mnt/iso

# 安裝 YUM 相關 RPM (從 ISO 中)
rpm -ivh /mnt/iso/Server/yum-3.0.1-5.el5.noarch.rpm
rpm -ivh /mnt/iso/Server/yum-metadata-parser-1.0-8.fc6.i386.rpm
rpm -ivh /mnt/iso/Server/yum-rhn-plugin-0.4.3-1.el5.noarch.rpm
rpm -ivh /mnt/iso/Server/yum-updatesd-3.0.1-5.el5.noarch.rpm
rpm -ivh /mnt/iso/Server/createrepo-0.4.4-2.fc6.noarch.rpm

三、建立本地倉庫目錄與中繼資料

# 複製 ISO 內容至本地目錄 (ISO 唯讀,須複製才能產生中繼資料)
mkdir /opt/rhel5.0
cp -R /mnt/iso/* /opt/rhel5.0

# 重新產生 repodata 中繼資料
cd /opt/rhel5.0/Server/
rm -rf repodata
createrepo -g /mnt/iso/Server/repodata/comps-rhel5-server-core.xml .

關鍵點: -g 參數指定群組定義檔,否則 yum grouplist 將無輸出。

四、配置 YUM 倉庫設定檔

編輯 /etc/yum.repos.d/rhel_local.repo (建議刪除該目錄下其他 .repo 檔):

[Server]
name=Local RHEL 5 Server
baseurl=file:///opt/rhel5.0/Server/
enabled=1
gpgcheck=0

五、YUM 常用操作驗證

# 清除快取
yum clean all

# 查看可用套件群組
yum grouplist

# 安裝 Web Server 群組
yum groupinstall "Web Server"

# 查看群組詳細資訊
yum groupinfo "Web Server"

# 移除群組
yum groupremove "MySQL Database"

# 升級群組
yum groupupdate "MySQL Database"

# 單一套件操作
yum install httpd
yum update httpd
yum remove httpd

六、常見問題排查

Q1: 為何必須複製 ISO 而非直接掛載使用?

A: createrepo 需寫入中繼資料,掛載的 ISO 為唯讀檔案系統。

Q2: 出現 media://... 錯誤無法下載 RPM?

A: baseurl 指向錯誤路徑 (指向掛載點而非本地複製目錄),且未執行 createrepo -g 重建中繼資料。

Q3: yum grouplist 無任何輸出?

A: 未執行 createrepo -g 或群組定義檔路徑錯誤 (需指向 comps-rhel5-server-core.xml)。

七、進階應用:建立多架構/多版本倉庫

/opt/yum-repo/
├── rhel5/
│   ├── i386/
│   └── x86_64/
├── rhel6/
│   ├── i386/
│   └── x86_64/
└── epel/

各目錄下獨立執行 createrepo,並在 .repo 檔中對應多個 baseurl。

Copyright © Windows教程網 All Rights Reserved