

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Questa pagina documenta lo schema XML v1.0 utilizzato per definire i cicli di vita, le tempistiche e le classificazioni del supporto dei pacchetti per le distribuzioni Linux. Lo schema è indipendente da DNF e non è specifico per una singola distribuzione. Puoi consumarlo direttamente da qualsiasi strumento. Il `dnf supportinfo` plugin è uno di questi consumatori.
+ **Definizione dello schema (XSD): ** `https://cdn.amazonlinux.com/al2023/core/supportinfo-1.0.xsd`
+ **Dati di supporto (XML): ** `https://cdn.amazonlinux.com/al2023/core/AL2023-supportinfo-1.0.xml`

Per analizzare direttamente questo XML, utilizzate la [amazon-linux-supportinfo](https://github.com/amazonlinux/amazon-linux-supportinfo) libreria open source, che implementa lo schema descritto in questa pagina, invece di scrivere un parser personalizzato.

**Topics**
+ [In che modo il plugin utilizza questo file](#dnf-supportinfo-xml-how-plugin-uses)
+ [Esempio minimo completo](#dnf-supportinfo-xml-minimal-example)
+ [Riferimento all'elemento](#dnf-supportinfo-xml-element-reference)
+ [Integrità referenziale](#dnf-supportinfo-xml-referential-integrity)

## In che modo il plugin utilizza questo file
<a name="dnf-supportinfo-xml-how-plugin-uses"></a>

Da questo file, il plugin riporta:
+ A che livello di supporto si trova un pacchetto (questi valori popolano le opzioni di `--show` filtro)
+ Quando le fasi del ciclo di vita cambiano (visualizzate nell'`--pkg`output e nella timeline)
+ Copertura della priorità e della gravità delle patch per ogni livello di supporto
+ Da dove proviene il pacco (origine e classificazione)

## Esempio minimo completo
<a name="dnf-supportinfo-xml-minimal-example"></a>

Questo esempio mostra la struttura minima con tutte le sezioni obbligatorie e un pacchetto:

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

## Riferimento all'elemento
<a name="dnf-supportinfo-xml-element-reference"></a>

### `package_support` (elemento principale)
<a name="dnf-supportinfo-xml-package-support"></a>

L'elemento principale che contiene tutti i metadati di supporto.


| Attributo | Richiesto | Descrizione | 
| --- | --- | --- | 
| schema\_version | Sì | Versione del formato dello schema (attualmente) 1.0 | 
| current\_as | Sì | Timestamp ISO dell'ultima generazione dei dati di supporto | 

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

Il `current_as` timestamp appare nell'output per indicare la freschezza dei dati.

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

Definisce una sequenza di fasi che un pacchetto attraversa nel tempo.


| Attributo | Richiesto | Descrizione | 
| --- | --- | --- | 
| name | Sì | Identificatore univoco a cui fa riferimento package@lifecycle | 
| note | No | Fa riferimento a note@name per un contesto aggiuntivo | 
| display\_name | No | Customer-facing etichetta | 
| description | No | Human-readable descrizione | 

```
<lifecycle name="redis6_lc" note="eol_redis6"
           display_name="Redis 6 Lifecycle"
           description="Support lifecycle for Redis 6 packages">
  <phase .../>
</lifecycle>
```

Il plugin segue le fasi in ordine, trova quella attualmente attiva e riporta il livello di supporto di quella fase nell'output.

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

Definisce una fase all'interno di un ciclo di vita. Ogni fase continua fino all'inizio della fase successiva (o a tempo indeterminato se è l'ultima fase).


| Attributo | Richiesto | Descrizione | 
| --- | --- | --- | 
| name | Sì | Identificatore di fase (unico nel suo ciclo di vita) | 
| support\_level | Sì | Riferimenti a support\_level@name | 
| start\_date | Condizionale | Data ISO fissa (YYYY-MM-DD). Usa questo  o  start\_milestone | 
| start\_milestone | Condizionale | Riferimenti amilestone@name. Usa questo  o  start\_date | 
| display\_name | No | Customer-facing etichetta | 

**Nota**  
Specificate esattamente uno dei due `start_date` o `start_milestone` non entrambi.

```
<phase name="limited_support"
       support_level="limited"
       start_milestone="AL2023_6months"
       display_name="Limited Support"/>
```

Ogni fase è attiva dalla data di inizio fino all'inizio della fase successiva. L'ultima fase di un ciclo di vita rimane attiva a tempo indeterminato.

### `pietra miliare`
<a name="dnf-supportinfo-xml-milestone"></a>

Definisce un indicatore di data riutilizzabile a cui fanno riferimento le fasi del ciclo di vita.


| Attributo | Richiesto | Descrizione | 
| --- | --- | --- | 
| name | Sì | Identificatore univoco a cui fa riferimento phase@start\_milestone | 
| date | Sì | Data ISO () YYYY-MM-DD | 
| display\_name | No | Customer-facing etichetta | 
| description | No | Human-readable descrizione | 

```
<milestone name="AL2023_GA" date="2023-03-15"
           display_name="AL2023 General Availability"
           description="Amazon Linux 2023 general availability date"/>
```

Le pietre miliari consentono alle fasi di condividere le date. Quando la data di una pietra miliare cambia, ogni fase che la fa riferimento si aggiorna automaticamente.

### `support_level`
<a name="dnf-supportinfo-xml-support-level"></a>

Definisce un livello di supporto e le criticità da esso coperte. Ciascuno `name` diventa un valore di `--show` filtro valido.


| Attributo | Richiesto | Descrizione | 
| --- | --- | --- | 
| name | Sì | Identificatore univoco. Usato come valore del --show filtro | 
| severities | Sì | Comma-separated livelli di gravità coperti (stringa vuota = nessuna patch) | 
| description | Sì | Human-readable descrizione mostrata nell'output --list-filters | 
| display\_name | No | Customer-facing etichetta | 

```
<support_level name="limited"
               severities="Important,Critical"
               description="Security fixes for Important and Critical severities only"
               display_name="Limited Support" />
```

Running `dnf supportinfo --show limited` elenca tutti i pacchetti attualmente a questo livello di supporto. Il `--list-filters` comando visualizza `name` e di ogni livello`description`.

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

Associa il nome di un pacchetto RPM al relativo ciclo di vita, origine e classe.


| Attributo | Richiesto | Descrizione | 
| --- | --- | --- | 
| name | Sì | Nome del pacchetto RPM | 
| lifecycle | Sì | Riferimenti a lifecycle@name | 
| origin | Sì | Riferimenti a package\_origin@name | 
| package\_class | No | Riferimenti a package\_class@name | 

```
<package name="curl" lifecycle="default_lc" origin="al2023_core" package_class="default"/>
```

**Nota**  
Un pacchetto può apparire più volte con `origin` valori diversi (ad esempio, lo stesso pacchetto nei repository core e SPAL). La combinazione di `name` \+ `origin` deve essere univoca.

Ogni RPM installato viene confrontato con questo elenco per determinarne il ciclo di vita e lo stato attuale del supporto.

### `package_class`
<a name="dnf-supportinfo-xml-package-class"></a>

Classifica i pacchetti in base al loro ruolo nel sistema. Il nome e il riepilogo della classe vengono visualizzati nell'output del plugin.


| Attribute/Element | Richiesto | Descrizione | 
| --- | --- | --- | 
| @name | Sì | Identificatore univoco a cui fa riferimento package@package\_class | 
| summary(bambino) | Sì | Breve descrizione della categoria | 
| text(bambino) | Sì | Descrizione estesa. L'elemento deve essere presente ma può essere vuoto | 

```
<package_class name="os_dependency">
  <summary>Packages supported only as dependencies of the operating system</summary>
  <text></text>
</package_class>
```

Il nome della classe appare nell'output per indicare il ruolo di un pacchetto nel sistema.

### `package_origin`
<a name="dnf-supportinfo-xml-package-origin"></a>

Identifica l'origine del repository di un pacchetto. Il `origin` valore appare nell'`dnf supportinfo --pkg`output.


| Attributo | Richiesto | Descrizione | 
| --- | --- | --- | 
| name | Sì | Identificatore univoco a cui fa riferimento package@origin | 
| repo\_id | Sì | ID del repository DNF | 
| dist | Sì | Identificatore di distribuzione | 
| vendor | Sì | Fornitore del pacchetto | 
| signing\_key | No | Identificatore della chiave di firma GPG | 
| display\_name | No | Customer-facing etichetta | 
| description | No | Human-readable descrizione | 

```
<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`Viene visualizzato come campo «Origine» nell'`--pkg`output.

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

Fornisce testo in formato libero a cui un ciclo di vita può fare riferimento per un contesto aggiuntivo.


| Attributo | Richiesto | Descrizione | 
| --- | --- | --- | 
| name | Sì | Identificatore univoco a cui fa riferimento lifecycle@note | 

Il contenuto testuale dell'elemento contiene il messaggio della nota.

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

Quando il ciclo di vita di un pacchetto fa riferimento a una nota, il testo della nota appare come «Nota sul pacchetto» nell'`--pkg`output.

## Integrità referenziale
<a name="dnf-supportinfo-xml-referential-integrity"></a>

Lo schema collega gli elementi tra loro tramite `name` riferimenti. Ogni attributo di origine deve corrispondere a quello `name` di un elemento di destinazione esistente:


| Attributo di origine | Riferimenti | 
| --- | --- | 
| 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 | 

Inoltre, la combinazione di `package@name` e `package@origin` deve essere univoca per tutti `package` gli elementi.