uname -r 返回错误的内核版本

uname -r 返回错误的内核版本

我从 Ubuntu 12 升级到了 14.04,并在升级过程结束时运行了检查,以验证一切正常。以下是uname -a

Linux odoo 2.6.32-042stab092.3 #1 SMP Sun Jul 20 13:27:24 MSK 2014 x86_64 x86_64 x86_64 GNU/Linux

然后输出lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

因此看起来系统已更新,但内核没有更新。

看到这种情况,我按照以下步骤手动下载并安装了 3.16 内核:

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600_3.16.0-031600.201408031935_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb

sudo dpkg -i linux-headers-3.16.0-*.deb linux-image-3.16.0-*.deb

但重启后,uname -mrs仍然告诉我

Linux 2.6.32-042stab092.3 x86_64

我如何检查uname命令是否在撒谎或者内核是否真的没有更新?

答案1

不完全是。

uname 会告诉您正在运行哪个内核,而不是已安装哪个内核。因此,您可能已安装新内核,但系统只有在重启后才会运行它。

安装新内核后(尤其是手动安装),您将需要sudo update-grub在终端窗口中运行并然后重新启动。

如果内核 3.16 安装正确,请确保在启动 PC 时在 GRUB2 中选择了它。为确保万无一失,您可以在 grub 中选择“Ubuntu 高级选项”。所有已安装的内核都在那里。

sudo update-grub在手动安装内核时,这一部分至关重要。

相关内容