Ubuntu 系统一键升级脚本:轻松实现 Ubuntu 18.04 到 24.04 LTS 的无缝过渡

对于仍在使用 Ubuntu 18.04 LTS 的用户而言,系统升级是保障安全与获取新特性的关键操作。然而,跨多个版本的手动手动升级流程繁琐且易出错。本文将详细介绍一款专为 Ubuntu 系统设计的一键升级脚本,助你轻松完成从 18.04 到 24.04 LTS 的逐步升级。

脚本核心优势

这款一键升级脚本凭借以下特性脱颖而出:

  • 全自动升级路径:无需手动干预各版本升级步骤,脚本会按序完成 18.04 → 20.04 → 22.04 → 24.04 的完整升级流程
  • 灵活源选择:提供官方源、中科大源、CERNET 校园网联合源三种选择,国内用户可根据网络环境挑选最优源
  • 协议自由切换:支持 HTTP/HTTPS 协议选择,适应不同网络环境需求
  • 智能冲突处理:自动配置 dpkg 以保留现有配置文件,避免升级中的配置冲突
  • 完善日志记录:所有操作均记录在 /var/log/ubuntu_upgrade.log,便于问题排查
  • 版本自适应:自动检测当前系统版本,仅执行对应阶段的升级操作

脚本工作原理

脚本采用模块化设计,主要包含以下核心功能模块:

  1. 权限验证:确保脚本以 root 权限运行,保障升级操作顺利执行
  2. 源配置管理:自动备份当前源配置,根据用户选择生成适配的 sources.list
  3. 系统预处理:更新现有软件包、清理系统冗余文件、安装必要升级工具
  4. 版本检测与升级:识别当前系统版本,调用对应升级流程,完成后自动重启
  5. 异常处理:当自动升级失败时,提示用户进行手动干预

一键升级操作步骤

1. 获取并运行脚本

通过以下单条命令即可下载、授权并启动升级脚本:

  1. 主域名(江苏和四川部分地区可能被拦截)

    wget https://git.662662.xyz/linux/ubuntu/ubuntu_upgrade.sh && chmod +x ubuntu_upgrade.sh && ./ubuntu_upgrade.sh
  2. 备用域名

    wget https://gitee.com/wmwlwmwl/pagoda-happy-edition/raw/master/Linux/Ubuntu/ubuntu_upgrade.sh && chmod +x ubuntu_upgrade.sh && ./ubuntu_upgrade.sh

2. 交互式配置

脚本启动后,会引导你完成两项关键配置:

  • 软件源选择:根据网络环境选择最合适的源(1.官方源 / 2.中科大源 / 3.CERNET源)
  • 协议选择:根据网络安全需求选择 HTTP 或 HTTPS 协议(默认 HTTP)

3. 自动升级流程

完成配置后,脚本将自动执行以下操作:

  1. 系统准备阶段

    • 备份当前软件源配置到 /etc/apt/sources.list.bak.时间戳
    • 执行 apt update 更新软件包列表
    • 运行 apt upgradeapt dist-upgrade 升级现有软件
    • 清理无用软件包(autoremove)和缓存(autoclean
  2. 分阶段升级

    • 从 18.04 升级到 20.04 LTS(focal),完成后系统自动重启
    • 重启后,再次执行 ./ubuntu_upgrade.sh 继续升级到 22.04 LTS(jammy),完成后再次自动重启
    • 再次重启后,第三次执行 ./ubuntu_upgrade.sh 完成到 24.04 LTS(noble)的升级

关键技术细节

脚本通过以下技术手段确保升级过程的稳定性:

  • 设置 DEBIAN_FRONTEND=noninteractive 实现非交互式升级
  • 配置 Dpkg::Options { "--force-confold"; } 自动保留现有配置文件
  • 采用 do-release-upgrade 命令的非交互模式(-f DistUpgradeViewNonInteractive
  • 对升级命令进行双重尝试(标准命令 → 开发版选项),提高成功率
  • 自动禁用 Proposed Updates 源,避免不稳定软件包影响升级

注意事项

  1. 全程需三次运行:每次版本升级后系统会自动重启,重启后需重新执行 ./ubuntu_upgrade.sh 继续下一阶段
  2. 升级时机选择:建议在非业务高峰期执行,整个过程可能持续数小时
  3. 日志查询:若升级中断,可通过 cat /var/log/ubuntu_upgrade.log 查看详细过程
  4. 手动干预方案:当自动升级失败时,可按提示运行 do-release-upgrade 进行交互式升级

升级验证

完成所有升级步骤后,使用以下命令验证结果:

lsb_release -a

成功升级到 24.04 LTS 后,将显示:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04 LTS
Release:        24.04
Codename:       noble

总结

这款一键升级脚本将原本复杂的跨版本升级过程简化为几次命令执行,极大降低了操作难度。通过自动化处理软件源配置、冲突解决和分阶段升级等关键环节,既保证了升级的安全性,又提高了操作效率。

对于需要批量升级多台服务器的管理员而言,该脚本更是省时省力的利器。升级完成后,你的系统将获得持续至 2030 年的长期支持,同时享受最新的安全补丁和功能改进。