linuxmirrors-os
为 GNU/Linux 主机规划和指导 LinuxMirrors 系统软件源更换,覆盖发行版识别、国内/教育网/海外/官方源、交互与无人值守参数、EPEL 与 EOL 场景、备份、验证、故障排查和回滚。用户明确要换 apt/yum/dnf/pacman/zypper/apk/portage/Nix 软件源时使用;Docker CE 与 Registry Mirror 改用 Docker 专项流程。
为 GNU/Linux 主机规划和指导 LinuxMirrors 系统软件源更换,覆盖发行版识别、国内/教育网/海外/官方源、交互与无人值守参数、EPEL 与 EOL 场景、备份、验证、故障排查和回滚。用户明确要换 apt/yum/dnf/pacman/zypper/apk/portage/Nix 软件源时使用;Docker CE 与 Registry Mirror 改用 Docker 专项流程。
不要立即给一键命令。先收集系统、网络、权限、当前源和回滚条件,再生成“预检 → 计划 → 确认 → 执行 → 验证 → 回滚”的方案。
可直接使用:
当用户明确要更换 GNU/Linux 系统软件源、恢复官方源、处理 EPEL/vault/EOL 或生成换源自动化方案时使用。Docker CE 仓库、Registry Mirror、Docker Desktop 与容器运行时配置不适用。
必须知道发行版、版本、架构、网络区域、root/授权状态和回滚通道;缺少信息时只输出安全假设方案。
读取预检清单,确认发行版、版本、架构、root、网络区域和包管理器。
依据源模式选择大陆、--edu、--abroad 或 --use-official-source true。
从参数参考选择最少参数,不臆造开关。
明确被修改文件、备份位置、包索引刷新、验证与维护窗口。
展示命令但不代替用户授权;禁止在未知生产环境直接运行。
检查源文件、包管理器刷新结果与目标域名,不以脚本退出码代替全部验证。
按回滚指南恢复 .bak 或目录备份并重新刷新缓存。
--print-diff、验证、失败诊断和官方源回退。--source/--branch 需要先验证完整 URL、Release/repodata 等元数据可用。本技能不收集或上传用户数据。不得索要主机密码、SSH 私钥或云凭据。远程脚本先下载、检查来源与哈希/内容,再由用户在 root shell 中执行;不要写成 sudo bash <(curl ...)。默认保留备份,不主动使用 --ignore-backup-tips。
先按“Ubuntu 24.04、x86_64、中国大陆、只生成方案、不执行、保留备份、不升级软件包”给出安全示例。请补充:发行版与版本、架构、网络区域、当前源是否可用、是否需要 EPEL/security/vault、是否允许升级软件包。
cat /etc/os-release 与包管理器是否匹配?ChangeMirrors.sh --help?sudo bash <(curl ...) 可能因进程替换权限/文件描述符行为失败;先进入 root shell。--source 只指定主机部分时仍需正确的 --branch;多级路径必须整体核验。--source-security 与 --branch-security。--ignore-backup-tips 的含义是忽略覆盖提示并不备份,不适合作为默认自动化参数。Q1:脚本会备份吗? 主脚本默认备份,常见形式是在原路径后加 .bak;仍要在执行前确认磁盘与已有备份。
Q2:如何不升级软件包? 在自动化方案中显式使用 --upgrade-software false,并核验当前脚本支持该选项。
Q3:如何恢复官方源? 优先使用 --use-official-source true 重新生成;失败时从备份恢复。
Q4:curl 都装不上怎么办? 使用 Python、wget、浏览器或可信本地副本获取脚本,先审查再运行。
Q5:如何选教育网源? 中国大陆教育网场景使用 --edu,并先确认目标镜像支持该系统版本。
Q6:如何确认换源成功? 检查源文件目标域名,运行对应包管理器刷新命令,并确认没有 Release/repodata、签名或 TLS 错误。