错误更新后如何降级内核(16.04)


20

我的笔记本电脑上最近对Ubuntu 16.04内核(4.4.0-89和-91)的升级严重失败。幸运的是,我仍然安装了以前的工作版本(4.4.0-57)。现在,我已经将Grub配置为向我显示菜单,并且在启动时手动选择-57,但这似乎很脆弱,将来很可能会中断sudo apt upgrade

我想我想要:

  • 删除-89和-91,因为它们对我没有任何好处。
  • 将-57设置为Grub的默认值,这种方式将在升级过程中保持不变。
  • 为了确保-57保持安装状态,即使我稍后安装内核升级也是如此
  • 为了能够轻松地尝试稍后的内核更新,但是如果失败,请还原到-57。我主要关心的是-57被自动删除。
  • 如果我发现以后可以运行的更新,可以通过简单的方法来撤消所有操作并返回到后续的内核更新。

尝试使用-91删除-91 sudo apt remove linux-image-4.4.0-91-generic需要我删除linux-generic和linux-headers-generic。看来不好,所以我没有尝试过。

我可以找到各种有关一般问题的问题,但是似乎没有一个问题可以解决我的所有目标,而且大多数问题都已过时,以至于我认为它们不再适用。

最好的方法是什么?

附录:标记为“ 如何防止更新特定程序包?”的重复项 。该答案可能会解决我的部分问题,但并不能解决更大的问题。

广义上讲,问题在于内核以不寻常的方式处理。它是通过linux-generic安装的,它仅依赖于linux-image-generic和linux-image-header。这些反过来仅依赖于linux-linux-image-VERSION-generic和headers-VERSION-generic,值得注意的软件包会将版本号烘烤到软件包名称中(大概是为了简化并行安装多个软件包)。

该答案中未具体解决的是:

  • 不解决如何删除-89和-91。
  • 即使我安装了更高版本的更新,也无法解决如何将-57设置为Grub的默认值。
  • 即使我安装了以后的更新,也无法解决如何确保-57保持安装状态的问题。即使答案是保存一个或多个程序包,鉴于涉及的多个程序包,我仍要保存哪些程序包?如果要保留linux-generic,我该如何先降级?

内核在笔记本电脑上“失败”的可能性很小。可能您以错误的方式安装了某些驱动程序,并且在内核升级后“失败”。您安装了任何图形驱动程序吗?
飞行员

如果您删除带有标头的最新内核和linux-generic,将实现您的目标。但是正如我所说,问题有所不同。
飞行员

1
“失败”是没有无线网络,X对我的图形不满意。两者都是英特尔集成和二手库存驱动程序。通过多次重新启动(包括完全关闭/开机),问题仍然存在。因此,在我可以认真调查之前,我的目标是权宜之计。自然,我开始收集一些信息以进行认真的调查,-91开始按预期工作。叹息,我现在要交叉手指。
艾伦·德·史密特

1
这不是重复项。这不仅仅是冻结某些程序包。也许是重复的,但不是所提出问题的重复。
飞行员

Answers:


19

删除最新的内核

sudo apt remove linux-image-4.4.0-91-generic linux-headers-4.4.0-91-generic

这将卸载元软件包linux-genericlinux-image-generic并且linux-headers-generic。内核将永远不会升级。

要还原它,您可以运行

sudo apt install linux-generic

这将安装最新的内核,并且内核将得到升级。

linux-generic是一个meta包。它为空,但取决于其他两个meta包:linux-image-genericlinux-headers-generic

最后两个指向最新的内核映像和标头。

如果删除元软件包,则不会从Linux中删除任何内容,但内核映像和标头将无法更新。您以后可以随时安装它们。他们将提取最新的“真实”内核软件包。

因此,解决方案是手动删除不需要的内核软件包以及元软件包。


3

尽管Pilot6的解决方案可能是最好的解决方案,但您可以采取的措施少一些。

我将亲自从软件中心删除不需要的内核,然后将这些软件包保留-请参阅如何防止特定软件包的更新?

这是一个微不足道的更改,您可以轻松地进行更改或还原该更改。


您建议持有哪个包裹?
飞行员

我不确定linux-generic是否足够。可能需要添加其他内核,并且可能需要指定确切的内核,但是我对此表示怀疑。

3
sudo apt-mark hold linux-image-generic linux-headers-generic会做

1
@ Pilot6-不,您可以保留旧内核并标记grub引导哪个内核。askubuntu.com/questions/216398/…–
Panther

1
是的你可以。但这太复杂了,没有任何实际意义。
飞行员
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.