如何将内核更新到特定版本

我想从不同的服务器上的当前状态升级到特定的内核版本(5.4.0-81-generic)。 我希望使用apt软件包管理器来更新内核。
Ubuntu 18.04.3 LTS  4.15.0-55-generic
Ubuntu 18.04 LTS    4.15.0-51-generic
Ubuntu 18.04 LTS    4.15.0-20-generic
Ubuntu 18.04 LTS    4.15.0-106-generic
Ubuntu 18.04 LTS    4.15.0-133-generic
Ubuntu 18.04 LTS    4.15.0-140-generic
Ubuntu 18.04 LTS    4.15.0-107-generic
Ubuntu 18.04.4 LTS  5.4.0-74-generic
Ubuntu 18.04.4 LTS  5.4.0-77-generic

ls /boot
config-4.15.0-76-generic  grub                          initrd.img-5.4.0-70-generic   System.map-5.4.0-70-generic  vmlinuz-5.4.0-70-generic
config-5.4.0-70-generic   initrd.img-4.15.0-76-generic  System.map-4.15.0-76-generic  vmlinuz-4.15.0-76-generic

uname -r
5.4.0-70-generic

当我尝试搜索内核版本时,我得到了以下两个图像,请问应该使用哪一个。
apt-cache search linux-image | grep 5.4.0-81-generic
linux-image-5.4.0-81-generic - Signed kernel image generic
linux-image-unsigned-5.4.0-81-generic - Linux kernel image for version 5.4.0 on 64 bit x86 SMP

现在,如何安全、优雅地仅更新内核版本 -
apt-get upgrade linux-image-5.4.0-81-generic

这个回答解决了你的问题吗?如何恢复默认仓库? 它已经在官方仓库中了。为了保证系统的安全性,你需要安装安全更新(不仅仅是内核)。 - N0rbert
我的问题更多是关于如何使用apt软件包管理器安装特定的内核版本。 - unknown
请将ls /bootuname -r的输出添加到问题中。 - N0rbert
添加了 ls /bootuname -r 的输出结果。 - unknown
1你的问题应该清楚地解释为什么你想要一个特定的旧内核。虽然这是一个特例,但它是可以做到的。这样的解释将有助于阻止新用户(这个网站的主要访问者)错误地降级他们的内核。 - user535733
1个回答

警告:如果您关心系统安全,执行以下操作是危险的。只有在确定想要实现什么时才继续。

因此,您必须通过以下方式删除meta-package(它通常依赖于最新的内核,现在在此HWE堆栈中为5.4.0-86)

sudo apt-get update
sudo apt-get remove linux-image-generic-hwe-18.04
sudo apt-get autoremove

然后通过安装修复版本来解决问题。
sudo apt-get install linux-image-5.4.0-81-generic

但请再次注意,最新的内核更安全,可能修复了许多CVE。请查看changelog以获取详细信息。
因此,要获取所有最新的升级,您需要执行以下命令:
sudo apt-get update
sudo apt-get install --install-recommends linux-generic-hwe-18.04  
sudo apt-get dist-upgrade # to get all latest dependencies

然后重新启动以使用所有最新的软件,包括内核。


更多阅读材料:


请问您能告诉我您在哪里找到了 linux-image-generic-hwe-18.04,以及它是什么,为什么要将其移除吗? - unknown
我正在查看https://wiki.debian.org/HowToUpgradeKernel,上面并没有提到需要删除任何内容。请告诉我删除元包的意义是什么。 - unknown
像 linux-image-5.4.0-81-generic 这样的软件包是 linux-image-generic-hwe-18.04 的动态依赖项。当前版本为 5.4.0-86。 - N0rbert
根据uname -r命令的输出,我的当前内核不是'5.4.0-70-generic'吗?这与移除'met-package 'linux-image-generic-hwe-18.04''有何关联?移除该软件包会同时移除我的旧软件包。 - unknown
2你必须更仔细地了解dpkg/APT的内部机制。请阅读相关文档。然后执行apt-cache rdepends linux-image-5.4.0-70-generic来了解它与linux-image-generic-hwe-18.04包之间的关系。在做一些奇怪的事情之前,你必须先学习工具和系统,以我的个人意见。 - N0rbert
感谢您的回答。我按照步骤成功地在18.04.6 LTS上安装了5.10和5.13.19内核。我使用了mainline来安装这些内核。 - Champ