版本比较
标识
- 该行被添加。
- 该行被删除。
- 格式已经改变。
查看当前系统内核版本
默认情况下,我们能够在登录系统后的欢迎文本中,查看到系统的内核版本:
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-52-generic x86_64)
Welcome to Ubuntu 24.10 (GNU/Linux 6.11.0-14-generic x86_64)
Ubuntu 24.04 的默认版本是 6.8.x,Ubuntu 24.10 的默认版本是 6.11.x。我们也可以使用命令 uname -r 来查看版本:
代码块 | ||
---|---|---|
| ||
# uname -r 6.8.0-52-generic # 或 6.11.0-14-generic |
目前,如果想通过 apt install 来安装 6.12 内核,会因为内核尚未发布到官方仓库,而无法直接安装。
通过以下命令可以看到,不论是 Ubuntu 24.04 还是 Ubuntu 24.10,当前仓库中最新的版本都只到 Linux 6.11:
代码块 | ||
---|---|---|
| ||
# sudo apt-cache search linux-headers | grep 6.1 linux-headers-6.11.0-1003-gcp - Linux kernel headers for version 6.11.0 on 64 bit x86 SMP linux-headers-6.11.0-1004-aws - Linux kernel headers for version 6.11.0 on 64 bit x86 SMP linux-headers-6.11.0-1004-azure - Linux kernel headers for version 6.11.0 on 64 bit x86 SMP linux-headers-6.11.0-1004-lowlatency - Linux kernel headers for version 6.11.0 on 64 bit x86 SMP linux-headers-6.11.0-1006-oracle - Oracle Linux kernel headers for version 6.11.0 on 64 bit x86 SMP linux-headers-6.11.0-8 - Header files related to Linux kernel version 6.11.0 linux-headers-6.11.0-8-generic - Linux kernel headers for version 6.11.0 on 64 bit x86 SMP linux-source-6.11.0 - Linux kernel source for version 6.11.0 with Ubuntu patches linux-headers-6.11.0-1001-realtime - Linux kernel headers for version 6.11.0 on 64 bit x86 SMP linux-headers-6.11.0-1004-gcp - Linux kernel headers for version 6.11.0 on 64 bit x86 SMP ... |
快速切换任意版本的 Linux 内核
先安装 mainline 的软件包。只需要添加它的软件源,然后用 apt 安装即可
代码块 | ||
---|---|---|
| ||
sudo add-apt-repository ppa:cappelikan/ppa -y sudo apt update && sudo apt install mainline -y sudo mainline install 6.12.3 |
所有可用的内核版本都可以在 Ubuntu 的官方内核仓库查看:https://kernel.ubuntu.com/mainline/。
清理陈旧内核版本
因为安装的都是 Ubuntu 验证过的预构建内核,所以通常不会出现兼容性问题。当设备重启新的内核生效后,可以做一些系统维护工作,清理掉系统中不需要的旧内核版本。
根据 Ubuntu 版本不同,我们有不同的处理方式。
Ubuntu 24.10 版本的处理方法
代码块 | ||
---|---|---|
| ||
sudo apt autoremove -y |
Ubuntu 24.04 版本的处理方法
对于 Ubuntu 24.04,我们需要采取更精细的方式来管理内核版本
代码块 | ||
---|---|---|
| ||
dpkg -l | grep -E "linux-(headers|image|modules-extra)+" | grep -v 6.12.3 | awk '{print $2}' dpkg -l | grep -E "linux-(headers|image|modules-extra)+" | grep -v 6.12.3 | awk '{print $2}' | xargs -I {} sudo apt remove -y {} |
锁定当前内核版本
为了确保系统稳定性,特别是考虑到比如 Intel 驱动和相关软件的兼容性,我们可以锁定当前的内核版本:
代码块 | ||
---|---|---|
| ||
sudo apt-mark hold $(dpkg -l | grep -E "linux-(headers|image|unsigned|modules|modules-extra)" | grep 6.12.3 | awk '{print $2}') |
目录 |
---|