本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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时间戳显示在输出中,以表示数据的新鲜度。
生命周期
定义软件包随时间推移所经历的阶段顺序。
| 属性 | 必需 | 描述 |
|---|---|---|
name |
是 | 引用的唯一标识符 package@lifecycle |
note |
否 | 参考文献 a note@name 以获取更多上下文 |
display_name |
否 | Customer-facing 标签 |
description |
否 | Human-readable 描述 |
<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 |
是 | 参考文献 a support_level@name |
start_date |
有条件 | 固定 ISO 日期 (YYYY-MM-DD)。用这个或 start_milestone |
start_milestone |
有条件 | 参考文献 amilestone@name. 用这个或 start_date |
display_name |
否 | Customer-facing 标签 |
注意
请只指定start_date或中的一个start_milestone,而不是两者。
<phase name="limited_support" support_level="limited" start_milestone="AL2023_6months" display_name="Limited Support"/>
每个阶段从开始日期起一直处于活动状态,直到下一阶段开始。生命周期的最后阶段将无限期地保持活动状态。
里程碑
定义生命周期阶段参考的可重复使用的日期标记。
| 属性 | 必需 | 描述 |
|---|---|---|
name |
是 | 引用的唯一标识符 phase@start_milestone |
date |
是 | ISO 日期 (YYYY-MM-DD) |
display_name |
否 | Customer-facing 标签 |
description |
否 | Human-readable 描述 |
<milestone name="AL2023_GA" date="2023-03-15" display_name="AL2023 General Availability" description="Amazon Linux 2023 general availability date"/>
里程碑让各阶段共享日期。当里程碑日期发生变化时,引用该里程碑日期的每个阶段都会自动更新。
支持级别
定义支持等级及其涵盖的严重程度。每个都name成为有效的--show过滤器值。
| 属性 | 必需 | 描述 |
|---|---|---|
name |
是 | 唯一标识符。用作--show筛选值 |
severities |
是 | Comma-separated 涵盖的严重性级别(空字符串 = 没有补丁) |
description |
是 | Human-readable --list-filters输出中显示的描述 |
display_name |
否 | Customer-facing 标签 |
<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。
程序包
将 RPM 包名称映射到其生命周期、来源和类。
| 属性 | 必需 | 描述 |
|---|---|---|
name |
是 | RPM 包名称 |
lifecycle |
是 | 参考文献 a lifecycle@name |
origin |
是 | 参考文献 a package_origin@name |
package_class |
否 | 参考文献 a package_class@name |
<package name="curl" lifecycle="default_lc" origin="al2023_core" package_class="default"/>
注意
一个包可以多次以不同的origin值出现(例如,同一个包在核心和 SPAL 存储库中)。name+ 的组合origin必须是唯一的。
每个已安装的 RPM 都将与此列表进行匹配,以确定其生命周期和当前支持状态。
包级别
按包在系统中的角色对软件包进行分类。类名和摘要显示在插件输出中。
| Attribute/Element | 必需 | 描述 |
|---|---|---|
@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 |
否 | Customer-facing 标签 |
description |
否 | Human-readable 描述 |
<package_origin name="al2023_core" repo_id="amazonlinux" dist="amzn2023" vendor="amazonlinux" display_name="Amazon Linux 2023 Core" description="Core Amazon Linux 2023 repository" />
在--pkg输出中display_name显示为 “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必须是唯一的。