Ubuntu 22.04 升級到 Ubuntu 24.04 全流程指南

📌 1. 前言

Ubuntu 24.04 是最新的 LTS 版本,帶來了內核更新、性能優化以及更強的安全性。本指南詳細記錄了從 Ubuntu 22.04 升級到 24.04 的完整過程,包括 升級前的準備、遇到的問題及如何選擇最佳選項,避免升級失敗或系統損壞。


🛠 2. 升級前的準備

? 2.1 備份重要數據

建議對 整個系統或重要目錄 進行備份,以防升級失敗后數據丟失。

備份整個系統:

sudo tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /

僅備份 /home 目錄(用戶數據):

sudo rsync -aAXv /home /mnt/backup/

如果是 VMwareParallels Desktop 也可以直接備份文件夾。
如果是服務器,建議 使用快照(LVM、ZFS 或 VMware 快照)。


? 2.2 更新現有軟件包

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

然后,確保 update-manager-core 已安裝:

sudo apt install update-manager-core -y

是否要重啟系統?

  • 如果 apt upgrade 更新了內核,建議 重啟
    sudo reboot
    
  • 如果只是普通的軟件包更新,則 可以不重啟,直接進入升級流程。

🚀 3. 執行 Ubuntu 版本升級

Ubuntu 提供了 do-release-upgrade 命令進行版本升級。

? 3.1 檢查是否可以升級

sudo do-release-upgrade -c

如果輸出:

Checking for a new Ubuntu release
No new release found

說明官方還未正式推送升級,你可以嘗試強制升級

sudo do-release-upgrade -d

其中 -d 選項用于升級到最新的開發版(如果 24.04 仍是 Beta 版)。


? 3.2 開始升級

運行:

sudo do-release-upgrade

👉 升級過程中系統可能會遇到以下選項:

3.2.1是否自動重啟服務?

建議選擇 Yes,讓系統自動重啟受影響的服務。

選項說明適用場景
? 選擇 “是”(自動重啟服務)適用于 Ubuntu 桌面版或無關鍵服務器應用的情況。
選擇“是”可以減少手動操作,使升級更加順暢。
個人使用、開發環境
? 選擇 “否”(不自動重啟服務)如果系統運行關鍵服務(如數據庫、Web 服務器等),建議選擇“否”。
這樣可以在升級完成后手動重啟,避免因服務重啟導致中斷。
生產環境、服務器

在這里插入圖片描述

3.2.2配置文件沖突(如 sshd_config)

選擇建議

情況選項說明
如果你以前修改過 sshd_config,并且不想丟失修改(推薦)選擇 “keep the local version currently installed”(保持當前已安裝的本地版本)這樣可以保留你的自定義 SSH 設置,避免覆蓋導致 SSH 連接中斷。
如果你不確定是否要修改 sshd_config,或者想要默認的新配置選擇 “show the differences between the versions”“show a side-by-side difference”查看新舊版本的不同,評估新版本是否有重要變更,再決定保留本地版本還是更新。
如果你想要使用官方默認的 sshd_config選擇 “install the package maintainer’s version”這樣會 覆蓋你現有的 SSH 設置,可能影響 SSH 訪問權限等,需要手動重新配置。

推薦操作

建議說明
如果是遠程連接(如 SSH 訪問云臺虛擬機)強烈建議 保持本地版本,以免導致 SSH 連接問題。
如果不確定或想對比版本可以選擇 “show the differences” 先查看變更內容。

在這里插入圖片描述


?? 4. 升級過程中遇到的問題及解決方案

🛑 4.1 gnome-remote-desktop 安裝失敗

在這里插入圖片描述

錯誤信息:

Failed to check if group gnome-remote-desktop already exists: Connection refused

解決方案:
系統升級成功以后,手動重新安裝:

sudo apt install --reinstall gnome-remote-desktop

如果還是報錯,那么手動創建用戶組:

sudo groupadd -r gnome-remote-desktop
sudo useradd -r -g gnome-remote-desktop -s /usr/sbin/nologin gnome-remote-desktop
sudo apt install --reinstall gnome-remote-desktop

然后重啟:

sudo reboot

🛑 4.2 fwupd.conf 配置文件沖突

在這里插入圖片描述

錯誤信息:

The configuration file /etc/fwupd/fwupd.conf has changed.
Do you want to install the package maintainer’s version?

解決方案:

  • 如果不清楚該文件的用途,推薦選擇 “D”,對比以后合并。
  • 如果對 fwupd.conf 做了定制(如固件更新策略),可以保留當前版本。

🛑 4.3 systemctl restart dbus 造成黑屏

執行 sudo systemctl restart dbus 后,整個系統黑屏,鼠標鍵盤失效。

解決方案:

  1. 切換到 TTY 終端(Ctrl + Alt + F3)
  2. 重新啟動 GNOME 桌面
    sudo systemctl restart gdm
    
  3. 如果仍然黑屏,執行系統重啟
    sudo reboot
    

🔍 5. 檢查升級是否成功

? 5.1 確認 Ubuntu 版本

lsb_release -a

正確輸出示例:

Ubuntu 24.04 LTS

? 5.2 檢查內核版本

uname -r

示例輸出:

6.8.0-55-generic

? 5.3 檢查系統服務是否正常

systemctl --failed

如果輸出:

0 loaded units listed.

說明所有系統服務正常運行。


🎯 6. 總結

🔹 這次升級的重點

  1. 系統升級需要備份,避免數據丟失。
  2. 遇到 libc6sshd_config 等配置文件沖突時,選擇最適合自己的方式
  3. 升級完成后,檢查 Ubuntu 版本、內核版本以及服務狀態

🔹 遇到的主要問題

? SSH 配置沖突 → 選擇保留或覆蓋
? 系統服務需要重啟 → 選擇 Yes
? gnome-remote-desktop 組權限錯誤 → 手動創建

至此,Ubuntu 22.04 到 24.04 的升級順利完成!🎉

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72912.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72912.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72912.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【每日學點HarmonyOS Next知識】Web跨域資源、Web長按菜單、Web攔截請求、禁止錄屏、Base64圖片寬高

1、HarmonyOS Web組件本地資源跨域問題? 關于資源跨域問題的解決,可以參考以下官網文檔:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-cross-origin-V5 方法一 為了使Web組件能夠成功訪問跨域資源,開…

數據庫查問題常用OS命令匯總

1、內存使用情況查看 top //查看活躍進程占用情況 free -mh //查看操作系統當前可用內存 2、cpu使用情況 lscpu //查看os cpu情況 sar -u -f sar文件名 -s hh:mm:ss -e hh:mm:ss //查看對應日期的歷史cpu情況 top //查看當前活躍進程使用cpu情況 3、io情況 iostat …

nlp培訓重點-5

1. LoRA微調 loader: # -*- coding: utf-8 -*-import json import re import os import torch import numpy as np from torch.utils.data import Dataset, DataLoader from transformers import BertTokenizer """ 數據加載 """cl…

CI/CD—Jenkins配置Maven+GitLab自動構建jar包

一、安裝Maven插件通過Maven構建項目 1、在Jenkins上安裝Maven Integration plugin插件 2、創建一個maven項目 2.1、填寫構建的名稱和描述等 2.2、填寫連接git的url 報錯:無法連接倉庫:Error performing git command: git ls-remote -h http://192.168.…

ngx_regex_create_conf

ngx_regex_create_conf 定義在 src/core/ngx_regex.c static void * ngx_regex_create_conf(ngx_cycle_t *cycle) {ngx_regex_conf_t *rcf;ngx_pool_cleanup_t *cln;rcf ngx_pcalloc(cycle->pool, sizeof(ngx_regex_conf_t));if (rcf NULL) {return NULL;}rcf->p…

【數據結構】初識集合框架及背后的數據結構(簡單了解)

目錄 前言 如何學好數據結構 1. 什么是集合框架 2. 集合框架的重要性 3. 背后所涉及的數據結構以及算法 3.1 什么是數據結構 3.2 容器背后對應的數據結構 3.3 相關java知識 3.4 什么是算法 3.5 基本關系說明(重要,簡單了解) 前言 …

P9242 [藍橋杯 2023 省 B] 接龍數列--DP【巧妙解決接龍問題】

P9242 [藍橋杯 2023 省 B] 接龍數列--DP 題目 解析什么時候該用 DP?動態規劃 vs 其他方法代碼 題目 解析 這題沒思路,壓根沒想到DP 😦 看了大神的題解,利用dp記錄每一個數結尾的長度,最后再用N-dp中的最大值&#xf…

用《設計模式》的角度優化 “枚舉”

枚舉應該都有用過,枚舉主要的作用是為了方便用戶查找和引用枚舉。 案例一 下面的枚舉邏輯很簡單,就是通過枚舉值返回不同的結果。 public enum OperationEnum {EQUAL_TO,CONTAINS,START_WITH,END_WITH;public String getOperationValue(String value)…

SQL根據分隔符折分不同的內容放到臨時表

SQL Server存儲過程里根據分隔符折分不同的內容放到臨時表里做查詢條件,以下分隔符使用“/”,可修改不同分隔符 --根據分隔符折分不同的內容放到臨時表--------------- SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS id, LTRIM(RTR…

Ubuntu切換lowlatency內核

文章目錄 一. 前言二. 開發環境三. 具體操作 一. 前言 低延遲內核(Lowlatency Kernel) 旨在為需要低延遲響應的應用程序設計的內核版本。Linux-lowlatency特別適合音頻處理、實時計算、游戲和其他需要及時響應的實時任務。其主要特點是優化了中斷處理、調…

基于Django創建一個WEB后端框架(DjangoRestFramework+MySQL)流程

一、Django項目初始化 1.創建Django項目 Django-admin startproject 項目名 2.安裝 djangorestframework pip install djangorestframework 解釋: Django REST Framework (DRF) 是基于 Django 框架的一個強大的 Web API 框架,提供了多種工具和庫來構建 RESTf…

VUE3開發-9、axios前后端跨域問題解決方案

VUE前端解決跨域問題 前端頁面需要改寫 如果無效,記得重啟服務器 后端c#解決跨域問題 前端js取值,后端c#跨域_c# js跨域-CSDN博客

DailyNotes 增加提醒功能

TODO:準備給 DailyNotes 增加一個提醒功能,準備接入 AI 來做一些事情。試了一下,非常靠譜。 具體 DailyNotes 和 Ollama 的交互方式,可以直接調用命令行,也可以走網絡API。 rayuK2CD9WCYN4 ~ % ollama run deepseek-…

PY32MD320單片機 QFN32封裝,內置多功能三相 NN 型預驅。

PY32MD320單片機是普冉半導體的一款電機專用MCU,芯片采用了高性能的 32 位 ARM Cortex-M0 內核,主要用于電機控制。PY32MD320嵌入高達 64 KB Flash 和 8 KB SRAM 存儲器,最高工作頻率 48 MHz。PY32MD320單片機的工作溫度范圍為 -40 ~ 105 ℃&…

OpenManus介紹及本地部署體驗

1.OpenManus介紹 OpenManus,由 MetaGPT 團隊精心打造的開源項目,于2025年3月發布。它致力于模仿并改進 Manus 這一封閉式商業 AI Agent 的核心功能,為用戶提供無需邀請碼、可本地化部署的智能體解決方案。換句話說,OpenManus 就像…

【貪心算法】簡介

1.貪心算法 貪心策略:解決問題的策略,局部最優----》全局最優 (1)把解決問題的過程分成若干步 (2)解決每一步的時候,都選擇當前看起來的“最優”的算法 (3)“希望”得…

springboot知識點以及源碼解析(2)

web開發--靜態規則與定制化 springboot對靜態資源的映射規則:在類路徑下面定義目錄static或public或resources或者META-INF/resources,訪問時項目根目錄靜態資源的名稱 在springboot中,如果項目中存在同名的靜態資源和同名的動態資源。那么我…

C++:string容器(下篇)

1.string淺拷貝的問題 // 為了和標準庫區分,此處使用String class String { public :/*String():_str(new char[1]){*_str \0;}*///String(const char* str "\0") // 錯誤示范//String(const char* str nullptr) // 錯誤示范String(const char* str …

使用 vxe-table 導出 excel,支持帶數值、貨幣、圖片等帶格式導出

使用 vxe-table 導出 excel,支持帶數值、貨幣、圖片等帶格式導出,通過官方自動的導出插件 plugin-export-xlsx 實現導出功能 查看官網:https://vxetable.cn gitbub:https://github.com/x-extends/vxe-table gitee:htt…

JavaScript數據類型和內存空間

一、JavaScript 數據類型 基本數據類型:字符串(String)、數字(Number)、布爾(Boolean)、空(Null)、未定義(Undefined)、Symbol 引用數據類型:對象(Object)、數組(Array)、函數(Fun…