Fedora 软件仓库

收录范围

Fedora 官方会将不再受支持的 Fedora 版本的软件仓库从主镜像中移除,并转移至 archive 镜像中。故不受支持的 Fedora 版本无法使用所选择的镜像。请使用默认配置文件,以使 yum / dnf 自动获取可用的镜像源。

项目简介

Fedora 默认使用 Metalink 给出推荐的镜像列表,保证用户使用的镜像仓库足够新,并且能够尽快拿到安全更新,从而提供更好的安全性。所以通常情况下使用默认配置即可,无需更改配置文件。

由于 Metalink 需要从国外的 Fedora 项目服务器上获取元信息,所以对于校园内网、无国外访问等特殊情况,Metalink 并不适用,此时可以如下修改配置文件。

在 Fedora 44 及更新版本中,建议直接通过 dnf config-manager 命令覆写仓库配置项,它会在 /etc/dnf/repos.override.d 下创建合适的覆写文件。随后本地缓存将自动更新。

如果仍需直接修改仓库配置文件,请注意在 Fedora 45 及更新版本中它们的路径有所变动:

  • 系统默认的 fedora 仓库配置文件为 /usr/share/dnf5/repos.d/fedora.repo
  • 系统默认的 updates 仓库配置文件为 /usr/share/dnf5/repos.d/fedora-updates.repo

Fedora 44 中仓库配置文件的路径与更旧版本一致。

在 Fedora 43 及更旧版本中,由于部分系统组件不支持 DNF5 的分层配置系统,仍建议直接修改仓库配置文件:

  • 系统默认的 fedora 仓库配置文件为 /etc/yum.repos.d/fedora.repo
  • 系统默认的 updates 仓库配置文件为 /etc/yum.repos.d/fedora-updates.repo

将上述两个文件先做个备份,根据 Fedora 系统版本分别替换为下面内容。随后本地缓存将自动更新。

使用方法

命令替换

在 Fedora 44 及更新版本中,用以下命令覆写默认的仓库配置项。

dnf config-manager setopt fedora.baseurl='https://mirror.nyist.edu.cn/fedora/releases/$releasever/Everything/$basearch/os/'
dnf config-manager setopt fedora.metalink=
dnf config-manager setopt updates.baseurl='https://mirror.nyist.edu.cn/fedora/updates/$releasever/Everything/$basearch/'
dnf config-manager setopt updates.metalink=

在 Fedora 43 及更旧版本中,用以下命令替换 /etc/yum.repos.d 下的文件。

sed -e 's|^metalink=|#metalink=|g' \
    -e 's|^#baseurl=http://download.example/pub/fedora/linux|baseurl=https://mirror.nyist.edu.cn/fedora|g' \
    -i.bak \
    /etc/yum.repos.d/fedora.repo \
    /etc/yum.repos.d/fedora-updates.repo

手动替换

fedora 仓库

在 Fedora 45 及更新版本中,在 /etc/dnf/repos.override.d 下新建覆写文件 fedora-override.repo,将其内容修改如下。

[fedora]
baseurl=https://mirror.nyist.edu.cn/fedora/releases/$releasever/Everything/$basearch/os/
metalink=

在 Fedora 44 及更旧版本中,将 /etc/yum.repos.d/fedora.repo 文件内容修改如下。

[fedora]
name=Fedora $releasever - $basearch
baseurl=https://mirror.nyist.edu.cn/fedora/releases/$releasever/Everything/$basearch/os/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
enabled=1
countme=1
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

updates 仓库

在 Fedora 45 及更新版本中,在 /etc/dnf/repos.override.d 下新建覆写文件 fedora-updates-override.repo,将其内容修改如下。

[updates]
baseurl=https://mirror.nyist.edu.cn/fedora/updates/$releasever/Everything/$basearch/
metalink=

在 Fedora 44 及更旧版本中,将 /etc/yum.repos.d/fedora-updates.repo 文件内容修改如下。

[updates]
name=Fedora $releasever - $basearch - Updates
baseurl=https://mirror.nyist.edu.cn/fedora/updates/$releasever/Everything/$basearch/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
enabled=1
countme=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False