在本指南中,我们将学习为 Ubuntu 操作系统更新 Linux 内核的 7 种不同方法。 在这 7 种方法中,有 5 种方法需要重新启动系统才能应用新内核,而两种方法不需要。
在更新 Linux Kernel 之前,它是 强烈建议备份您的重要数据!
此处提及的所有方法仅在 Ubuntu 操作系统上进行了测试。 我们不确定它们是否适用于其他 Ubuntu 风格(例如 Xubuntu)和 Ubuntu 衍生产品(例如 Linux Mint)。
内容
A 部分 – 重启后的 Linux 内核更新
以下方法要求您重新启动系统以应用新的 Linux 内核。 以下所有方法都推荐用于个人或测试系统。
再次,请从您的 Ubuntu 系统中备份您的重要数据、配置文件和任何其他重要的东西。
方法 1 – 使用 dpkg 为 Ubuntu 更新 Linux 内核(手动方式)
此方法可帮助您从以下位置手动下载和安装最新的可用 Linux 内核 kernel.ubuntu.com 网站。 如果您想安装最新版本(稳定版或候选发布版),此方法将有所帮助。
从上面的链接下载 Linux 内核版本。 在编写本指南时,最新的可用版本是 5.0-rc1 最新的稳定版本是 v4.20.
单击您选择的 Linux 内核版本链接并找到适合您架构的部分(“Build for XXX”)。 在该部分中,下载具有这些模式的两个文件(其中 XYZ 是最高版本):
- linux-image-*XYZ*-generic-*.deb
- linux-modules-XYZ*-generic-*.deb
在终端中,将目录更改为文件所在的位置,然后运行以下命令手动安装内核:
$ sudo dpkg --install *.deb
重新启动以使用新内核:
$ sudo reboot
检查内核是否符合预期:
$ uname -r
有关分步说明,请查看以下指南中标题为“在基于 DEB 的系统上安装 Linux Kernel 4.15 LTS”的部分。
- 在基于 RPM 和 DEB 的系统中安装 Linux Kernel 4.15
以上指南是专门为 4.15 版本编写的。 但是,安装最新版本的所有步骤也相同。
优点: 无需互联网(您可以从任何系统下载 Linux 内核)。
缺点: 手动更新。 需要重启。
方法 2 – 使用 apt-get 为 Ubuntu 更新 Linux 内核(推荐方法)
这是在类 Ubuntu 系统上安装最新 Linux 内核的推荐方法。 与以前的方法不同,此方法将从 Ubuntu 官方存储库下载并安装最新的内核版本,而不是 kernel.ubuntu.com 网站..
要更新包括内核在内的整个系统,只需执行以下操作:
$ sudo apt-get update
$ sudo apt-get upgrade
如果您只想更新内核,请运行:
$ sudo apt-get upgrade linux-image-generic
优点: 简单的。 推荐的方法。
缺点: 互联网必备。 需要重启。
从官方存储库更新内核大多开箱即用,没有任何问题。 如果是生产系统,这是更新内核的推荐方式。
方法 1 和 2 需要用户干预才能更新 Linux 内核。 以下方法(3、4 和 5)大多是自动化的。
方法 3 – 使用 Ukuu 更新 Linux 内核
伟大 是一个 Gtk GUI 和命令行工具,可以从 kernel.ubuntu.com,并在您的 Ubuntu 桌面和服务器版本中自动安装它。
Ukku 不仅简化了手动下载和安装新内核的过程,还可以帮助您安全地删除旧的和不必要的内核。 有关详细信息,请参阅以下指南。
- Ukuu——在基于 Ubuntu 的系统中安装和升级 Linux 内核的简单方法
优点: 容易安装,也容易使用。 自动安装主线内核。
缺点: 互联网必备。 需要重启。
方法 4 – 使用 UKTools 更新 Linux 内核
就像Ukuu一样, 英国工具 还从 from 获取最新的稳定内核 kernel.ubuntu.com 站点并将其自动安装在 Ubuntu 及其衍生产品(如 Linux Mint)上。 可以在下面给出的链接中找到有关 UKTools 的更多详细信息。
- UKTools – 在 Ubuntu 和衍生产品中升级最新的 Linux 内核
优点: 简单的。 自动化。
缺点: 互联网必备。 需要重启。
方法 5 – 使用 Linux 内核实用程序更新 Linux 内核
Linux 内核实用程序 是另一个程序,它使在类 Ubuntu 系统中更新 Linux 内核的过程变得容易。 它实际上是一组 BASH shell 脚本,用于为 Debian 及其衍生产品编译和/或更新最新的 Linux 内核。
它由三个实用程序组成,一个用于从源代码手动编译和安装内核 https://www.kernel.org 网站,另一个用于下载和安装预编译内核的网站 https://kernel.ubuntu.com 网站。 第三个脚本用于删除旧内核。
欲了解更多详情,请查看以下链接。
- Linux Kernel Utilities – 为 Debian 和衍生产品编译和更新最新 Linux 内核的脚本
优点: 简单的。 自动化。
缺点: 互联网必备。 需要重启。
相关阅读:
- 将 Ubuntu 升级到最新版本的不同方法
B 部分 – 无需重启的 Linux 内核更新
正如我已经说过的,以上所有方法都需要您在新内核激活之前重新启动服务器。 如果它们是个人系统或测试机器,您可以简单地重新启动并开始使用新内核。
但是,如果它们是需要零停机时间的生产系统呢? 没问题。 这是哪里 实时修补 派上用场!
这 实时修补 (或热补丁)允许您在不重新启动的情况下安装 Linux 更新或补丁,将您的服务器保持在最新的安全级别,而无需任何停机时间。
这对于“永远在线”的服务器很有吸引力,例如网络主机、游戏服务器,事实上,任何需要服务器一直在线的情况。
Linux 供应商仅为安全修复维护补丁,因此当您主要关注安全时,这种方法是最好的。
以下两种方法不需要重新启动系统,对于更新生产和关键任务 Ubuntu 服务器上的 Linux 内核很有用。
方法 6 – 更新 Linux 内核规范 Livepatch 服务
规范的 Livepatch 服务 无需重新启动 Ubuntu 系统即可自动应用内核更新、补丁和安全修补程序。 它减少了 Ubuntu 系统的停机时间并保证它们的安全。
可以在安装期间或之后设置 Canonical Livepatch 服务。 如果您使用的是桌面 Ubuntu,软件更新程序将自动检查内核补丁并通知您。
在基于控制台的系统中,是否定期运行 apt-get update 取决于您。 它只会在您运行命令“apt-get upgrade”时安装内核安全补丁,因此是半自动的。
Livepatch 对于三个系统是免费的。 如果超过三个,则需要升级到名为的企业支持解决方案 Ubuntu 优势 套房。 该套房包括 内核实时补丁 和其他服务,例如,
- 扩展安全维护 – Ubuntu 生命周期结束后的关键安全更新。
- Landscape – 用于大规模使用 Ubuntu 的系统管理工具。
- 知识库 – 由 Ubuntu 专家撰写的文章和教程的私人收藏。
- 电话和网络支持。
成本
Ubuntu Advantage 包括三个付费计划,即基本、标准和高级。 基本计划(Essential plan)从 一个物理节点每年 225 美元 和 一个 VPS 每年 75 美元.
似乎没有 Ubuntu 服务器和台式机的月度订阅。 您可以查看所有计划的详细信息 这里.
优点: 简单的。 半自动。 无需重新启动。 3 个系统免费。
缺点: 4 个或更多主机的成本很高。 没有补丁回滚。
启用规范 Livepatch 服务
如果您想在安装后设置 Livepatch 服务,只需执行以下步骤。
获取钥匙 https://auth.livepatch.canonical.com/.
$ sudo snap install canonical-livepatch
$ sudo canonical-livepatch enable your-key
方法 7 – 使用 KernelCare 更新 Linux 内核
内核关怀 是所有实时修补解决方案中最新的。 它是 CloudLinux 的产物。 KernelCare 在 Ubuntu 和其他版本的 Linux 上运行。 它每 4 小时检查一次补丁版本,并在不确认的情况下安装它们。 如果有问题,补丁可以回滚。
成本
费用,每台服务器: 每月 4 美元, 每年 45 美元.
与 Ubuntu Livepatch 相比,kernelCare 似乎非常便宜且负担得起。 好事是 也可以按月订阅.
另一个值得注意的特性是它支持其他 Linux 发行版,例如 Red Hat、CentOS、Debian、Oracle Linux、Amazon Linux 和 OpenVZ、Proxmox 等虚拟化平台。
您可以阅读 KernelCare 的所有功能和优势 这里 并检查所有可用的计划详细信息 这里.
优点: 简单的。 全自动。 广泛的操作系统覆盖范围。 补丁回滚。 无需重新启动。 非营利组织的免费许可证。 低成本。
缺点: 不是免费的(30 天试用除外)。
启用 KernelCare 服务
获取 30 天试用密钥: https://cloudlinux.com/kernelcare-free-trial5.
运行以下命令以启用 KernelCare 并注册密钥。
$ sudo wget -qq -O - https://repo.cloudlinux.com/kernelcare/kernelcare_install.sh | bash
$ sudo /usr/bin/kcarectl --register KEY
如果您正在寻找一种负担得起且可靠的商业服务来使 Linux 内核在您的 Linux 服务器上保持更新,那么 KernelCare 是不错的选择。
输入来自 保罗·雅各布斯,技术布道者和内容作家,来自 Cloud Linux。
建议阅读:
- 如何检查已安装的 Linux 内核
- 在 Ubuntu 中删除旧内核的最安全方法
而且,这就是现在的全部。 希望这很有用。 如果您认为此列表中应包含任何其他工具/方法,请随时在下面的评论部分告诉我们。 我将相应地检查并更新本指南。
KernelKernel Live PatchingKernelCareLinuxLinux KernelLive patchingLivepatchUbuntu