mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
221 lines
12 KiB
Markdown
221 lines
12 KiB
Markdown
[#]: collector: "lujun9972"
|
||
[#]: translator: "mr-ping"
|
||
[#]: reviewer: "wxy"
|
||
[#]: publisher: "wxy"
|
||
[#]: url: "https://linux.cn/article-12125-1.html"
|
||
[#]: subject: "Different Ways To Update Linux Kernel For Ubuntu"
|
||
[#]: via: "https://www.ostechnix.com/different-ways-to-update-linux-kernel-for-ubuntu/"
|
||
[#]: author: "SK https://www.ostechnix.com/author/sk/"
|
||
|
||
升级 Ubuntu Linux 内核的几种不同方法
|
||
======
|
||
|
||
![](https://www.ostechnix.com/wp-content/uploads/2019/01/ubuntu-linux-kernel-720x340.png)
|
||
|
||
这个指南里介绍了 7 种为 Ubuntu 升级 Linux 内核的不同方法。这 7 种方法里,有 5 种需要重启系统来使新内核生效,其他两种则不用。升级之前,**强烈建议你将重要数据进行备份!** 这里提到的所有方法只在 Ubuntu 中测试过。我们并不确定这些方法是不是也能适用于其他 Ubuntu 的特色发行版(如: Xubuntu)和衍生发行版(如:Linux Mint)。
|
||
|
||
### 第一部分:需要重启的内核升级
|
||
|
||
以下方法需要你重启系统以便新的内核生效。以下所有方法都建议在个人系统或测试系统中进行。重要的事儿再说一遍,请备份好你 Ubuntu 中的重要数据、配置文件和其他重要的东西。
|
||
|
||
#### 方法 1 - 使用 dpkg 升级 Linux 内核(手动方式)
|
||
|
||
这个方法可以帮助你从 [kernel.ubuntu.com][1] 网站手动下载可用的最新 Linux 内核。如果你打算安装最新版(而不是稳定版或者正式发布版),那这种方法对你会很有用。从以上链接下载 Linux 内核版本。编写这个指南的时候,最新的可用版本是 **5.0-rc1**,最新的稳定版是 **v4.20**。
|
||
|
||
![][3]
|
||
|
||
点击你所选择的 Linux 内核版本链接,找到你对应的架构(“Build for XXX”)的那部分。然后下载符合以下格式的两个文件(其中 X.Y.Z 是最高版本号):
|
||
|
||
1. linux-image-*X.Y.Z*-generic-*.deb
|
||
2. linux-modules-X.Y.Z*-generic-*.deb
|
||
|
||
在终端中改变到文件所在的目录,然后执行此命令手动安装内核:
|
||
|
||
```
|
||
$ sudo dpkg --install *.deb
|
||
```
|
||
|
||
重启系统,使用新内核:
|
||
|
||
```
|
||
$ sudo reboot
|
||
```
|
||
|
||
检查是否如你所愿:
|
||
|
||
```
|
||
$ uname -r
|
||
```
|
||
|
||
对于分步的说明,请查看下列链接中对应的部分。
|
||
|
||
+ [在基于 RPM 和 DEB 的系统中安装 Linux 内核 4.15](https://www.ostechnix.com/install-linux-kernel-4-15-rpm-deb-based-systems/)
|
||
|
||
以上的指南是针对的是 4.15 版本,不过安装最新版本的所有的步骤都是一样的。
|
||
|
||
**优势:** 不必联网(你可以从任何系统中下载 Linux 内核来使用)
|
||
|
||
**缺点:** 手动更新,需要重启系统。
|
||
|
||
#### 方法 2 - 用 apt-get 来升级 Linux 内核(推荐方法)
|
||
|
||
这是在类 Ubuntu 系统中升级 Linux 内核的推荐方法。不同于上一个方法,这种方法会从 Ubuntu 官方仓库下载、安装内核版本,而不是从 **kernel.ubuntu.com**网站。
|
||
|
||
要升级包括内核的整个系统,只需要执行:
|
||
|
||
```
|
||
$ sudo apt-get update
|
||
$ sudo apt-get upgrade
|
||
```
|
||
|
||
如果只希望升级内核,运行:
|
||
|
||
```
|
||
$ sudo apt-get upgrade linux-image-generic
|
||
```
|
||
|
||
**优势:** 简单。推荐方法。
|
||
|
||
**缺点:** 需要联网,需要重启。
|
||
|
||
从官方库中升级内核是最接近开箱即用的方法,并且不会出什么问题。如果是生产环境的系统,这是最为推荐的升级 Linux 内核的方法。
|
||
|
||
方法 1 和方法 2 都需要用户去介入到升级 Linux 内核的过程中。而下边的方法(3、 4、 5)则几乎是全自动的。
|
||
|
||
#### 方法 3 - 使用 Ukuu 升级 Linux 内核
|
||
|
||
**Ukuu**是一个 Gtk GUI 和命令行工具,它可以从 kernel.ubuntu.com 下载最新的 Linux 主线内核,并自动安装到你的 Ubuntu 桌面版和服务器版中。Ukku 不仅简化了手动下载和安装新内核的过程,同时也会帮助你安全地移除旧的和不再需要的内核。更多细节可以参照以下指南。
|
||
|
||
+ [Ukuu:在 Ubuntu 系统中安装和升级 Linux 内核的简单方法](https://www.ostechnix.com/ukuu-an-easy-way-to-install-and-upgrade-linux-kernel-in-ubuntu-based-systems/)
|
||
|
||
**优势:** 易于安装使用。自动安装主线内核。
|
||
|
||
**缺点:** 需要联网,需要重启。
|
||
|
||
#### 方法 4 - 使用 UKTools 升级 Linux 内核
|
||
|
||
跟 Ukuu 差不多,**UKTools** 也会从 kernel.ubuntu.com 网站获取最新的稳定内核并且自动安装到 Ubuntu 以及类似于 Linux Mint 的延伸发行版中。关于UKTools的更多详情,请参见下面的链接。
|
||
|
||
+ [UKTools:升级Ubuntu及其衍生产品中的最新Linux内核](https://www.ostechnix.com/uktools-upgrade-latest-linux-kernel-in-ubuntu-and-derivatives/)
|
||
|
||
**优势:** 简单,自动。
|
||
|
||
**缺点:** 需要联网,需要重启。
|
||
|
||
#### 方法 5 - 使用 Linux 内核实用程序更新 Linux 内核
|
||
|
||
**Linux 内核实用程序**是目前另一个用于升级类 Ubuntu 系统 Linux 内核的程序。实质上,它是一个由一系列 Bash 脚本构成的合集,用于编译并且可以选择性地为 Debian(LCTT 译注:Ubuntu 的上游发行版)及其衍生发行版升级内核。它包含三个实用程序,一个用于手动编译、安装来自于 [http://www.kernel.org][4] 网站的源码内核,另一个用于安装来自 <https://kernel.ubuntu.com> 网站的预编译的内核,第三个脚本用于移除旧内核。更多细节请浏览以下链接。
|
||
|
||
+ [Linux 内核实用程序:编译和更新最新的 Linux 内核的脚本,适用于 Debian 及其衍生产品](https://www.ostechnix.com/linux-kernel-utilities-scripts-compile-update-latest-linux-kernel-debian-derivatives/)
|
||
|
||
**优势:** 简单,自动。
|
||
|
||
**缺点:** 需要联网,需要重启。
|
||
|
||
### 第二部分:无需重启的内核升级
|
||
|
||
我之前说过,上边所有的方法都需要你重启服务器(LCTT 译注:也可以是桌面版)来启用新内核。如果是个人系统或者测试系统,可以这么办。但对于无法停机的生产环境系统该怎么办呢?一点问题没有,这时候<ruby>实时补丁<rt>livepatching</rt></ruby>就派上用场了。
|
||
|
||
**实时补丁**(或者叫热补丁)允许你在不重启的情况下安装 Linux 更新或补丁,使你的服务器处于最新的安全级别。这对 web 主机、游戏服务器这类需要不间断在线的服务器来说是很有价值的。事实上,任何情况下,服务器都应该保持在不间断运行的状态下。由于 Linux 供应商只会在出于修复安全漏洞的目的下维护补丁,所以如果安全性是你最关注的问题时,这种方式再适合不过了。
|
||
|
||
以下两种方法不需要重启,对于生产环境和执行关键任务的 Ubuntu 服务器的 Linux 内核更新非常有用。
|
||
|
||
#### 方法 6 – 使用 Canonical 实时补丁服务来更新 Linux 内核
|
||
|
||
![][5]
|
||
|
||
[Canonical 实时补丁服务][6]可以在不需要重启 Ubuntu 系统的情况下自动应用内核更新、补丁和安全补丁。它可以减少Ubuntu系统的停机时间,并保证系统的安全。Canonical 实时补丁服务可以在安装过程当中或安装之后进行设置。如果你使用的是 Ubuntu 桌面版,软件更新器会自动检查内核补丁的更新,并通知你。在基于控制台的系统中,则需要你定期运行 `apt-get update` 命令来进行升级。由于需要你手动运行 `apt-get upgrade` 命令它才会安装内核的安全补丁,所以算是半自动的。
|
||
|
||
实时补丁对三个及以下系统免费,如果多于三个,你需要升级成名为 **Ubuntu Advantage** 的企业支持方案套件。这个套件包括 **Kernel 实时补丁**及以下服务:
|
||
|
||
* 扩展安全维护 – Ubuntu 生命周期后的重要安全更新
|
||
* Landscape – 针对大规模使用 Ubuntu 的系统管理工具
|
||
* 知识库 – 由 Ubuntu 专家撰写的私人文章和教程
|
||
* 电话和网站支持
|
||
|
||
**价格**
|
||
|
||
Ubuntu Advantage 包含三种付费计划,即基本计划、标准计划和高级计划。最基础的计划(基本计划)从 **单物理节点 225 美元/年**和**单VPS 75美元/年**开始计价。对于 Ubuntu 服务器版和桌面版看上去没有按月订阅。你可以在[此处][7]浏览所有计划的细节信息。
|
||
|
||
**优势:** 简单。半自动化。无需重启。支持三个免费系统。
|
||
|
||
**缺点:** 4 个以上主机的话非常昂贵。没有补丁回滚。
|
||
|
||
##### 开启 Canonical 实时补丁
|
||
|
||
如果你想在安装后设置实时补丁服务,依照以下方法逐步执行:
|
||
|
||
从 [https://auth.livepatch.canonical.com/][8] 获取一个密钥。
|
||
|
||
```
|
||
$ sudo snap install canonical-livepatch
|
||
$ sudo canonical-livepatch enable your-key
|
||
```
|
||
|
||
#### 方法 7 - 使用 KernelCare 升级 Linux 内核
|
||
|
||
![][9]
|
||
|
||
[KernelCare][10] 是最新的实时补丁方案。它是 [CloudLinux][11] 推出的产品。KernelCare 可以运行在 Ubuntu 和其他的 Linux 发行版中。它每四个小时检查一遍补丁的发布,并在无需确认的情况下安装它们。如果更新后存在问题,可以将补丁进行回滚。
|
||
|
||
**价格**
|
||
|
||
费用,每台服务器:**4 美元/月**,**45 美元/年**。
|
||
|
||
跟 Ubuntu 实时补丁相比,KernelCare 看起来非常便宜、实惠。好的方面在于**也可以按月订阅**。另一个前者不具备的功能是支持其他 Linux 发行版,如 Red Hat、CentOS、Debian、Oracle Linux、Amazon Linux 以及 OpenVZ、Proxmox 等虚拟化平台。
|
||
|
||
你可以在[此处][12]了解 KernelCare 的所有特性和简介,以及所有的付费计划的细节。
|
||
|
||
**优势:** 简单。全自动化。覆盖范围更广的操作系统。补丁回滚。无需重启。对非营利组织提供免费许可。价格低廉。
|
||
|
||
**缺点:** 不是免费的(除了30天的试用期)。
|
||
|
||
##### 开启 KernelCare 服务
|
||
|
||
在 [https://cloudlinux.com/kernelcare-free-trial5][14] 获取一个 30 天免费试用密钥。
|
||
|
||
执行以下命令开启 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 的技术撰稿人和内容作者 Paul A. Jacobs 提供。*
|
||
|
||
到此,希望这边文章能对你有所帮助。如果你觉得还有其他的工具和方法需要列在这里,可以在留言区给我们留言。我会根据反馈检查和更新这篇指南的。
|
||
|
||
接下来会有更多好东西给大家呈现,敬请期待。
|
||
|
||
Cheers!
|
||
|
||
--------------------------------------------------------------------------------
|
||
|
||
via: https://www.ostechnix.com/different-ways-to-update-linux-kernel-for-ubuntu/
|
||
|
||
作者:[SK][a]
|
||
选题:[lujun9972][b]
|
||
译者:[mr-ping](https://github.com/mr-ping)
|
||
校对:[wxy](https://github.com/wxy)
|
||
|
||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||
|
||
[a]: https://www.ostechnix.com/author/sk/
|
||
[b]: https://github.com/lujun9972
|
||
[1]: http://kernel.ubuntu.com/~kernel-ppa/mainline/
|
||
[2]: data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
|
||
[3]: http://www.ostechnix.com/wp-content/uploads/2019/01/Ubuntu-mainline-kernel.png
|
||
[4]: http://www.kernel.org
|
||
[5]: http://www.ostechnix.com/wp-content/uploads/2019/01/Livepatch.png
|
||
[6]: https://www.ubuntu.com/livepatch
|
||
[7]: https://www.ubuntu.com/support/plans-and-pricing
|
||
[8]: https://auth.livepatch.canonical.com/
|
||
[9]: http://www.ostechnix.com/wp-content/uploads/2019/01/KernelCare.png
|
||
[10]: https://www.kernelcare.com/
|
||
[11]: https://www.cloudlinux.com/
|
||
[12]: https://www.kernelcare.com/update-kernel-linux/
|
||
[13]: https://www.kernelcare.com/pricing/
|
||
[14]: https://cloudlinux.com/kernelcare-free-trial5
|