适配系统及其版本
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 |
当前支持上述基于 Debian
、RedHat
、OpenCloudOS
、openEuler
、openSUSE
、Arch 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协议>://<软件源地址>/<软件源分支>
示例
指定软件源地址
若不想通过交互选择默认提供的软件源,你可以使用该命令选项指定软件源地址
指定软件源分支
使用场景:目标软件源有对应系统镜像但是不符合本脚本关于软件源分支设置的默认规则
本脚本为了适配大的环境不会针对某一镜像站独特的镜像分支名称而单独定制,最开始是为了更换国内软件源而设计适配的,默认使用的分支名称如下
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 => debian
、Rocky Linux => rocky
、AlmaLinux => almalinux
单独更换 EPEL 源
有些时候你会发现想使用的镜像站没有 epel 镜像仓库,那么你可以在第一次运行脚本时不安装或不更换 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
评论(0)