将 Ubuntu 22.04 LTS 升级到 24.04 LTS

news/2024/12/17 3:32:47/

Ubuntu 24.04 LTS 将支持 Ubuntu 桌面、Ubuntu 服务器和 Ubuntu Core 5 年,直到 2029 年 4 月。
本文将介绍如何将当前 Ubuntu 22.04 系统升级到最新 Ubuntu 24.04 LTS版本。

备份个人数据

以防万一,把系统中的重要数据自己备份一下~

安装配置SSH访问

如果无法进入Ubuntu 桌面升级,考虑使用SSH远程连接升级,请确保在 ufw 防火墙上开放 TCP 端口 1022,以便在升级过程中保持稳定的连接。

sudo ufw allow 1022/tcp

可以进入Ubuntu桌面的,也强烈推荐配置SSH远程访问,并固定IP地址,以在升级过程中出现意外时通过终端恢复系统。

第一步:更新当前系统中的现有软件

sudo apt list --upgradable
sudo apt update && sudo apt upgrade -y
reboot

第二步:安装 Update Manager Core 工具

sudo apt install update-manager-core

第三步:运行升级前检查

sudo do-release-upgrade -d

打开升级配置文件/etc/update-manager/release-upgrades,将末尾的“Prompt”的值改为“normal”:
```sudo vim /etc/update-manager/release-upgrades`

在这里插入图片描述

第四步:升级

sudo do-release-upgrade

根据终端输出完成选项确认,升级完成后重启系统即可。

后记1:低版本升级到最新LTS可能要多次重复上述四步

我升级了两次,成功将虚拟机中的Ubuntu18.04 LTS升级到了Ubuntu24.04 LTS。
第一次将Ubuntu18.04 LTS升级到Ubuntu22.04 LTS;
第二次从Ubuntu22.04 LTS升级到Ubuntu24.04 LTS。
这两次都重复了上面四步。
期间遇到了许多问题,网上都能找到解决方法;最大的体会是要“留一手”,以防不测,一定做好数据备份和SSH配置。

后记2:虚拟机升级到24.04之后开机即卡死

升级到Ubuntu24.04 LTS之后,重启系统,开机非常成功,结果输入登录密码后直接黑屏,虚拟机连带整个Windows系统都卡死了。无奈只能强制重启我的Windows。

解决方法:取消勾选VMWare虚拟机属性中显示器的“加速3D图形选项”,如图所示。
在这里插入图片描述
取消勾选后开机,然后安装显示驱动:

sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt update && sudo apt upgrade

显示驱动更新完成后,关闭虚拟机,然后勾选上VMWare虚拟机属性中显示器的“加速3D图形选项”,再启动虚拟机,问题即可解决。

参考博客

后记3:OpenMPI-bin error | update-alternatives: error: /var/lib/dpkg/alternatives/mpi corrupt: slave link same as main link /usr/bin/mpicc

升级后运行软件更新命令,可能会报错:

update-alternatives: error: /var/lib/dpkg/alternatives/mpi corrupt: slave link same as main link /usr/bin/mpicc

这时需要先运行命令删掉mpi相关的更新替代文件:

sudo rm -f /etc/alternatives/mpi* /var/lib/dpkg/alternatives/mpi*

然后重新安装openmpi:

sudo apt install openmpi-bin

参考StackOverflow


http://www.ppmy.cn/news/1555758.html

相关文章

基于强化学习Q-learning算法的栅格地图路径规划算法,可以更改地图大小及起始点,可以自定义障碍物,MATLAB代码

Q-learning是一种无模型的强化学习算法,它允许智能体(agent)在与环境(environment)交互的过程中学习如何通过执行动作(actions)来最大化累积奖励(cumulative rewards)。 …

Rust之抽空学习系列(四)—— 编程通用概念(下)

Rust之抽空学习系列(四)—— 编程通用概念(下) 1、函数 函数用来对功能逻辑进行封装,能够增强复用、提高代码的可读 以下是函数的主要组成部分: 名称参数返回类型函数体 1.1、函数名称 在Rust中&…

前端性能分析面试题(一)

如何使用 Webpack 进行前端性能优化? Webpack 是一个现代 JavaScript 应用程序的静态模块打包器,它可以帮助开发者优化前端性能。以下是一些使用 Webpack 进行前端性能优化的方法: 代码分离:通过多入口文件、自定义分包&#xf…

k8s service 配置AWS nlb load_balancing.cross_zone.enabled

在Kubernetes中配置NLB(Network Load Balancer)的跨区域负载均衡(cross-zone load balancing),需要使用服务注解(service annotations)来实现。根据AWS官方文档,以下是配置NLB跨区域…

Java面试之单例模式浅谈

单例模式是Java面试中常会问到的一个问题,众所周知,单例模式分为两大部分:饿汉模式和懒汉模式。但是,如果当面试官问道关于单例模式的话,如果你只答出这两种模式,且懒汉模式还是最基础最简陋版的话&#xf…

为每个数据库创建一个RedisTemplate实例,这个如何配置和使用

为每个数据库创建一个RedisTemplate实例通常涉及到配置多个数据源和对应的RedisTemplate。以下是如何在Spring Boot中配置和使用多个RedisTemplate实例的步骤: 1. 配置多个Redis连接工厂 首先,你需要为每个Redis数据库配置一个RedisConnectionFactory。…

Lambda表达式对List对象实现多个动态属性排序

一、 Lambda表达式对List对象实现多个动态属性排序 package com.example.gateway;import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.lang.r…

vue3实现ai聊天对话框

各功能部分学习 input输入 使用keydown 键盘进行操作&#xff0c;回车和点击一样进行搜索 keydown.enter.exact.prevent"handleSend" keydown.enter.shift.exact"newline"按钮 loading 加载图标&#xff1a;这里设置 template 插槽 <el-buttontype&…