

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# SupportInfo XML 구조
<a name="dnf-supportinfo-xml-structure"></a>

이 페이지에서는 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](https://github.com/amazonlinux/amazon-linux-supportinfo) 라이브러리를 사용합니다.

**Topics**
+ [플러그인이이 파일을 사용하는 방법](#dnf-supportinfo-xml-how-plugin-uses)
+ [전체 최소 예제](#dnf-supportinfo-xml-minimal-example)
+ [요소 참조](#dnf-supportinfo-xml-element-reference)
+ [참조 무결성](#dnf-supportinfo-xml-referential-integrity)

## 플러그인이이 파일을 사용하는 방법
<a name="dnf-supportinfo-xml-how-plugin-uses"></a>

이 파일에서 플러그인은 다음을 보고합니다.
+ 패키지가 있는 지원 수준(이 값은 `--show` 필터 옵션을 채웁니다)
+ 수명 주기 단계가 변경되는 경우(`--pkg`출력 및 타임라인에 표시됨)
+ 각 지원 수준에 대한 패치 우선 순위 및 심각도 적용 범위
+ 패키지의 출처(오리진 및 분류)

## 전체 최소 예제
<a name="dnf-supportinfo-xml-minimal-example"></a>

이 예제는 모든 필수 섹션과 하나의 패키지가 포함된 최소 구조를 보여줍니다.

```
<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>
```

## 요소 참조
<a name="dnf-supportinfo-xml-element-reference"></a>

### `package_support` (루트 요소)
<a name="dnf-supportinfo-xml-package-support"></a>

모든 지원 메타데이터가 포함된 루트 요소입니다.


| 속성 | 필수 | 설명 | 
| --- | --- | --- | 
| schema\_version | 예 | 스키마 형식 버전(현재 1.0) | 
| current\_as | 예 | 지원 데이터가 마지막으로 생성된 ISO 타임스탬프 | 

```
<package_support schema_version="1.0" current_as="2025-08-21T22:41:55.575196">
```

`current_as` 타임스탬프가 출력에 나타나 데이터 신선도를 나타냅니다.

### `lifecycle`
<a name="dnf-supportinfo-xml-lifecycle"></a>

시간이 지남에 따라 패키지가 전환하는 일련의 단계를 정의합니다.


| 속성 | 필수 | 설명 | 
| --- | --- | --- | 
| 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`
<a name="dnf-supportinfo-xml-phase"></a>

수명 주기 내에서 한 단계를 정의합니다. 각 단계는 다음 단계가 시작될 때까지 계속됩니다(또는 마지막 단계인 경우 무기한).


| 속성 | 필수 | 설명 | 
| --- | --- | --- | 
| 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`
<a name="dnf-supportinfo-xml-milestone"></a>

수명 주기 단계가 참조하는 재사용 가능한 날짜 마커를 정의합니다.


| 속성 | 필수 | 설명 | 
| --- | --- | --- | 
| 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`
<a name="dnf-supportinfo-xml-support-level"></a>

지원 계층과 해당 계층에서 다루는 심각도를 정의합니다. 각각은 유효한 `--show` 필터 값이 `name` 됩니다.


| 속성 | 필수 | 설명 | 
| --- | --- | --- | 
| 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`
<a name="dnf-supportinfo-xml-package"></a>

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`
<a name="dnf-supportinfo-xml-package-class"></a>

시스템에서 역할을 기준으로 패키지를 분류합니다. 클래스 이름과 요약은 플러그인 출력에 표시됩니다.


| 속성/요소 | 필수 | 설명 | 
| --- | --- | --- | 
| @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`
<a name="dnf-supportinfo-xml-package-origin"></a>

패키지의 리포지토리 소스를 식별합니다. `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" />
```

는 `--pkg` 출력에 "원본" 필드로 `display_name` 표시됩니다.

### `note`
<a name="dnf-supportinfo-xml-note"></a>

수명 주기가 추가 컨텍스트를 위해 참조할 수 있는 자유 형식 텍스트를 제공합니다.


| 속성 | 필수 | 설명 | 
| --- | --- | --- | 
| name | 예 | 에서 참조하는 고유 식별자 lifecycle@note | 

요소의 텍스트 콘텐츠에는 메모 메시지가 포함됩니다.

```
<note name="eol_redis6">Upstream end-of-life for Redis 6 (redis6) is 2025-08-31</note>
```

패키지의 수명 주기가 메모를 참조하면 `--pkg` 출력에 메모 텍스트가 "패키지 메모"로 표시됩니다.

## 참조 무결성
<a name="dnf-supportinfo-xml-referential-integrity"></a>

스키마는 `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` 합니다.