![uname -r 返回错误的内核版本](https://linux22.com/image/976627/uname%20-r%20%E8%BF%94%E5%9B%9E%E9%94%99%E8%AF%AF%E7%9A%84%E5%86%85%E6%A0%B8%E7%89%88%E6%9C%AC.png)
我从 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
在手动安装内核时,这一部分至关重要。