将 Ubuntu 20.04 LTS 升级到 24.04 LTS

将 Ubuntu 20.04 LTS 升级到 24.04 LTS

Ubuntu 20.04 LTSFocal Fossa)一直以来是许多用户可靠和稳固的操作系统。然而,随着我们接近Ubuntu 20.04 LTS的生命周期结束(EOL),是时候考虑升级到下一个长期支持(LTS)版本了。Ubuntu 20.04 LTS将在2025年5月31日之后不再接收标准更新。

幸运的是,Ubuntu 24.04 LTS贵族浣熊)已经发布,并准备好供用户升级。但这里有个陷阱:Ubuntu 版本之间的升级是顺序的,这意味着你不能直接从 Ubuntu 20.04 LTS 升级到 Ubuntu 24.04 LTS。相反,你需要先通过 Ubuntu 22.04 LTS

本指南将带您逐步了解整个过程,详细解释每个步骤,因此即使是初学者也可以轻松跟随。

为什么要升级?

在我们深入升级步骤之前,了解为什么升级系统是必要的很重要:

  • Ubuntu 20.04 LTS 的生命周期结束 (EOL):在 2025 年 5 月 31 日之后,Ubuntu 20.04 LTS 将不再接收官方更新、错误修复或安全补丁,这可能会使您的系统面临安全风险和错误的漏洞。
  • 新功能和改进: Ubuntu 24.04 LTS 具有新功能、更好的性能和增强的安全性,确保您的系统保持快速、安全,并与最新软件保持最新状态。
  • 长期支持Ubuntu 24.04 LTS 将支持到 2029 年 4 月,这意味着您将获得 5 年的更新、安全补丁和错误修复。

重要提示:升级过程是顺序进行的

如前所述,Ubuntu 升级是按顺序进行的,这意味着:

  • 您必须首先将Ubuntu 20.04 LTS升级到Ubuntu 22.04 LTS.
  • 一旦你在Ubuntu 22.04 LTS上,就可以升级到Ubuntu 24.04 LTS

您不能直接跳过Ubuntu 24.04而不经过Ubuntu 22.04。虽然这看起来像是多了一个步骤,但如果按顺序进行,过程是顺利且易于遵循的。

开始之前:升级前检查清单

升级 Ubuntu 是一个简单的过程,但在开始升级之前,最好采取一些重要步骤:

1. 备份您的重要文件

升级通常进行得很顺利,但备份重要文件以防万一总是明智的。

有多种方式可以备份您的文件:

  • Deja Dup(内置的Ubuntu备份工具)。
  • 云存储服务如谷歌云端硬盘DropboxOneDrive
  • 外部硬盘或USB驱动器。

通过这种方式,您可以确保在进行升级之前,您的文档、图片和其他重要文件是安全的。

2. 确保您的系统是最新的

在开始升级过程之前,更新您当前的系统以确保所有内容都已修补和最新是至关重要的。打开终端并运行以下命令:

sudo apt update && sudo apt upgrade -y sudo apt dist-upgrade -y sudo apt autoremove -y 

更新完成后,重启系统以应用更改,这样可以确保您的系统为升级做好准备。

sudo reboot 

3. 准备系统进行升级

更新管理器是帮助您升级系统的工具。

sudo apt install update-manager-core 

接下来,您需要通过编辑配置文件来设置系统以查找 LTS 版本。

sudo nano /etc/update-manager/release-upgrades 

寻找一行内容为:

Prompt=normal 

改为:

Prompt=lts 

从 Ubuntu 20.04 LTS 升级到 22.04 LTS

现在您的系统已准备就绪,让我们开始升级过程。由于Ubuntu 20.04 LTS不能直接升级到24.04 LTS,您需要先升级到Ubuntu 22.04 LTS

sudo do-release-upgrade 

升级可能需要一些时间,这取决于您系统的速度和您的互联网连接。在此过程中,您的系统将下载必要的软件包并对操作系统进行更新,这可能需要从 30 分钟到 90 分钟不等,因此请耐心等待。

重要: 在升级过程中,请勿中断操作或关闭 计算机。

在这里插入图片描述

一旦升级完成,系统将提示您重启以完成升级。

sudo reboot 

一旦您的系统重启,您可以通过输入以下命令确认您现在正在运行 Ubuntu 22.04 LTS:

lsb_release -a 

从 Ubuntu 22.04 LTS 升级到 24.04 LTS

现在你已经在Ubuntu 22.04 LTS上,是时候通过运行以下命令升级到Ubuntu 24.04 LTS,这些命令将确保所有软件包都是最新的,并且没有旧升级留下的依赖项。

sudo apt update && sudo apt upgrade -y sudo apt dist-upgrade -y sudo apt autoremove -y sudo reboot 

现在,您可以再次运行升级命令:

sudo do-release-upgrade 

就像上一个升级一样,系统会要求您确认更改以及是否要继续。让升级过程完成,这可能需要一些时间,所以请耐心等待。

升级完成后,重新启动您的系统:

sudo reboot 

最后,检查您是否成功升级到 Ubuntu 24.04 LTS

lsb_release -a 

一旦您完成了升级,清理在升级过程中可能遗留下来的不必要文件是个好主意。

sudo apt autoremove sudo apt clean 
结论

您已经成功从Ubuntu 20.04 LTS 升级到了Ubuntu 24.04 LTS。通过升级到最新版本,您的系统现在安全、快速,并为未来做好了准备。

Ubuntu 24.04 LTS 将支持到 2029 年 4 月,因此您可以放心,您的系统将继续获得定期更新和修补。

如果您在升级过程中遇到任何问题,请随时查看 Ubuntu 论坛以获取有用的故障排除提示。

🔥运维干货分享

Read more

如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题

如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题

如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题 摘要 本文针对Java项目启动时出现的java.io.IOException: closed错误,提供系统性解决方案。该异常通常由流资源异常关闭或损坏引发,常见于Maven依赖损坏(mvn dependency:purge-local-repository)、Wrapper脚本缺失(mvn wrapper:wrapper)、IDE缓存异常(Invalidate Caches)或Spring Boot插件配置不当(显式指定spring-boot-maven-plugin版本)等情况。通过分步操作(清理本地仓库、重装Wrapper、清理IDE缓存、检查pom配置)并结合日志调试(-X参数),可快速定位问题根源。最后提出预防建议:CI/CD定期清理依赖、版本化Wrapper文件、固定插件版本,有效提升项目启动稳定性与团队协作一致性。 关键词: Java IOException, Maven依赖修复, Spring

By Ne0inhk
华为OD机试双机位C卷-FLASH坏块监测系统(Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷-FLASH坏块监测系统(Py/Java/C/C++/Js/Go)

FLASH坏块监测系统 华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 100分题型 华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 + 算法考点详解 题目描述 开发一个 FLASH 坏块监测系统,能够监测 FLASH 中坏块的数量。FLASH 介质以一个大小为 m×n的二维二进制矩阵表示,其中:0 表示正常,1 表示异常。最初,FLASH 介质中的所有单元格都是正常(即,所有单元格都是 0)。 系统运行过程中,FLASH 坏块不断产生:随着系统持续运行,某一个时刻 i,FLASH 介质中的某个单元格 (ri,ci)由正常变为异常。返回一个整数数组 result,其中 result[i] 是 FLASH 介质中第

By Ne0inhk
Java 部署:Jenkins Pipeline 构建 Java 项目(自动化)

Java 部署:Jenkins Pipeline 构建 Java 项目(自动化)

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕Java部署这个话题展开,希望能为你带来一些启发或实用的参考。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * Java 部署:Jenkins Pipeline 构建 Java 项目(自动化) 🚀 * 为什么选择 Jenkins Pipeline?🔧 * 环境准备:搭建 Jenkins 服务器 ⚙️ * 使用 Docker 快速启动 Jenkins * 安装必要插件 * 示例 Java 项目:一个简单的 Spring Boot 应用 🌱 * 项目结构 * `pom.xml` * `DemoApplication.java` * `HelloController.java` * 单元测试(可选但推荐) * 编写 Jenkins

By Ne0inhk
OpenClaw Java — 用 Java 全栈实现一个 AI Agent Gateway

OpenClaw Java — 用 Java 全栈实现一个 AI Agent Gateway

项目简介 大家好,分享一下我最近在做的开源项目 OpenClaw Java —— 基于 Spring Boot 3.3 的 AI Agent Gateway 全栈实现,通过 WebSocket 自定义帧协议提供全功能 Agent 接口。 项目地址:https://github.com/yuenkang/openclaw-java 当前规模: 594 个 Java 源文件 + 17 个测试文件,约 88,500 行代码 为什么做这个项目? 目前 AI Agent 框架大多集中在 Python 和 TypeScript 生态,Java 社区相对缺少成熟的 Agent 运行时方案。

By Ne0inhk