我终于在这里创建了一个帐户!
我有一台 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 linux
回E: Unable to locate package linux
sudo apt-get install linux-generic
回linux-generic is already the newest version (4.4.0.72.78).
sudo apt-get install linux-image-generic
回linux-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...有些东西不能设置为自动,如果设置为自动,自动删除功能会删除系统运行所需的东西。
我认为最好为那些可能犯此错误的新手加上这个警告。