本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SupportInfo XML 結構
此頁面記錄用於定義套件支援 Linux 發行版本的生命週期、時間表和分類的 v1.0 XML 結構描述。結構描述獨立於 DNF,並非特定於任何單一分佈。您可以直接從任何工具使用它。dnf supportinfo 外掛程式是這類消費者。
-
結構描述定義 (XSD):
https://cdn.amazonlinux.com/al2023/core/supportinfo-1.0.xsd -
支援資料 (XML):
https://cdn.amazonlinux.com/al2023/core/AL2023-supportinfo-1.0.xml
若要直接剖析此 XML,請使用開放原始碼amazon-linux-supportinfo
外掛程式如何使用此檔案
在此檔案中,外掛程式會報告:
-
套件位於哪個支援層級 (這些值會填入
--show篩選條件選項) -
當生命週期階段變更時 (顯示在
--pkg輸出和時間軸中) -
每個支援層級的修補程式優先順序和嚴重性涵蓋範圍
-
套件的來源 (來源和分類)
完成最小範例
此範例顯示包含所有必要區段和一個套件的最低結構:
<package_support schema_version="1.0" current_as="2025-08-21T22:41:55.575196"> <lifecycles> <lifecycle name="default_lc" display_name="AL2023 Standard Lifecycle" description="Standard support lifecycle for Amazon Linux 2023 packages"> <phase name="full_support" support_level="default" start_milestone="AL2023_GA" display_name="Full Support"/> <phase name="end_of_support" support_level="eos" start_milestone="AL2023_EOS" display_name="End of Support"/> </lifecycle> </lifecycles> <support_milestones> <milestone name="AL2023_GA" date="2023-03-15" display_name="AL2023 General Availability" description="Amazon Linux 2023 general availability date"/> <milestone name="AL2023_EOS" date="2029-06-30" display_name="AL2023 End of Support" description="End of all support for Amazon Linux 2023"/> </support_milestones> <support_levels> <support_level name="default" severities="Low,Medium,Important,Critical" description="Full security and bug fix support for all severities" display_name="Default Support" /> <support_level name="eos" severities="" description="End of support - no further updates" display_name="End of Support" /> </support_levels> <packages> <package name="curl" lifecycle="default_lc" origin="al2023_core" package_class="default"/> </packages> <package_classes> <package_class name="default"> <summary>Default class for Amazon Linux packages</summary> <text></text> </package_class> </package_classes> <package_origins> <package_origin name="al2023_core" repo_id="amazonlinux" dist="amzn2023" vendor="amazonlinux" display_name="Amazon Linux 2023 Core" description="Core Amazon Linux 2023 repository" /> </package_origins> <notes> <note name="eol_redis6">Upstream end-of-life for Redis 6 (redis6) is 2025-08-31</note> </notes> </package_support>
元素參考
package_support (根元素)
包含所有支援中繼資料的根元素。
| 屬性 | 必要 | 描述 |
|---|---|---|
schema_version |
是 | 結構描述格式版本 (目前為 1.0) |
current_as |
是 | 上次產生支援資料的 ISO 時間戳記 |
<package_support schema_version="1.0" current_as="2025-08-21T22:41:55.575196">
current_as 時間戳記會顯示在輸出中,以指出資料新鮮度。
lifecycle
定義一段時間內套件轉換的一系列階段。
| 屬性 | 必要 | 描述 |
|---|---|---|
name |
是 | 參考的唯一識別符 package@lifecycle |
note |
否 | 參考 note@name以取得其他內容 |
display_name |
否 | 面向客戶的標籤 |
description |
否 | 人類可讀的描述 |
<lifecycle name="redis6_lc" note="eol_redis6" display_name="Redis 6 Lifecycle" description="Support lifecycle for Redis 6 packages"> <phase .../> </lifecycle>
外掛程式會依序逐步引導階段、尋找目前作用中的階段,並在輸出中報告該階段的支援層級。
phase
定義生命週期中的一個階段。每個階段會持續到下一個階段開始 (如果是最後一個階段,則為無限期)。
| 屬性 | 必要 | 描述 |
|---|---|---|
name |
是 | 階段識別符 (在其生命週期內唯一) |
support_level |
是 | 參考 support_level@name |
start_date |
有條件 | 固定 ISO 日期 (YYYY-MM-DD)。使用此 或 start_milestone |
start_milestone |
有條件 | 參考 milestone@name。使用此 或 start_date |
display_name |
否 | 面向客戶的標籤 |
注意
僅指定 start_date或 的其中之一start_milestone,而不是同時指定兩者。
<phase name="limited_support" support_level="limited" start_milestone="AL2023_6months" display_name="Limited Support"/>
每個階段從開始日期到下一個階段開始都處於作用中狀態。生命週期中的最後一個階段會無限期保持作用中狀態。
milestone
定義生命週期階段參考的可重複使用日期標記。
| 屬性 | 必要 | 描述 |
|---|---|---|
name |
是 | 參考的唯一識別符 phase@start_milestone |
date |
是 | ISO 日期 (YYYY-MM-DD) |
display_name |
否 | 面向客戶的標籤 |
description |
否 | 人類可讀的描述 |
<milestone name="AL2023_GA" date="2023-03-15" display_name="AL2023 General Availability" description="Amazon Linux 2023 general availability date"/>
里程碑可讓階段共用日期。當里程碑日期變更時,參考它的每個階段都會自動更新。
support_level
定義支援層及其涵蓋的嚴重性。每個 name都會成為有效的--show篩選條件值。
| 屬性 | 必要 | 描述 |
|---|---|---|
name |
是 | 唯一識別符。用作--show篩選條件值 |
severities |
是 | 涵蓋逗號分隔的嚴重性等級 (空字串 = 無修補程式) |
description |
是 | --list-filters 輸出中顯示的人類可讀描述 |
display_name |
否 | 面向客戶的標籤 |
<support_level name="limited" severities="Important,Critical" description="Security fixes for Important and Critical severities only" display_name="Limited Support" />
執行中會dnf supportinfo --show limited列出目前在此支援層級的所有套件。--list-filters 命令會顯示每個層級的 name和 description。
package
將 RPM 套件名稱映射至其生命週期、原始伺服器和類別。
| 屬性 | 必要 | 描述 |
|---|---|---|
name |
是 | RPM 套件名稱 |
lifecycle |
是 | 參考 lifecycle@name |
origin |
是 | 參考 package_origin@name |
package_class |
否 | 參考 package_class@name |
<package name="curl" lifecycle="default_lc" origin="al2023_core" package_class="default"/>
注意
套件可以使用不同的origin值出現多次 (例如,核心和 SPAL 儲存庫中的相同套件)。name + 的組合origin必須是唯一的。
每個已安裝的 RPM 都會符合此清單,以判斷其生命週期和目前支援狀態。
package_class
依其在系統中的角色對套件進行分類。類別名稱和摘要會出現在外掛程式輸出中。
| 屬性/元素 | 必要 | 描述 |
|---|---|---|
@name |
是 | 參考的唯一識別符 package@package_class |
summary (子項) |
是 | 類別的簡短描述 |
text (子項) |
是 | 延伸描述。元素必須存在,但可以是空的 |
<package_class name="os_dependency"> <summary>Packages supported only as dependencies of the operating system</summary> <text></text> </package_class>
類別名稱會出現在輸出中,以指出套件在系統上的角色。
package_origin
識別套件的儲存庫來源。該origin值會出現在dnf supportinfo --pkg輸出中。
| 屬性 | 必要 | 描述 |
|---|---|---|
name |
是 | 參考的唯一識別符 package@origin |
repo_id |
是 | DNF 儲存庫 ID |
dist |
是 | 分佈識別符 |
vendor |
是 | 套件廠商 |
signing_key |
否 | GPG 簽署金鑰識別符 |
display_name |
否 | 面向客戶的標籤 |
description |
否 | 人類可讀的描述 |
<package_origin name="al2023_core" repo_id="amazonlinux" dist="amzn2023" vendor="amazonlinux" display_name="Amazon Linux 2023 Core" description="Core Amazon Linux 2023 repository" />
display_name 會在--pkg輸出中顯示為 "Origin" 欄位。
note
提供生命週期可以參考的任意格式文字,以取得其他內容。
| 屬性 | 必要 | 描述 |
|---|---|---|
name |
是 | 參考的唯一識別符 lifecycle@note |
元素的文字內容包含備註訊息。
<note name="eol_redis6">Upstream end-of-life for Redis 6 (redis6) is 2025-08-31</note>
當套件的生命週期參考備註時,備註文字會在--pkg輸出中顯示為「套件備註」。
參考完整性
結構描述透過name參考將元素連結在一起。每個來源屬性都必須符合現有目標元素name的 :
| 來源屬性 | 參考 |
|---|---|
package@lifecycle |
lifecycle@name |
package@origin |
package_origin@name |
package@package_class |
package_class@name |
phase@support_level |
support_level@name |
phase@start_milestone |
milestone@name |
lifecycle@note |
note@name |
此外, package@name和 的組合在所有package元素中package@origin必須是唯一的。