news 2026/7/6 2:32:26

Ubuntu 20.04 LTS 升级 22.04 LTS 实战:修改 /etc/update-manager/release-upgrades 解决 ‘No LTS available‘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 20.04 LTS 升级 22.04 LTS 实战:修改 /etc/update-manager/release-upgrades 解决 ‘No LTS available‘

Ubuntu 20.04 LTS 升级 22.04 LTS 完整指南:从报错排查到系统验证

当你准备将Ubuntu 20.04 LTS升级到22.04 LTS时,可能会遇到一个令人困惑的错误提示:"There is no development version of an LTS available"。这个错误实际上与Ubuntu的升级策略和系统配置密切相关。本文将带你深入理解问题本质,并提供一套完整的解决方案。

1. 理解LTS升级机制与错误根源

Ubuntu的长期支持版本(LTS)每两年发布一次,提供长达5年的支持周期。但官方有一个重要策略:新LTS版本发布后的前几个月,系统不会自动建议从上一个LTS升级。这是为了让早期采用者有足够时间反馈问题,等第一个点发布版本(如22.04.1)推出后,升级通道才会全面开放。

当你在终端执行do-release-upgrade命令时,系统会检查/etc/update-manager/release-upgrades文件中的Prompt参数设置。默认情况下,该参数值为lts,这意味着:

  • 系统只会检查可用的LTS版本升级
  • 在新LTS版本的第一个点发布前,升级检查会返回"无可用LTS版本"的错误
# 查看当前Prompt设置 grep '^Prompt' /etc/update-manager/release-upgrades

2. 解决方案:三步升级流程

2.1 修改release-upgrades配置文件

首先需要调整升级提示行为设置:

# 使用nano编辑器修改配置文件(也可使用vi) sudo nano /etc/update-manager/release-upgrades

找到[DEFAULT]部分下的Prompt参数,将其从lts改为normal

[DEFAULT] # 原有设置 # Prompt=lts # 修改为 Prompt=normal

这个改变告诉系统:检查所有可用版本更新,而不仅限于LTS版本。保存退出后(nano中按Ctrl+X,然后按Y确认保存),建议验证修改是否生效:

# 验证修改结果 cat /etc/update-manager/release-upgrades | grep '^Prompt'

2.2 执行系统升级命令

完成配置修改后,可以开始升级过程。建议按以下顺序操作:

  1. 更新软件包列表

    sudo apt update
  2. 升级现有软件包

    sudo apt upgrade -y
  3. 执行发行版升级

    sudo do-release-upgrade

注意:升级过程可能需要较长时间(取决于网络速度和系统配置),期间会多次询问确认。建议在稳定的网络环境下操作,并保持终端会话活跃。

2.3 处理常见配置冲突

升级过程中可能会遇到配置文件冲突,特别是以下情况:

  • SSH配置/etc/ssh/sshd_config
  • Grub引导配置/etc/default/grub
  • 网络配置/etc/netplan/*.yaml

当出现类似提示时:

Configuration file '/etc/ssh/sshd_config' ==> Modified (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it?

建议选择:

  • D:先查看差异
  • 保留当前版本(如果做过自定义修改)
  • 或者安装维护者版本(如果是首次升级)

3. 升级验证与后续处理

完成升级后,系统会提示需要重启。重启前建议:

  1. 检查当前内核版本

    uname -r
  2. 验证系统版本

    lsb_release -a
  3. 检查服务状态

    systemctl list-units --type=service --state=running

重启后,你可能需要:

  • 重新启用之前禁用的第三方仓库(PPA)
  • 检查关键服务(如Apache、MySQL、Docker等)是否正常运行
  • 验证应用程序兼容性

4. 高级技巧与注意事项

对于生产环境,建议采取更谨慎的升级策略:

  1. 创建系统快照:如果使用LVM或虚拟机,先创建快照

    # 对于LVM用户 sudo lvcreate -s -n ubuntu_2004_snapshot -L 10G /dev/ubuntu-vg/root
  2. 关键文件备份

    sudo tar -cvpzf /backup/ubuntu_pre_upgrade.tar.gz \ --exclude=/backup \ --exclude=/proc \ --exclude=/tmp \ --exclude=/mnt \ --exclude=/dev \ --exclude=/sys \ /
  3. 分阶段升级:可以先在测试环境验证,再应用到生产环境

  4. 监控资源使用:升级后观察系统资源占用情况

    # 监控工具安装 sudo apt install htop sysstat

如果遇到问题,Ubuntu提供了回退机制。在升级过程中,所有更改都会被记录,可以通过/var/log/dist-upgrade/目录下的日志文件排查问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 2:32:17

ssm265基于vue的搬家预约系统+vue(文档+源码)_kaic

第5章 系统实现5.1 管理员模块 5.1.1 用户管理 管理员可以对用户进行添加修改删除查询操作。图5-1用户管理界面 5.1.2 司机管理 管理员可以对司机进行添加修改删除查询操作。图5-2司机管理界面 5.1.3 搬家人员管理 管理员可以对搬家人员进行添加修改删除查询操作。图5-3搬家人员…

作者头像 李华
网站建设 2026/7/6 2:32:12

AI开发平台趋势解析:从代码生成到流程自动化实战

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 这类榜单最值得看的不是排名,而是榜单背后反映的趋势和具体项目能解决什么实际问题。第27周GitHub涨星榜,14个…

作者头像 李华
网站建设 2026/7/6 2:31:57

MESI 协议状态机详解:从 4 种状态变迁到并发编程的 3 个关键启示

MESI 协议状态机详解:从 4 种状态变迁到并发编程的 3 个关键启示现代计算机系统中,CPU 缓存一致性协议是确保多核处理器正确运行的核心机制之一。MESI(Modified, Exclusive, Shared, Invalid)作为最广泛应用的缓存一致性协议&…

作者头像 李华
网站建设 2026/7/6 2:31:48

Faster R-CNN ResNet50 vs VGG16 对比:Pytorch 下 3 项关键指标实测分析

Faster R-CNN ResNet50 vs VGG16 对比:Pytorch 下 3 项关键指标实测分析在目标检测领域,Faster R-CNN 作为经典的两阶段算法,其性能表现与主干网络的选择密切相关。本文将通过实测数据对比 ResNet50 和 VGG16 作为主干网络时的训练速度、推理…

作者头像 李华
网站建设 2026/7/6 2:30:08

163MusicLyrics:免费高效的跨平台音乐歌词批量获取神器

163MusicLyrics:免费高效的跨平台音乐歌词批量获取神器 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为本地音乐库缺少歌词而烦恼吗?163Mus…

作者头像 李华
网站建设 2026/7/6 2:27:57

操作系统调度揭秘:CPU 时间片轮转如何影响你的 Java 线程性能

操作系统调度揭秘:CPU 时间片轮转如何影响你的 Java 线程性能当你在 Java 应用中启动多个线程时,是否曾好奇操作系统是如何在幕后协调这些线程的执行?表面上看,所有线程都在"同时"运行,但实际上 CPU 通过一种…

作者头像 李华