
在 Fedora 等基於 RPM 的 Linux 發行版中,.repo 文件是 YUM 軟體倉庫(Repository)的核心配置文件。每一個 repo 文件可以定義一個或多個軟體源的詳細資訊,例如套件下載位置、驗證方式、啟用狀態等。YUM 在執行安裝、更新或搜尋操作時,會讀取並套用這些設定。
以下節錄自系統自帶的 fedora.repo,並加上詳細註解說明各參數用途:
[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
exclude=compiz* *compiz* fusion-icon*
#baseurl=https://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
baseurl= ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os
https://ftp.chg.ru/pub/Linux/fedora/linux/releases/10/Everything/i386/os
https://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os
https://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os
https://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os
https://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os
https://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
failovermethod=priority
#baseurl=https://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
[fedora-source]
name=Fedora $releasever - Source
failovermethod=priority
#baseurl=https://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
[fedora]方括號內的名稱是 YUM 內部識別此倉庫的唯一 ID,不可重複。
name給人看的描述性名稱,支援變數:$releasever(發行版本號,如 38、39)、$basearch(架構,如 x86_64、aarch64)。
failovermethodpriority(預設):按 baseurl 列出的順序依嘗試鏡像站。roundrobin:從列表中隨機選擇。exclude以空格分隔、支援萬用字元,防止特定套件被此倉庫安裝或更新。範例中排除 compiz 相關套件。
baseurl / mirrorlistbaseurl:直接指定單一或多個鏡像站 URL,支援 https://、ftp://、file:// 等協定。mirrorlist:指向一個動態鏡像清單 URL,YUM 會自動取得最新可用鏡像清單。實務上常將 mirrorlist 註解掉,改用手動挑選速度較快的鏡像站填入 baseurl,以提升下載速度。
enabled1 啟用,0 停用。預設倉庫通常啟用,除錯與原始碼倉庫預設停用。
gpgcheck / gpgkey開啟 gpgcheck=1 可確保下載的 RPM 套件來源可信、未被竄改。gpgkey 指定公鑰路徑,通常放在 /etc/pki/rpm-gpg/ 目錄下。
若在內網環境或需要離線安裝,可自行建立本地倉庫並修改 baseurl=file:///path/to/local/repo,再執行 yum clean all && yum makecache 即可生效。
掌握 .repo 文件結構與關鍵參數,能靈活控制軟體來源、加速套件下載、強化供應鏈安全,是 Linux 系統管理員的必備技能之一。