livepatch-mgr是Alibaba Cloud Linux操作系统提供的内核热补丁管理工具,用于热补丁相关运维管理操作,例如安装热补丁、查询热补丁信息、加载或卸载热补丁等,以便在不需要重启系统的情况下给正在运行的内核应用安全更新或修复漏洞。本文主要介绍如何使用内核热补丁管理工具livepatch-mgr查看、安装、加载或卸载内核热补丁。
背景信息
Alibaba Cloud Linux为保障系统的稳定与安全,会紧密跟进Linux业界与社区发现的各种软件问题及安全漏洞(CVE),及时更新包括内核在内的软件包,修复软件缺陷(Bugfix)并修补安全漏洞(CVE)。您可以基于Alibaba Cloud Linux安全更新记录,选择冷补丁或热补丁的方式更新内核软件包。本文主要介绍内核热补丁管理工具livepatch-mgr的使用方法。
Alibaba Cloud Linux的安全更新记录,请参见:
安装livepatch-mgr工具
您可以按照以下操作安装livepatch-mgr,并查看livepatch-mgr支持哪些功能来管理热补丁。
远程连接需要热补丁的Alibaba Cloud Linux实例。
运行以下命令,安装内核热补丁管理工具livepatch-mgr。
sudo yum install livepatch-mgr -y
运行以下命令,查看livepatch-mgr工具支持的功能。
命令行返回结果如下图所示:
livepatch-mgr提供了多个子命令,每个子命令支持的功能说明如下:
list
:查询本主机的热补丁相关信息。命令的具体使用说明,请参见查询热补丁信息。
update
:安装并自动加载适用于本主机的热补丁。命令的具体使用说明,请参见安装热补丁。
load
/unload
:手动加载/卸载已安装在本主机的热补丁。命令的具体使用说明,请参见加载/卸载热补丁。
version
:查看livepatch-mgr工具的版本。
sync
:更新livepatch-mgr的缓存数据,以便及时获得安全软件包更新情况。命令的具体使用说明,请参见更新livepatch-mgr缓存数据。
remind
:登录Shell时,Livepatch-mgr Security Reminder会对当前系统的热补丁状态进行通知。命令的具体使用说明,请参见热补丁状态告警通知。
安装热补丁
您可以通过livepatch-mgr的update
相关命令,安装并自动加载热补丁。
同时,livepatch-mgr工具支持在update
命令后添加--bugfix
、--security
以及-cves <CVEs>
参数,供您在不同的场景下选择使用。具体说明如下:
操作场景 | 运行命令 |
安装并自动加载本主机适用的所有热补丁 | sudo livepatch-mgr update
|
安装并自动加载本主机适用的Bugfix类热补丁 | sudo livepatch-mgr update --bugfix
|
安装并自动加载本主机适用的CVE类热补丁 | sudo livepatch-mgr update --security
|
指定CVE ID,安装并自动加载指定的CVE类热补丁 | sudo livepatch-mgr update --cves <CVEs>
变量<CVEs> 表示可以指定一个或多个CVE ID,当指定多个CVE ID时,需要使用半角逗号(,)间隔,且严格区分变量值的大小写。例如: sudo livepatch-mgr update --cves CVE-2021-33909,CVE-2021-22555
|
指定Advisory ID,安装并自动加载指定的Advisory类热补丁 | sudo livepatch-mgr update --ids=<Advisory IDs>
变量<Advisory IDs> 表示可以指定一个或多个Advisory ID,当指定多个Advisory ID时,需要使用半角逗号(,)间隔,且严格区分变量值的大小写。 例如: sudo livepatch-mgr update --ids=ALINUX3-SA-2023:0042.ALINUX3-SA-2023:0017
|
以sudo livepatch-mgr update
命令为例,安装并自动加载本主机适用的所有热补丁的返回结果如下:
命令返回结果
Last metadata expiration check: 3:12:09 ago on Wed 08 May 2024 11:54:18 AM CST.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
kernel-hotfix-11169823-11.1.al8
x86_64 1.0-20221221203219.al8 alinux3-plus 225 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 225 k
Installed size: 875 k
Downloading Packages:
kernel-hotfix-11169823-11.1.al8-1.0-20221221203 567 kB/s | 225 kB 00:00
--------------------------------------------------------------------------------
Total 567 kB/s | 225 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: kernel-hotfix-11169823-11.1.al8-1.0-20221221203219.a 1/1
Installing : kernel-hotfix-11169823-11.1.al8-1.0-20221221203219.a 1/1
Running scriptlet: kernel-hotfix-11169823-11.1.al8-1.0-20221221203219.a 1/1
Created symlink /etc/systemd/system/multi-user.target.wants/kpatch.service → /usr/lib/systemd/system/kpatch.service.
installing /var/khotfix/5.10.112-11.1.al8.x86_64/11169823/kpatch-11169823.ko (5.10.112-11.1.al8.x86_64)
loading patch module: /var/khotfix/5.10.112-11.1.al8.x86_64/11169823/kpatch-11169823.ko
Verifying : kernel-hotfix-11169823-11.1.al8-1.0-20221221203219.a 1/1
Installed:
kernel-hotfix-11169823-11.1.al8-1.0-20221221203219.al8.x86_64
Complete!
Last metadata expiration check: 3:12:11 ago on Wed 08 May 2024 11:54:18 AM CST.
Dependencies resolved.
==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Installing:
kernel-hotfix-11463591-5.10.112-11.1 x86_64 1.0-20230118200906.al8 alinux3-plus 209 k
Transaction Summary
==========================================================================================
Install 1 Package
Total download size: 209 k
Installed size: 760 k
Downloading Packages:
kernel-hotfix-11463591-5.10.112-11.1-1.0-202301 763 kB/s | 209 kB 00:00
--------------------------------------------------------------------------------
Total 762 kB/s | 209 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: kernel-hotfix-11463591-5.10.112-11.1-1.0-20230118200 1/1
Installing : kernel-hotfix-11463591-5.10.112-11.1-1.0-20230118200 1/1
Running scriptlet: kernel-hotfix-11463591-5.10.112-11.1-1.0-20230118200 1/1
installing /var/khotfix/5.10.112-11.1.al8.x86_64/11463591/kpatch-11463591.ko (5.10.112-11.1.al8.x86_64)
loading patch module: /var/khotfix/5.10.112-11.1.al8.x86_64/11463591/kpatch-11463591.ko
Verifying : kernel-hotfix-11463591-5.10.112-11.1-1.0-20230118200 1/1
Installed:
kernel-hotfix-11463591-5.10.112-11.1-1.0-20230118200906.al8.x86_64
Complete!
Last metadata expiration check: 3:12:13 ago on Wed 08 May 2024 11:54:18 AM CST.
Dependencies resolved.
===============================================================================================
Package Arch Version Repository Size
===============================================================================================
Installing:
kernel-hotfix-CVE-2023-0461-5.10.112-11.1 x86_64 1.0-20230316125119.al8 alinux3-plus 232 k
Transaction Summary
===============================================================================================
Install 1 Package
Total download size: 232 k
Installed size: 924 k
Downloading Packages:
kernel-hotfix-CVE-2023-0461-5.10.112-11.1-1.0-2 997 kB/s | 232 kB 00:00
--------------------------------------------------------------------------------
Total 995 kB/s | 232 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: kernel-hotfix-CVE-2023-0461-5.10.112-11.1-1.0-202303 1/1
Installing : kernel-hotfix-CVE-2023-0461-5.10.112-11.1-1.0-202303 1/1
Running scriptlet: kernel-hotfix-CVE-2023-0461-5.10.112-11.1-1.0-202303 1/1
installing /var/khotfix/5.10.112-11.1.al8.x86_64/CVE-2023-0461/kpatch-CVE-2023-0461.ko (5.10.112-11.1.al8.x86_64)
loading patch module: /var/khotfix/5.10.112-11.1.al8.x86_64/CVE-2023-0461/kpatch-CVE-2023-0461.ko
Verifying : kernel-hotfix-CVE-2023-0461-5.10.112-11.1-1.0-202303 1/1
Installed:
kernel-hotfix-CVE-2023-0461-5.10.112-11.1-1.0-20230316125119.al8.x86_64
Complete!
Last metadata expiration check: 3:12:15 ago on Wed 08 May 2024 11:54:18 AM CST.
Dependencies resolved.
===============================================================================================
Package Arch Version Repository Size
===============================================================================================
Installing:
kernel-hotfix-CVE-2023-0386-5.10.112-11.1 x86_64 1.0-20230512161247.al8 alinux3-plus 120 k
Transaction Summary
===============================================================================================
Install 1 Package
Total download size: 120 k
Installed size: 482 k
Downloading Packages:
kernel-hotfix-CVE-2023-0386-5.10.112-11.1-1.0-2 587 kB/s | 120 kB 00:00
--------------------------------------------------------------------------------
Total 585 kB/s | 120 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: kernel-hotfix-CVE-2023-0386-5.10.112-11.1-1.0-202305 1/1
Installing : kernel-hotfix-CVE-2023-0386-5.10.112-11.1-1.0-202305 1/1
Running scriptlet: kernel-hotfix-CVE-2023-0386-5.10.112-11.1-1.0-202305 1/1
installing /var/khotfix/5.10.112-11.1.al8.x86_64/CVE-2023-0386/kpatch-CVE-2023-0386.ko (5.10.112-11.1.al8.x86_64)
loading patch module: /var/khotfix/5.10.112-11.1.al8.x86_64/CVE-2023-0386/kpatch-CVE-2023-0386.ko
Verifying : kernel-hotfix-CVE-2023-0386-5.10.112-11.1-1.0-202305 1/1
Installed:
kernel-hotfix-CVE-2023-0386-5.10.112-11.1-1.0-20230512161247.al8.x86_64
Complete!
查询热补丁信息
您可以通过livepatch-mgr的list
相关命令,查询已安装的内核热补丁。
同时,livepatch-mgr工具支持在list
命令后添加--installed
、--bugfix
、--security
、--running
以及--available
参数,供您在不同的场景下选择使用。具体说明如下:
操作场景 | 运行命令 |
查询本主机适用的所有热补丁 | sudo livepatch-mgr list
|
查询本主机已安装的热补丁 | sudo livepatch-mgr list --installed
|
查询本主机已安装的Bugfix类热补丁 | sudo livepatch-mgr list --installed --bugfix
|
查询本主机已安装的CVE类热补丁 | sudo livepatch-mgr list --installed --security
|
查询本主机正在生效的所有热补丁 | sudo livepatch-mgr list --running
|
查询本主机正在生效的Bugfix类热补丁 | sudo livepatch-mgr list --running --bugfix
|
查询本主机正在生效的CVE类热补丁 | sudo livepatch-mgr list --running --security
|
查询本主机可用但未安装的所有热补丁 | sudo livepatch-mgr list --available
|
查询本主机可用但未安装的Bugfix类热补丁 | sudo livepatch-mgr list --available --bugfix
|
查询本主机可用但未安装的CVE类热补丁 | sudo livepatch-mgr list --available --security
|
以sudo livepatch-mgr list
命令为例,查询本主机适用的所有热补丁的返回结果如下。
Loaded patch modules:
Update ID CVE ID(s) Hotfix ID Description
HOTFIX-SA-2023:0001 CVE-2022-4378 11169823 Package updates are available for Alibaba Cloud Li...(more)
HOTFIX-SA-2023:0002 CVE-2023-0179 11463591 Package updates are available for Alibaba Cloud Li...(more)
HOTFIX-SA-2023:0004 CVE-2023-0386 CVE-2023-0386 Package updates are available for Alibaba Cloud Li...(more)
HOTFIX-SA-2023:0003 CVE-2023-0461 CVE-2023-0461 Package updates are available for Alibaba Cloud Li...(more)
Installed patch modules:
HOTFIX-SA-2023:0001 CVE-2022-4378 11169823 Package updates are available for Alibaba Cloud Li...(more)
HOTFIX-SA-2023:0002 CVE-2023-0179 11463591 Package updates are available for Alibaba Cloud Li...(more)
HOTFIX-SA-2023:0004 CVE-2023-0386 CVE-2023-0386 Package updates are available for Alibaba Cloud Li...(more)
HOTFIX-SA-2023:0003 CVE-2023-0461 CVE-2023-0461 Package updates are available for Alibaba Cloud Li...(more)
Available and not installed patch modules:
根据返回结果可以将查询到的热补丁分为三类:
Loaded patch modules
:表示已加载的热补丁
Installed patch modules
:表示已安装但未加载的热补丁
Available and not installed patch modules
:表示可用但未安装的热补丁
加载/卸载热补丁
通过update
相关命令安装热补丁时,系统会自动加载热补丁。在系统运维过程中,您可以根据实际需要通过unload
相关命令卸载热补丁、通过load
相关命令再手动加载热补丁。
同时,livepatch-mgr工具支持在unload
和load
命令后添加--security
、--bugfix
、unload <目标热补丁标识>
参数,供您在不同的场景下选择使用。具体说明如下:
操作场景 | 运行命令 |
加载/卸载本主机中已安装的所有热补丁 | |
加载/卸载本主机中已安装的CVE类热补丁 | |
加载/卸载本主机中已安装的Bugfix类热补丁 | |
加载/卸载本主机中某一具体的热补丁 | 变量<目标热补丁标识> 表示支持通过热补丁中的内核模块(ko文件)的绝对路径或模块名称指定要加载或卸载的热补丁信息。例如: 通过热补丁中内核模块(ko文件)的绝对路径指定热补丁包。以加载为例,命令使用如下: sudo livepatch-mgr load /var/khotfix/5.10.112-11.1.al8.x86_64/11169823/kpatch-11169823.ko
通过热补丁的模块名称(不带.ko后缀)指定热补丁包。以加载为例,命令使用如下: sudo livepatch-mgr load kpatch-11463591
通过热补丁的模块名称(带.ko后缀)指定热补丁包。以加载为例,命令使用如下: sudo livepatch-mgr load kpatch-4121479.ko
|
以sudo livepatch-mgr load
命令为例,加载本主机中已安装的所有热补丁的返回结果如下所示:
loading kernel-hotfix-11169823-11.1.x86_64
loading patch module: /var/khotfix/5.10.112-11.1.al8.x86_64/11169823/kpatch-11169823.ko
loading kernel-hotfix-11463591-11.1.x86_64
loading patch module: /var/khotfix/5.10.112-11.1.al8.x86_64/11463591/kpatch-11463591.ko
loading kernel-hotfix-CVE-2023-0386-11.1.x86_64
loading patch module: /var/khotfix/5.10.112-11.1.al8.x86_64/CVE-2023-0386/kpatch-CVE-2023-0386.ko
loading kernel-hotfix-CVE-2023-0461-11.1.x86_64
loading patch module: /var/khotfix/5.10.112-11.1.al8.x86_64/CVE-2023-0461/kpatch-CVE-2023-0461.ko
更新livepatch-mgr缓存数据
您可以通过sync
子命令,直接更新livepatch-mgr的缓存数据,以便及时获得安全包的更新情况。
sudo livepatch-mgr sync
热补丁状态告警通知
您可以通过livepatch-mgr的remind
相关命令,对系统中的热补丁状态进行监控。
查看系统热补丁的状态
您可以通过remind
命令直接查看当前系统的热补丁状态。
sudo livepatch-mgr remind
开启告警功能
安装livepatch-mgr工具后,您可以通过sudo livepatch-mgr remind --enable
命令开启告警功能。开启后,每次登录Shell时,Livepatch-mgr Security Reminder都会对当前系统的热补丁状态进行通知,告诉您目前系统有多少个待安装的热补丁、有多少个已经安装但是没有加载的热补丁。
通知信息示例如下:
****************** Livepatch-mgr Security Reminder ******************
Your system have [0] security packages available to install
Your system have [0] security packages installed but not loaded
Conclusion : Safe
*********************************************************************
关闭告警功能
关闭告警功能后,登录Shell时,Reminder将不会对当前系统安全包状态进行通知。
sudo livepatch-mgr remind --disable