Linux 各发行版软件源一键切换方案
基于开源项目 LinuxMirrors 整理
简介
在国内使用 Linux 时,软件源问题一直是让人头疼的痛点:官方源访问困难、速度慢,手动配置国内镜像源又需要到处搜索可用地址,还要考虑发行版类型(Ubuntu、CentOS、Fedora 等)和版本号(Ubuntu 22/24、CentOS 7/8 等)的匹配,各家镜像站的目录结构和仓库名称还不统一,网上搜到的教程往往过时无人维护。
直到发现 linuxmirrors.cn 这个开源项目,一切迎刃而解——一行命令搞定换源,无需再到处找资源,脚本还提供了丰富的镜像源选择和人性化交互。本文将全面介绍该项目的使用方法。
眼见为实
执行脚本
按需选择(我选择阿里云)
替换完成
一、支持的操作系统
该项目已适配 26+ 种 Linux 操作系统,覆盖绝大多数使用场景:
| |
|---|
| Debian | |
| Ubuntu | |
| Kali Linux | |
| Linux Mint | |
| Deepin(深度) | |
| Zorin OS | |
| Armbian | |
| Proxmox VE | |
| Raspberry Pi OS | |
| Red Hat Enterprise Linux | |
| Fedora | |
| CentOS | |
| Rocky Linux | |
| AlmaLinux | |
| Oracle Linux | |
| openEuler(开源欧拉) | |
| OpenCloudOS(鸥栖) | |
| openKylin(开放麒麟) | |
| Anolis OS(龙蜥) | |
| openSUSE | |
| Arch Linux | |
| Manjaro | |
| EndeavourOS | |
| Alpine Linux | |
| Gentoo | |
| NixOS | |
二、一键换源
2.1 基本用法
切换到 root 用户后,执行一行命令即可:
bash <(curl -sSL https://linuxmirrors.cn/main.sh)
脚本通过方向键交互引导你选择镜像源配置,全程无需手动编辑任何文件。
2.2 不同网络环境
脚本针对三种网络环境提供了对应的命令:
中国大陆(默认)
bash <(curl -sSL https://linuxmirrors.cn/main.sh)
境外及海外地区
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --abroad
中国大陆教育网
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --edu
2.3 多个脚本下载渠道
如果官网地址无法访问,可以通过以下备用渠道获取脚本:
| | |
|---|
| bash <(curl -sSL https://linuxmirrors.cn/main.sh) | |
| bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) | |
| bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) | |
| bash <(curl -sSL https://raw.gitcode.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) | |
| bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/ChangeMirrors.sh) | |
2.4 镜像源选择建议
脚本内置了丰富的镜像源列表,如果你不确定选哪个,官方给出的建议是:
不要陷入测速焦虑,内置的软件源一般不会有太大差异。
三、使用前提
3.1 需要 ROOT 权限
使用 root 账户运行,切换方式:
注意:不要通过 sudo bash <(xxx) 的方式运行,要先切换到 root 用户再执行。
3.2 安装 curl
部分系统未预装 curl,会报 Command not found,按系统安装:
Debian 系 / Ubuntu / Kali / Linux Mint / Deepin 等
RedHat 系 / CentOS / Rocky / AlmaLinux / Fedora / openEuler 等
dnf install -y curl || yum install -y curl
openSUSE
Arch Linux / Manjaro
Alpine Linux
apk --no-cache add -f curl bash ncurses
Gentoo
NixOS
3.3 curl 装不上怎么办?
如果原有软件源已损坏导致安装不了 curl,可以用 Python 下载脚本:
python3 -c "import urllib.request; urllib.request.urlretrieve('https://linuxmirrors.cn/main.sh', 'main.sh')"bash main.sh
或者直接在浏览器中打开 https://linuxmirrors.cn/main.sh 下载脚本文件,再通过 bash main.sh 执行。
四、备份与还原
4.1 自动备份
脚本默认自动备份原有软件源配置文件,备份路径为原文件加 .bak 后缀:
/etc/apt/sources.list => /etc/apt/sources.list.bak
4.2 手动还原
Debian 系
cp -rf /etc/apt/sources.list.bak /etc/apt/sources.listapt-get update
RedHat 系
cp -rf /etc/yum.repos.d.bak /etc/yum.repos.dyum makecache
openSUSE
cp -rf /etc/zypp/repos.d.bak /etc/zypp/repos.dzypper ref
Arch Linux / Manjaro
cp -rf /etc/pacman.d/mirrorlist.bak /etc/pacman.d/mirrorlistpacman -Sy
Alpine Linux
cp -rf /etc/apk/repositories.bak /etc/apk/repositoriesapk update -f
五、高级用法
5.1 指定软件源地址
直接指定镜像站地址,跳过交互选择:
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --source mirrors.aliyun.com
5.2 指定软件源仓库目录
当镜像站的仓库名称与默认规则不匹配时,可以通过 --branch 指定:
# 阿里云的 Rocky Linux 仓库目录名称为 rockylinux,而非默认的 rockybash <(curl -sSL https://linuxmirrors.cn/main.sh) \ --source mirrors.aliyun.com \ --branch rockylinux
5.3 单独更换 EPEL 源
EPEL(Extra Packages for Enterprise Linux)是 Fedora 维护的附加软件包仓库,适用于红帽系发行版。如果首次运行时未安装 EPEL,可以单独更换:
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --only-epel
5.4 恢复官方源
误删了官方源备份时,可以一键恢复:
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --use-official-source true
5.5 更换 Ubuntu EOL 版本软件源
Ubuntu 非 LTS 版本生命周期结束后,官方会移除对应仓库目录,需要使用 Ubuntu Old Releases 仓库:
bash <(curl -sSL https://linuxmirrors.cn/main.sh) \ --source mirrors.ustc.edu.cn \ --branch ubuntu-old-releases
5.6 指定 Debian 版本代号
可以用来切换 Debian 的版本分支,例如升级到测试版 trixie:
bash <(curl -sSL https://linuxmirrors.cn/main.sh) \ --codename trixie \ --upgrade-software false
5.7 指定 Debian Security 源
对安全性要求高的场景,建议 Security 源使用官方地址(镜像同步存在延迟):
bash <(curl -sSL https://linuxmirrors.cn/main.sh) \ --source-security security.debian.org \ --branch-security debian-security
六、无人值守自动化
适用于 CI/CD 集成和批量运维场景,通过命令选项实现无交互换源:
bash <(curl -sSL https://linuxmirrors.cn/main.sh) \ --source mirror.example.com \ --protocol http \ --use-intranet-source false \ --install-epel true \ --backup true \ --upgrade-software false \ --clean-cache false \ --ignore-backup-tips
七、常用命令选项速查
| | |
|---|
--abroad | | |
--edu | | |
--source | | |
--source-epel | | |
--branch | | |
--codename | | |
--protocol | | http |
--use-official-source | | true |
--install-epel | | true |
--only-epel | | |
--backup | | true |
--upgrade-software | | true |
--clean-cache | | true |
--lang | | |
--pure-mode | | |
--print-diff | | |
--help | | |
语言支持
脚本支持三种显示语言:
# 使用英文bash <(curl -sSL https://linuxmirrors.cn/main.sh) --en# 交互选择语言bash <(curl -sSL https://linuxmirrors.cn/main.sh) --lang auto
八、精简版 Lite
面向企业产品和开源项目,具有以下特性:
bash <(curl -sSL https://linuxmirrors.cn/main-lite.sh)
总结
linuxmirrors.cn 这个项目完美解决了 Linux 换源的各种痛点:
- 一行命令搞定
- 覆盖面广
- 镜像源丰富
- 安全可靠
- 高度可定制
- 完全开源
以后装完 Linux 系统,再也不用到处找换源教程了,一行命令全搞定。