Linux 一键更换国内软件源脚本
目前仅支持下述基于 Debian 与 RedHat 系的发行版和及其部分衍生版本
同样支持下述版本中拥有相同底层核心的其它发行版,例如Armbian
Kubuntu
Oracle 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 选择是否关闭
交互
- └ 备份原有源
- └ 检测如果存在重复的备份文件选择是否覆盖
交互
- └ 检测如果存在重复的备份文件选择是否覆盖
- └ 更换国内源
- └ 选择是否更新软件包
交互
- └ 选择是否清理已下载的软件包缓存
交互
- └ 选择是否清理已下载的软件包缓存
哦豁
哈哈