运维实施

常用换源及验证

整理 Ubuntu、CentOS、pip、npm、Docker、Go、Maven 等常用软件的国内镜像源配置方法和验证步骤。

2026-07-2312 分钟约 6 千字

前言

国内访问默认软件源速度慢,换源是装完系统的第一步。本文整理常用系统的换源方法和验证方式。

一、Ubuntu / Debian 换源

Ubuntu 24.04(DEB822 格式)

Ubuntu 24.04 开始使用新格式 .sources 文件,替换原来的 sources.list:

bash
# 备份原有源
cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak

# 替换为阿里云源
cat > /etc/apt/sources.list.d/ubuntu.sources << 'EOF'
Types: deb
URIs: https://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: https://mirrors.aliyun.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF

# 更新索引
apt update

验证:apt update 输出中应显示 mirrors.aliyun.com。

Ubuntu 22.04 及以下(传统格式)

bash
cp /etc/apt/sources.list /etc/apt/sources.list.bak

sed -i 's|http://archive.ubuntu.com|https://mirrors.aliyun.com|g' /etc/apt/sources.list
sed -i 's|http://security.ubuntu.com|https://mirrors.aliyun.com|g' /etc/apt/sources.list

apt update && apt upgrade -y

Debian 12

bash
cp /etc/apt/sources.list /etc/apt/sources.list.bak

cat > /etc/apt/sources.list << 'EOF'
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
EOF

apt update

二、CentOS / Rocky Linux / AlmaLinux 换源

CentOS 7(已 EOL)

需要切换到 vault 源:

bash
sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's|/centos/|/centos-vault/|g' /etc/yum.repos.d/CentOS-Base.repo

yum makecache

Rocky Linux 9 / AlmaLinux 9

bash
# 替换为阿里云镜像
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux/$contentdir|g' \
    -i /etc/yum.repos.d/rocky*.repo

dnf makecache

验证:

bash
dnf repolist

三、pip 换源

临时使用

bash
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名

永久配置

Linux:

bash
mkdir -p ~/.config/pip
cat > ~/.config/pip/pip.conf << 'EOF'
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
EOF

验证:

bash
pip config list
pip install requests  # 观察下载速度

四、npm / yarn / pnpm 换源

npm

bash
npm config set registry https://registry.npmmirror.com
npm config get registry

yarn

bash
yarn config set registry https://registry.npmmirror.com
yarn config get registry

pnpm

bash
pnpm config set registry https://registry.npmmirror.com
pnpm config get registry

五、Docker 换源

bash
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << 'EOF'
{
  "registry-mirrors": [
    "https://your-id.mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}
EOF

systemctl restart docker

验证:

bash
docker info | grep -A 5 "Registry Mirrors"

六、Go 换源

bash
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=sum.golang.google.cn

go env GOPROXY

七、Maven 换源

~/.m2/settings.xml:

xml
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

验证:执行 mvn help:effective-settings 或查看下载日志中的仓库地址。

八、其他常用换源

Homebrew(macOS)

bash
# 替换 brew.git
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
# 替换 homebrew-core.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
# 替换 bottles 源
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bashrc

Conda

~/.condarc:

yaml
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

验证:conda config --show channels

Cargo(Rust)

~/.cargo/config.toml:

toml
[source.crates-io]
replace-with = "rs"

[source.rs]
registry = "sparse+https://rsproxy.cn/index/"

总结

换源看似简单,但版本和格式经常变化。建议换源后务必执行 apt update / dnf makecache 验证,遇到 404 多半是版本路径不对。

换源镜像站系统配置

欢迎讨论

有想法或问题?欢迎通过联系方式与我交流

联系我