适配系统及其版本

 Debian 8.0 ~ 12
 Ubuntu 14.04 ~ 23
 Kali Linux 2.0 ~ 2023
 Red Hat Enterprise Linux 7.0 ~ 9
 Fedora 30 ~ 38
 CentOS 7.0 ~ 8.5 / Stream 8 ~ 9
 Rocky Linux 8 ~ 9
 AlmaLinux 8 ~ 9
 OpenCloudOS 8.6 / 9.0
 openEuler 21.03 ~ 23
 openSUSE Leep 15 / Tumbleweed
 Arch Linux all

当前支持上述基于 DebianRedHatOpenCloudOSopenEuleropenSUSEArch Linux 的发行版和及其部分衍生版本
,理论支持所有架构的环境

执行命令

国内使用
bash <(curl -sSL https://linuxmirrors.cn/main.sh)
教育网使用
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --edu 
海外使用
bash <(curl -sSL https://linuxmirrors.cn/main.sh) --abroad 
GitHub
bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) --abroad
Gitee
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) --abroad

注意事项
需使用 Root 用户执行脚本

切换命令为 sudo -i 或 su root,不同系统环境使用的命令不一样,因为有些系统没有在初始安装时为 Root 用户设置固定密码所以需要使用 sudo 指令来提权

 建议使用 SSH 远程工具

如果你使用的系统终端界面不支持 UTF-8 编码那么将无法正常显示中文内容,导致无法正确选择交互内容。大部分系统都会自动开启该服务。

 如果是首次在新系统上执行脚本

当前执行方式依赖 curl 指令来获取脚本内容并执行,所以需要先通过包管理工具来安装该软件包,否则会报错 Command not found,若无法安装就复制源码到本地新建.sh脚本,然后通过 bash 手动执行

命令选项

名称 含义 选项值
--abroad 使用海外软件源
--edu 使用中国大陆教育网软件源
--source 指定软件源地址(域名或IP) 地址
--source-security 指定 Debian 的 security 软件源地址(域名或IP) 地址
--source-vault 指定 CentOS/AlmaLinux 的 vault 软件源地址(域名或IP) 地址
--branch 指定软件源分支(路径) 分支名
--branch-security 指定 Debian 的 security 软件源分支(路径) 分支名
--branch-vault 指定 CentOS/AlmaLinux 的 vault 软件源分支(路径) 分支名
--codename 指定 Debian 系操作系统的版本名称 版本名
--web-protocol 指定 WEB 协议 http 或 https
--intranet 优先使用内网地址 true 或 false
--install-epel 安装 EPEL 附加软件包 true 或 false
--only-epel 仅更换 EPEL 软件源模式
--close-firewall 关闭防火墙 true 或 false
--backup 备份原有软件源 true 或 false
--ignore-backup-tips 忽略覆盖备份提示(即不覆盖备份)
--updata-software 更新软件包 true 或 false
--clean-cache 清理下载缓存 true 或 false
--print-diff 打印源文件修改前后差异 true 或 false
--help 查看帮助菜单

软件源格式 <指定WEB协议>://<软件源地址>/<软件源分支>

示例

指定软件源地址

若不想通过交互选择默认提供的软件源,你可以使用该命令选项指定软件源地址

bash <(curl -sSL https://linuxmirrors.cn/main.sh) \
    --source mirror.example.com

指定软件源分支

使用场景:目标软件源有对应系统镜像但是不符合本脚本关于软件源分支设置的默认规则

本脚本为了适配大的环境不会针对某一镜像站独特的镜像分支名称而单独定制,最开始是为了更换国内软件源而设计适配的,默认使用的分支名称如下

 Debian debian
 Ubuntu ubuntu/ubuntu-ports
 Kali Linux kali
 Red Hat Enterprise Linux centos/rocky
 Fedora fedora
 CentOS centos/centos-stream/centos-altarch/centos-vault
 Rocky Linux rocky
 AlmaLinux almalinux/almalinux-vault
 OpenCloudOS opencloudos
 openEuler openeuler
 openSUSE opensuse
 Arch Linux archlinux/archlinuxarm

请看下面的例子

使用阿里云的 Rocky Linux 软件源

bash <(curl -sSL https://linuxmirrors.cn/main.sh) \
  --source mirrors.aliyun.com \
  --branch rockylinux

阿里云镜像站的 Rocky Linux 镜像分支名称为 rockylinux,不符合默认规则,但是可以通过命令选项绕过脚本默认规则来实现。

什么是默认规则?参考这几个例子: Debian GNU/Linux => debianRocky Linux => rockyAlmaLinux => almalinux

单独更换 EPEL 源

有些时候你会发现想使用的镜像站没有 epel 镜像仓库,那么你可以在第一次运行脚本时不安装或不更换 epel 源然后再单独执行下面的命令

bash <(curl -sSL https://linuxmirrors.cn/main.sh) --only-epel

自定义 Debian Security 源

如果你想尽可能提高服务器的安全性则建议使用官方源,因为镜像同步存在延迟

bash <(curl -sSL https://linuxmirrors.cn/main.sh) \
  --source-security security.debian.org \
  --branch-security debian-security

指定 Debian 系操作系统的版本名称

你可以自定义该版本名称,大多数情况下用于升级系统版本,请看下面的例子

 

升级 Debian 至最新 12 版本 Bookworm

bash <(curl -sSL https://linuxmirrors.cn/main.sh) \
  --codename bookworm

更换软件源后还需要执行系统更新命令才能实现更新操作,并且建议在更新完成并重启系统后重新执行本换源脚本,因为仅更换软件源配置中的系统版本名称可能会在后期使用时产生一些兼容性问题

 

无人值守

不通过交互完成换源操作,需要使用大量命令选项来实现,建议熟悉后再使用

参考命令

bash <(curl -sSL https://linuxmirrors.cn/main.sh) \
  --source mirror.example.com \
  --web-protocol http \
  --intranet false \
  --install-epel true \
  --close-firewall true \
  --backup true \
  --updata-software false \
  --clean-cache false \
  --ignore-backup-tips
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。