View a markdown version of this page

dnf-plugin-support-info v1에서 v2로 마이그레이션 - Amazon Linux 2023

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

dnf-plugin-support-info v1에서 v2로 마이그레이션

dnf-plugin-support-info 패키지에는 재설계된 출력 형식의 새 메이저 버전(v2)이 있습니다. 이 가이드는 dnf supportinfo 출력을 구문 분석하는 스크립트 또는 도구를 업데이트하는 데 도움이 됩니다.

전환 기간 동안 v2 플러그인은 v1 호환 출력을 보존/etc/dnf/plugins/supportinfo.conf하는 legacy = 1의와 함께 제공됩니다. 스크립트를 업데이트한 후에는 legacy = 0를 v2 출력으로 전환하도록 설정합니다.

개요

타임라인

Event Timing(타이밍)
v2 플러그인(dnf-plugin-support-info 2.0) 사용 가능 NOW
플러그인은 legacy = 1 (v1 호환 출력)과 함께 제공됩니다. 초기 v2 릴리스
에 대한 기본 변경 사항 legacy = 0 향후 AL2023 분기별 릴리스
v1 형식이 더 이상 유지되지 않음 전환 기간 이후

수행해야 할 작업

콘솔 출력, XML 출력을 구문 분석하거나 디스크에서 XML 파일을 읽는 스크립트가 있는 경우 새 필드 이름, 구조 및 파일 경로를 처리하도록 업데이트합니다. 를 사용하는 경우 JSON 출력이 v1과 v2 간에 동일하므로 --showjson스크립트를 변경할 필요가 없습니다. 디스크에서 직접 XML 파일을 읽는 경우 구성된에서 XML 다운로드로 전환baseurl하거나를 사용합니다dnf supportinfo --show installed --showxml.

조치가 필요한 주요 변경 사항

콘솔 출력을 구문 분석하는 경우

세부 정보 필드

플러그인은 특정 패키지를 쿼리할 때 표시되는 필드 레이블을 변경했습니다.

v1 레이블 v2 레이블 참고
지원 상태 현재 상태 이름이 변경됨
지원 기간 지원 타임라인 이름 변경, 출력 끝으로 이동
지원 문 (제거됨) 더 이상 표시되지 않음
링크 링크 변경되지 않음(사용 가능한 경우 표시됨)
기타 정보 기타 정보 변경되지 않음(사용 가능한 경우 표시됨)
(없음) 패치 우선 순위 새 필드
(없음) 지원 수준 설명 새 필드
(없음) 적용 심각도 새 필드
(없음) Origin 새 필드

이제 필드 레이블 열의 너비는 28자입니다(이전에는 20자).

v1: dnf supportinfo --pkg apr

Name : apr Version : 1.7.5-1.amzn2023.0.4 State : available Support Status : supported Support Periods : from 2023-03-15 : supported : from 2029-06-30 : unsupported Support Statement : Amazon Linux 2023 end-of-life Link : https://aws.amazon.com/amazon-linux-ami/faqs/ Other Info : This is the support statement for AL2023. The end-of-life : of Amazon Linux 2023 is June 2029. From this point, the : Amazon Linux 2023 packages will no longer receive any : updates from AWS.

v2: dnf supportinfo --pkg apr

Name : apr Version : 1.7.5-1.amzn2023.0.4 State : available Current Status : Supported Patch Priority : Full Support Support Level Description : Full security and bug fix support for all severities Covered Severities : Low, Medium, Important, Critical Origin : Amazon Linux 2023 Core Support Timeline : from 2023-03-15 : supported : from 2029-06-30 : unsupported

테이블 열

요약 테이블이 6개 열에서 7개 열로 변경되었습니다. v2 테이블에는 헤더 행도 표시됩니다(v1은 표시되지 않음).

v1 열 v2 열 변경
이름 패키지 이름이 변경됨
버전 버전 변경되지 않음
State State 변경되지 않음
지원 상태 현재 상태 이름이 변경됨
(없음) 지원 수준 새 열
날짜(예: 2029-06-30) 종료(다음 단계)(예: 2029-06-30 (end_of_support)) 이름이 변경됨, 형식이 변경됨
참고 참고 변경되지 않음
중요

이제 날짜 열에 괄호 안에 다음 단계 이름이 포함됩니다. 이 필드를 구문 분석하는 경우 정규식 또는 구분 기호 로직을 업데이트합니다.

v1: dnf supportinfo --show installed

iproute 6.10.0-319.amzn2023.0.1 installed supported 2029-06-30 Kernel6.18 has security support until June 2029 kernel6.12 6.12.90-120.164.amzn2023 installed supported 2029-06-30 Kernel6.12 has security support until June 2029

v2: dnf supportinfo --show installed

Package Version State Support Level Current Status Until (Next Phase) Note alternatives 1.15-2.amzn2023.0.2 installed Full Support Supported 2029-06-30 (unsupported) amazon-linux-repo-cdn 2023.12.20260611-0.amzn2023 installed Full Support Supported 2029-06-30 (unsupported) redis6 6.2.20-2.amzn2023.0.1 installed End of Support End of Life Upstream end-of-life for Redis 6 (redis6) is 2026-01-31

--showxml 출력을 구문 분석하는 경우

v2 --showxml 출력은 v1과 다른 XML 구조를 사용합니다. 루트 <package_support> 요소는 동일하지만 하위 요소, 속성 및 계층 구조가 변경되었습니다.

v1: dnf supportinfo --pkg apr --showxml

<?xml version="1.0" ?> <package_support current_as="2026-06-18"> <statements> <statement id="eol" marker="supported" start_date="2023-03-15" end_date="2029-06-30"> <summary>Amazon Linux 2023 end-of-life</summary> <text>This is the support statement for AL2023. The end-of-life of Amazon Linux 2023 is June 2029. From this point, the Amazon Linux 2023 packages will no longer receive any updates from AWS.</text> <link>https://aws.amazon.com/amazon-linux-ami/faqs/</link> <packages> <package name="apr" nevra="1.7.5-1.amzn2023.0.4"/> </packages> </statement> </statements> </package_support>

v2: dnf supportinfo --pkg apr --showxml

<?xml version='1.0' encoding='utf-8'?> <package_support current_as="2026-06-18"> <statements> <statement id="eol_lc" current_phase="supported"> <phases> <phase name="supported" start_date="2023-03-15"> <patch_priority>Full Support</patch_priority> <support_level_description>Full security and bug fix support for all severities</support_level_description> <covered_severities>Low, Medium, Important, Critical</covered_severities> </phase> <phase name="unsupported" start_date="2029-06-30"> <patch_priority>End of Support</patch_priority> <support_level_description>End of support - no further updates</support_level_description> </phase> </phases> <packages> <package name="apr" nevra="1.7.5-1.amzn2023.0.4" state="available" origin="Amazon Linux 2023 Core"/> </packages> </statement> </statements> </package_support>

주요 구조적 차이점:

  • v1은 marker, , start_date, <summary> <text> <link> 하위 <statement>의 end_date 속성을 사용합니다.

  • v2는 지원 수준 세부 정보와 함께 current_phase 속성 및 중첩 <phases> 요소를 사용합니다.

  • v2는 비어 있을 때(빈 요소 대신) <covered_severities> 완전히 생략합니다.

  • v2 패키지 요소에는 state 및 origin 속성이 포함됩니다.

  • v2에는 <summary>, <text>또는 <link> 요소가 포함되지 않음

디스크에서 XML 파일을 직접 읽는 경우

v1 플러그인은 다음 위치에서 데이터 파일을 번들링했습니다.

/usr/lib/python*/site-packages/dnf-plugins/support_info.xml
주의

이 파일은 legacy = 0 일단 적용되면 더 이상 업데이트되지 않습니다. 현재 데이터에 대해이 경로에 의존하지 마십시오.

v2 플러그인은 루트로 실행될 /var/cache/dnf/support-info/ 때에서 데이터를 캐싱합니다. 루트가 아닌 사용자로 실행하면 사용자별 임시 디렉터리에 대한 DNF의 표준 규칙에 /var/tmp/dnf-username-*/support-info/따라를 사용합니다. 이러한 디렉터리의 파일은 콘텐츠 주소 파일 이름을 사용하며 안정적이지 않습니다. 직접 구문 분석하지 마세요.

권장 대안:

  1. 구성된 URL에서 XML을 직접 다운로드합니다.

    https://cdn.amazonlinux.com/al2023/core/AL2023-supportinfo-1.0.xml
  2. CLI를 사용하여 설치된 패키지에 대한 구조화된 출력을 가져옵니다.

    dnf supportinfo --show installed --showxml

를 사용하여 필터링하는 경우 --show

--show 필터에서 허용하는 값이 변경되었습니다.

v1 필터 값 v2 필터 값
supported full_support
unsupported eos

v1 필터는 단계 이름(supported, unsupported)입니다. v2 필터는 지원 수준 이름(full_support, eos등)입니다.

를 실행--list-filters하여 시스템에서 사용 가능한 필터 값을 검색합니다.

dnf supportinfo --list-filters

변경되지 않는 사항

dnf-plugin-support-info v2를 설치하면 legacy 설정과 관계없이 다음이 동일하게 유지됩니다.

  • --showjson 출력. 플러그인은 서식을 지정하기 전에 v2 내부 구조로 정규화1되므로 JSON 출력은 legacy가 0 이든 이든 동일합니다.

  • CLI 인수입니다. 모든 플래그(--pkg, --show, --showxml, --showjson, --clean-cache, --list-filters, --sync)는 두 모드 모두에서 작동합니다.

  • 명령 이름입니다. 여전히를 실행합니다dnf supportinfo.

참고

--showjson, --clean-cache--list-filters, 및 --sync 플래그는 v2에서 새로 추가되며 v1에서는 사용할 수 없습니다.

전환 기간

v2 플러그인은 legacy = 1에서와 함께 제공됩니다/etc/dnf/plugins/supportinfo.conf. 이 기간 동안:

  1. 플러그인은 구성된 URL에서 v2 데이터를 다운로드합니다.

  2. 콘솔 출력, XML 출력 및 필터 값은 v1처럼 계속 작동합니다.

  3. v1 형식 XML 파일은 기존 스크립트가 계속 작동하도록 이전 경로에서 계속 사용할 수 있습니다.

향후 AL2023 분기별 릴리스에서 기본값은 로 변경됩니다legacy = 0. 이때:

  • 콘솔 출력은 v2 필드 이름과 구조를 사용합니다.

  • --showxml는 새로운 단계 기반 형식을 생성합니다.

  • --show 필터 값이 레벨 이름을 지원하도록 변경됩니다.

  • 이전 경로의 v1 XML 파일은 더 이상 업데이트되지 않습니다.

v1 호환 출력을 일시적으로 유지하려면 legacy = 1에서를 설정합니다/etc/dnf/plugins/supportinfo.conf.

[main] legacy = 1
중요

legacy = 1 옵션은 임시 브리지입니다. 이 설정에 무기한 의존하지 않고 도구를 v2 출력으로 마이그레이션하도록 계획합니다.