Linux 一键更换国内软件源脚本
目前仅支持下述基于 Debian 与 RedHat 系的发行版和及其部分衍生版本
同样支持下述版本中拥有相同底层核心的其它发行版,例如ArmbianKubuntuOracle Linux等
支持系统 |
系统版本 |
|---|---|
| CentOS | 7.0 ~ 8.5 |
| Debian | 8.0 ~ 11 |
| Ubuntu | 16 ~ 22 |
| Fedora | 28 ~ 37 |
| Redhat | 7.0 ~ 8.5 |
| Kali Linux | 2.0 ~ 2022 |
使用方法
bash <(curl -sSL https://s3.0nav.com/mirrors/Linux/ChangeMirrors.sh)
- 完整复制上面的命令到终端按回车键即可执行,若无法安装
curl软件包可复制源码到本地后手动执行 - 为了适配所有环境,建议使用
Root用户执行脚本,切换命令为sudo -i,如遇报错请查看常见问题与帮助 - 如果您使用的环境没有安装或不支持简体中文环境,请通过
SSH客户端工具使用,否则将无法正确选择交互内容 - 执行脚本过程中会自动备份原有源无需手动备份,期间会在终端输出多个主观选择交互内容,可按回车键快速确定
- 脚本支持在原有源配置错误或者不存在的情况下使用,并且可以重复使用;脚本变更的软件源默认使用
HTTP协议
未启用的源:
Debian 系 Linux 默认禁用了源码仓库和预发布软件源,若需启用请将
/etc/apt/sources.list文件中相关内容的所在行取消注释
RedHat 系 Linux 部分仓库默认没有启用,若需启用请将/etc/yum.repos.d目录下相关 repo 文件中的enabled值修改为1
脚本执行流程
- └ 选择国内源
交互- └ 检测如果是 RHEL或CentOS 系统选择是否安装/覆盖 EPEL 扩展国内源
交互
- └ 检测如果是 RHEL或CentOS 系统选择是否安装/覆盖 EPEL 扩展国内源
- └ 选择软件源使用的 WEB 协议
交互 - └ 检测 防火墙 和 SELINUX 如果开启并且系统是 RHEL或CentOS 选择是否关闭
交互 - └ 备份原有源
- └ 检测如果存在重复的备份文件选择是否覆盖
交互
- └ 检测如果存在重复的备份文件选择是否覆盖
- └ 更换国内源
- └ 选择是否更新软件包
交互- └ 选择是否清理已下载的软件包缓存
交互
- └ 选择是否清理已下载的软件包缓存
支持系统
哦豁
哈哈