为Ubuntu更新Linux内核的不同方式
在本教程中,我们给出了7种不同的方法来更新Ubuntu的Linux内核。
在7种方法中,五种方法需要系统重新启动以应用新内核和两种方法。
在更新Linux内核之前,强烈建议备份重要数据!此处提到的所有方法仅在Ubuntu OS上进行了测试。
我们不确定他们是否会在其他Ubuntuflavor (例如,Xubuntu)和Ubuntu衍生物(例如,Linux Mint)上工作。
部分A - 重新启动的内核更新
以下方法要求我们重新启动系统以应用新的Linux内核。
建议为个人或者测试系统建议以下所有方法。
再次,请从Ubuntu系统备份重要数据,配置文件和任何其他重要的东西。
方法1 - 使用DPKG更新Ubuntu的Linux内核(手动方式)
此方法有助于我们手动下载并安装来自Kernel.ubuntu.com的最新可用的Linux内核。
如果要安装最新版本(稳定或者发布候选),则此方法将有所帮助。
从上面的链接下载Linux内核版本。
撰写本教程,最新的可用版本为5.0-RC1,最新稳定版本为V4.20。
单击我们选择的Linux内核版本链接,并找到架构的部分('xxx'构建')。
在该部分中,使用这些模式下载两个文件(其中x.y.z是最高版本):
- Linux-Image- * x.y.z * -generic - *。Deb
- Linux-modules-x.y.z * -generic - *。Deb
在终端中,更改文件所在的目录并运行此命令以手动安装内核:
$sudo dpkg --install *.deb
重新启动以使用新内核:
$sudo reboot
检查内核正如预期的那样:
$uname -r
优点:无需互联网(我们可以从任何系统下载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内核
UKUU是一个GTK GUI和命令行工具,下载来自Kernel.ubuntu.com的最新主线Linux内核,并在Ubuntu桌面和服务器版中自动安装它。
Ukku不仅简化了手动下载和安装新内核的过程,还可以安全地删除旧和不必要的内核。
优点:易于安装和使用。
自动安装主线内核。
缺点:必要的互联网。
重新启动必要。
方法4 - 使用Uktools更新Linux内核
就像Ukuu一样,Uktools也从kernel.ubuntu.com上获取了最新的稳定内核,并自动在Ubuntu和它的衍生物上安装它,如Linux Mint。
优点:简单。
自动化。
缺点:必要的互联网。
重新启动必要。
方法5 - 使用Linux内检查确认用程序更新Linux内核
Linux内检查确认用程序是另一个程序,使得在ubuntu的系统中更易更新Linux内核的过程。
它实际上是一组用于编译和/或者更新Debian的最新Linux内核的Bash Shell脚本。
它由三个实用程序组成,一个用于从http://www.kernel.org手动编译和安装内核,另一个用于从https://kernel.ubuntu.com下载和安装预编译的内核。
第三个脚本用于删除旧内核。
优点:简单。
自动化。
缺点:必要的互联网。
重新启动必要。
B部分 - 内核更新而无需重新启动
正如我所说,以上所有方法都需要我们在新内核处于活动状态之前重新启动服务器。
如果是个人系统或者测试机器,则可以简单地重新启动并开始使用新内核。
但是,如果他们是生产系统需要零停机时间怎么办?
没问题。
这是LivePatching派上友好的地方!
LivePatching(或者热修补)允许我们在不重新启动的情况下安装Linux更新或者修补程序,并将服务器保持在最新的安全级别,而无需任何停机时间。
这对"永远在线"服务器(如Web主机),游戏服务器的服务器,实际上,服务器需要一直保持的情况。
Linux供应商只能为安全修复维持补丁,因此当安全是主要问题时,这种方法最好。
以下两种方法不需要系统重新启动,并有用可在生产和关键任务Ubuntu服务器上更新Linux内核。
方法6 - 更新Linux内核规范LivePatch服务
Canonical LivePatch服务自动应用内核更新,修补程序和安全性修补程序,而无需重新启动Ubuntu系统。
它会减少Ubuntu系统停机,并保持安全。
可以在安装期间或者之后设置规范的LivePatch服务。
如果我们使用的是桌面Ubuntu,则软件更新程序将自动检查内核修补程序并通知我们。
在基于控制台的系统中,我们可以定期运行APT-GET更新。
只有在运行命令"APT-GET升级"时才会安装内核安全修补程序,因此是半自动。
LiveCatch是免费的三个系统。
如果我们有超过三个,则需要升级到名为Ubuntu Advantage Suite的企业支持解决方案。
此套件包括内核LivePatching和其他服务,如,
- 扩展安全维护 - Ubuntu结束后的关键安全更新。
- 景观 - 使用ubuntu以比例使用ubuntu的系统管理工具。
- 知识库 - 由Ubuntu专家编写的私有文章和教程。
- 电话和基于Web的支持。
成本
Ubuntu Advantage包括三项付费计划,即必要,标准和先进。
基本计划(必要计划)从一个物理节点的每年225美元开始,每年75美元为一个VPS。
似乎Ubuntu服务器和桌面没有每月订阅。
我们可以查看有关所有计划的详细信息。
优点:简单。
半自动。
没有必要重新启动。
免费3个系统。
缺点:4个或者更多主机昂贵。
没有补丁回滚。
使能规范的LivePatch服务
如果要在安装后安装LivePatch服务,请执行以下步骤。
在https://auth.livepatch.canonical.com/获取密钥。
$sudo snap install canonical-livepatch
$sudo canonical-livepatch enable your-key
方法7 - 使用KernelCare更新Linux内核
KernelCare是所有现场修补解决方案中最新的。
这是CloudLinux的产品。
KernelCare在Ubuntu和其他Linux的flavor 上运行。
它检查补丁释放每4小时,并在未确认的情况下安装它们。
如果有问题,可以回滚补丁。
成本
费用,每台服务器:每月4美元,每年45美元。
与Ubuntu LiveCatch相比,Kernelcare似乎非常便宜,价格实惠。
好东西是每月订阅也可用。
另一个值得注意的功能是支持其他Linux发行版,例如Red Hat,CentOS,Debian,Oracle Linux,亚马逊Linux和虚拟化平台,如OpenVz,Proxmox等。
我们可以在此阅读KernelCare的所有功能和优点,并在此处查看所有可用的计划详情。
优点:简单。
全自动。
宽os覆盖范围。
补丁回滚。
没有必要重新启动。
非营利组织的免费许可。
低成本。
缺点:不免费(30天试用除外)。
启用KernelCare服务
在https://cloudlinux.com/kernelcare-free-trial5获取30天的试用键。
运行以下命令以启用KernelCare并注册键。
$sudo wget -qq -O - https://repo.cloudlinux.com/kernelcare/kernelcare_install.sh | bash
$sudo /usr/bin/kcarectl --register KEY