全部產品
Search
文件中心

Alibaba Cloud Linux:通過livepatch-mgr工具管理核心熱補丁

更新時間:Jul 17, 2024

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支援哪些功能來管理熱補丁。

  1. 遠端連線需要熱補丁的Alibaba Cloud Linux執行個體。

  2. 運行以下命令,安裝核心熱補丁管理工具livepatch-mgr。

    sudo yum install livepatch-mgr -y
  3. 運行以下命令,查看livepatch-mgr工具支援的功能。

    livepatch-mgr -h

    命令列返回結果如下圖所示:

    image

    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工具支援在unloadload命令後添加--security--bugfixunload <目標熱補丁標識>參數,供您在不同的情境下選擇使用。具體說明如下:

操作環境

運行命令

載入/卸載本主機中已安裝的所有熱補丁

  • 載入:sudo livepatch-mgr load

  • 卸載:sudo livepatch-mgr unload

載入/卸載本主機中已安裝的CVE類熱補丁

  • 載入:sudo livepatch-mgr load --security

  • 卸載:sudo livepatch-mgr unload --security

載入/卸載本主機中已安裝的Bugfix類熱補丁

  • 載入:sudo livepatch-mgr load --bugfix

  • 卸載:sudo livepatch-mgr unload --bugfix

載入/卸載本主機中某一具體的熱補丁

  • 載入:sudo livepatch-mgr load <目標熱補丁標識>

  • 卸載:sudo livepatch-mgr unload <目標熱補丁標識>

變數<目標熱補丁標識>表示支援通過熱補丁中的核心模組(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