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實例。
具體操作,請參見通過密碼或密鑰認證登錄Linux實例。
運行以下命令,安裝內核熱補丁管理工具livepatch-mgr。
sudo yum install livepatch-mgr -y
運行以下命令,查看livepatch-mgr工具支持的功能。
livepatch-mgr -h
命令行返回結果如下圖所示:
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>
參數,供您在不同的場景下選擇使用。具體說明如下:
操作場景 | 運行命令 |
安裝并自動加載本主機適用的所有熱補丁 |
|
安裝并自動加載本主機適用的Bugfix類熱補丁 |
|
安裝并自動加載本主機適用的CVE類熱補丁 |
|
指定CVE ID,安裝并自動加載指定的CVE類熱補丁 |
變量
|
指定Advisory ID,安裝并自動加載指定的Advisory類熱補丁 |
變量 例如:
說明 Advisory ID的獲取請參見Alibaba Cloud Linux 2.1903 Security Advisories或Alibaba Cloud Linux 3 Security Advisories。 |
以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
參數,供您在不同的場景下選擇使用。具體說明如下:
操作場景 | 運行命令 |
查詢本主機適用的所有熱補丁 |
|
查詢本主機已安裝的熱補丁 |
|
查詢本主機已安裝的Bugfix類熱補丁 |
|
查詢本主機已安裝的CVE類熱補丁 |
|
查詢本主機正在生效的所有熱補丁 |
|
查詢本主機正在生效的Bugfix類熱補丁 |
|
查詢本主機正在生效的CVE類熱補丁 |
|
查詢本主機可用但未安裝的所有熱補丁 |
|
查詢本主機可用但未安裝的Bugfix類熱補丁 |
|
查詢本主機可用但未安裝的CVE類熱補丁 |
|
以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類熱補丁 |
|
加載/卸載本主機中某一具體的熱補丁 |
變量
|
以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