当前位置:首页>Linux>Linux 各发行版软件源一键切换方案

Linux 各发行版软件源一键切换方案

  • 2026-10-11 08:29:33
Linux 各发行版软件源一键切换方案

Linux 各发行版软件源一键切换方案

基于开源项目 LinuxMirrors 整理

简介

在国内使用 Linux 时,软件源问题一直是让人头疼的痛点:官方源访问困难、速度慢,手动配置国内镜像源又需要到处搜索可用地址,还要考虑发行版类型(Ubuntu、CentOS、Fedora 等)和版本号(Ubuntu 22/24、CentOS 7/8 等)的匹配,各家镜像站的目录结构和仓库名称还不统一,网上搜到的教程往往过时无人维护。

直到发现 linuxmirrors.cn 这个开源项目,一切迎刃而解——一行命令搞定换源,无需再到处找资源,脚本还提供了丰富的镜像源选择和人性化交互。本文将全面介绍该项目的使用方法。

眼见为实

执行脚本

按需选择(我选择阿里云)

替换完成

一、支持的操作系统

该项目已适配 26+ 种 Linux 操作系统,覆盖绝大多数使用场景:

操作系统
适配版本
Debian
8~13
Ubuntu
14~25
Kali Linux
all
Linux Mint
17~22 / LMDE 2~7
Deepin(深度)
all
Zorin OS
all
Armbian
all
Proxmox VE
all
Raspberry Pi OS
all
Red Hat Enterprise Linux
7~10
Fedora
30~43
CentOS
7~8 / Stream 8~10
Rocky Linux
8~10
AlmaLinux
8~10
Oracle Linux
8~10
openEuler(开源欧拉)
20~25
OpenCloudOS(鸥栖)
8.6~9 / Stream 23
openKylin(开放麒麟)
all
Anolis OS(龙蜥)
8 / 23
openSUSE
Leap 15~16 / Tumbleweed
Arch Linux
all
Manjaro
all
EndeavourOS
all
Alpine Linux
v3 / edge
Gentoo
all
NixOS
19~25

二、一键换源

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)
全球边缘网络加速
GitHub
bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh)
原始仓库
Gitee
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)
国内推荐,实时同步
GitCode
bash <(curl -sSL https://raw.gitcode.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)
同步有 1 小时延迟
jsDelivr
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/ChangeMirrors.sh)
CDN 加速

2.4 镜像源选择建议

脚本内置了丰富的镜像源列表,如果你不确定选哪个,官方给出的建议是:

  • 阿里云
     —— 兼容性高、可用性强
  • 中国科学技术大学
     —— 速度快

不要陷入测速焦虑,内置的软件源一般不会有太大差异。

三、使用前提

3.1 需要 ROOT 权限

使用 root 账户运行,切换方式:

sudo -i# 或su root

注意:不要通过 sudo bash <(xxx) 的方式运行,要先切换到 root 用户再执行。

3.2 安装 curl

部分系统未预装 curl,会报 Command not found,按系统安装:

Debian 系 / Ubuntu / Kali / Linux Mint / Deepin 等

apt-get install -y curl

RedHat 系 / CentOS / Rocky / AlmaLinux / Fedora / openEuler 等

dnf install -y curl || yum install -y curl

openSUSE

zypper install curl

Arch Linux / Manjaro

pacman -S curl

Alpine Linux

apk --no-cache add -f curl bash ncurses

Gentoo

emerge --ask curl

NixOS

nix-env -iA nixos.curl

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
指定软件源地址
域名或 IP
--source-epel
指定 EPEL 源地址
域名或 IP
--branch
指定软件源仓库路径
仓库名
--codename
指定版本代号
代号名称
--protocol
指定 Web 协议
http
 或 https
--use-official-source
使用官方源
true
 / false
--install-epel
安装 EPEL
true
 / false
--only-epel
仅更换 EPEL 源
无
--backup
备份原有软件源
true
 / false
--upgrade-software
更新软件包
true
 / false
--clean-cache
清理下载缓存
true
 / false
--lang
指定输出语言
语言 ID
--pure-mode
纯净模式
无
--print-diff
打印修改差异
无
--help
查看帮助
无

语言支持

脚本支持三种显示语言:

语言
值
简体中文(默认)
zh-hans
 / zh-cn / zh
繁體中文
zh-hant
 / zh-tw / zh-hk
English
en
 / en-us
# 使用英文bash <(curl -sSL https://linuxmirrors.cn/main.sh) --en# 交互选择语言bash <(curl -sSL https://linuxmirrors.cn/main.sh) --lang auto

八、精简版 Lite

面向企业产品和开源项目,具有以下特性:

  • 单一显示语言(English),无国际化功能
  • 默认使用官方源,去除交互选择
  • 去除无关打印内容
  • 保留核心逻辑与命令选项
bash <(curl -sSL https://linuxmirrors.cn/main-lite.sh)

总结

linuxmirrors.cn 这个项目完美解决了 Linux 换源的各种痛点:

  1. 一行命令搞定
     —— 无需手动编辑配置文件,零技术门槛
  2. 覆盖面广
     —— 26+ 种操作系统,各种版本精准识别
  3. 镜像源丰富
     —— 国内主流、教育网、海外源全都有
  4. 安全可靠
     —— 自动备份原有配置,支持一键还原
  5. 高度可定制
     —— 丰富的命令选项,支持自动化运维
  6. 完全开源
     —— MIT 协议,代码透明可审计

以后装完 Linux 系统,再也不用到处找换源教程了,一行命令全搞定。

最新文章

随机文章