惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
V
V2EX
博客园 - 【当耐特】
Vercel News
Vercel News
雷峰网
雷峰网
爱范儿
爱范儿
WordPress大学
WordPress大学
云风的 BLOG
云风的 BLOG
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Microsoft Azure Blog
Microsoft Azure Blog
F
Full Disclosure
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
NISL@THU
NISL@THU
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Attack and Defense Labs
Attack and Defense Labs
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
P
Proofpoint News Feed
B
Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
K
Kaspersky official blog
I
InfoQ
Google Online Security Blog
Google Online Security Blog
L
LINUX DO - 最新话题
Project Zero
Project Zero
Engineering at Meta
Engineering at Meta
V
Visual Studio Blog
AI
AI
Schneier on Security
Schneier on Security
B
Blog RSS Feed
T
Tor Project blog
H
Help Net Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
S
Security @ Cisco Blogs
T
Threat Research - Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
C
Cyber Attacks, Cyber Crime and Cyber Security
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
V2EX - 技术
V2EX - 技术
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
A
Arctic Wolf
Webroot Blog
Webroot Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main

好好学习的郝

ClawdBot(OpenClaw)试用记录 编程辅助工具 Codex 入门篇 编程辅助工具 Claude Code 入门篇 Claude API 中转服务 Claude Relay Service LLM 接口管理和分发系统 New API 好好学Git:Git Submodule详解 编程辅助工具Cursor入门篇 好好学Golang:Golang问题记录 One API配置自定义渠道 FastAPI入门篇 好好学Docker:使用Docker安装配置AList 好好学Docker:容器指标查看工具ctop 好好学Docker:自建RustDesk Server 好好学Docker:使用Docker安装配置FileBrowser 邮箱配置中的SPF、DKIM、DMARC记录 One API 开发环境配置 LLM 接口管理和分发系统 One API 好好学K8S:K8S中的Leader Election机制 好好学Golang:Viper库
好好学Linux:Ubuntu18 升级到 Ubuntu22
本文作者: 好好学习的郝 · 2024-11-09 · via 好好学习的郝

1. 为什么要升级Ubuntu?

Ubuntu18 的常规支持已于2023年4月结束,而 Ubuntu22 有更长的常规支持周期,这意味着在未来几年内,用户将持续获得包括功能更新、安全更新和错误修复在内的全面支持,确保系统的稳定性和安全性。

Ubuntu22 采用了较新的 Linux 内核版本,新内核通常会带来更好的硬件支持、性能优化和安全性增强。

此外,最重要的是,很多Ubuntu中的软件仅支持最新版本的Ubuntu,比如Waydroid,比如麟卓卓懿。

因此,虽然升级Ubuntu比较麻烦,并且存在一定的风险,但是是值得的。

参考文档:

2. Ubuntu18升级Ubuntu20

Ubuntu不能跨版本升级,只能逐个版本升级,或者逐个LTS版本升级。因此需要先从Ubuntu18升级到Ubuntu20,再从Ubuntu20升级到Ubuntu22。

2.1. 升级前准备

0、关闭一些软件(可选)

1
2
3
4
5
systemctl stop docker
systemctl disable docker
systemctl stop v2raya
systemctl disable v2raya
vncserver -kill :1

1、修改软件源配置

1
vim /etc/apt/sources.list

添加如下配置:

1
2
3
deb http://cn.archive.ubuntu.com/ubuntu/ bionic main restricted
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
deb http://cn.archive.ubuntu.com/ubuntu/ bionic-security main restricted

2、更新软件包

1
2
3
apt update
apt upgrade
apt dist-upgrade

3、删除无用软件包(可选)

1
apt autoremove

4、安装 update-manager-core

1
apt install update-manager-core

5、重启系统

1
reboot

2.2. 执行升级

1、配置使用lts升级

1
vim /etc/update-manager/release-upgrades

如下修改:

1
Prompt=lts

注意:如果配置了 Prompt=never ,那么说明禁用了Ubuntu更新。更新时会提示:

1
2
3
Checking for a new Ubuntu release
In /etc/update-manager/release-upgrades Prompt
is set to never so upgrading is not possible.

参考文档:Can’t upgrade from 18.04 server to 20.04

2、执行升级

1
do-release-upgrade

升级过程会有交互提示,根据提示选择即可。

整个升级过程大约1-2小时。升级完成需要重启一次系统。

3、查看当前版本

1
lsb_release -a

3. Ubuntu20升级到Ubuntu22

不用再次进行升级前准备,直接执行升级命令即可。

1、执行升级

1
do-release-upgrade

升级过程会有交互提示,根据提示选择即可。

Ubuntu20升级Ubuntu22过程中,在 Upgrade to the firefox snap 时会卡住半个小时以上,请耐心等待。详情参考Upgrade Ubuntu 20.04 to 22.04 stuck on ‘’installing the firefox snap’’

2、查看当前版本

1
lsb_release -a