View a markdown version of this page

Migration à partir de dnf-plugin-support-info v1 à v2 - Amazon Linux 2023

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migration à partir de dnf-plugin-support-info v1 à v2

Le dnf-plugin-support-info package dispose d'une nouvelle version majeure (v2) avec un format de sortie repensé. Ce guide vous aide à mettre à jour tous les scripts ou outils qui analysent les résultats. dnf supportinfo

Pendant la période de transition, le plugin v2 est livré avec legacy = 1 in/etc/dnf/plugins/supportinfo.conf, ce qui préserve la sortie compatible avec la v1. Une fois que vous avez mis à jour vos scripts, configurez legacy = 0 pour passer à la sortie v2.

Vue d’ensemble

Chronologie

Événement Timing (Durée)
plugin v2 (dnf-plugin-support-info 2.0) disponible Maintenant
Le plugin est livré avec legacy = 1 (sortie compatible avec la version 1) Version initiale de la v2
La valeur par défaut passe à legacy = 0 Une prochaine publication trimestrielle pour AL2023
le format v1 n'est plus maintenu Après la période de transition

Ce que vous devez faire

Si vous disposez de scripts qui analysent la sortie de la console, la sortie XML ou lisent le fichier XML depuis le disque, mettez-les à jour pour gérer les nouveaux noms de champs, la nouvelle structure et les nouveaux chemins de fichier. Si vous l'utilisez--showjson, vos scripts n'ont pas besoin d'être modifiés, car la sortie JSON est identique entre la v1 et la v2. Si vous lisez le fichier XML directement depuis le disque, passez au téléchargement du fichier XML depuis le périphérique configuré baseurl ou utilisez-lednf supportinfo --show installed --showxml.

Changements majeurs qui nécessitent une action

Si vous analysez la sortie de la console

Champs de détail

Le plugin a modifié les libellés des champs qu'il affiche lorsque vous interrogez un package spécifique :

étiquette v1 étiquette v2 Remarques
État du support État actuel Renommé
Périodes de support Chronologie du support Renommé, déplacé vers la fin de la sortie
Déclaration de soutien (supprimé) Ne s'affiche plus
Lien Lien Inchangé (affiché lorsqu'il est disponible)
Autres informations Autres informations Inchangé (affiché lorsqu'il est disponible)
(non présent) Priorité des correctifs Nouveau domaine
(non présent) Description du niveau de support Nouveau domaine
(non présent) Gravités couvertes Nouveau domaine
(non présent) Origin Nouveau domaine

La colonne du libellé du champ comporte désormais 28 caractères (au lieu de 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

Colonnes de la table

Le tableau récapitulatif est passé de 6 colonnes à 7. Le tableau v2 affiche également une ligne d'en-tête (ce n'est pas le cas pour la v1) :

colonne v1 colonne v2 Modifier
Nom Package Renommé
Version Version Inchangé
State State Inchangé
État du support État actuel Renommé
(non présent) Niveau de support Nouvelle colonne
Date (telle que2029-06-30) Jusqu'à (phase suivante) (par exemple2029-06-30 (end_of_support)) Renommé, format modifié
Remarque Remarque Inchangé
Important

La colonne de date inclut désormais le nom de la phase suivante entre parenthèses. Si vous analysez ce champ, mettez à jour votre logique de regex ou de délimiteur.

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

Si vous analysez la sortie de --showxml

La --showxml sortie v2 utilise une structure XML différente de celle de la v1. L'<package_support>élément racine est le même, mais les éléments enfants, les attributs et la hiérarchie ont changé.

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>

Principales différences structurelles :

  • La v1 utilise markerstart_date, end_date attributs sur <statement> <summary> with<text>, <link> children

  • La v2 utilise des current_phase attributs et des <phases> éléments imbriqués avec des détails sur le niveau de support

  • La v2 omet <covered_severities> complètement lorsqu'elle est vide (au lieu d'un élément vide)

  • Les éléments du package v2 incluent state et leurs origin attributs

  • La v2 n'inclut pas <summary><text>, ou <link> des éléments

Si vous lisez le fichier XML directement depuis le disque

Le plugin v1 a regroupé son fichier de données à l'adresse suivante :

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

Ce fichier n'est plus mis à jour une fois legacy = 0 qu'il prend effet. Ne vous fiez pas à ce chemin pour les données actuelles.

Le plugin v2 met en cache les données /var/cache/dnf/support-info/ lorsqu'il est exécuté en tant que root. Lorsqu'il est exécuté en tant qu'utilisateur non root, il utilise/var/tmp/dnf-username-*/support-info/, conformément à la convention standard de DNF pour les répertoires temporaires par utilisateur. Les fichiers de ces répertoires utilisent des noms de fichiers dont le contenu est adressé et ne sont pas stables. Ne les analysez pas directement.

Alternatives recommandées :

  1. Téléchargez le fichier XML directement à partir de l'URL configurée :

    https://cdn.amazonlinux.com/al2023/core/AL2023-supportinfo-1.0.xml
  2. Utilisez la CLI pour obtenir une sortie structurée pour les packages installés :

    dnf supportinfo --show installed --showxml

Si vous filtrez avec --show

Les valeurs acceptées par le --show filtre ont changé :

valeurs du filtre v1 valeurs du filtre v2
supported full_support
unsupported eos

Les filtres v1 sont des noms de phase (supported,unsupported). Les filtres v2 sont des noms de niveaux de support (full_supporteos,, etc.).

Exécutez --list-filters pour découvrir les valeurs de filtre disponibles sur votre système :

dnf supportinfo --list-filters

Ce qui ne change pas

Une fois la dnf-plugin-support-info v2 installée, les paramètres suivants restent les mêmes quel que soit le legacy réglage :

  • --showjsonsortie. La sortie JSON est identique, que ce legacy soit 0 ou non1, car le plugin se normalise à la structure interne de la v2 avant le formatage.

  • Arguments CLI. Tous les indicateurs (--pkg,--show,--showxml,--showjson,--clean-cache,--list-filters,--sync) fonctionnent dans les deux modes.

  • Nom de la commande. Tu cours toujoursdnf supportinfo.

Note

Les --sync indicateurs --showjson--clean-cache,--list-filters, et sont nouveaux dans la v2 et ne sont pas disponibles dans la v1.

Période de transition

Le plugin v2 est livré avec legacy = 1/etc/dnf/plugins/supportinfo.conf. Pendant cette période :

  1. Le plugin télécharge les données v2 à partir de l'URL configurée.

  2. La sortie de la console, la sortie XML et les valeurs de filtre continuent de se comporter comme dans la version v1.

  3. Le fichier XML au format v1 reste disponible à l'ancien chemin afin que les scripts existants continuent de fonctionner.

Dans une prochaine version trimestrielle d'AL2023, la valeur par défaut sera. legacy = 0 À ce moment-là :

  • La sortie de la console utilise les noms de champs et la structure de la v2.

  • --showxmlproduit le nouveau format basé sur les phases.

  • --showles valeurs de filtre sont remplacées par des noms de niveaux de support.

  • Le fichier XML v1 situé à l'ancien chemin n'est plus mis à jour.

Pour conserver temporairement une sortie compatible avec la version 1, configurez legacy = 1 : /etc/dnf/plugins/supportinfo.conf

[main] legacy = 1
Important

L'legacy = 1option est un pont temporaire. Prévoyez de migrer votre outillage vers la sortie v2 plutôt que de vous fier à ce paramètre indéfiniment.