Ubuntu内核更新会自动发生吗?


11

我是Linux的新用户,所以我对内核更新有疑问。它们会自动发生吗?在某些站点上,我读到内核更新是自动的。但是,关于新的4.6和4.7内核,我读到您需要手动更新它们。


3
它们不会像Windows 10更新那样自动安装。您必须给软件经理“批准”。
You'reAGitForNotUsingGit

Answers:


8

确实会在常规更新和升级过程中安装新的Ubuntu内核。例如,本周我16.04内核版本从去4.4.0-34-generic4.4.0-36-generic的时候我我每天跑sudo apt update && sudo apt full-upgrade

如果您不经常运行这些命令,则会在重要更新(例如新内核)可用时弹出提示您更新软件。您必须对这些更新进行身份验证,否则它们将不会发生,正如@AndroidDev指出的那样。

默认情况下,系统将始终引导最新的内核。内核更新后,最好sudo apt autoremove删除旧内核(留下一个额外的备用旧内核)

如果你想安装一个新的主线内核(4.6*4.7*对于一些特殊的原因,那么你必须手动执行),但是这是一个很少不错的主意,因为Ubuntu的内核进行修补,并与Ubuntu配置为工作做好。


谢谢。我知道sudo apt-get update / upgrade命令。只是想知道某个时候通过该命令是否可以使用4.6或4.7?
thewire

2
@thewire不,Ubuntu的下一个版本将基于主线内核4.8版​​。请参阅wiki.ubuntu.com/Kernel/Support#A16.04.x_Ubuntu_Kernel_Support
edwinksl

3

您可以通过启动终端并输入以下命令来找到您的内核版本:

uname -a

您会看到类似以下内容:

Linux z97 4.7.2-040702-generic #201608201334 SMP Sat Aug 20 17:37:03 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

在这种情况下,内核版本为:4.7.2

  • 第一个数字是内核版本(4)。
  • 第二个数字是主要修订版本(7)。
  • 第三个数字是次要修订版(2)。

要了解有关升级选项的更多信息,请运行:

man apt-get (<-- old/deprecated, kind of)

要么

man apt

如上所述,如果您运行:

sudo apt update && sudo apt full-upgrade

您将获得次要版本内核更新,并且与更新后的内核不兼容的软件包将被删除。这就是为什么您不会自动获得主要版本自动更新的原因,因为很有可能您安装(使用)的某些软件包不兼容,因此系统可能会崩溃。

如果您喜欢冒险,并且想尝试最新的内核,可以在这里找到适用于Ubuntu的预构建Linux内核:

http://kernel.ubuntu.com/~kernel-ppa/mainline/

例如,如果要安装最新的4.7.2内核:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.2/

在该页面上,您将看到:

Build for amd64 succeeded (see BUILD.log.amd64):
  linux-headers-4.7.2-040702_4.7.2-040702.201608201334_all.deb
  linux-headers-4.7.2-040702-generic_4.7.2-040702.201608201334_amd64.deb
  linux-headers-4.7.2-040702-lowlatency_4.7.2-040702.201608201334_amd64.deb
  linux-image-4.7.2-040702-generic_4.7.2-040702.201608201334_amd64.deb
  linux-image-4.7.2-040702-lowlatency_4.7.2-040702.201608201334_amd64.deb

我通常会忽略“低延迟”的内容(我仍然不确定它们是什么)。如果右键单击该页面上的链接以获取链接位置,则可以下载“全部标题”,“普通标题”和“普通图像” deb文件:

mkdir /tmp/kernels && cd /tmp/kernels

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.2/linux-headers-4.7.2-040702_4.7.2-040702.201608201334_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.2/linux-headers-4.7.2-040702-generic_4.7.2-040702.201608201334_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.2/linux-image-4.7.2-040702-generic_4.7.2-040702.201608201334_amd64.deb

然后安装:

sudo dpkg -i *.deb

如果您的系统崩溃了,并且您想卸载刚安装的内核,请进入终端提示符(如果桌面无法启动,则可能必须按ALT + CTRL + F1组合键):

sudo apt-get remove 'linux-headers-4.7.2*' 'linux-image-4.7.2*'

我目前正在运行4.7.2,到目前为止还没有遇到任何严重的问题(有几次我在启动时出现了崩溃报告,但是系统仍然可以正常运行)。


1

另一个答案表明,新内核会自动安装,但是如果您发现新内核存在问题,则始终可以使用旧版本启动计算机。为此,请进入GRUB菜单。您将在计算机启动时按住shift键并显示“启动选项”(通常在启动过程中显示计算机品牌的位置)。它应该带您到grub菜单,您可以在其中进入高级选项,并选择一个先前的(非恢复模式)内核进行引导。纯粹是可选的,但是在您可能希望使用旧内核的情况下可用(出于任何给定的原因,例如,硬件的系统稳定性更好)。

我之所以这样说是因为我必须在自动更新后使用以前的内核,因为新内核在系统中造成了一些不稳定。希望这些信息对您有用。

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.