Linux 系统切换国内镜像源教程
在中国大陆使用 Linux 系统时,由于网络环境的原因,连接官方的软件包镜像源速度较慢,甚至可能出现连接失败的情况。此时,将系统配置为使用国内的镜像源可以显著提升软件包下载和更新的速度。
常见的国内镜像源
- 阿里云镜像站: https://developer.aliyun.com/mirror/
- 清华大学开源软件镜像站 (TUNA): https://mirrors.tuna.tsinghua.edu.cn/
- 中国科学技术大学 (USTC) 开源软件镜像: http://mirrors.ustc.edu.cn/
- 网易开源镜像站: https://mirrors.163.com/
- 华为云镜像站: https://mirrors.huaweicloud.com/
各 Linux 发行版切换教程
1. Ubuntu
Ubuntu 使用 APT (Advanced Package Tool) 进行包管理,其源配置文件为 /etc/apt/sources.list
。
步骤:
-
备份原始的
sources.list
文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
-
编辑
sources.list
文件:sudo nano /etc/apt/sources.list
将文件中的原有内容注释掉(在每一行前面加上
#
),或者直接删除。然后,从选定的国内镜像源站点找到适用于的 Ubuntu 版本的源配置信息,并将其复制粘贴到文件中。示例 (以 Ubuntu 22.04 LTS Jammy Jellyfish 使用阿里云镜像源为例):
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
-
保存文件并退出编辑器。
-
更新软件包列表缓存:
sudo apt update
-
(可选)升级已安装的软件包:
sudo apt upgrade
2. Debian
Debian 同样使用 APT 进行包管理,其源配置文件也是 /etc/apt/sources.list
。
步骤:
-
备份原始的
sources.list
文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
-
编辑
sources.list
文件:sudo nano /etc/apt/sources.list
注释掉或删除原有内容,然后从国内镜像源站点获取适用于的 Debian 版本的配置信息并粘贴。
示例 (以 Debian 11 Bullseye 使用清华大学镜像源为例):
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-freedeb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-freedeb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-freedeb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
-
保存文件并退出编辑器。
-
更新软件包列表缓存:
sudo apt update
-
(可选)升级已安装的软件包:
sudo apt upgrade
3. CentOS (以及 RHEL、Rocky Linux、AlmaLinux 等)
CentOS 及其衍生发行版使用 YUM (Yellowdog Updater, Modified) 或 DNF (Dandified YUM) 进行包管理。其源配置文件位于 /etc/yum.repos.d/
目录下,通常以 .repo
结尾。
方法一:替换 repo 文件内容 (推荐)
-
进入
/etc/yum.repos.d/
目录:cd /etc/yum.repos.d/
-
备份所有
.repo
文件:sudo mkdir backup sudo mv *.repo backup/
或者逐个备份想要修改的 repo 文件,例如
CentOS-Base.repo
:sudo cp CentOS-Base.repo CentOS-Base.repo.backup
-
下载新的
.repo
文件或手动编辑:
许多国内镜像源直接提供了适用于不同 CentOS 版本的.repo
文件。可以下载这些文件并替换掉系统中的相应文件。打开文件进行编辑,例如:
sudo nano CentOS-Base.repo
将文件中的
mirrorlist=
或baseurl=
指向的官方 URL 替换为国内镜像源的 URL。通常,镜像站会提供详细的替换说明。示例 (CentOS 7 使用阿里云镜像源):
通常,阿里云等镜像站会提供wget
命令直接下载配置好的.repo
文件,例如:sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
-
清除 YUM/DNF 缓存并生成新的缓存:
sudo yum clean all # 或者 sudo dnf clean all sudo yum makecache # 或者 sudo dnf makecache
方法二:使用 sed
命令替换 (适用于熟悉的用户)
对于特定版本的 CentOS,例如 CentOS 8 (已 EOL,但某些场景仍在使用),阿里云文档中提到了使用 sed
命令批量替换 URL 的方法。
# 示例命令,具体请参照阿里云等官方文档
# sudo rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo
# sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo
# sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-*.repo
- (可选)更新系统:
sudo yum update # 或者 sudo dnf update
4. Fedora
Fedora 默认使用 metalink
,它会自动选择离用户较近的镜像。通常情况下,不一定需要手动更换 Fedora 的源。
步骤 (请谨慎操作,并参考镜像站的最新指南):
-
备份
/etc/yum.repos.d/
目录下的相关.repo
文件 (例如fedora.repo
,fedora-updates.repo
)。sudo cp /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora.repo.backup sudo cp /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo.backup
-
编辑相关的
.repo
文件:
打开文件,例如:sudo nano /etc/yum.repos.d/fedora.repo
在文件中,找到对应的仓库配置节(例如
[fedora]
)。可以注释掉metalink=
这一行,并添加或修改baseurl=
指向选择的国内镜像源地址。镜像站(如清华大学、USTC)通常会提供具体的baseurl
格式。示例 (参考 USTC 镜像站 Fedora 帮助):
USTC 镜像站等会提供替换命令或配置文件内容。例如,将metalink
替换为baseurl
指向其镜像。- 对于较新版本的 Fedora, 镜像站可能会提供直接下载修改好的 repo 文件的方法,或者提供
sed
命令进行替换。 - 例如,清华大学镜像站针对 Fedora 的帮助页面会提供详细的配置方法,有时会区分 Fedora 版本。
- 对于较新版本的 Fedora, 镜像站可能会提供直接下载修改好的 repo 文件的方法,或者提供
-
清除 DNF 缓存并生成新的缓存:
sudo dnf clean all sudo dnf makecache
-
(可选)更新系统:
sudo dnf update
5. Arch Linux
Arch Linux 使用 Pacman 进行包管理,其镜像列表文件为 /etc/pacman.d/mirrorlist
。
步骤:
-
备份原始的
mirrorlist
文件:sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
-
编辑
mirrorlist
文件:sudo nano /etc/pacman.d/mirrorlist
示例 (将清华大学镜像源置于首位):
## China Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch ## China Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch ## Worldwide #Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch ... (其他原始镜像)
-
保存文件并退出编辑器。
-
刷新软件包数据库并更新系统:
sudo pacman -Syyu
(
-Syyu
中的两个y
会强制刷新所有包数据库,即使它们看起来是最新的。)
Arch Linux CN 社区仓库 (可选但推荐):
Arch Linux CN 仓库包含了一些官方仓库未提供的常用软件(如 yay
, google-chrome
等)。
-
编辑
/etc/pacman.conf
文件:sudo nano /etc/pacman.conf
示例 (使用 USTC 镜像源):
[archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
或者清华大学源:
[archlinuxcn] Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
-
保存文件并退出。
-
安装
archlinuxcn-keyring
包以导入 GPG 密钥:sudo pacman -Syy && sudo pacman -S archlinuxcn-keyring
-
之后即可正常使用 Pacman 安装 Arch Linux CN 仓库中的包。