内核自行停止更新,尚无修复

内核自行停止更新,尚无修复

我终于在这里创建了一个帐户!

我有一台 2015 年的 MacBook Pro,运行的是 Ubuntu 16.04,内核是 4.4.0-72-generic。我在 Linux 上使用这台电脑大约两年了,我不明白为什么我不再有内核更新了。

我安装了 Ukuu,它告诉我可用的最新版本是 4.14.4!这正常吗?我以前每两周就会更新几百 MB 的 Linux 头文件和图像,但现在几个月都没有更新了。

我似乎无法理解这种情况是从什么时候发生的以及为什么发生的。

我用来查找更新的命令是: sudo apt update && sudo apt full-upgrade && sudo apt clean

当我在这个网站上搜索时我偶然发现了这一点:为什么 apt 不再更新内核?

所建议的修复均未奏效:

  • sudo apt-get install linuxE: Unable to locate package linux

  • sudo apt-get install linux-genericlinux-generic is already the newest version (4.4.0.72.78).

  • sudo apt-get install linux-image-genericlinux-image-generic is already the newest version (4.4.0.72.78).

  • sudo apt-get dist-upgrade返回0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

我认为这可能与有一次我使用 ukuu 安装最新的内核有关,但一切都崩溃了,所以我想我最终手动返回到旧内核,但那已经是很久以前的事了,我不确定是不是那样。

答案1

它似乎xenial-updates没有xenial-security在“软件和更新”中打开。在那里打开它。它应该显示

apt-cache policy linux-generic
linux-generic:
  Installed: 4.4.0.103.108
  Candidate: 4.4.0.103.108
  Version table:
 *** 4.4.0.103.108 500
        500 http://ru.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        500 http://ru.archive.ubuntu.com/ubuntu xenial-security/main amd64 Packages
        100 /var/lib/dpkg/status
     4.4.0.21.22 500
        500 http://ru.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

答案2

我以前遇到过这个问题,所以也许这可以帮你解决这个问题。

首先做

sudo apt-mark showmanual | grep linux-image

如果你看到类似的输出(当然你的将是旧的而不是我在示例中使用的新的)

linux-image-4.4.0-101-generic
linux-image-4.4.0-103-generic
linux-image-extra-4.4.0-101-generic
linux-image-extra-4.4.0-103-generic
linux-image-generic

记下这些

然后做

 sudo apt-mark showmanual | grep linux-headers

如果你看到类似这样的内容

linux-headers-4.4.0-101
linux-headers-4.4.0-101-generic
linux-headers-4.4.0-103
linux-headers-4.4.0-103-generic
linux-headers-generic

记下这些

如果是这种情况..这可能就是他们不更新的原因..你需要做

sudo apt-mark auto linux-image-4.4.0-101-generic linux-image-4.4.0-103-generic ...and so on for all the items

你想拥有sudo apt-mark auto任何

linux-image-4.x.x-xxx-generic
linux-image-extra-4.x.x-xxx-generic
linux-image-generic
linux-headers-4.x.x-xxx
linux-headers-4.x.x-xxx-generic
linux-headers-generic

一旦这些都标记为自动而不是手动

当你执行这两个命令时

sudo apt-mark showmanual | grep linux-image
sudo apt-mark showmanual | grep linux-headers

你没有得到任何输出,你可以检查

sudo apt-mark showauto | grep linux-image
sudo apt-mark showauto | grep linux-headers

它们应该都会自动显示...然后执行

sudo apt-get update
sudo apt-get upgrade

并且它们应该显示最新版本,一旦安装,它应该显示可用的旧版本sudo apt-get autoremove(嗯...自动删除不会删除列表中的最新版本和第二最新的版本...以防您需要后退一步 - 这就是为什么我的仍然显示两个版本)

现在,当有新内核可用时,您应该可以获取它们

希望这可以帮助

警告:这是修复此问题的唯一方法。不要错误地认为“哦,这很棒,我只需让一切自动化,它就会更新一切,然后我就可以用它清理我的系统apt-get autoremove

如果你这样做,你的系统就会被搞垮:D...有些东西不能设置为自动,如果设置为自动,自动删除功能会删除系统运行所需的东西。

我认为最好为那些可能犯此错误的新手加上这个警告。

相关内容