国内外通用一键跨版本升级教程(封禁国外VPS适用)

引言

在使用Linux VPS时,系统更新是保障安全性和稳定性的关键操作,但国内部分VPS因网络限制(封禁国外源),常规更新常出现404、下载超时等问题;而跨版本升级(如Ubuntu 22.04 LTS→24.04 LTS)更因依赖稳定的软件源和严格的升级顺序,让很多用户望而却步。

本文分享一款国内外VPS通用的Linux一键更新脚本 ,支持Ubuntu、Debian、CentOS等主流系统,重点实测宁波节点Ubuntu 22.04 LTS跨版本升级到24.04 LTS的完整流程,步骤清晰、避坑指南齐全,新手也能轻松上手!

服务条款/安全告知书:https://files.api.afmax.cn/yong-hu-tiao-kuan/https://files.api.afmax.cn/1761393065014

一、脚本核心优势与支持范围

1. 核心亮点

  • 适配性强:自动识别系统版本和架构,国内CDN源加速,封禁国外源的VPS也能高速更新;

  • 功能全面:支持小版本补丁升级(如22.04.1→22.04.5)和跨版本LTS升级(如22.04→24.04);

  • 操作简单:一键执行,无需手动修改源文件,降低操作门槛;

  • 兼容性高:覆盖Debian/Ubuntu/RHEL三大系列主流版本,64位x86_64架构通用。

2. 支持的系统版本(重点标注Ubuntu)

|-----------------------|---------------------------------------------------------------|------|------------------------------------------------------------------------|
| 系统分类 | 具体版本/系列 | 包管理器 | 脚本核心行为 |
| Ubuntu | 18.04/20.04/22.04/24.04 LTS;非LTS版本(bionic/focal/jammy/noble等) | apt | 写入AFMAX CDN源到/etc/apt/sources.list.d/cdn.list → 执行apt full-upgrade |
| Debian | 10(buster)/11(bullseye)/12(bookworm)及其他现存版本 | apt | 复用Ubuntu CDN源 → 执行apt full-upgrade |
| CentOS | 7.x全版本 | yum | 写入CentOS 7专属CDN源 → 执行yum update |
| CentOS Stream | 9.x全版本 | dnf | 写入RHEL 9兼容CDN源 → 执行dnf upgrade |
| Rocky Linux/AlmaLinux | 9.x全版本 | dnf | 复用RHEL 9兼容CDN源 → 执行dnf upgrade |

3. 明确不支持的场景(避坑重点)

  • 架构:32位(i386/i686)系统、ARM(树莓派)、PowerPC等非x86_64架构;

  • 系统版本:CentOS 8.x(官方终止维护)、RHEL 6.x/10.x、Debian 9及以下EOL版本;

  • 发行版:Fedora、Arch Linux、Alpine Linux等非RHEL/Debian系系统。

二、升级前必做准备(关键!避免系统崩溃)

1. 数据备份(重中之重)

系统升级存在崩溃风险,尤其是跨版本升级,务必提前备份关键数据:

  • 重要文件:通过scp或FTP工具下载到本地;

  • 配置文件:备份/etc目录下核心配置(如/etc/apt/sources.list/etc/resolv.conf);

  • 数据库:若有MySQL、PostgreSQL等数据库,执行导出备份(如mysqldump -u root -p 数据库名 > 备份文件.sql)。

2. DNS配置(可选但推荐,解决解析失败问题)

DNS解析异常会导致软件源无法访问,建议优先配置稳定DNS,避免升级失败:

方案1:直接修改resolv.conf并锁定(适用于大部分系统)
复制代码
sudo sh -c 'printf "nameserver 1.1.1.1\nnameserver 114.114.114.114\nnameserver 8.8.8.8\n" >/etc/resolv.conf && chattr +i /etc/resolv.conf'
方案2:通过systemd-resolved配置(适用于Ubuntu 20.04+)
复制代码
sed -i '/^\[Resolve\]/a DNS=1.1.1.1 114.114.114.114 8.8.8.8' /etc/systemd/resolved.conf && systemctl restart systemd-resolved && ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf && cat /etc/resolv.conf | grep nameserver
方案3:DNS冲突时的应急处理(单DNS配置)

若出现DNS冲突导致解析失败,执行以下命令强制配置国内DNS:

复制代码
# 停止冲突的DNS服务 + 配置114 DNS + 重启网络 systemctl stop systemd-resolved && systemctl disable systemd-resolved echo "nameserver 114.114.114.114" > /etc/resolv.conf echo "nameserver 114.114.115.115" >> /etc/resolv.conf chattr +i /etc/resolv.conf # 锁定配置,防止被自动修改 systemctl restart networking 2>/dev/null || echo "网络服务重启完成" # 验证解析是否正常(关键步骤) nslookup help.api.afmax.cn

若输出正常解析结果,说明DNS配置成功;若失败,更换其他可用DNS重试。

三、Ubuntu 22.04 LTS→24.04 LTS升级完整步骤

核心原则:跨版本升级前,必须先完成小版本升级到最新!

第一步:小版本升级(22.04.x→22.04最新版)
  1. 下载升级脚本并处理格式(避免Windows回车符导致报错):

    下载脚本 curl -O https://help.api.afmax.cn/linux/upgrade/upgrade-afmax.sh # 去掉回车符(关键!否则脚本可能无法执行) sed -i 's/\r$//' upgrade-afmax.sh # 赋予执行权限 chmod +x upgrade-afmax.sh # 运行脚本(小版本升级+安全补丁更新) ./upgrade-afmax.sh

或直接一键执行(无需手动下载):

复制代码
bash <(curl -s https://help.api.afmax.cn/linux/upgrade/upgrade-afmax.sh)
  1. 脚本执行说明:
  • 自动写入AFMAX CDN国内源,替代默认国外源;

  • 执行apt full-upgrade,自动安装所有小版本补丁和软件更新;

  • 过程中需确认升级(输入y回车),等待下载并安装完成(时间取决于网络速度)。

第二步:跨版本升级(22.04 LTS→24.04 LTS)

小版本升级完成后,执行跨版本升级脚本:

  1. 下载并执行跨版本升级脚本:

    下载跨版本升级脚本 curl -O https://help.api.afmax.cn/linux/upgrade/upgrade-afmax-lts.sh # 去掉回车符 sed -i 's/\r$//' upgrade-afmax-lts.sh # 赋予执行权限 chmod +x upgrade-afmax-lts.sh # 运行脚本(开始跨版本升级) ./upgrade-afmax-lts.sh

或一键执行:

复制代码
bash <(curl -s https://help.api.afmax.cn/linux/upgrade/upgrade-afmax-lts.sh)
  1. 跨版本升级注意事项:
  • 过程中会提示"是否继续升级",输入y回车,耐心等待(可能需要30分钟以上,取决于VPS配置和网络);

  • 若出现"是否保留旧配置文件",建议选择"保留(keep current version)",避免配置丢失;

  • 升级完成后,脚本会提示重启系统,输入reboot重启。

第三步:重启后重新配置DNS

重启后DNS配置可能失效,重新执行第二步中的DNS配置命令(任选一种),确保后续使用稳定。

四、宁波节点Ubuntu 22.04→24.04实测结果

测试环境

  • VPS节点:宁波

  • 初始系统:Ubuntu 22.04 LTS(64位x86_64)

  • 网络状态:封禁国外源,仅国内网络可用

  • 测试结果:✅ 升级成功,无报错!

关键验证步骤

  1. 查看系统版本:

    lsb_release -a

输出如下,说明已成功升级到24.04 LTS:

复制代码
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04 LTS Release: 24.04 Codename: noble
  1. 验证软件源可用性:

    apt update

无404错误,出现"Hit"(缓存命中)或"Get"(下载)日志,说明CDN源正常。

  1. 功能验证:
  • 系统服务正常启动(Nginx、MySQL等均无异常);

  • 网络连接稳定,DNS解析正常;

  • 安全补丁已全部安装(apt list --upgradable无待升级包)。

五、常见问题排查

1. 脚本执行报错"权限不足"

解决方案:在命令前加sudo,或切换到root用户(sudo -i)后执行。

2. 下载超时/404错误

  • 检查DNS配置:执行nslookup help.api.afmax.cn,确保能正常解析;

  • 更换DNS:使用方案3的单DNS配置,优先选择114DNS;

  • 确认系统架构:必须是64位x86_64(uname -m输出x86_64)。

3. 跨版本升级卡在"配置软件包"

  • 耐心等待:部分软件包配置需要时间,避免强制中断;

  • 强制退出后重试:若卡住超过30分钟,按Ctrl+C退出,重新运行跨版本升级脚本。

4. 升级后系统无法启动

  • 原因:可能是硬件不兼容或关键配置丢失;

  • 解决方案:通过VPS控制台进入救援模式,恢复备份的配置文件,或重新安装系统。

六、总结

这款Linux一键更新脚本完美解决了"封禁国外VPS无法更新"的痛点,国内CDN源加速确保下载速度,自动适配系统版本无需手动改源,尤其适合Ubuntu LTS版本的跨版本升级。

本次宁波节点Ubuntu 22.04→24.04的实测成功,证明了脚本的稳定性和兼容性。升级前务必做好备份、配置好DNS,严格按照"小版本升级→跨版本升级"的顺序操作,就能最大程度避免风险。

如果你的VPS是Debian、CentOS Stream等支持列表中的系统,也可以直接复用本文步骤,轻松完成系统更新!如果遇到问题,欢迎在评论区留言交流~

相关推荐
代码游侠2 小时前
应用——基于Linux的音乐播放器项目
linux·运维·笔记·学习·算法
wniuniu_2 小时前
ceph运维
运维·javascript·ceph
峰顶听歌的鲸鱼3 小时前
15.docker:网络
运维·网络·docker·容器·云计算·php·学习方法
wangchen_03 小时前
Linux文件描述符定时器:timerfd系列接口
linux·运维·服务器
Trouvaille ~3 小时前
【Linux】目录、路径与软硬链接:Linux文件组织的奥秘
linux·运维·服务器·chrome·文件系统·软硬链接·路径缓存
张太行_3 小时前
Linux shell中设置串口参数
linux·运维·chrome
乾元3 小时前
LLM 自动生成安全基线与等保合规初稿——把“网络工程事实”转译为“可审计的制度语言”
运维·网络·人工智能·python·安全·架构
大连好光景3 小时前
WSL下创建的Ubuntu系统与Windows实现显卡直通
linux·运维·ubuntu
huangjiazhi_4 小时前
Ubuntu 添加服务自启动
linux·运维·ubuntu