Linux/Ubuntu系统升级教程

Ubuntu 22.04.2 LTS版本,最新的22版本是Ubuntu 22.04.4 LTS,升级一下小版本

 

检查软件源设置

为了确保只升级到特定的小版本号,需要检查并修改软件源设置,防止升级的24版本

sudo nano /etc/apt/sources.list

确保所有条目都指向jammy-updates和jammy-security(Ubuntu 22.04的代号是Jammy Jellyfish)

 

运行升级命令

# 更新现有的软件包列表
sudo apt update

# 升级所有已安装的软件包
sudo apt upgrade

# 执行发行版升级,确保所有系统组件也会被升级
sudo apt dist-upgrade

# 重启系统以确保所有更改生效
sudo reboot

# 检查Ubuntu的当前版本
lsb_release -a

sudo apt upgrade 执行的时候可能会遇到sshd_config 文件做过修改,选择保留和替换,这个自行选择或保留替换即可

# 显示并排差异
# 选择 "show a side-by-side difference between the versions"

# 如果决定保留本地版本
# 选择 "keep the local version currently installed"

# 如果决定使用新版本
# 选择 "install the package maintainer's version"

 

清理系统

sudo apt autoremove

# 推荐先执行这个查看一下删什么
sudo apt autoremove --just-print
# 这个也可以,模拟操作,但是不会真的删除
sudo apt autoremove --dry-run

sudo apt autoremove 用于自动移除系统上不再需要的软件包。这些通常是由于软件包依赖关系变化而变成不再需要的包,或者是一些在升级或卸载软件时留下的孤立包。

  • 功能
    • 删除系统中不再使用的包及其依赖项。
    • 清理由于安装新软件包或升级旧软件包而遗留下来的孤立包。
  • 示例: 假设你安装了一个软件包A,它依赖于包B和包C。如果你后来卸载了包A,而包B和包C不再被任何其他已安装的软件包依赖,那么sudo apt autoremove 会自动检测到这一点,并移除包B和包C,以释放系统存储空间。
  • 总结:清理不再需要的包及其依赖项,释放系统存储空间。
  • 注意:APT 会显示将要删除的软件包列表。务必仔细检查这些包,确保没有关键或自定义的软件包被意外删除。

 

sudo apt autoclean

sudo apt autoclean 用于清理包管理缓存中已不再可用的.deb包。每次你安装或升级软件包时,APT会下载相应的.deb文件并将其保存在缓存中。随着时间的推移,这些缓存文件可能会占用大量磁盘空间。

  • 功能
    • 删除缓存中不再可用的旧版本包文件。
    • 保留当前仍然可用的包文件,以便在需要时可以快速重新安装或升级。
  • 示例: 如果你在系统上多次进行软件包的安装和升级,APT缓存中可能会存储多个旧版本的.deb文件。sudo apt autoclean 将清理这些旧的、无用的缓存文件。
  • 总结:清理包管理缓存中不再可用的旧版本包文件,节省磁盘空间。

 

清理完可以执行sudo reboot 重启,当然这个步骤也可以不执行。相对安全一点。

 

内核升级

Ubuntu是升级了,但是有时候内核可能还要升级。

# 查看内核版本
uname -r

Ubuntu 内核生命周期和支持堆栈:https://ubuntu.com/kernel/lifecycle,可以到这里查看内核和支持状态,上面都有安装最新内核命令和查看内核最新支持状态

 

Ubuntu 22.04 LTS — Jammy Jellyfish  版本举例:

# 安装最新内核
sudo apt-get install --install-recommends linux-generic-hwe-22.04
# 查看支持状态
hwe-support-status --verbose
THE END