如何在Ubuntu 16.04服务器中升级Linux内核

在本教程中,我将向您展示如何将Ubuntu内核升级为使用Ubuntu内核团队提供的最新主线内核构建。我会 ...

Linux内核是Ubuntu操作系统的核心。 Linux内核是用于计算机操作系统的单片Unix类内核,由Linux Torvalds创建,由所有Linux发行版(包括Ubuntu,CentOS,OpenSuSE,ReadHat和Debian)使用。

在本教程中,我将向您展示如何将Ubuntu内核升级为使用Ubuntu内核团队提供的最新主线内核构建。 我将使用Ubuntu 16.04.2 Xenial Xerus与默认内核版本4.4作为基础升级到4.11.2内核版本。

什么是“主线内核构建”?

Mainline Kernel Build是一个从kernel.org开发的一个vanilla内核,作为deb包打包。 Canonical Kernel Team构建和定制Ubuntu的内核源代码,并将其构建为.deb包,以便于apt包管理器进行安装。 只有在需要最新的内核功能的情况下才能使用Mainline内核,因为与Ubuntu一起运行的生产内核可能不太稳定。

我们将要做什么:

  1. 更新存储库并升级所有软件包。
  2. 检查内核活动。
  3. 安装新内核版本。
  4. 删除旧内核。

第1步 - 更新Ubuntu存储库并升级所有软件包

在升级内核之前,我们要做的第一件事是更新Ubuntu存储库并将所有软件包升级到最新版本。

通过SSH登录连接到您的ubuntu服务器。 您必须是root用户才能执行下一步。 如果您的服务器上禁用root登录,请以正常用户身份登录,并运行'sudo -s成为root用户。

ssh root@ubuntu16.04.2

更新系统的所有存储库。

sudo apt update

更新ubuntu信息库

然后使用以下命令升级安装的所有软件包。

sudo apt upgrade -y

最后,重新启动服务器以确保应用可能安装的内核更新。

sudo reboot

现在再次检查可升级包,并使用以下命令。

sudo apt list --upgradeable

确保您没有更新更新。

第2步 - 检查活动内核版本

在这一步中,我们将检查系统的活动内核。 我们需要知道在系统上使用的系统架构和内核版本。

使用uname命令检查系统使用的活动内核。

uname -msr

您将获得如下内核版本。

Linux 4.4.0-78-generic x86_64

这意味着我们正在使用具有x86_64 / 64位系统的Generic Linux内核版本4.4。

通用内核是通用内核。 如果您想使用您的盒子进行编辑,编码视频和音频等任务,那么建议您使用其中的“低级”内核。

第3步 - 安装新的内核版本

现在我们知道我们目前正在使用内核4.4。 在这一步中,我们将使用内核升级到最新的主线内核版本4.11.2。 所有主线内核构建可以从本站下载 - http://kernel.ubuntu.com/~kernel-ppa/mainline/

为主线内核版本创建一个新的目录。

sudo mkdir -p ~/4.11.2
cd ~/4.11.2

下载通用内核版本软件包(因为我们使用通用版本)使用wget命令。

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.2/linux-headers-4.11.2-041102_4.11.2-041102.201705201036_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.2/linux-headers-4.11.2-041102-generic_4.11.2-041102.201705201036_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.2/linux-image-4.11.2-041102-generic_4.11.2-041102.201705201036_amd64.deb

下载Mianline Kernel Build

现在使用下面的dpkg命令安装软件包。

dpkg -i *.deb

内核程序包安装完成后,更新grub并重新启动系统。

sudo update-grub
sudo reboot

更新Grub Ubuntu 16.04

服务器重启后,再次检查内核版本。

uname -msr

您将在系统上获得一个新内核:4.11.2。

Linux 4.11.2-041102-generic x86_64

新的内核版本已经安装

第4步 - 删除旧的内核

在这个阶段,我们的服务器的内核版本更新到4.11.2。 在这一步中,我们将删除旧的内核,只需离开我们现在使用的新版本。

为此,我们将使用一个名为' byobu '的命令行实用程序。 安全地从系统中删除和清除旧内核是一个很好的工具,永远不会删除当前正在运行的内核。

用以下apt命令安装byobu。

sudo apt install byobu

安装Byobu ubuntu 16.04

完成它,检查系统上安装的内核版本。

dpkg -l | grep linux-image

我们将得到如下结果。

获取ubuntu内核安装在系统上

在服务器上,我已经安装了三个版本的Ubuntu内核:4.4.62 - 4.4.78 - 4.11.2。 而现在,系统正在使用最新的内核4.11.2。 我们将删除旧的内核4.4并离开最新的4.11.2。

运行下面的命令删除旧内核。

sudo purge-old-kernels

如果你看到以下结果:

No kernels are eligible for removal

那么你只有安装了2个内核版本。 默认情况下,byobu将在系统上至少保留2个内核版本,以确保在第一个失败时具有备用内核。

如果你想保留唯一一个(最新的)内核,那么你可以使用下面的命令除去一个内核以外的所有内核。

purge-old-kernels --keep 1 -q

现在更新grub,您将获得系统上安装的唯一一个内核版本。

sudo update-grub

删除旧内核Ubuntu 16.04

Ubuntu内核现在从主线内核版本升级到最新版本4.11.2,旧的内核版本已从系统中删除,以释放磁盘空间。

参考