

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à.

# Aggiornamento AL2023
<a name="updating"></a>

È importante tenersi aggiornati sulle AL2023 versioni in modo da poter beneficiare degli aggiornamenti di sicurezza e delle nuove funzionalità. Con AL2023, puoi garantire la coerenza tra le versioni dei pacchetti e gli aggiornamenti in tutto l'ambiente tramite[Aggiornamenti deterministici tramite repository con versioni su AL2023](deterministic-upgrades.md).

**avvertimento**  
 `dnf --releasever=latest update`L'esecuzione non è una procedura consigliata ed è probabile che comporti il primo test di un aggiornamento del sistema operativo in produzione.   
 Invece di utilizzare`latest`, utilizzate una versione di AL2023 rilascio specifica. Ciò garantisce l'implementazione delle stesse modifiche tra le istanze di produzione testate in precedenza. Ad esempio, `dnf --releasever=2023.10.20260325 update` verrà sempre aggiornato alla versione 2023.10.20260325.   
 [Per ulteriori informazioni, consulta la sezione [Aggiornamento AL2023](https://docs.aws.amazon.com/linux/al2023/ug/updating.html) nella Guida per l'utente. AL2023 ](https://docs.aws.amazon.com/linux/al2023/ug/) 

**Topics**
+ [Le migliori pratiche per la distribuzione sicura degli aggiornamenti](updating-best-practice.md)
+ [Ricevi notifiche sui nuovi aggiornamenti](receive-update-notification.md)
+ [Aggiornamenti deterministici tramite repository con versioni su AL2023](deterministic-upgrades.md)
+ [Gestisci gli aggiornamenti dei pacchetti e del sistema operativo in AL2023](managing-repos-os-updates.md)
+ [Kernel Live Patching su 023 AL2](live-patching.md)
+ [Aggiornamento del kernel Linux su AL2023](kernel-update.md)

# Le migliori pratiche per la distribuzione sicura degli aggiornamenti
<a name="updating-best-practice"></a>

 Amazon Linux 2023 (AL2023) dispone di diverse funzionalità progettate per facilitare la distribuzione sicura degli aggiornamenti nel sistema operativo e per essere in grado di sapere cosa è cambiato tra un aggiornamento e l'altro e, se necessario, ripristinare facilmente la versione precedente. Questa sezione esplora le lezioni apprese AWS da oltre un decennio di utilizzo interno ed esterno di Amazon Linux. 

**avvertimento**  
 `dnf --releasever=latest update`L'esecuzione non è una procedura consigliata ed è probabile che un aggiornamento del sistema operativo venga testato per la prima volta in produzione.   
 Invece di utilizzarla`latest`, utilizzate una versione di AL2023 rilascio specifica. Ciò garantisce l'implementazione delle stesse modifiche tra le istanze di produzione testate in precedenza. Ad esempio, `dnf --releasever=2023.10.20260325 update` verrà sempre aggiornato alla versione 2023.10.20260325.   
 [Per ulteriori informazioni, consulta la sezione [Aggiornamento AL2023](https://docs.aws.amazon.com/linux/al2023/ug/updating.html) nella Guida per l'utente. AL2023 ](https://docs.aws.amazon.com/linux/al2023/ug/) 

 Senza pianificare la sicurezza dell'implementazione degli aggiornamenti del sistema operativo, l'impatto di un'interazione negativa imprevista tra l'utente application/service e un aggiornamento del sistema operativo può essere notevolmente maggiore, fino a includere un'interruzione totale. Come per qualsiasi problema relativo al software, prima viene rilevato il problema, minore è l'impatto che può avere sugli utenti finali. 

 È importante non cadere nella trappola di credere a due cose che fondamentalmente non sono vere: 

1. Il fornitore del sistema operativo non commetterà mai errori durante un aggiornamento del sistema operativo.

1. Il comportamento specifico o l'interfaccia verso il sistema operativo su cui fate affidamento corrisponde al comportamento e alle interfacce su cui il fornitore del sistema operativo considererebbe qualcosa su cui fare affidamento.

   vale a dire che sia il fornitore del sistema operativo che l'utente concorderebbe sul fatto che si è verificato un problema con l'aggiornamento.

 Non fate affidamento sulle buone intenzioni, ma predisponete sistemi per garantire che la sicurezza dell'implementazione *includa* qualsiasi aggiornamento del sistema operativo. 

 Non è consigliabile testare i nuovi aggiornamenti del sistema operativo distribuendoli in ambienti di produzione. È consigliabile considerare il sistema operativo come un'altra parte della distribuzione e prendere in considerazione l'applicazione degli stessi meccanismi di sicurezza dell'implementazione che si ritengono adatti per qualsiasi altra modifica all'ambiente di produzione. 

 È consigliabile testare tutti gli aggiornamenti del sistema operativo prima di distribuirli sui sistemi di produzione. Durante la distribuzione, si consigliano implementazioni graduali combinate con un buon monitoraggio. Le implementazioni in fasi possono garantire che se si verifica un problema, anche se non immediato, l'impatto sia limitato a un sottoinsieme di un parco macchine e che l'ulteriore implementazione dell'aggiornamento possa essere interrotta durante ulteriori indagini e mitigazioni. 

 La mitigazione di qualsiasi impatto negativo derivante dall'aggiornamento del sistema operativo è spesso la prima priorità, seguita dalla risoluzione del problema, ovunque si trovi. Laddove l'introduzione di un aggiornamento del sistema operativo è correlata a un impatto negativo, la possibilità di tornare alla versione precedente del sistema operativo nota come valida è uno strumento potente. 

 Amazon Linux 2023 introduce [Aggiornamenti deterministici tramite repository con versioni](deterministic-upgrades.md) una nuova potente funzionalità per garantire che qualsiasi modifica alla versione del sistema operativo (o ai singoli pacchetti) sia ripetibile. Pertanto, se si verifica un problema durante il passaggio da una versione del sistema operativo all'altra, sono disponibili meccanismi semplici da usare per attenersi alla versione del sistema operativo funzionante nota mentre si cerca di risolvere il problema. 

 Inoltre AL2023, ogni volta che rilasciamo nuovi aggiornamenti del pacchetto, c'è una nuova versione a cui affidarsi e una nuova versione AMIs si blocca su quella versione. Le [note di AL2023 rilascio](https://docs.aws.amazon.com/linux/al2023/release-notes/) riguardano le modifiche apportate a ciascuna versione e [Avvisi di sicurezza di Amazon Linux per AL2023](alas.md) i problemi di sicurezza risolti negli aggiornamenti dei pacchetti. 

 [Ad esempio, se sei interessato dal problema presente nella versione [2023.6.20241028](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241028.html), puoi tornare immediatamente a utilizzare le immagini AMIs e i contenitori della versione precedente, 2023.6.20241010.](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html) *In questo caso, c'era un bug in un pacchetto che è stato corretto nella successiva versione [2023.6.20241031](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241031.html), ma chiunque fosse interessato poteva agire immediatamente per mitigarlo: basta usare le immagini precedenti. [Aggiornamenti deterministici tramite repository con versioni](deterministic-upgrades.md)* 

 [Aggiornamenti deterministici tramite repository con versioni](deterministic-upgrades.md)garantisce inoltre che qualsiasi implementazione in corso di un aggiornamento del sistema operativo, in atto o mediante il lancio di immagini nuove AMIs o di contenitori, non sia influenzata dagli aggiornamenti del sistema operativo rilasciati successivamente. 

 [https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html) [Aggiornamenti deterministici tramite repository con versioni](deterministic-upgrades.md)significa che la distribuzione per la flotta A continua senza alcuna modifica agli aggiornamenti che sta applicando. 

 Lo scopo delle strategie di dispiegamento basate sulle ondate o su fasi, ad esempio impiegando prima l'1% della flotta, poi il 5%, il 10%, il 20%, il 40%, fino a raggiungere il 100%, è quello di poter testare una modifica in modo limitato prima di estenderla a un livello più ampio. Questo tipo di strategia di implementazione è generalmente considerata la migliore pratica per implementare qualsiasi modifica della produzione. 

 *Con una strategia di implementazione basata sull'ondata e la flotta Un aggiornamento alla versione [2023.6.20241010](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html) è in una fase in cui viene distribuito su più host contemporaneamente, il fatto che [2023.6.20241028](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241028.html) sia stato rilasciato non ha alcun impatto sull'implementazione in corso grazie all'utilizzo.* [Aggiornamenti deterministici tramite repository con versioni](deterministic-upgrades.md) 

 Se la flotta B eseguisse una versione precedente, ad esempio [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html), e avesse iniziato a distribuire l'aggiornamento alla versione [2023.6.20241028](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241028.html) e la flotta B fosse interessata dal problema in quella versione, ciò verrebbe notato all'inizio della distribuzione. A quel punto, si può decidere se sospendere l'implementazione fino a quando non sarà disponibile una soluzione per quel problema o se nel frattempo avviare una distribuzione della stessa versione della flotta A, [2023.6.20241010](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html), in modo che la flotta B riceva tutti gli aggiornamenti tra il [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) e il [2023.6.20241010](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html). 

 È importante notare che *non* eseguire tempestivamente gli aggiornamenti del sistema operativo può causare problemi. È probabile che i nuovi aggiornamenti contengano bug e correzioni di sicurezza che potrebbero essere rilevanti per l'ambiente in uso. Per ulteriori informazioni, consultare [Sicurezza e conformità in Amazon Linux 2023](security.md) e [Gestisci gli aggiornamenti dei pacchetti e del sistema operativo in AL2023](managing-repos-os-updates.md). 

 È importante configurare i sistemi di distribuzione in modo da poter ricevere facilmente nuovi aggiornamenti del sistema operativo, testarli prima di implementarli in produzione e utilizzare meccanismi come le distribuzioni basate su ondate per ridurre al minimo qualsiasi impatto negativo. Per poter mitigare l'impatto negativo di un aggiornamento del sistema operativo, è importante sapere come fare in modo che i sistemi di distribuzione puntino a una versione precedente del sistema operativo nota come valida e, una volta risolto il problema, non rimanere più vincolati alla versione precedente nota come valida, ma passare a una nuova versione riconosciuta valida. 

## Preparazione per gli aggiornamenti minori
<a name="prepare-for-minor-updates"></a>

 La preparazione di aggiornamenti più piccoli del sistema operativo, ad esempio una nuova release puntuale di, AL2023 è pensata per essere limitata a zero sforzi. Assicurati di leggere le [note di AL2023 rilascio](https://docs.aws.amazon.com/linux/al2023/release-notes/) per eventuali modifiche imminenti. 

 Il [periodo di supporto di un pacchetto](https://docs.aws.amazon.com/linux/al2023/release-notes/support-info-by-support-statement.html) che sta per scadere può comportare il passaggio a una versione più recente del runtime del linguaggio (ad esempio con[PHPnel AL2 2023](php.md)). È consigliabile prepararsi a tale evenienza in anticipo passando alle nuove versioni di runtime linguistiche con largo anticipo rispetto alla fine del periodo di supporto. 

 Per pacchetti come questi[`pcre`versione 1](deprecated-al2023.md#deprecated-pcre), c'è anche la possibilità di pianificare in anticipo e migrare qualsiasi codice alla versione sostitutiva, che in questo caso è la `pcre` versione 2. È buona norma farlo il prima possibile, in modo da avere il tempo necessario per eventuali intoppi. 

 Se non esiste una sostituzione diretta, ad esempio con[`libdb`Berkeley DB ()](deprecated-al2023.md#deprecated-bdb), potrebbe essere necessario effettuare una scelta in base al caso d'uso. 

## Preparazione per gli aggiornamenti principali
<a name="prepare-for-major-updates"></a>

 L'aggiornamento a una nuova versione principale di un sistema operativo è considerato quasi universalmente come qualcosa che richiede pianificazione, lavoro per adattarsi a funzionalità modificate o obsolete e anche test prima della distribuzione. Non è raro essere in grado di prepararsi per la prossima versione principale di Amazon Linux 2023 in modo più incrementale, ad esempio affrontando qualsiasi utilizzo di funzionalità obsolete o rimosse prima di procedere con il passaggio alla versione principale successiva. 

 Ad esempio, quando si passa da AL2 a AL2023, la lettura della [Funzionalità obsoleta e rimossa in AL2 AL2023](deprecated-al2.md) sezione può comportare una serie di piccoli e sicuri passaggi che possono essere eseguiti mentre si è ancora in uso per prepararsi. AL2 AL2023 Ad esempio, qualsiasi [Python 2.7 è stato sostituito con Python 3](python2.7-no-more.md) utilizzo (al di fuori dell'uso del sistema operativo, ad esempio nel gestore di `yum` pacchetti) può essere migrato a Python 3 in preparazione all'uso. [Pythonnel AL2023](python.md) Se si utilizza [PHP](php.md), sia AL2 (tramite PHP 8.2 [AL2 Extra](https://docs.aws.amazon.com/linux/al2/ug/al2-extras.html)) che PHP 8.2, e AL2023 quindi sia la migrazione della versione di PHP che la migrazione del sistema operativo, non devono avvenire contemporaneamente. 

 Durante l'utilizzo AL2023, è anche possibile prepararsi per la prossima versione principale di Amazon Linux 2023 oggi stesso, durante l'utilizzo AL2023. La [Obsoleto nel 023 AL2](deprecated-al2023.md) sezione tratta le funzionalità e i pacchetti che sono obsoleti AL2023 e che devono essere rimossi. 

 Ad esempio, la migrazione di qualsiasi [System V init (`sysvinit`)](deprecated-al2023.md#deprecated-sysv-init) utilizzo residuo, ad esempio degli `init` script, all'`systemd`equivalente, vi preparerà per le future sfide e vi consentirà di utilizzare l'intero set di `systemd` funzionalità per monitorare il servizio, come e se riavviarlo, di quali altri servizi necessita e se è necessario applicare vincoli di risorse o autorizzazioni. 

 Per funzionalità come il supporto a 32 bit, la deprecazione può estendersi a più versioni principali del sistema operativo. Per i modelli a 32 bit, Amazon Linux 1 (AL1) è obsoleto[x86 a 32 bit (i686) AMIs](deprecated-al1.md#deprecated-32bit-amis), Amazon Linux 2 è obsoleto e Amazon Linux 2023 è [Pacchetti x86 (i686) a 32 bit](deprecated-al2.md#deprecated-32bit-rpms) obsoleto. [Supporto per runtime x86 (i686) a 32 bit](deprecated-al2023.md#deprecated-32bit) La transizione da riguarda anche diverse versioni principali del sistema operativo. [IMDSv1](deprecated-al2023.md#deprecated-imdsv1) Resta inteso che alcuni clienti richiedono più tempo per adattarsi a questi tipi di modifiche, quindi c'è un ampio margine di manovra prima che la funzionalità non sia più disponibile in Amazon Linux 2023. 

 L'elenco delle funzionalità obsolete viene aggiornato nel corso della vita del sistema operativo ed è consigliabile tenersi aggiornati sulle modifiche apportate. 

# Ricevi notifiche sui nuovi aggiornamenti
<a name="receive-update-notification"></a>

Puoi ricevere notifiche ogni volta che viene rilasciata una nuova AMI AL2 023. Le notifiche vengono pubblicate con [Amazon SNS](https://aws.amazon.com/sns/) utilizzando il seguente argomento.

```
arn:aws:sns:us-east-1:137112412989:amazon-linux-2023-ami-updates
```

I messaggi vengono pubblicati qui quando viene pubblicata una nuova AMI AL2 023. La versione dell'AMI sarà inclusa nel messaggio.

Questi messaggi possono essere ricevuti utilizzando diversi metodi. Si consiglia di utilizzare il seguente metodo.

1. Apri la [console Amazon SNS](https://console.aws.amazon.com/sns/v3/home).

1. Nella barra di navigazione, modificalo in **Stati Uniti orientali (Virginia settentrionale), se necessario. Regione AWS ** Devi selezionare la regione in cui la notifica SNS per la quale hai effettuato la sottoscrizione è stata creata.

1. Nel pannello di navigazione, scegli **Sottoscrizioni**, quindi **Crea sottoscrizione**.

1. Nella finestra di dialogo **Create subscription (Crea sottoscrizione)** eseguire le seguenti operazioni:

   1. Per l'**argomento ARN**, copia e incolla il seguente **Amazon Resource Name** (ARN):. **arn:aws:sns:us-east-1:137112412989:amazon-linux-2023-ami-updates** 

   1. Per **Protocollo**, scegli **E-mail**.

   1. In **Endpoint** immetti l'indirizzo e-mail utilizzabile per ricevere le notifiche.

   1. Scegli **Create Subscription (Crea sottoscrizione)**.

1. Riceverai un'e-mail di conferma con oggetto "AWS Notifica - Conferma dell'abbonamento». Apri l'e-mail e seleziona **Conferma sottoscrizione** per completare la sottoscrizione.

# Aggiornamenti deterministici tramite repository con versioni su AL2023
<a name="deterministic-upgrades"></a>

**Nota**  
Per impostazione predefinita, l' AL2023 istanza non riceve automaticamente aggiornamenti di sicurezza critici e importanti aggiuntivi al momento del lancio. L'istanza contiene inizialmente gli aggiornamenti disponibili nella versione AL2023 e nell'AMI scelta.

## Controllo degli aggiornamenti ricevuti dai rilasci principali e secondari
<a name="controlling-release-updates"></a>

Con AL2023, puoi garantire la coerenza tra le versioni dei pacchetti e gli aggiornamenti in tutto l'ambiente. Puoi anche garantire la coerenza per più istanze della stessa Amazon Machine Image (AMI). Con la funzionalità degli aggiornamenti deterministici tramite repository con controllo delle versioni di AL2023, attivata per impostazione predefinita, puoi applicare gli aggiornamenti in base a una pianificazione che soddisfi le tue esigenze specifiche.

Ogni volta che rilasciamo nuovi aggiornamenti del pacchetto, c'è una nuova versione a cui affidarsi e una nuova versione AMIs che si collega a quella versione.

AL2023 si blocca su una versione specifica del tuo repository. Questa funzionalità è supportata sia per le versioni principali che per quelle secondarie. L' AL2023 AMI, esposta tramite i nostri parametri SSM, è sempre la versione più recente. Contiene il maggior numero di up-to-date pacchetti e aggiornamenti, inclusi gli aggiornamenti di sicurezza critici e importanti.

Se avvii un'istanza da un'AMI esistente, gli aggiornamenti non vengono applicati automaticamente. Tutti i pacchetti aggiuntivi installati come parte del provisioning vengono mappati alla versione del repository dell'AMI esistente. 

Con questa funzionalità, hai la responsabilità di garantire la coerenza tra le versioni dei pacchetti e degli aggiornamenti in tutto l'ambiente. Questo è particolarmente vero se stai avviando più istanze dalla stessa AMI. Puoi applicare gli aggiornamenti in base a una pianificazione in grado di soddisfare le tue esigenze. Puoi anche applicare un set specifico di aggiornamenti al momento dell'avvio, poiché questi possono anche essere collegati a una versione specifica del repository.

## Differenze tra aggiornamenti delle versioni principali e secondarie
<a name="differences-updates-upgrades"></a>

Le versioni principali di AL2023 includono aggiornamenti su larga scala e potrebbero aggiungere, eliminare o aggiornare pacchetti. Per garantire la compatibilità, aggiorna l'istanza a una nuova versione principale solo dopo aver testato l'applicazione su tale versione. 

Le versioni minori di AL2023 includono aggiornamenti di funzionalità e sicurezza, ma non includono modifiche ai pacchetti. Ciò garantisce che le funzionalità di Linux e l'API della libreria di sistema rimangano disponibili nelle nuove versioni. Non è necessario testare l'applicazione prima dell'aggiornamento. 

## Sapere quando sono disponibili gli aggiornamenti
<a name="knowing-when-to-update"></a>

 Per applicare un aggiornamento, è necessario sapere che ne è disponibile uno e quindi sapere come distribuirlo. 

 Per le build derivate AMIs quando ne AL2023 AMIs vengono rilasciate delle nuove, [EC2 Image](https://docs.aws.amazon.com/imagebuilder/latest/userguide/) Builder può creare, applicare patch e testare automaticamente. AMIs Puoi attivare le tue pipeline di costruzione AMI o utilizzare AMIs [Ricevi notifiche sui nuovi aggiornamenti](receive-update-notification.md) la base. 

 Per applicare le patch in loco, puoi utilizzare strumenti come [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html) per orchestrare l'applicazione degli aggiornamenti su un parco macchine. 

 Per quanto riguarda gli altri sistemi pubblici AMIs basati su AL2023, i relativi fornitori AMIs possono avere la propria pianificazione dei rilasci e i propri metodi di notifica. Quando utilizzi immagini derivate AMIs o contenitori, consulta la documentazione dell'editore su quando vengono rilasciati gli aggiornamenti. 

 Le modifiche apportate a ciascuna versione sono documentate nelle [note di AL2023 rilascio](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html). Gli aggiornamenti di sicurezza sono pubblicati su [Amazon Linux Security Center (ALAS).](https://alas.aws.amazon.com) 

## Controlla gli aggiornamenti dei pacchetti disponibili nei AL2023 repository
<a name="control-package-updates"></a>

Quando pubblichiamo una nuova versione dei AL2023 repository, tutte le versioni precedenti sono ancora disponibili. Per impostazione predefinita, il plug-in per la gestione delle versioni dei repository si collega alla stessa versione utilizzata per sviluppare l'AMI. Se desideri controllare gli aggiornamenti dei pacchetti, procedi come segue.

1. Scopri le versioni dei repository disponibili eseguendo il comando riportato di seguito.

   ```
   $ sudo dnf check-release-update
   ```

1. Seleziona una versione eseguendo il comando seguente.

   ```
   $ sudo dnf upgrade --releasever=version
   ```

Questo comando avvia un aggiornamento utilizzando `dnf` dalla versione di rilascio attuale di Amazon Linux alla versione di rilascio specificata nella riga di comando. Un elenco degli aggiornamenti dei pacchetti è presentato da `dnf`. Prima di elaborare l'aggiornamento, devi confermarlo. Una volta completato l'aggiornamento, la nuova versione di rilascio diventa la versione di rilascio predefinita che `dnf` usa per tutte le attività future. 

Per ulteriori informazioni, consulta [Gestisci gli aggiornamenti dei pacchetti e del sistema operativo in AL2023](managing-repos-os-updates.md).

# Aggiornamenti deterministici tramite sostituzione dell'istanza
<a name="security-instance-replacement"></a>

 La [Aggiornamenti deterministici tramite repository con versioni su AL2023](deterministic-upgrades.md) funzionalità di Amazon Linux 2023 rende la sostituzione delle istanze un modo semplice per implementare in modo deterministico e sicuro versioni aggiornate di AL2 023. Gli aggiornamenti deterministici significano che, man mano che una nuova versione viene progressivamente implementata, se viene riscontrato un problema, è semplice tornare all'AMI precedente determinando la causa del problema. 

 Utilizzare la sostituzione delle istanze anziché applicare le patch in loco significa che gli aggiornamenti sono più deterministici e prevedibili, in quanto il lancio di nuove capacità può essere un percorso di codice ben collaudato con stati A e B chiari. Ciascuno degli stati precedente e successivo può essere ben testato in un sistema CI/CD prima dell'inizio della distribuzione. 

 Quando si eseguono le patch sul posto, ci sono molti stati intermedi tra prima e dopo l'applicazione degli aggiornamenti, il che è più difficile da testare per tutte le combinazioni di stati. 

 Una strategia di aggiornamento del sistema operativo che utilizza la sostituzione delle istanze con aggiornamenti deterministici si adatta bene ai modelli di distribuzione blu/green, a wave e basati su fasi. 

# Utilizzo degli aggiornamenti deterministici tramite repository con versioni
<a name="deterministic-upgrades-usage"></a>

**Topics**
+ [Uso di un sistema di aggiornamento deterministico](#using-a-deterministic-upgraded-system)
+ [Aggiornamento selettivo di un sistema con aggiornamento deterministico](#deterministic-upgrade-selective-update)
+ [Uso dell'override persistente con aggiornamento deterministico](#deterministic-upgrade-override-persist)

## Uso di un sistema di aggiornamento deterministico
<a name="using-a-deterministic-upgraded-system"></a>

**Nota**  
 Il comportamento predefinito del gestore di pacchetti è cambiato da. AL2 

 Gli aggiornamenti deterministici sono un modo efficace per garantire che tutte le modifiche agli ambienti di produzione possano essere completamente testate prima di un'implementazione su vasta scala. Ogni nuova AL2023 AMI è associata a una versione particolare di AL2023. Ciò fornisce un comportamento deterministico delle versioni dei pacchetti del sistema operativo installate all'avvio dell'AMI specifica. Gli aggiornamenti in loco possono riguardare una versione di rilascio specifica, garantendo un comportamento deterministico in tutta la flotta. Quando passate a versioni nuove AMIs o già aggiornate, potete testarle tutte nella vostra CI/CD pipeline, individuando eventuali problemi potenziali prima di distribuirle negli ambienti di produzione. 

 Puoi utilizzare strumenti come [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html) per orchestrare l'applicazione degli aggiornamenti in un parco macchine. Per le build derivate AMIs quando ne AL2023 AMIs vengono rilasciate nuove, [EC2](https://docs.aws.amazon.com/imagebuilder/latest/userguide/) Image Builder può creare, applicare patch AMIs e testare automaticamente, oppure [Ricevi notifiche sui nuovi aggiornamenti](receive-update-notification.md) puoi sapere quando sono disponibili AMIs nuove basi o attivare le tue pipeline di creazione AMI. 

 Per informazioni su come limitare gli aggiornamenti a quelli di un particolare avviso, consulta [Applicazione degli aggiornamenti di sicurezza in loco](security-inplace-update.md) 

 Per applicare le patch in loco, è possibile utilizzare il gestore di pacchetti. `dnf` Quando esegui il comando `dnf upgrade`, il sistema verifica la presenza di aggiornamenti nel repository specificato dalla variabile `releasever`. Una versione valida `releasever` è una delle due *latest* o una versione con data, ad esempio. *2023.10.20260325*

È possibile modificare il valore di `releasever` utilizzando uno dei metodi descritti di seguito. Questi metodi sono elencati con priorità di sistema decrescente. Ciò significa che il metodo 1 sostituisce i metodi 2 e 3, e il metodo 2 sostituisce il metodo 3.

1. Il valore nel flag della riga di comando, `--releasever=latest`, se utilizzato.

1. Il valore specificato nel file della variabile di override, `/etc/dnf/vars/releasever`, se impostato.

1. La versione attualmente installata del pacchetto `system-release`.

Nell'esempio seguente, la versione è: *2023.0.20230210*

```
$ rpm -q system-release
system-release-2023.0.20230210-0.amzn2023.noarch
```

In un sistema appena installato, la variabile di override non è presente. Non sono disponibili aggiornamenti perché il sistema è bloccato sulla versione installata di `system-release`.

```
$ cat /etc/dnf/vars/releasever
cat: /etc/dnf/vars/releasever: No such file or directory
```

```
$ sudo dnf upgrade
Last metadata expiration check: 0:00:02 ago on Wed 15 Feb 2023 06:14:12 PM UTC.
Dependencies resolved.
Nothing to do.
Complete!
```

Puoi ottenere pacchetti di una versione specifica utilizzando il flag `releasever` per fornire la versione desiderata.

```
$ rpm -q system-release
system-release-2023.0.20230222-0.amzn2023.noarch
```

```
$ sudo dnf upgrade --releasever=2023.0.20230329
Amazon Linux 2023 repository                     26 MB/s |  12 MB     00:00
Dependencies resolved.
================================================================================
 Package                 Arch    Version                      Repository   Size
================================================================================
Installing:
 kernel                   aarch64 6.1.21-1.45.amzn2023        amazonlinux  26 M
Upgrading:
 amazon-linux-repo-s3     noarch  2023.0.20230329-0.amzn2023  amazonlinux  18 k
 ca-certificates          noarch  2023.2.60-1.0.amzn2023.0.1  amazonlinux 828 k
 cloud-init               noarch  22.2.2-1.amzn2023.1.7       amazonlinux 1.1 M

         ... [ list edited for clarity ]

 system-release           noarch  2023.0.20230329-0.amzn2023  amazonlinux  29 k

         ... [ list edited for clarity ]
          
 vim-data                 noarch  2:9.0.1403-1.amzn2023.0.1   amazonlinux  25 k
 vim-minimal              aarch64 2:9.0.1403-1.amzn2023.0.1   amazonlinux 753 k

Transaction Summary
================================================================================
Install    1 Package
Upgrade   42 Packages

Total download size: 56 M
```

Poiché l'opzione `--releasever` sostituisce sia `system-release` che `/etc/dnf/vars/releasever`, il risultato di questo aggiornamento è il seguente:

1. L'aggiornamento sostituisce tutti i pacchetti installati che sono stati modificati tra la versione precedente e quella nuova.

1. L'aggiornamento blocca il sistema nel repository per la nuova versione di `system-release`.

 Specificando sempre a quale versione `releasever` (ad esempio, AL2023 versione) eseguire l'aggiornamento, si ottiene una serie deterministica di modifiche in tutta la flotta. Hai lanciato la versione*A*, aggiornata a *B* e poi aggiornata a. *C* 

## Aggiornamento selettivo di un sistema con aggiornamento deterministico
<a name="deterministic-upgrade-selective-update"></a>

**Nota**  
 Si consiglia di installare tutti gli aggiornamenti di una nuova versione anziché selezionare aggiornamenti specifici. L'applicazione solo di una parte di un aggiornamento al sistema operativo dovrebbe costituire un'eccezione alla prassi standard di eseguire l'intero aggiornamento. 

Potresti voler installare pacchetti selezionati da un rilascio recente, lasciando al contempo il sistema bloccato sulla versione di rilascio originale.

Puoi utilizzare `dnf check-update` per identificare i pacchetti di cui vuoi eseguire l'aggiornamento.

```
$ sudo dnf check-update --releasever=latest --security
Amazon Linux 2023 repository                     13 MB/s |  10 MB     00:00
Last metadata expiration check: 0:00:02 ago on Wed 15 Feb 2023 02:52:21 AM UTC.

bind-libs.aarch64                  32:9.16.27-1.amzn2023.0.1         amazonlinux
bind-license.noarch                32:9.16.27-1.amzn2023.0.1         amazonlinux
bind-utils.aarch64                 32:9.16.27-1.amzn2023.0.1         amazonlinux
cryptsetup.aarch64                 2.4.3-2.amzn2023.0.1              amazonlinux
cryptsetup-libs.aarch64            2.4.3-2.amzn2023.0.1              amazonlinux
curl-minimal.aarch64               7.85.0-1.amzn2023.0.1             amazonlinux
glibc.aarch64                      2.34-40.amzn2023.0.2              amazonlinux
glibc-all-langpacks.aarch64        2.34-40.amzn2023.0.2              amazonlinux
glibc-common.aarch64               2.34-40.amzn2023.0.2              amazonlinux
glibc-locale-source.aarch64        2.34-40.amzn2023.0.2              amazonlinux
gmp.aarch64                        1:6.2.1-2.amzn2023.0.1            amazonlinux
gnupg2-minimal.aarch64             2.3.7-1.amzn2023.0.2              amazonlinux
gzip.aarch64                       1.10-5.amzn2023.0.1               amazonlinux
kernel.aarch64                     6.1.12-17.42.amzn2023             amazonlinux
kernel-tools.aarch64               6.1.12-17.42.amzn2023             amazonlinux
libarchive.aarch64                 3.5.3-2.amzn2023.0.1              amazonlinux
libcurl-minimal.aarch64            7.85.0-1.amzn2023.0.1             amazonlinux
libsepol.aarch64                   3.4-3.amzn2023.0.2                amazonlinux
libsolv.aarch64                    0.7.22-1.amzn2023.0.1             amazonlinux
libxml2.aarch64                    2.9.14-1.amzn2023.0.1             amazonlinux
logrotate.aarch64                  3.20.1-2.amzn2023.0.2             amazonlinux
lua-libs.aarch64                   5.4.4-3.amzn2023.0.1              amazonlinux
lz4-libs.aarch64                   1.9.4-1.amzn2023.0.1              amazonlinux
openssl.aarch64                    1:3.0.5-1.amzn2023.0.3            amazonlinux
openssl-libs.aarch64               1:3.0.5-1.amzn2023.0.3            amazonlinux
pcre2.aarch64                      10.40-1.amzn2023.0.1              amazonlinux
pcre2-syntax.noarch                10.40-1.amzn2023.0.1              amazonlinux
rsync.aarch64                      3.2.6-1.amzn2023.0.2              amazonlinux
vim-common.aarch64                 2:9.0.475-1.amzn2023.0.1          amazonlinux
vim-data.noarch                    2:9.0.475-1.amzn2023.0.1          amazonlinux
vim-enhanced.aarch64               2:9.0.475-1.amzn2023.0.1          amazonlinux
vim-filesystem.noarch              2:9.0.475-1.amzn2023.0.1          amazonlinux
vim-minimal.aarch64                2:9.0.475-1.amzn2023.0.1          amazonlinux
xz.aarch64                         5.2.5-9.amzn2023.0.1              amazonlinux
xz-libs.aarch64                    5.2.5-9.amzn2023.0.1              amazonlinux
zlib.aarch64                       1.2.11-32.amzn2023.0.3            amazonlinux
```

Installa i pacchetti di cui vuoi eseguire l'aggiornamento. Usa `sudo dnf upgrade --releasever=latest` e i nomi dei pacchetti per assicurarti che il pacchetto `system-release` rimanga invariato.

```
$ sudo dnf upgrade --releasever=latest openssl openssl-libs
Last metadata expiration check: 0:01:28 ago on Wed 15 Feb 2023 02:52:21 AM UTC.
Dependencies resolved.
================================================================================
 Package          Arch        Version                     Repository       Size
================================================================================
Upgrading:
 openssl          aarch64     1:3.0.5-1.amzn2023.0.3      amazonlinux     1.1 M
 openssl-libs     aarch64     1:3.0.5-1.amzn2023.0.3      amazonlinux     2.1 M

Transaction Summary
================================================================================
Upgrade  2 Packages

Total download size: 3.2 M
```

**Nota**  
Usando `sudo dnf upgrade --releasever=latest` vengono aggiornati tutti i pacchetti, incluso `system-release`. Quindi, la versione rimane bloccata sul nuovo `system-release` a meno che non imposti l'override persistente.

## Uso dell'override persistente con aggiornamento deterministico
<a name="deterministic-upgrade-override-persist"></a>

**Nota**  
 Con gli aggiornamenti deterministici, puoi integrare le modifiche del sistema operativo nella tua CI/CD pipeline. La disabilitazione degli aggiornamenti deterministici elimina la possibilità di eseguire test prima della distribuzione. 

Invece di aggiungere`--releasever=latest`, è possibile utilizzare l'override persistente per *sbloccare* il sistema impostando il valore della variabile su. *latest* Utilizzandola sempre`latest`, questa opzione ripristina il comportamento del modello di AL2 aggiornamento, in base AL2023 al quale ogni chiamata al gestore di pacchetti controllerà *sempre* la versione più recente e non è limitata a nessuna versione specifica del sistema operativo.

**avvertimento**  
 Sbloccando il gestore di pacchetti utilizzando una sovrascrittura persistente degli aggiornamenti deterministici, correte il rischio di scoprire ogni possibile incompatibilità tra l'applicazione e un aggiornamento del sistema operativo in produzione.   
 Sebbene le incompatibilità *siano* rare, con un aggiornamento del sistema operativo si integrano nuove modifiche al codice nell'ambiente, i test di integrazione possono impedire l'implementazione di modifiche al codice che hanno un impatto negativo sugli ambienti di produzione. 

```
$ echo latest | sudo tee /etc/dnf/vars/releasever
latest
```

```
$ sudo dnf upgrade
Last metadata expiration check: 0:03:36 ago on Wed 15 Feb 2023 02:52:21 AM UTC.
Dependencies resolved.
================================================================================
 Package                 Arch    Version                      Repository   Size
================================================================================
Installing:
 kernel                  aarch64 6.1.73-45.135.amzn2023       amazonlinux  24 M
Upgrading:
 acl                     aarch64 2.3.1-2.amzn2023.0.1         amazonlinux  72 k
 alternatives            aarch64 1.15-2.amzn2023.0.1          amazonlinux  36 k
 amazon-ec2-net-utils    noarch  2.3.0-1.amzn2023.0.1         amazonlinux  16 k
 at                      aarch64 3.1.23-6.amzn2023.0.1        amazonlinux  60 k
 attr                    aarch64 2.5.1-3.amzn2023.0.1         amazonlinux  59 k
 audit                   aarch64 3.0.6-1.amzn2023.0.1         amazonlinux 249 k
 audit-libs              aarch64 3.0.6-1.amzn2023.0.1         amazonlinux 116 k
 aws-c-auth-libs         aarch64 0.6.5-6.amzn2023.0.2         amazonlinux  79 k
 aws-c-cal-libs          aarch64 0.5.12-7.amzn2023.0.2        amazonlinux  34 k
 aws-c-common-libs       aarch64 0.6.14-6.amzn2023.0.2        amazonlinux 119 k
 aws-c-compression-libs  aarch64 0.2.14-5.amzn2023.0.2        amazonlinux  22 k
 aws-c-event-stream-libs aarch64 0.2.7-5.amzn2023.0.2         amazonlinux  47 k
 aws-c-http-libs         aarch64 0.6.8-6.amzn2023.0.2         amazonlinux 147 k
 aws-c-io-libs           aarch64 0.10.12-5.amzn2023.0.6       amazonlinux 109 k
 aws-c-mqtt-libs         aarch64 0.7.8-7.amzn2023.0.2         amazonlinux  61 k
 aws-c-s3-libs           aarch64 0.1.27-5.amzn2023.0.3        amazonlinux  54 k
 aws-c-sdkutils-libs     aarch64 0.1.1-5.amzn2023.0.2         amazonlinux  26 k
 aws-checksums-libs      aarch64 0.1.12-5.amzn2023.0.2        amazonlinux  50 k
 awscli-2                noarch  2.7.8-1.amzn2023.0.4         amazonlinux 7.3 M
 basesystem              noarch  11-11.amzn2023.0.1           amazonlinux 7.8 k
 bash                    aarch64 5.1.8-2.amzn2023.0.1         amazonlinux 1.6 M
 bash-completion         noarch  1:2.11-2.amzn2023.0.1        amazonlinux 292 k
 bc                      aarch64 1.07.1-14.amzn2023.0.1       amazonlinux 120 k
 bind-libs               aarch64 32:9.16.27-1.amzn2023.0.1    amazonlinux 1.2 M
 bind-license            noarch  32:9.16.27-1.amzn2023.0.1    amazonlinux  14 k
 bind-utils              aarch64 32:9.16.27-1.amzn2023.0.1    amazonlinux 206 k
 binutils                aarch64 2.38-20.amzn2023.0.3         amazonlinux 4.6 M
 boost-filesystem        aarch64 1.75.0-4.amzn2023.0.1        amazonlinux  55 k
 boost-system            aarch64 1.75.0-4.amzn2023.0.1        amazonlinux  14 k
 boost-thread            aarch64 1.75.0-4.amzn2023.0.1        amazonlinux  54 k
 bzip2                   aarch64 1.0.8-6.amzn2023.0.1         amazonlinux  53 k
 bzip2-libs              aarch64 1.0.8-6.amzn2023.0.1         amazonlinux  44 k
 c-ares                  aarch64 1.17.2-1.amzn2023.0.1        amazonlinux 107 k
 ca-certificates         noarch  2021.2.50-1.0.amzn2023.0.3   amazonlinux 343 k
 checkpolicy             aarch64 3.4-3.amzn2023.0.1           amazonlinux 345 k
 chkconfig               aarch64 1.15-2.amzn2023.0.1          amazonlinux 162 k
 chrony                  aarch64 4.2-7.amzn2023.0.4           amazonlinux 314 k
 cloud-init              noarch  22.2.2-1.amzn2023.1.7        amazonlinux 1.1 M
 cloud-utils-growpart    aarch64 0.31-8.amzn2023.0.2          amazonlinux  31 k
 coreutils               aarch64 8.32-30.amzn2023.0.2         amazonlinux 1.1 M
 coreutils-common        aarch64 8.32-30.amzn2023.0.2         amazonlinux 2.0 M
 cpio                    aarch64 2.13-10.amzn2023.0.1         amazonlinux 269 k
 cracklib                aarch64 2.9.6-27.amzn2023.0.1        amazonlinux  83 k
 cracklib-dicts          aarch64 2.9.6-27.amzn2023.0.1        amazonlinux 3.6 M
 crontabs                noarch  1.11-24.20190603git.amzn2023.0.1
                                                              amazonlinux  19 k
 crypto-policies         noarch  20230128-1.gitdfb10ea.amzn2023.0.1
                                                              amazonlinux  61 k
 crypto-policies-scripts noarch  20230128-1.gitdfb10ea.amzn2023.0.1
                                                              amazonlinux  81 k
...
Installing dependencies:
 amazon-linux-repo-cdn   noarch  2023.0.20230210-0.amzn2023   amazonlinux  16 k
 xxhash-libs             aarch64 0.8.0-3.amzn2023.0.1         amazonlinux  32 k
Installing weak dependencies:
 amazon-chrony-config    noarch  4.2-7.amzn2023.0.4           amazonlinux  14 k
 gawk-all-langpacks      aarch64 5.1.0-3.amzn2023.0.1         amazonlinux 207 k

Transaction Summary
================================================================================
Install    5 Packages
Upgrade  413 Packages

Total download size: 199 M
```

**Nota**  
Se hai usato la variabile di override `/etc/dnf/vars/releasever`, utilizza il comando seguente per ripristinare il comportamento di blocco predefinito cancellando il valore di override.  

```
$ sudo rm /etc/dnf/vars/releasever
```

 L'uso di un override persistente `latest` rispetto a una versione specifica è simile al comportamento predefinito di. AL2 Esistono servizi che AMIs si basano sui AL2 quali disabilitano questo comportamento e si limitano a versioni di pacchetti specifiche, come quelle impostate di default. AL2023 

 Piuttosto che disabilitare gli aggiornamenti deterministici, consigliamo di sostituire le istanze con altre avviate da una nuova AMI. Se la sostituzione delle istanze non è un'opzione, consigliamo di utilizzare strumenti come [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html) per orchestrare l'applicazione degli aggiornamenti in un parco istanze. [EC2 Image](https://docs.aws.amazon.com/imagebuilder/latest/userguide/) Builder può anche creare, applicare patch e testare automaticamente le AMIs proprie immagini AL2023 derivate dalle immagini di base. Puoi anche [Ricevi notifiche sui nuovi aggiornamenti](receive-update-notification.md) utilizzarlo per attivare le tue pipeline di costruzione AMI. 

 L'utilizzo `latest` in un ambiente di preproduzione e la successiva distribuzione in produzione `latest` *non* forniscono protezione da eventuali problemi tra un aggiornamento del sistema operativo e l'applicazione. Una nuova AL2023 versione può essere rilasciata in qualsiasi momento, pertanto tutti gli utilizzi `latest` in produzione comportano dei rischi. 

# Gestisci gli aggiornamenti dei pacchetti e del sistema operativo in AL2023
<a name="managing-repos-os-updates"></a>

A differenza delle versioni precedenti di Amazon Linux, AL2023 AMIs sono bloccati su una versione specifica del repository Amazon Linux. Per applicare correzioni di sicurezza e bug a un' AL2023 istanza, aggiorna la DNF configurazione all'ultima versione disponibile. In alternativa, avvia un'istanza più recente. AL2023 

 In questa sezione viene descritto come gestire repository e pacchetti DNF su un'istanza in esecuzione. Viene descritto inoltre come configurare DNF da uno script di dati utente per abilitare il repository Amazon Linux più recente disponibile al momento dell'avvio. Per ulteriori informazioni, consulta la sezione relativa alle [informazioni di riferimento ai comandi DNF](https://dnf.readthedocs.io/en/latest/command_ref.html). 

 Si consiglia di applicare *tutti* gli aggiornamenti disponibili in una nuova AL2023 versione. Scegliere solo gli aggiornamenti di sicurezza o solo gli aggiornamenti specifici dovrebbe essere l'eccezione piuttosto che la regola. Per un elenco degli [Avvisi di sicurezza](alas.md) elementi pertinenti a una particolare istanza, consulta[Elenco degli avvisi applicabili](listing-applicable-advisories.md). Per informazioni sull'installazione dei *soli* aggiornamenti relativi a un [avviso](alas.md) specifico, vedere[Applicazione degli aggiornamenti di sicurezza in loco](security-inplace-update.md). 

**Importante**  
 Se desideri segnalare una vulnerabilità o hai un problema di sicurezza relativo ai servizi AWS cloud o ai progetti open source, contatta AWS Security using the [Vulnerability](https://aws.amazon.com/security/vulnerability-reporting/) Reporting page 

**Topics**
+ [Verifica degli aggiornamenti dei pacchetti disponibili](#dnf-package-updates)
+ [Applicazione degli aggiornamenti di sicurezza utilizzando DNF e le versioni del repository](#apply-security-updates)
+ [Riavvio automatico del servizio dopo gli aggiornamenti (di sicurezza)](#automatic-restart-services)
+ [Quando è necessario il riavvio per applicare gli aggiornamenti di sicurezza?](#reboot)
+ [Avvio di un'istanza con la versione più recente del repository abilitata](#launch-an-instance-repo-version)
+ [Ottenere informazioni di supporto per i pacchetti](#dnf-support-info-plugin)
+ [Verifica della disponibilità di versioni più recenti del repository con `dnf check-release-update`](#dnf-repository-updates)
+ [Aggiunta, abilitazione o disabilitazione di nuovi repository](#dnf-repo-addition)
+ [Aggiunta di repository con cloud-init](#cloud-init-repo-update)

## Verifica degli aggiornamenti dei pacchetti disponibili
<a name="dnf-package-updates"></a>

Puoi utilizzare il comando `dnf check-update` per verificare la presenza di eventuali aggiornamenti per il sistema. Pertanto AL2023, ti consigliamo di aggiungere l'`--releasever=version-number`opzione al comando.

Quando aggiungi questa opzione, DNF verifica anche la presenza di aggiornamenti per una versione successiva del repository. Ad esempio, dopo aver eseguito il comando `dnf check-update`, usa la versione più recente restituita come valore per `version-number`.

Se l'istanza viene aggiornata per utilizzare la versione più recente del repository, l'output include un elenco di tutti i pacchetti da aggiornare.

**Nota**  
Se non specifichi la versione di rilascio con il flag opzionale al comando `dnf check-update`, viene controllata solo la versione del repository attualmente configurata. Ciò significa che i pacchetti nella versione successiva del repository non vengono controllati.

------
#### [ Updates in a specific version ]

 [In questo esempio vedremo quali aggiornamenti sono disponibili nella versione [2023.1.20230628 se abbiamo lanciato un contenitore della versione 2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html).](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 

**Nota**  
 *[Questo esempio utilizza le versioni [2023.0.20230315 e 2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html)[, che non sono l'ultima](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) versione di See the Release Notes per le ultime versioni, che contengono gli ultimi aggiornamenti di sicurezza. AL2023 AL2023 ](https://docs.aws.amazon.com/linux/al2023/release-notes/)* 

 [In questo esempio inizieremo con un'immagine del contenitore per la versione 2023.0.20230315.](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 

 Innanzitutto, recuperiamo l'immagine del contenitore dal registro dei contenitori. La `.0` parte finale indica la versione dell'immagine per una particolare versione; questa versione dell'immagine di solito è zero. 

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
	  2023.0.20230315.0: Pulling from amazonlinux/amazonlinux
b76f3b09316a: Pull complete
Digest: sha256:94e7183b0739140dbd5b639fb7600f0a2299cec5df8780c26d9cb409da5315a9
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
```

 Ora possiamo generare una shell all'interno del contenitore, dalla quale controlleremo gli aggiornamenti. 

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
	  bash-5.2#
```

 Il `dnf check-update` comando viene ora utilizzato per controllare gli aggiornamenti disponibili nella versione [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html). 

**Nota**  
 L'applicazione degli aggiornamenti dei pacchetti è un'operazione privilegiata. *Sebbene l'elevazione dei privilegi in genere non sia richiesta quando si esegue in un contenitore, se si esegue in un ambiente non containerizzato come un'istanza Amazon EC2, è possibile verificare la presenza di aggiornamenti senza elevare i privilegi.* 

```
$ dnf check-update --releasever=2023.1.20230628
Amazon Linux 2023 repository                      60 MB/s |  15 MB     00:00
Last metadata expiration check: 0:00:02 ago on Mon Jul 22 17:25:34 2024.

amazon-linux-repo-cdn.noarch        2023.1.20230628-0.amzn2023        amazonlinux
ca-certificates.noarch              2023.2.60-1.0.amzn2023.0.2        amazonlinux
curl-minimal.x86_64                 8.0.1-1.amzn2023                  amazonlinux
glib2.x86_64                        2.74.7-688.amzn2023.0.1           amazonlinux
glibc.x86_64                        2.34-52.amzn2023.0.3              amazonlinux
glibc-common.x86_64                 2.34-52.amzn2023.0.3              amazonlinux
glibc-minimal-langpack.x86_64       2.34-52.amzn2023.0.3              amazonlinux
gnupg2-minimal.x86_64               2.3.7-1.amzn2023.0.4              amazonlinux
keyutils-libs.x86_64                1.6.3-1.amzn2023                  amazonlinux
libcap.x86_64                       2.48-2.amzn2023.0.3               amazonlinux
libcurl-minimal.x86_64              8.0.1-1.amzn2023                  amazonlinux
libgcc.x86_64                       11.3.1-4.amzn2023.0.3             amazonlinux
libgomp.x86_64                      11.3.1-4.amzn2023.0.3             amazonlinux
libstdc++.x86_64                    11.3.1-4.amzn2023.0.3             amazonlinux
libxml2.x86_64                      2.10.4-1.amzn2023.0.1             amazonlinux
ncurses-base.noarch                 6.2-4.20200222.amzn2023.0.4       amazonlinux
ncurses-libs.x86_64                 6.2-4.20200222.amzn2023.0.4       amazonlinux
openssl-libs.x86_64                 1:3.0.8-1.amzn2023.0.3            amazonlinux
python3-rpm.x86_64                  4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm.x86_64                          4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm-build-libs.x86_64               4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm-libs.x86_64                     4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm-sign-libs.x86_64                4.16.1.3-12.amzn2023.0.6          amazonlinux
system-release.noarch               2023.1.20230628-0.amzn2023        amazonlinux
tzdata.noarch                       2023c-1.amzn2023.0.1              amazonlinux
bash-5.2#
```

 La versione del `system-release` pacchetto mostra la versione a cui un `dnf upgrade` comando verrebbe aggiornato, ovvero la versione [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) richiesta nel comando. `dnf check-update --releasever=2023.1.20230628` 

------
#### [ Updates in the latest version ]

 [In questo esempio vedremo quali aggiornamenti sono disponibili nella versione di AL2023 if abbiamo lanciato un contenitore della `latest` versione 2023.4.20240319.](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) Al momento della stesura, la `latest` versione è [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html), quindi gli aggiornamenti elencati in questo esempio saranno aggiornati a quella versione. 

**Nota**  
 *Questo esempio utilizza le versioni [2023.4.20240319 e 2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html)[, quest'ultima è la versione più recente al momento](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) della stesura.* [Per ulteriori informazioni sulle versioni più recenti, consulta le note di rilascio. AL2023 ](https://docs.aws.amazon.com/linux/al2023/release-notes/) 

 In questo esempio inizieremo con un'immagine del contenitore per la versione [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html). 

 Innanzitutto, recuperiamo l'immagine del contenitore dal registro dei contenitori. La `.1` parte finale indica la versione dell'immagine per una particolare versione. Sebbene la versione dell'immagine sia in genere zero, questo esempio utilizza una versione in cui la versione dell'immagine è una. 

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
	  2023.4.20240319.1: Pulling from amazonlinux/amazonlinux
6de065fda9a2: Pull complete
Digest: sha256:b4838c4cc9211d966b6ea158dacc9eda7433a16ba94436508c2d9f01f7658b4e
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
```

 Ora possiamo generare una shell all'interno del contenitore, dalla quale verificheremo la presenza di aggiornamenti. 

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
	  bash-5.2#
```

 Il `dnf check-update` comando viene ora utilizzato per verificare gli aggiornamenti disponibili nella `latest` versione, che *al momento della stesura* era [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html). 

**Nota**  
 L'applicazione degli aggiornamenti dei pacchetti è un'operazione privilegiata. *Sebbene l'elevazione dei privilegi in genere non sia richiesta quando si esegue in un contenitore, se si esegue in un ambiente non containerizzato come un'istanza Amazon EC2, è possibile verificare la presenza di aggiornamenti senza elevare i privilegi.* 

```
$ dnf --releasever=latest check-update
Amazon Linux 2023 repository                      78 MB/s |  25 MB     00:00
Last metadata expiration check: 0:00:04 ago on Mon Jul 22 17:39:13 2024.

amazon-linux-repo-cdn.noarch        2023.5.20240708-1.amzn2023        amazonlinux
curl-minimal.x86_64                 8.5.0-1.amzn2023.0.4              amazonlinux
dnf.noarch                          4.14.0-1.amzn2023.0.5             amazonlinux
dnf-data.noarch                     4.14.0-1.amzn2023.0.5             amazonlinux
expat.x86_64                        2.5.0-1.amzn2023.0.4              amazonlinux
glibc.x86_64                        2.34-52.amzn2023.0.10             amazonlinux
glibc-common.x86_64                 2.34-52.amzn2023.0.10             amazonlinux
glibc-minimal-langpack.x86_64       2.34-52.amzn2023.0.10             amazonlinux
krb5-libs.x86_64                    1.21-3.amzn2023.0.4               amazonlinux
libblkid.x86_64                     2.37.4-1.amzn2023.0.4             amazonlinux
libcurl-minimal.x86_64              8.5.0-1.amzn2023.0.4              amazonlinux
libmount.x86_64                     2.37.4-1.amzn2023.0.4             amazonlinux
libnghttp2.x86_64                   1.59.0-3.amzn2023.0.1             amazonlinux
libsmartcols.x86_64                 2.37.4-1.amzn2023.0.4             amazonlinux
libuuid.x86_64                      2.37.4-1.amzn2023.0.4             amazonlinux
openssl-libs.x86_64                 1:3.0.8-1.amzn2023.0.12           amazonlinux
python3.x86_64                      3.9.16-1.amzn2023.0.8             amazonlinux
python3-dnf.noarch                  4.14.0-1.amzn2023.0.5             amazonlinux
python3-libs.x86_64                 3.9.16-1.amzn2023.0.8             amazonlinux
system-release.noarch               2023.5.20240708-1.amzn2023        amazonlinux
yum.noarch                          4.14.0-1.amzn2023.0.5             amazonlinux
bash-5.2#
```

 La versione del `system-release` pacchetto mostra la versione a cui un comando verrebbe aggiornato. `dnf upgrade` 

------

Per questo comando, se sono disponibili pacchetti più recenti, il codice restituito è 100. Se non sono disponibili pacchetti più recenti, il codice restituito è 0. Inoltre, l'output elenca anche tutti i pacchetti da aggiornare. 

## Applicazione degli aggiornamenti di sicurezza utilizzando DNF e le versioni del repository
<a name="apply-security-updates"></a>

I nuovi aggiornamenti dei pacchetti e gli aggiornamenti di sicurezza sono disponibili solo per le nuove versioni del repository. Per i casi avviati da versioni AL2023 AMI precedenti, è necessario aggiornare la versione del repository prima di poter installare gli aggiornamenti di sicurezza. Il comando `dnf check-release-update` include un comando di aggiornamento di esempio che aggiorna tutti i pacchetti installati sul sistema alle versioni in un repository più recente.

**Nota**  
 Se non specifichi la versione di rilascio con il flag opzionale al comando `dnf check-update`, viene controllata solo la versione del repository attualmente configurata. Ciò significa che qualsiasi aggiornamento ai pacchetti installati presenti in qualsiasi versione successiva del repository non viene applicato.

 Questa sezione illustra il percorso di aggiornamento consigliato per applicare tutti gli aggiornamenti disponibili anziché scegliere singoli aggiornamenti o solo quelli contrassegnati come aggiornamenti di sicurezza. Applicando tutti gli aggiornamenti, le istanze esistenti vengono spostate nello stesso set di pacchetti utilizzato per l'avvio di un'AMI aggiornata. Questa coerenza riduce la variazione delle versioni dei pacchetti all'interno di una flotta. Per ulteriori informazioni sull'applicazione di aggiornamenti specifici, consulta[Applicazione degli aggiornamenti di sicurezza in loco](security-inplace-update.md). 

------
#### [ Applying updates in a specific version ]

 [In questo esempio applicheremo gli aggiornamenti disponibili nella versione [2023.1.20230628 se lanciamo un contenitore della versione 2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html).](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 

**Nota**  
 *[Questo esempio utilizza le versioni [2023.0.20230315 e [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html)](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html), che non sono le versioni più recenti di See the Release Notes per le ultime versioni, che contengono gli ultimi aggiornamenti di sicurezza. AL2023 AL2023 ](https://docs.aws.amazon.com/linux/al2023/release-notes/)* 

 [In questo esempio inizieremo con un'immagine del contenitore per la versione 2023.0.20230315.](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 

 Innanzitutto, recuperiamo l'immagine del contenitore dal registro dei contenitori. La `.0` parte finale indica la versione dell'immagine per una particolare versione; questa versione dell'immagine di solito è zero. 

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
	  2023.0.20230315.0: Pulling from amazonlinux/amazonlinux
b76f3b09316a: Pull complete
Digest: sha256:94e7183b0739140dbd5b639fb7600f0a2299cec5df8780c26d9cb409da5315a9
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
```

 Ora possiamo generare una shell all'interno del contenitore, dalla quale applicheremo gli aggiornamenti. 

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
	  bash-5.2#
```

 Il `dnf upgrade` comando viene ora utilizzato per applicare tutti gli aggiornamenti presenti nella versione [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html). 

**Nota**  
 L'applicazione degli aggiornamenti dei pacchetti è un'operazione privilegiata. Sebbene l'elevazione dei privilegi non sia in genere richiesta quando si esegue in un contenitore, se si esegue in un ambiente non containerizzato come un'istanza Amazon EC2, sarà necessario eseguire il comando come utente. `dnf upgrade` `root` Questa operazione può essere eseguita utilizzando i comandi or. `sudo` `su` 

```
$ dnf upgrade --releasever=2023.1.20230628
Amazon Linux 2023 repository                      38 MB/s |  15 MB     00:00
Last metadata expiration check: 0:00:02 ago on Mon Jul 22 17:49:08 2024.
Dependencies resolved.
=================================================================================
 Package                 Arch    Version                      Repository    Size
=================================================================================
Upgrading:
 amazon-linux-repo-cdn   noarch  2023.1.20230628-0.amzn2023   amazonlinux   18 k
 ca-certificates         noarch  2023.2.60-1.0.amzn2023.0.2   amazonlinux  829 k
 curl-minimal            x86_64  8.0.1-1.amzn2023             amazonlinux  150 k
 glib2                   x86_64  2.74.7-688.amzn2023.0.1      amazonlinux  2.7 M
 glibc                   x86_64  2.34-52.amzn2023.0.3         amazonlinux  1.9 M
 glibc-common            x86_64  2.34-52.amzn2023.0.3         amazonlinux  307 k
 glibc-minimal-langpack  x86_64  2.34-52.amzn2023.0.3         amazonlinux   35 k
 gnupg2-minimal          x86_64  2.3.7-1.amzn2023.0.4         amazonlinux  421 k
 keyutils-libs           x86_64  1.6.3-1.amzn2023             amazonlinux   33 k
 libcap                  x86_64  2.48-2.amzn2023.0.3          amazonlinux   67 k
 libcurl-minimal         x86_64  8.0.1-1.amzn2023             amazonlinux  249 k
 libgcc                  x86_64  11.3.1-4.amzn2023.0.3        amazonlinux  105 k
 libgomp                 x86_64  11.3.1-4.amzn2023.0.3        amazonlinux  280 k
 libstdc++               x86_64  11.3.1-4.amzn2023.0.3        amazonlinux  744 k
 libxml2                 x86_64  2.10.4-1.amzn2023.0.1        amazonlinux  706 k
 ncurses-base            noarch  6.2-4.20200222.amzn2023.0.4  amazonlinux   60 k
 ncurses-libs            x86_64  6.2-4.20200222.amzn2023.0.4  amazonlinux  328 k
 openssl-libs            x86_64  1:3.0.8-1.amzn2023.0.3       amazonlinux  2.2 M
 python3-rpm             x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux   88 k
 rpm                     x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux  486 k
 rpm-build-libs          x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux   90 k
 rpm-libs                x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux  309 k
 rpm-sign-libs           x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux   21 k
 system-release          noarch  2023.1.20230628-0.amzn2023   amazonlinux   29 k
 tzdata                  noarch  2023c-1.amzn2023.0.1         amazonlinux  433 k

Transaction Summary
=================================================================================
Upgrade  25 Packages

Total download size: 12 M
Is this ok [y/N]:
```

 La versione del `system-release` pacchetto mostra la versione a cui un `dnf upgrade` comando verrebbe aggiornato, ovvero la versione [2023.1.20230628 richiesta](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) nel comando. `dnf upgrade --releasever=2023.1.20230628` 

 Per impostazione predefinita, ti `dnf` chiederà di confermare che desideri applicare gli aggiornamenti. È possibile ignorare questa richiesta utilizzando il `-y` flag to`dnf`. Per questo esempio, il `dnf upgrade -y --releasever=2023.1.20230628` comando non chiederà conferma prima di applicare gli aggiornamenti. Ciò è utile negli script o in altri ambienti di automazione. 

 Dopo aver confermato di voler applicare gli aggiornamenti, li `dnf` applica. 

```
Is this ok [y/N]:y
	  Downloading Packages:
(1/25): libcap-2.48-2.amzn2023.0.3.x86_64.rpm    1.5 MB/s |  67 kB     00:00
(2/25): python3-rpm-4.16.1.3-12.amzn2023.0.6.x86 2.1 MB/s |  88 kB     00:00
(3/25): libcurl-minimal-8.0.1-1.amzn2023.x86_64. 2.6 MB/s | 249 kB     00:00
(4/25): glib2-2.74.7-688.amzn2023.0.1.x86_64.rpm  26 MB/s | 2.7 MB     00:00
(5/25): glibc-minimal-langpack-2.34-52.amzn2023. 1.3 MB/s |  35 kB     00:00
(6/25): rpm-build-libs-4.16.1.3-12.amzn2023.0.6. 2.8 MB/s |  90 kB     00:00
(7/25): rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64 6.6 MB/s | 309 kB     00:00
(8/25): libgcc-11.3.1-4.amzn2023.0.3.x86_64.rpm  3.9 MB/s | 105 kB     00:00
(9/25): glibc-common-2.34-52.amzn2023.0.3.x86_64  11 MB/s | 307 kB     00:00
(10/25): glibc-2.34-52.amzn2023.0.3.x86_64.rpm    31 MB/s | 1.9 MB     00:00
(11/25): rpm-sign-libs-4.16.1.3-12.amzn2023.0.6. 877 kB/s |  21 kB     00:00
(12/25): gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86  15 MB/s | 421 kB     00:00
(13/25): openssl-libs-3.0.8-1.amzn2023.0.3.x86_6  35 MB/s | 2.2 MB     00:00
(14/25): libxml2-2.10.4-1.amzn2023.0.1.x86_64.rp  14 MB/s | 706 kB     00:00
(15/25): curl-minimal-8.0.1-1.amzn2023.x86_64.rp 4.2 MB/s | 150 kB     00:00
(16/25): rpm-4.16.1.3-12.amzn2023.0.6.x86_64.rpm  11 MB/s | 486 kB     00:00
(17/25): libgomp-11.3.1-4.amzn2023.0.3.x86_64.rp 7.0 MB/s | 280 kB     00:00
(18/25): libstdc++-11.3.1-4.amzn2023.0.3.x86_64.  14 MB/s | 744 kB     00:00
(19/25): keyutils-libs-1.6.3-1.amzn2023.x86_64.r 1.6 MB/s |  33 kB     00:00
(20/25): ncurses-libs-6.2-4.20200222.amzn2023.0.  10 MB/s | 328 kB     00:00
(21/25): tzdata-2023c-1.amzn2023.0.1.noarch.rpm   11 MB/s | 433 kB     00:00
(22/25): amazon-linux-repo-cdn-2023.1.20230628-0 781 kB/s |  18 kB     00:00
(23/25): ca-certificates-2023.2.60-1.0.amzn2023.  16 MB/s | 829 kB     00:00
(24/25): system-release-2023.1.20230628-0.amzn20 1.5 MB/s |  29 kB     00:00
(25/25): ncurses-base-6.2-4.20200222.amzn2023.0. 3.1 MB/s |  60 kB     00:00
---------------------------------------------------------------------------------
Total                                             28 MB/s |  12 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                         1/1
  Upgrading        : libgcc-11.3.1-4.amzn2023.0.3.x86_64                    1/50
  Running scriptlet: libgcc-11.3.1-4.amzn2023.0.3.x86_64                    1/50
  Upgrading        : system-release-2023.1.20230628-0.amzn2023.noarch       2/50
  Upgrading        : amazon-linux-repo-cdn-2023.1.20230628-0.amzn2023.no    3/50
  Upgrading        : ncurses-base-6.2-4.20200222.amzn2023.0.4.noarch        4/50
  Upgrading        : tzdata-2023c-1.amzn2023.0.1.noarch                     5/50
  Upgrading        : glibc-common-2.34-52.amzn2023.0.3.x86_64               6/50
  Running scriptlet: glibc-2.34-52.amzn2023.0.3.x86_64                      7/50
  Upgrading        : glibc-2.34-52.amzn2023.0.3.x86_64                      7/50
  Running scriptlet: glibc-2.34-52.amzn2023.0.3.x86_64                      7/50
  Upgrading        : glibc-minimal-langpack-2.34-52.amzn2023.0.3.x86_64     8/50
  Upgrading        : libcap-2.48-2.amzn2023.0.3.x86_64                      9/50
  Upgrading        : gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86_64            10/50
  Upgrading        : libgomp-11.3.1-4.amzn2023.0.3.x86_64                  11/50
  Running scriptlet: ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     12/50
  Upgrading        : ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     12/50
  Running scriptlet: ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     12/50
  Upgrading        : openssl-libs-1:3.0.8-1.amzn2023.0.3.x86_64            13/50
  Upgrading        : libcurl-minimal-8.0.1-1.amzn2023.x86_64               14/50
  Upgrading        : curl-minimal-8.0.1-1.amzn2023.x86_64                  15/50
  Upgrading        : rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64              16/50
  Upgrading        : rpm-4.16.1.3-12.amzn2023.0.6.x86_64                   17/50
  Upgrading        : rpm-build-libs-4.16.1.3-12.amzn2023.0.6.x86_64        18/50
  Upgrading        : rpm-sign-libs-4.16.1.3-12.amzn2023.0.6.x86_64         19/50
  Upgrading        : python3-rpm-4.16.1.3-12.amzn2023.0.6.x86_64           20/50
  Upgrading        : glib2-2.74.7-688.amzn2023.0.1.x86_64                  21/50
  Upgrading        : libxml2-2.10.4-1.amzn2023.0.1.x86_64                  22/50
  Upgrading        : libstdc++-11.3.1-4.amzn2023.0.3.x86_64                23/50
  Upgrading        : keyutils-libs-1.6.3-1.amzn2023.x86_64                 24/50
  Upgrading        : ncurses-libs-6.2-4.20200222.amzn2023.0.4.x86_64       25/50
  Cleanup          : glib2-2.73.2-680.amzn2023.0.3.x86_64                  26/50
  Cleanup          : libstdc++-11.3.1-4.amzn2023.0.2.x86_64                27/50
  Cleanup          : libxml2-2.10.3-2.amzn2023.0.1.x86_64                  28/50
  Cleanup          : python3-rpm-4.16.1.3-12.amzn2023.0.5.x86_64           29/50
  Cleanup          : rpm-build-libs-4.16.1.3-12.amzn2023.0.5.x86_64        30/50
  Cleanup          : rpm-sign-libs-4.16.1.3-12.amzn2023.0.5.x86_64         31/50
  Cleanup          : rpm-libs-4.16.1.3-12.amzn2023.0.5.x86_64              32/50
  Cleanup          : libcap-2.48-2.amzn2023.0.2.x86_64                     33/50
  Cleanup          : gnupg2-minimal-2.3.7-1.amzn2023.0.3.x86_64            34/50
  Cleanup          : ncurses-libs-6.2-4.20200222.amzn2023.0.3.x86_64       35/50
  Cleanup          : libgomp-11.3.1-4.amzn2023.0.2.x86_64                  36/50
  Cleanup          : rpm-4.16.1.3-12.amzn2023.0.5.x86_64                   37/50
  Cleanup          : curl-minimal-7.88.1-1.amzn2023.0.1.x86_64             38/50
  Cleanup          : libcurl-minimal-7.88.1-1.amzn2023.0.1.x86_64          39/50
  Cleanup          : openssl-libs-1:3.0.8-1.amzn2023.0.1.x86_64            40/50
  Cleanup          : keyutils-libs-1.6.1-2.amzn2023.0.2.x86_64             41/50
  Cleanup          : amazon-linux-repo-cdn-2023.0.20230315-1.amzn2023.no   42/50
  Cleanup          : system-release-2023.0.20230315-1.amzn2023.noarch      43/50
  Cleanup          : ca-certificates-2023.2.60-1.0.amzn2023.0.1.noarch     44/50
  Cleanup          : ncurses-base-6.2-4.20200222.amzn2023.0.3.noarch       45/50
  Cleanup          : glibc-minimal-langpack-2.34-52.amzn2023.0.2.x86_64    46/50
  Cleanup          : glibc-2.34-52.amzn2023.0.2.x86_64                     47/50
  Cleanup          : glibc-common-2.34-52.amzn2023.0.2.x86_64              48/50
  Cleanup          : tzdata-2022g-1.amzn2023.0.1.noarch                    49/50
  Cleanup          : libgcc-11.3.1-4.amzn2023.0.2.x86_64                   50/50
  Running scriptlet: libgcc-11.3.1-4.amzn2023.0.2.x86_64                   50/50
  Running scriptlet: ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     50/50
  Running scriptlet: rpm-4.16.1.3-12.amzn2023.0.6.x86_64                   50/50
  Running scriptlet: libgcc-11.3.1-4.amzn2023.0.2.x86_64                   50/50
  Verifying        : libcurl-minimal-8.0.1-1.amzn2023.x86_64                1/50
  Verifying        : libcurl-minimal-7.88.1-1.amzn2023.0.1.x86_64           2/50
  Verifying        : libcap-2.48-2.amzn2023.0.3.x86_64                      3/50
  Verifying        : libcap-2.48-2.amzn2023.0.2.x86_64                      4/50
  Verifying        : glib2-2.74.7-688.amzn2023.0.1.x86_64                   5/50
  Verifying        : glib2-2.73.2-680.amzn2023.0.3.x86_64                   6/50
  Verifying        : python3-rpm-4.16.1.3-12.amzn2023.0.6.x86_64            7/50
  Verifying        : python3-rpm-4.16.1.3-12.amzn2023.0.5.x86_64            8/50
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.3.x86_64     9/50
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.2.x86_64    10/50
  Verifying        : rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64              11/50
  Verifying        : rpm-libs-4.16.1.3-12.amzn2023.0.5.x86_64              12/50
  Verifying        : rpm-build-libs-4.16.1.3-12.amzn2023.0.6.x86_64        13/50
  Verifying        : rpm-build-libs-4.16.1.3-12.amzn2023.0.5.x86_64        14/50
  Verifying        : glibc-2.34-52.amzn2023.0.3.x86_64                     15/50
  Verifying        : glibc-2.34-52.amzn2023.0.2.x86_64                     16/50
  Verifying        : libgcc-11.3.1-4.amzn2023.0.3.x86_64                   17/50
  Verifying        : libgcc-11.3.1-4.amzn2023.0.2.x86_64                   18/50
  Verifying        : glibc-common-2.34-52.amzn2023.0.3.x86_64              19/50
  Verifying        : glibc-common-2.34-52.amzn2023.0.2.x86_64              20/50
  Verifying        : rpm-sign-libs-4.16.1.3-12.amzn2023.0.6.x86_64         21/50
  Verifying        : rpm-sign-libs-4.16.1.3-12.amzn2023.0.5.x86_64         22/50
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.3.x86_64            23/50
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.1.x86_64            24/50
  Verifying        : gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86_64            25/50
  Verifying        : gnupg2-minimal-2.3.7-1.amzn2023.0.3.x86_64            26/50
  Verifying        : libxml2-2.10.4-1.amzn2023.0.1.x86_64                  27/50
  Verifying        : libxml2-2.10.3-2.amzn2023.0.1.x86_64                  28/50
  Verifying        : curl-minimal-8.0.1-1.amzn2023.x86_64                  29/50
  Verifying        : curl-minimal-7.88.1-1.amzn2023.0.1.x86_64             30/50
  Verifying        : rpm-4.16.1.3-12.amzn2023.0.6.x86_64                   31/50
  Verifying        : rpm-4.16.1.3-12.amzn2023.0.5.x86_64                   32/50
  Verifying        : libstdc++-11.3.1-4.amzn2023.0.3.x86_64                33/50
  Verifying        : libstdc++-11.3.1-4.amzn2023.0.2.x86_64                34/50
  Verifying        : libgomp-11.3.1-4.amzn2023.0.3.x86_64                  35/50
  Verifying        : libgomp-11.3.1-4.amzn2023.0.2.x86_64                  36/50
  Verifying        : keyutils-libs-1.6.3-1.amzn2023.x86_64                 37/50
  Verifying        : keyutils-libs-1.6.1-2.amzn2023.0.2.x86_64             38/50
  Verifying        : ncurses-libs-6.2-4.20200222.amzn2023.0.4.x86_64       39/50
  Verifying        : ncurses-libs-6.2-4.20200222.amzn2023.0.3.x86_64       40/50
  Verifying        : ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     41/50
  Verifying        : ca-certificates-2023.2.60-1.0.amzn2023.0.1.noarch     42/50
  Verifying        : tzdata-2023c-1.amzn2023.0.1.noarch                    43/50
  Verifying        : tzdata-2022g-1.amzn2023.0.1.noarch                    44/50
  Verifying        : amazon-linux-repo-cdn-2023.1.20230628-0.amzn2023.no   45/50
  Verifying        : amazon-linux-repo-cdn-2023.0.20230315-1.amzn2023.no   46/50
  Verifying        : system-release-2023.1.20230628-0.amzn2023.noarch      47/50
  Verifying        : system-release-2023.0.20230315-1.amzn2023.noarch      48/50
  Verifying        : ncurses-base-6.2-4.20200222.amzn2023.0.4.noarch       49/50
  Verifying        : ncurses-base-6.2-4.20200222.amzn2023.0.3.noarch       50/50

Upgraded:
  amazon-linux-repo-cdn-2023.1.20230628-0.amzn2023.noarch
  ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch
  curl-minimal-8.0.1-1.amzn2023.x86_64
  glib2-2.74.7-688.amzn2023.0.1.x86_64
  glibc-2.34-52.amzn2023.0.3.x86_64
  glibc-common-2.34-52.amzn2023.0.3.x86_64
  glibc-minimal-langpack-2.34-52.amzn2023.0.3.x86_64
  gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86_64
  keyutils-libs-1.6.3-1.amzn2023.x86_64
  libcap-2.48-2.amzn2023.0.3.x86_64
  libcurl-minimal-8.0.1-1.amzn2023.x86_64
  libgcc-11.3.1-4.amzn2023.0.3.x86_64
  libgomp-11.3.1-4.amzn2023.0.3.x86_64
  libstdc++-11.3.1-4.amzn2023.0.3.x86_64
  libxml2-2.10.4-1.amzn2023.0.1.x86_64
  ncurses-base-6.2-4.20200222.amzn2023.0.4.noarch
  ncurses-libs-6.2-4.20200222.amzn2023.0.4.x86_64
  openssl-libs-1:3.0.8-1.amzn2023.0.3.x86_64
  python3-rpm-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-build-libs-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-sign-libs-4.16.1.3-12.amzn2023.0.6.x86_64
  system-release-2023.1.20230628-0.amzn2023.noarch
  tzdata-2023c-1.amzn2023.0.1.noarch

  Complete!
bash-5.2#
```

------
#### [ Updates in the latest version ]

 In questo esempio applicheremo gli aggiornamenti disponibili nella `latest` versione di AL2023 if we launched a container della release [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html). Al momento della stesura, la `latest` versione è [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html), quindi gli aggiornamenti elencati in questo esempio saranno aggiornati a quella versione. 

**Nota**  
 *Questo esempio utilizza le versioni [2023.4.20240319 e 2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html)[, quest'ultima è la versione più recente al momento](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) della stesura.* [Per ulteriori informazioni sulle versioni più recenti, consulta le note di rilascio. AL2023 ](https://docs.aws.amazon.com/linux/al2023/release-notes/) 

 In questo esempio inizieremo con un'immagine del contenitore per la versione [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html). 

 Innanzitutto, recuperiamo l'immagine del contenitore dal registro dei contenitori. La `.1` parte finale indica la versione dell'immagine per una particolare versione. Sebbene la versione dell'immagine sia in genere zero, questo esempio utilizza una versione in cui la versione dell'immagine è una. 

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
	  2023.4.20240319.1: Pulling from amazonlinux/amazonlinux
6de065fda9a2: Pull complete
Digest: sha256:b4838c4cc9211d966b6ea158dacc9eda7433a16ba94436508c2d9f01f7658b4e
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
```

 Ora possiamo generare una shell all'interno del contenitore, dalla quale applicheremo gli aggiornamenti. 

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
	  bash-5.2#
```

 Il `dnf upgrade` comando viene ora utilizzato per applicare gli aggiornamenti disponibili nella `latest` versione, che *al momento della stesura* era [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html). 

**Nota**  
 L'applicazione degli aggiornamenti dei pacchetti è un'operazione privilegiata. Sebbene l'elevazione dei privilegi non sia in genere richiesta quando si esegue in un contenitore, se si esegue in un ambiente non containerizzato come un'istanza Amazon EC2, sarà necessario eseguire il comando come utente. `dnf upgrade` `root` Questa operazione può essere eseguita utilizzando i comandi or. `sudo` `su` 

 Per impostazione predefinita, ti `dnf` verrà chiesto di confermare che desideri applicare gli aggiornamenti. In questo esempio, stiamo ignorando questa richiesta utilizzando il `-y` flag to. `dnf` 

```
$ dnf -y --releasever=latest update
Amazon Linux 2023 repository                      75 MB/s |  25 MB     00:00
Last metadata expiration check: 0:00:04 ago on Mon Jul 22 18:00:10 2024.
Dependencies resolved.
=================================================================================
 Package                 Arch    Version                      Repository    Size
=================================================================================
Upgrading:
 amazon-linux-repo-cdn   noarch  2023.5.20240708-1.amzn2023   amazonlinux   17 k
 curl-minimal            x86_64  8.5.0-1.amzn2023.0.4         amazonlinux  160 k
 dnf                     noarch  4.14.0-1.amzn2023.0.5        amazonlinux  460 k
 dnf-data                noarch  4.14.0-1.amzn2023.0.5        amazonlinux   34 k
 expat                   x86_64  2.5.0-1.amzn2023.0.4         amazonlinux  117 k
 glibc                   x86_64  2.34-52.amzn2023.0.10        amazonlinux  1.9 M
 glibc-common            x86_64  2.34-52.amzn2023.0.10        amazonlinux  295 k
 glibc-minimal-langpack  x86_64  2.34-52.amzn2023.0.10        amazonlinux   23 k
 krb5-libs               x86_64  1.21-3.amzn2023.0.4          amazonlinux  758 k
 libblkid                x86_64  2.37.4-1.amzn2023.0.4        amazonlinux  105 k
 libcurl-minimal         x86_64  8.5.0-1.amzn2023.0.4         amazonlinux  275 k
 libmount                x86_64  2.37.4-1.amzn2023.0.4        amazonlinux  132 k
 libnghttp2              x86_64  1.59.0-3.amzn2023.0.1        amazonlinux   79 k
 libsmartcols            x86_64  2.37.4-1.amzn2023.0.4        amazonlinux   62 k
 libuuid                 x86_64  2.37.4-1.amzn2023.0.4        amazonlinux   26 k
 openssl-libs            x86_64  1:3.0.8-1.amzn2023.0.12      amazonlinux  2.2 M
 python3                 x86_64  3.9.16-1.amzn2023.0.8        amazonlinux   27 k
 python3-dnf             noarch  4.14.0-1.amzn2023.0.5        amazonlinux  409 k
 python3-libs            x86_64  3.9.16-1.amzn2023.0.8        amazonlinux  7.3 M
 system-release          noarch  2023.5.20240708-1.amzn2023   amazonlinux   28 k
 yum                     noarch  4.14.0-1.amzn2023.0.5        amazonlinux   32 k

 Transaction Summary
=================================================================================
Upgrade  21 Packages

Total download size: 14 M
Downloading Packages:
(1/21): amazon-linux-repo-cdn-2023.5.20240708-1. 345 kB/s |  17 kB     00:00
(2/21): dnf-4.14.0-1.amzn2023.0.5.noarch.rpm     6.8 MB/s | 460 kB     00:00
(3/21): dnf-data-4.14.0-1.amzn2023.0.5.noarch.rp 1.6 MB/s |  34 kB     00:00
(4/21): expat-2.5.0-1.amzn2023.0.4.x86_64.rpm    4.6 MB/s | 117 kB     00:00
(5/21): glibc-2.34-52.amzn2023.0.10.x86_64.rpm    38 MB/s | 1.9 MB     00:00
(6/21): glibc-common-2.34-52.amzn2023.0.10.x86_6 8.8 MB/s | 295 kB     00:00
(7/21): glibc-minimal-langpack-2.34-52.amzn2023. 1.7 MB/s |  23 kB     00:00
(8/21): curl-minimal-8.5.0-1.amzn2023.0.4.x86_64 998 kB/s | 160 kB     00:00
(9/21): libblkid-2.37.4-1.amzn2023.0.4.x86_64.rp 4.1 MB/s | 105 kB     00:00
(10/21): krb5-libs-1.21-3.amzn2023.0.4.x86_64.rp  16 MB/s | 758 kB     00:00
(11/21): libmount-2.37.4-1.amzn2023.0.4.x86_64.r 7.9 MB/s | 132 kB     00:00
(12/21): libnghttp2-1.59.0-3.amzn2023.0.1.x86_64 5.6 MB/s |  79 kB     00:00
(13/21): libsmartcols-2.37.4-1.amzn2023.0.4.x86_ 4.4 MB/s |  62 kB     00:00
(14/21): libcurl-minimal-8.5.0-1.amzn2023.0.4.x8 7.1 MB/s | 275 kB     00:00
(15/21): libuuid-2.37.4-1.amzn2023.0.4.x86_64.rp 1.1 MB/s |  26 kB     00:00
(16/21): python3-3.9.16-1.amzn2023.0.8.x86_64.rp 1.5 MB/s |  27 kB     00:00
(17/21): python3-dnf-4.14.0-1.amzn2023.0.5.noarc  19 MB/s | 409 kB     00:00
(18/21): system-release-2023.5.20240708-1.amzn20 1.9 MB/s |  28 kB     00:00
(19/21): yum-4.14.0-1.amzn2023.0.5.noarch.rpm    1.6 MB/s |  32 kB     00:00
(20/21): openssl-libs-3.0.8-1.amzn2023.0.12.x86_  26 MB/s | 2.2 MB     00:00
(21/21): python3-libs-3.9.16-1.amzn2023.0.8.x86_  59 MB/s | 7.3 MB     00:00
---------------------------------------------------------------------------------
Total                                             34 MB/s |  14 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                         1/1
  Upgrading        : glibc-common-2.34-52.amzn2023.0.10.x86_64              1/42
  Upgrading        : glibc-minimal-langpack-2.34-52.amzn2023.0.10.x86_64    2/42
  Running scriptlet: glibc-2.34-52.amzn2023.0.10.x86_64                     3/42
  Upgrading        : glibc-2.34-52.amzn2023.0.10.x86_64                     3/42
  Running scriptlet: glibc-2.34-52.amzn2023.0.10.x86_64                     3/42
  Upgrading        : libuuid-2.37.4-1.amzn2023.0.4.x86_64                   4/42
  Upgrading        : openssl-libs-1:3.0.8-1.amzn2023.0.12.x86_64            5/42
  Upgrading        : krb5-libs-1.21-3.amzn2023.0.4.x86_64                   6/42
  Upgrading        : libblkid-2.37.4-1.amzn2023.0.4.x86_64                  7/42
  Running scriptlet: libblkid-2.37.4-1.amzn2023.0.4.x86_64                  7/42
  Upgrading        : expat-2.5.0-1.amzn2023.0.4.x86_64                      8/42
  Upgrading        : python3-3.9.16-1.amzn2023.0.8.x86_64                   9/42
  Upgrading        : python3-libs-3.9.16-1.amzn2023.0.8.x86_64             10/42
  Upgrading        : libnghttp2-1.59.0-3.amzn2023.0.1.x86_64               11/42
  Upgrading        : libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64           12/42
  Upgrading        : system-release-2023.5.20240708-1.amzn2023.noarch      13/42
  Upgrading        : amazon-linux-repo-cdn-2023.5.20240708-1.amzn2023.no   14/42
  Upgrading        : dnf-data-4.14.0-1.amzn2023.0.5.noarch                 15/42
  Upgrading        : python3-dnf-4.14.0-1.amzn2023.0.5.noarch              16/42
  Upgrading        : dnf-4.14.0-1.amzn2023.0.5.noarch                      17/42
  Running scriptlet: dnf-4.14.0-1.amzn2023.0.5.noarch                      17/42
  Upgrading        : yum-4.14.0-1.amzn2023.0.5.noarch                      18/42
  Upgrading        : curl-minimal-8.5.0-1.amzn2023.0.4.x86_64              19/42
  Upgrading        : libmount-2.37.4-1.amzn2023.0.4.x86_64                 20/42
  Upgrading        : libsmartcols-2.37.4-1.amzn2023.0.4.x86_64             21/42
  Cleanup          : yum-4.14.0-1.amzn2023.0.4.noarch                      22/42
  Running scriptlet: dnf-4.14.0-1.amzn2023.0.4.noarch                      23/42
  Cleanup          : dnf-4.14.0-1.amzn2023.0.4.noarch                      23/42
  Running scriptlet: dnf-4.14.0-1.amzn2023.0.4.noarch                      23/42
  Cleanup          : python3-dnf-4.14.0-1.amzn2023.0.4.noarch              24/42
  Cleanup          : amazon-linux-repo-cdn-2023.4.20240319-1.amzn2023.no   25/42
  Cleanup          : libmount-2.37.4-1.amzn2023.0.3.x86_64                 26/42
  Cleanup          : curl-minimal-8.5.0-1.amzn2023.0.2.x86_64              27/42
  Cleanup          : libcurl-minimal-8.5.0-1.amzn2023.0.2.x86_64           28/42
  Cleanup          : krb5-libs-1.21-3.amzn2023.0.3.x86_64                  29/42
  Cleanup          : libblkid-2.37.4-1.amzn2023.0.3.x86_64                 30/42
  Cleanup          : libnghttp2-1.57.0-1.amzn2023.0.1.x86_64               31/42
  Cleanup          : libsmartcols-2.37.4-1.amzn2023.0.3.x86_64             32/42
  Cleanup          : system-release-2023.4.20240319-1.amzn2023.noarch      33/42
  Cleanup          : dnf-data-4.14.0-1.amzn2023.0.4.noarch                 34/42
  Cleanup          : python3-3.9.16-1.amzn2023.0.6.x86_64                  35/42
  Cleanup          : python3-libs-3.9.16-1.amzn2023.0.6.x86_64             36/42
  Cleanup          : openssl-libs-1:3.0.8-1.amzn2023.0.11.x86_64           37/42
  Cleanup          : libuuid-2.37.4-1.amzn2023.0.3.x86_64                  38/42
  Cleanup          : expat-2.5.0-1.amzn2023.0.3.x86_64                     39/42
  Cleanup          : glibc-2.34-52.amzn2023.0.8.x86_64                     40/42
  Cleanup          : glibc-minimal-langpack-2.34-52.amzn2023.0.8.x86_64    41/42
  Cleanup          : glibc-common-2.34-52.amzn2023.0.8.x86_64              42/42
  Running scriptlet: glibc-common-2.34-52.amzn2023.0.8.x86_64              42/42
  Verifying        : amazon-linux-repo-cdn-2023.5.20240708-1.amzn2023.no    1/42
  Verifying        : amazon-linux-repo-cdn-2023.4.20240319-1.amzn2023.no    2/42
  Verifying        : curl-minimal-8.5.0-1.amzn2023.0.4.x86_64               3/42
  Verifying        : curl-minimal-8.5.0-1.amzn2023.0.2.x86_64               4/42
  Verifying        : dnf-4.14.0-1.amzn2023.0.5.noarch                       5/42
  Verifying        : dnf-4.14.0-1.amzn2023.0.4.noarch                       6/42
  Verifying        : dnf-data-4.14.0-1.amzn2023.0.5.noarch                  7/42
  Verifying        : dnf-data-4.14.0-1.amzn2023.0.4.noarch                  8/42
  Verifying        : expat-2.5.0-1.amzn2023.0.4.x86_64                      9/42
  Verifying        : expat-2.5.0-1.amzn2023.0.3.x86_64                     10/42
  Verifying        : glibc-2.34-52.amzn2023.0.10.x86_64                    11/42
  Verifying        : glibc-2.34-52.amzn2023.0.8.x86_64                     12/42
  Verifying        : glibc-common-2.34-52.amzn2023.0.10.x86_64             13/42
  Verifying        : glibc-common-2.34-52.amzn2023.0.8.x86_64              14/42
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.10.x86_64   15/42
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.8.x86_64    16/42
  Verifying        : krb5-libs-1.21-3.amzn2023.0.4.x86_64                  17/42
  Verifying        : krb5-libs-1.21-3.amzn2023.0.3.x86_64                  18/42
  Verifying        : libblkid-2.37.4-1.amzn2023.0.4.x86_64                 19/42
  Verifying        : libblkid-2.37.4-1.amzn2023.0.3.x86_64                 20/42
  Verifying        : libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64           21/42
  Verifying        : libcurl-minimal-8.5.0-1.amzn2023.0.2.x86_64           22/42
  Verifying        : libmount-2.37.4-1.amzn2023.0.4.x86_64                 23/42
  Verifying        : libmount-2.37.4-1.amzn2023.0.3.x86_64                 24/42
  Verifying        : libnghttp2-1.59.0-3.amzn2023.0.1.x86_64               25/42
  Verifying        : libnghttp2-1.57.0-1.amzn2023.0.1.x86_64               26/42
  Verifying        : libsmartcols-2.37.4-1.amzn2023.0.4.x86_64             27/42
  Verifying        : libsmartcols-2.37.4-1.amzn2023.0.3.x86_64             28/42
  Verifying        : libuuid-2.37.4-1.amzn2023.0.4.x86_64                  29/42
  Verifying        : libuuid-2.37.4-1.amzn2023.0.3.x86_64                  30/42
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.12.x86_64           31/42
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.11.x86_64           32/42
  Verifying        : python3-3.9.16-1.amzn2023.0.8.x86_64                  33/42
  Verifying        : python3-3.9.16-1.amzn2023.0.6.x86_64                  34/42
  Verifying        : python3-dnf-4.14.0-1.amzn2023.0.5.noarch              35/42
  Verifying        : python3-dnf-4.14.0-1.amzn2023.0.4.noarch              36/42
  Verifying        : python3-libs-3.9.16-1.amzn2023.0.8.x86_64             37/42
  Verifying        : python3-libs-3.9.16-1.amzn2023.0.6.x86_64             38/42
  Verifying        : system-release-2023.5.20240708-1.amzn2023.noarch      39/42
  Verifying        : system-release-2023.4.20240319-1.amzn2023.noarch      40/42
  Verifying        : yum-4.14.0-1.amzn2023.0.5.noarch                      41/42
  Verifying        : yum-4.14.0-1.amzn2023.0.4.noarch                      42/42

Upgraded:
  amazon-linux-repo-cdn-2023.5.20240708-1.amzn2023.noarch
  curl-minimal-8.5.0-1.amzn2023.0.4.x86_64
  dnf-4.14.0-1.amzn2023.0.5.noarch
  dnf-data-4.14.0-1.amzn2023.0.5.noarch
  expat-2.5.0-1.amzn2023.0.4.x86_64
  glibc-2.34-52.amzn2023.0.10.x86_64
  glibc-common-2.34-52.amzn2023.0.10.x86_64
  glibc-minimal-langpack-2.34-52.amzn2023.0.10.x86_64
  krb5-libs-1.21-3.amzn2023.0.4.x86_64
  libblkid-2.37.4-1.amzn2023.0.4.x86_64
  libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64
  libmount-2.37.4-1.amzn2023.0.4.x86_64
  libnghttp2-1.59.0-3.amzn2023.0.1.x86_64
  libsmartcols-2.37.4-1.amzn2023.0.4.x86_64
  libuuid-2.37.4-1.amzn2023.0.4.x86_64
  openssl-libs-1:3.0.8-1.amzn2023.0.12.x86_64
  python3-3.9.16-1.amzn2023.0.8.x86_64
  python3-dnf-4.14.0-1.amzn2023.0.5.noarch
  python3-libs-3.9.16-1.amzn2023.0.8.x86_64
  system-release-2023.5.20240708-1.amzn2023.noarch
  yum-4.14.0-1.amzn2023.0.5.noarch

Complete!
bash-5.2#
```

------

Per scoprire AL2023 gli aggiornamenti, esegui una o più delle seguenti operazioni:
+  Esegui il comando `dnf check-update`. Questo verifica la presenza di eventuali aggiornamenti non applicati nella versione di Amazon Linux a cui sei bloccato. Questo potrebbe mostrare degli aggiornamenti se hai aggiornato solo il `system-release` pacchetto, spostando la versione dei repository su cui è bloccata l'istanza ma non applicando nessuno degli aggiornamenti disponibili in essa. 
+ Sottoscrivi l'argomento SNS per l'aggiornamento del repository Amazon Linux (`arn:aws:sns:us-east-1:137112412989:amazon-linux-2023-ami-updates`). Per ulteriori informazioni, consulta [Sottoscrizione a un argomento di Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html) nella *Guida per lo Sviluppatore di Amazon Simple Notification Service*.
+ Consulta regolarmente le [note di AL2023 rilascio](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html).
+  Scopri le nuove versioni di[Verifica della disponibilità di versioni più recenti del repository con `dnf check-release-update`](#dnf-repository-updates). 

**Importante**  
 Nuove versioni di AL2023 contenenti aggiornamenti di sicurezza vengono rilasciate frequentemente. Assicurati di tenerti aggiornato sulle patch di sicurezza pertinenti. 

## Riavvio automatico del servizio dopo gli aggiornamenti (di sicurezza)
<a name="automatic-restart-services"></a>

Amazon Linux ora viene fornito con il pacchetto [smart-restart](https://github.com/amazonlinux/smart-restart). `Smart-restart`riavvia i servizi systemd sugli aggiornamenti di sistema ogni volta che un pacchetto viene installato o eliminato utilizzando il gestore di pacchetti del sistema. Ciò si verifica ogni volta che `dnf (update|upgrade|downgrade)` viene eseguito.

`Smart-restart`utilizza il `needs-restarting` pacchetto from `dnf-utils` e un meccanismo di denylisting personalizzato per determinare quali servizi devono essere riavviati e se è consigliato il riavvio del sistema. Se si consiglia il riavvio del sistema, viene generato un file marker di suggerimento per il riavvio (). `/run/smart-restart/reboot-hint-marker`

**Per installare `smart-restart`**  
Eseguite il DNF comando seguente (come fareste con qualsiasi altro pacchetto).

```
$ sudo dnf install smart-restart
```

Dopo l'installazione, le transazioni successive attiveranno la `smart-restart` logica.

**Lista di rifiuto**  
`Smart-restart`può essere richiesto di bloccare il riavvio di determinati servizi. I servizi bloccati non contribuiranno alla decisione se è necessario un riavvio. Per bloccare servizi aggiuntivi, aggiungete un file con il suffisso `-denylist` in, `/etc/smart-restart-conf.d/` come illustrato nell'esempio seguente.

```
$ cat /etc/smart-restart-conf.d/custom-denylist
# Some comments
myservice.service
```

**Nota**  
Tutti `*-denylist` i file vengono letti e valutati quando si decide se è necessario un riavvio.

**Ganci personalizzati**  
Oltre al denylisting, `smart-restart` fornisce un meccanismo per eseguire script personalizzati prima e dopo i tentativi di riavvio del servizio. Gli script personalizzati possono essere utilizzati per eseguire manualmente le fasi di preparazione o per informare gli altri componenti del riavvio residuo o completato.

Tutti gli script vengono inseriti `/etc/smart-restart-conf.d/` con il suffisso `-pre-restart` o `-post-restart` vengono eseguiti. Se l'ordine è importante, aggiungete un numero a tutti gli script per garantire l'ordine di esecuzione, come illustrato nell'esempio seguente.

```
$ ls /etc/smart-restart-conf.d/*-pre-restart
001-my-script-pre-restart
002-some-other-script-pre-restart
```

## Quando è necessario il riavvio per applicare gli aggiornamenti di sicurezza?
<a name="reboot"></a>

In alcune situazioni, Amazon Linux richiede un riavvio per applicare gli aggiornamenti:
+ Gli aggiornamenti al pacchetto del kernel Linux richiedono un riavvio per attivare il nuovo kernel con gli ultimi aggiornamenti di sicurezza. Il livpatching del kernel può consentire di posticipare gli aggiornamenti di sicurezza per un periodo di tempo limitato. Per ulteriori informazioni, consultare. [Kernel Live Patching su 023 AL2](live-patching.md) 
+ Sulle istanze EC2 Metal, Amazon Linux fornisce aggiornamenti del microcodice (tramite il `microcode_ctl` pacchetto per Intel CPUs e il `amd-ucode-firmware` pacchetto per le CPU AMD). Questi aggiornamenti del microcodice verranno attivati solo ai riavvii successivi delle istanze. Per le istanze EC2 virtualizzate, il [sistema AWS Nitro](https://docs.aws.amazon.com/whitepapers/latest/security-design-of-aws-nitro-system/security-design-of-aws-nitro-system.html) sottostante gestisce gli aggiornamenti del microcodice per te. 
+ Alcuni servizi systemd in esecuzione funzioneranno correttamente solo dopo un riavvio completo del sistema. Il `smart-restart` meccanismo ti informerà su tali situazioni lasciando dei suggerimenti per il riavvio. Per informazioni, consulta [Riavvio automatico del servizio dopo gli aggiornamenti (di sicurezza)](#automatic-restart-services). 

## Avvio di un'istanza con la versione più recente del repository abilitata
<a name="launch-an-instance-repo-version"></a>

Puoi aggiungere comandi DNF a uno script di dati utente per controllare quali pacchetti RPM vengono installati su un'AMI Amazon Linux al momento dell'avvio. Nell'esempio seguente, viene utilizzato uno script di dati utente per assicurarsi che su ogni istanza avviata con lo script di dati utente siano installati gli stessi aggiornamenti del pacchetto.

```
#!/bin/bash
dnf upgrade --releasever=2023.0.20230210
# Additional setup and install commands below
dnf install httpd php7.4 mysql80
```

È necessario eseguire questo script come utente con privilegi avanzati (root). Per farlo, esegui il comando seguente.

```
$ sudo sh -c "bash nameofscript.sh"
```

Per ulteriori informazioni, consulta [Dati utente e script di shell nella Guida](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts) per l'utente di *Amazon EC2*.

**Nota**  
Invece di utilizzare uno script di dati utente, avvia l'AMI Amazon Linux più recente o un'AMI personalizzata basata sull'AMI Amazon Linux. L'AMI Amazon Linux più recente dispone di tutti gli aggiornamenti necessari installati ed è configurata in modo che punti a una particolare versione del repository.

## Ottenere informazioni di supporto per i pacchetti
<a name="dnf-support-info-plugin"></a>

AL2023 incorpora molti progetti software open source diversi. Ciascuno di questi progetti è gestito indipendentemente da Amazon Linux e prevede release e end-of-support pianificazioni diverse. Per fornirti informazioni specifiche su Amazon Linux in relazione a questi diversi pacchetti, il plugin `supportinfo` DNF fornisce i metadati relativi a un pacchetto. Nell'esempio seguente, il comando **dnf supportinfo** restituisce i metadati per il pacchetto `glibc`.

```
$ sudo dnf supportinfo --pkg glibc 
Last metadata expiration check: 0:07:56 ago on Wed Mar  1 23:21:49 2023.
Name                 : glibc
Version              : 2.34-52.amzn2023.0.2
State                : installed
Support Status       : supported
Support Periods      : from 2023-03-15      : supported
                     : from 2028-03-15      : 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 would be March 2028.
     ...: From this point, the Amazon Linux 2023 packages (listed
  ...: below) will no longer, receive any updates from AWS.
```

 Le informazioni sul supporto dei Package sono disponibili anche nella sezione delle [istruzioni di supporto](https://docs.aws.amazon.com/linux/al2023/release-notes/support-info-by-support-statement.html) delle [Note di AL2023 rilascio](https://docs.aws.amazon.com/linux/al2023/release-notes/). 

## Verifica della disponibilità di versioni più recenti del repository con `dnf check-release-update`
<a name="dnf-repository-updates"></a>

 In un AL2023 caso, è possibile utilizzare l'DNFutilità per gestire gli archivi e applicare pacchetti aggiornati. RPM Questi pacchetti sono disponibili nei repository Amazon Linux. Puoi usare il comando DNF `dnf check-release-update` per verificare la presenza di nuove versioni del repository DNF. 

**Nota**  
 AL2023 per impostazione predefinita, le immagini dei contenitori non includono il `dnf check-release-update` comando.   

```
$ dnf check-release-update
No such command: check-release-update. Please use /usr/bin/dnf --help
It could be a DNF plugin command, try: "dnf install 'dnf-command(check-release-update)'"
```
 Quando `dnf install 'dnf-command(check-release-update)'` viene eseguito, `dnf` installerà il pacchetto che fornisce il `check-release-update` comando, che è il `dnf-plugin-release-notification` pacchetto. Nell'esempio seguente, viene data l'`-q`argomentazione `dnf` affinché abbia un output silenzioso.   

```
$ dnf -y -q install 'dnf-command(check-release-update)'
Installed:
  dnf-plugin-release-notification-1.2-1.amzn2023.0.2.noarch
```

 In ambienti non containerizzati come un'istanza Amazon EC2, il `check-release-update` comando è incluso per impostazione predefinita. 

```
$ sudo dnf check-release-update
WARNING:
  A newer release of "Amazon Linux" is available.

  Available Versions:

  Version 2023.0.20230210:
    Run the following command to update to 2023.0.20230210:

      dnf upgrade --releasever=2023.0.20230210

    Release notes:
     https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html
```

Questa operazione restituisce un elenco completo di tutte le versioni più recenti dei repository DNF disponibili. Se non viene restituito nulla, significa che DNF è attualmente configurato per utilizzare la versione più recente disponibile. La versione del pacchetto `system-release` attualmente installata imposta la variabile `releasever` DNF. Per controllare la versione attuale del repository, esegui il comando seguente.

```
$ rpm -q system-release --qf "%{VERSION}\n"
```

Quando si eseguono transazioni di pacchetti DNF (ad esempio comandi di installazione, aggiornamento o rimozione), un messaggio di avviso segnala eventuali nuove versioni del repository. Ad esempio, se si installa il `httpd` pacchetto su un'istanza lanciata da una versione precedente di AL2023, viene restituito il seguente output.

```
$ sudo dnf install httpd -y
Last metadata expiration check: 0:16:52 ago on Wed Mar  1 23:21:49 2023.
Dependencies resolved.
====================================================================
 Package            Arch   Version                Repository   Size
====================================================================
Installing:
 httpd              x86_64 2.4.54-3.amzn2023.0.4  amazonlinux  46 k
Installing dependencies:
 apr                x86_64 1.7.2-2.amzn2023.0.2   amazonlinux 129 k
 apr-util           x86_64 1.6.3-1.amzn2023.0.1   amazonlinux  98 k
 generic-logos-httpd
                    noarch 18.0.0-12.amzn2023.0.3 amazonlinux  19 k
 httpd-core         x86_64 2.4.54-3.amzn2023.0.4  amazonlinux 1.3 M
 httpd-filesystem   noarch 2.4.54-3.amzn2023.0.4  amazonlinux  13 k
 httpd-tools        x86_64 2.4.54-3.amzn2023.0.4  amazonlinux  80 k
 libbrotli          x86_64 1.0.9-4.amzn2023.0.2   amazonlinux 315 k
 mailcap            noarch 2.1.49-3.amzn2023.0.3  amazonlinux  33 k
Installing weak dependencies:
 apr-util-openssl   x86_64 1.6.3-1.amzn2023.0.1   amazonlinux  17 k
 mod_http2          x86_64 1.15.24-1.amzn2023.0.3 amazonlinux 152 k
 mod_lua            x86_64 2.4.54-3.amzn2023.0.4  amazonlinux  60 k

Transaction Summary
====================================================================
Install  12 Packages

Total download size: 2.3 M
Installed size: 6.8 M
Downloading Packages:
(1/12): apr-util-openssl-1.6.3-1.am 212 kB/s |  17 kB     00:00
(2/12): apr-1.7.2-2.amzn2023.0.2.x8 1.1 MB/s | 129 kB     00:00
(3/12): httpd-core-2.4.54-3.amzn202 8.9 MB/s | 1.3 MB     00:00
(4/12): mod_http2-1.15.24-1.amzn202 1.9 MB/s | 152 kB     00:00
(5/12): apr-util-1.6.3-1.amzn2023.0 1.7 MB/s |  98 kB     00:00
(6/12): mod_lua-2.4.54-3.amzn2023.0 1.4 MB/s |  60 kB     00:00
(7/12): httpd-2.4.54-3.amzn2023.0.4 1.5 MB/s |  46 kB     00:00
(8/12): libbrotli-1.0.9-4.amzn2023. 4.4 MB/s | 315 kB     00:00
(9/12): mailcap-2.1.49-3.amzn2023.0 753 kB/s |  33 kB     00:00
(10/12): httpd-tools-2.4.54-3.amzn2 978 kB/s |  80 kB     00:00
(11/12): httpd-filesystem-2.4.54-3. 210 kB/s |  13 kB     00:00
(12/12): generic-logos-httpd-18.0.0 439 kB/s |  19 kB     00:00
--------------------------------------------------------------------
Total                               6.6 MB/s | 2.3 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                            1/1
  Installing       : apr-1.7.2-2.amzn2023.0.2.x86_64           1/12
  Installing       : apr-util-openssl-1.6.3-1.amzn2023.0.1.    2/12
  Installing       : apr-util-1.6.3-1.amzn2023.0.1.x86_64      3/12
  Installing       : mailcap-2.1.49-3.amzn2023.0.3.noarch      4/12
  Installing       : httpd-tools-2.4.54-3.amzn2023.0.4.x86_    5/12
  Installing       : generic-logos-httpd-18.0.0-12.amzn2023    6/12
  Running scriptlet: httpd-filesystem-2.4.54-3.amzn2023.0.4    7/12
  Installing       : httpd-filesystem-2.4.54-3.amzn2023.0.4    7/12
  Installing       : httpd-core-2.4.54-3.amzn2023.0.4.x86_6    8/12
  Installing       : mod_http2-1.15.24-1.amzn2023.0.3.x86_6    9/12
  Installing       : libbrotli-1.0.9-4.amzn2023.0.2.x86_64    10/12
  Installing       : mod_lua-2.4.54-3.amzn2023.0.4.x86_64     11/12
  Installing       : httpd-2.4.54-3.amzn2023.0.4.x86_64       12/12
  Running scriptlet: httpd-2.4.54-3.amzn2023.0.4.x86_64       12/12
  Verifying        : apr-1.7.2-2.amzn2023.0.2.x86_64           1/12
  Verifying        : apr-util-openssl-1.6.3-1.amzn2023.0.1.    2/12
  Verifying        : httpd-core-2.4.54-3.amzn2023.0.4.x86_6    3/12
  Verifying        : mod_http2-1.15.24-1.amzn2023.0.3.x86_6    4/12
  Verifying        : apr-util-1.6.3-1.amzn2023.0.1.x86_64      5/12
  Verifying        : mod_lua-2.4.54-3.amzn2023.0.4.x86_64      6/12
  Verifying        : libbrotli-1.0.9-4.amzn2023.0.2.x86_64     7/12
  Verifying        : httpd-2.4.54-3.amzn2023.0.4.x86_64        8/12
  Verifying        : httpd-tools-2.4.54-3.amzn2023.0.4.x86_    9/12
  Verifying        : mailcap-2.1.49-3.amzn2023.0.3.noarch     10/12
  Verifying        : httpd-filesystem-2.4.54-3.amzn2023.0.4   11/12
  Verifying        : generic-logos-httpd-18.0.0-12.amzn2023   12/12

Installed:
  apr-1.7.2-2.amzn2023.0.2.x86_64
  apr-util-1.6.3-1.amzn2023.0.1.x86_64
  apr-util-openssl-1.6.3-1.amzn2023.0.1.x86_64
  generic-logos-httpd-18.0.0-12.amzn2023.0.3.noarch
  httpd-2.4.54-3.amzn2023.0.4.x86_64
  httpd-core-2.4.54-3.amzn2023.0.4.x86_64
  httpd-filesystem-2.4.54-3.amzn2023.0.4.noarch
  httpd-tools-2.4.54-3.amzn2023.0.4.x86_64
  libbrotli-1.0.9-4.amzn2023.0.2.x86_64
  mailcap-2.1.49-3.amzn2023.0.3.noarch
  mod_http2-1.15.24-1.amzn2023.0.3.x86_64
  mod_lua-2.4.54-3.amzn2023.0.4.x86_64

Complete!
```

## Aggiunta, abilitazione o disabilitazione di nuovi repository
<a name="dnf-repo-addition"></a>

**avvertimento**  
 Aggiungi solo repository progettati per essere utilizzati con AL2023.   
 Sebbene i repository progettati per altre distribuzioni possano funzionare oggi, non c'è alcuna garanzia che continueranno a farlo con qualsiasi aggiornamento del pacchetto AL2023 o con il repository non progettato per essere utilizzato. AL2023 

Per installare un pacchetto da un repository diverso da quello predefinito di Amazon Linux, dovrai configurare il sistema di gestione dei `DNF` pacchetti per sapere dove si trova il repository.

 Per `dnf` informazioni su un repository di pacchetti, aggiungi le informazioni del repository a un file di configurazione per quel repository nella directory. `/etc/yum.repos.d/` Molti repository di terze parti forniscono il contenuto del file di configurazione o un pacchetto installabile che include il file di configurazione. 

**Nota**  
 Sebbene i repository possano essere configurati direttamente nel `/etc/dnf/dnf.conf` file, questa operazione non è consigliata. Si consiglia di configurare ogni repository nel proprio file in. `/etc/yum.repos.d/` 

**Per scoprire quali repository sono attualmente abilitati, puoi eseguire il seguente comando:**

```
$ dnf repolist all --verbose
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, release-notification, repoclosure, repodiff, repograph, repomanage, reposync, supportinfo
DNF version: 4.12.0
cachedir: /var/cache/dnf
Last metadata expiration check: 0:00:02 ago on Wed Mar  1 23:40:15 2023.
Repo-id            : amazonlinux
Repo-name          : Amazon Linux 2023 repository
Repo-status        : enabled
Repo-revision      : 1677203368
Repo-updated       : Fri Feb 24 01:49:28 2023
Repo-pkgs          : 12632
Repo-available-pkgs: 12632
Repo-size          : 12 G
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/x86_64/mirror.list
Repo-baseurl       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/guids/cf9296325a6c46ff40c775a8e2d632c4c3fd9d9164014ce3304715d61b90ca8e/x86_64/
                   : (0 more)
Repo-expire        : 172800 second(s) (last: Wed Mar  1 23:40:15
                   : 2023)
Repo-filename      : /etc/yum.repos.d/amazonlinux.repo

Repo-id            : amazonlinux-debuginfo
Repo-name          : Amazon Linux 2023 repository - Debug
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/debuginfo/x86_64/mirror.list
Repo-expire        : 21600 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/amazonlinux.repo

Repo-id            : amazonlinux-source
Repo-name          : Amazon Linux 2023 repository - Source packages
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/SRPMS/mirror.list
Repo-expire        : 21600 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/amazonlinux.repo

Repo-id            : kernel-livepatch
Repo-name          : Amazon Linux 2023 Kernel Livepatch repository
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/kernel-livepatch/mirrors/al2023/x86_64/mirror.list
Repo-expire        : 172800 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/kernel-livepatch.repo

Repo-id            : kernel-livepatch-source
Repo-name          : Amazon Linux 2023 Kernel Livepatch repository -
                   : Source packages
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/kernel-livepatch/mirrors/al2023/SRPMS/mirror.list
Repo-expire        : 21600 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/kernel-livepatch.repo
Total packages: 12632
```

**Nota**  
Se non aggiungi il flag di opzione `--verbose`, l'output include solo le informazioni `Repo-id`, `Repo-name` e `Repo-status`.

**Per aggiungere un repository `yum` alla directory `/etc/yum.repos.d`:**

1. Cerca la posizione del file `.repo`. In questo esempio, il file `.repo` è disponibile in `https://www.example.com/repository.repo`.

1. Aggiungi il repository con il comando `dnf config-manager`.

```
$ sudo dnf config-manager --add-repo https://www.example.com/repository.repo
Loaded plugins: priorities, update-motd, upgrade-helper
adding repo from: https://www.example.com/repository.repo
grabbing file https://www.example.com/repository.repo to /etc/yum.repos.d/repository.repo
repository.repo                                      | 4.0 kB     00:00
repo saved to /etc/yum.repos.d/repository.repo
```

Dopo aver installato un repository, devi abilitarlo come descritto nella procedura seguente.

****Per abilitare un `yum` repository in`/etc/yum.repos.d`, usa il `dnf config-manager` comando con `--enable` bandiera e *repository* nome.

```
$ sudo dnf config-manager --enable repository
```

**Nota**  
Per disabilitare un repository, usa la stessa sintassi del comando, ma sostituendo `--enable` con `--disable` nel comando.

## Aggiunta di repository con cloud-init
<a name="cloud-init-repo-update"></a>

Oltre ad aggiungere un repository utilizzando il precedente metodo, puoi anche aggiungere un nuovo repository utilizzando il framework `cloud-init`.

Per aggiungere un nuovo repository di pacchetti, si consiglia l'uso del seguente modello. Valuta la possibilità di salvare il file in locale.

```
#cloud-config
yum_repos: 
  repository.repo: 
    baseurl: https://www.example.com/
    enabled: true
    gpgcheck: true
    gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EXAMPLE
    name: Example Repository
```

**Nota**  
Un vantaggio dell'utilizzo di `cloud-init` consiste nella possibilità di aggiungere una sezione `packages:` al file di configurazione. In questa sezione, puoi includere i nomi dei pacchetti che desideri installare. Puoi installare i pacchetti dal repository predefinito o dal nuovo repository aggiunto nel file `cloud-config`.  
Per informazioni più specifiche sulla struttura del file YAML, consulta la pagina dedicata all'[aggiunta di un repository YUM](https://cloudinit.readthedocs.io/en/22.2.2/topics/examples.html#adding-a-yum-repository) nella *documentazione di `cloud-init`*.

Dopo aver configurato il file in formato YAML, puoi eseguirlo nel framework `cloud-init` nell'interfaccia AWS CLI. Assicurati di includere l'opzione `--userdata` e il nome del file `.yml` per chiamare le operazioni desiderate.

```
$ aws ec2 run-instances \
  --image-id \
    resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64 \
  --instance-type m5.xlarge \
  --region us-east-1 \
  --key-name aws-key-us-east-1 \
  --security-group-ids sg-004a7650 \
  --user-data file://cloud-config.yml
```

# Kernel Live Patching su 023 AL2
<a name="live-patching"></a>

È possibile utilizzare Kernel Live Patching for AL2 023 per applicare vulnerabilità di sicurezza specifiche e patch di bug critici a un kernel Linux in esecuzione senza riavviare o interrompere le applicazioni in esecuzione. Inoltre, Kernel Live Patching può contribuire a migliorare la disponibilità dell'applicazione applicando queste correzioni fino al riavvio del sistema.

AWS rilascia due tipi di patch live del kernel per 023: AL2
+ **Aggiornamenti di sicurezza**: includono aggiornamenti per CVE (Common Vulnerabilities and Exposures) di Linux. Questi aggiornamenti sono in genere classificati come *importanti* o *critici* utilizzando le classificazioni di Amazon Linux Security Advisory. Generalmente vengono mappati a un punteggio CVSS (Common Vulnerability Scoring System) di 7 o superiore. In alcuni casi, AWS potrebbe fornire aggiornamenti prima dell'assegnazione di un CVE. In questi casi, le patch potrebbero apparire come correzioni di bug.
+ **Correzioni di bug**: includono correzioni di bug critici e problemi di stabilità a cui non sono associati. CVEs

AWS fornisce patch live del kernel per una versione del kernel AL2 023 per un massimo di 3 mesi dopo il suo rilascio. Dopo tale periodo, è necessario eseguire l'aggiornamento a una versione del kernel successiva per continuare a ricevere patch live del kernel.

AL2Le patch live del kernel 023 sono rese disponibili come pacchetti RPM firmati nei repository 023 esistenti. AL2 Le patch possono essere installate su singole istanze utilizzando i flussi di lavoro del **gestore di pacchetti DNF** esistenti. In alternativa, possono essere installati su un gruppo di istanze gestite utilizzando AWS Systems Manager.

Kernel Live Patching su AL2 023 viene fornito senza costi aggiuntivi.

**Topics**
+ [Limitazioni](#live-patching-limitations)
+ [Configurazioni e prerequisiti supportati](#live-patching-prereq)
+ [Utilizzo di Kernel Live Patching](#working-with-live-patching)

## Limitazioni
<a name="live-patching-limitations"></a>

Durante l'applicazione di una patch live del kernel, non è possibile eseguire l'ibernazione, utilizzare strumenti di debug avanzati (come `SystemTap`, `kprobes` e strumenti basati su `eBPF`) né accedere ai file di output `ftrace` utilizzati dall'infrastruttura Kernel Live Patching.

**Nota**  
A causa di limitazioni tecniche, alcuni problemi non possono essere risolti con live patching. Per questo motivo, queste correzioni non verranno incluse nel pacchetto kernel live patch ma solo nell'aggiornamento del pacchetto kernel nativo. È possibile installare il pacchetto kernel nativo e [aggiornare e riavviare](https://docs.aws.amazon.com/linux/al2023/ug/updating.html) il sistema per attivare le patch come al solito.

## Configurazioni e prerequisiti supportati
<a name="live-patching-prereq"></a>

Kernel Live Patching è supportato su EC2 istanze Amazon e macchine virtuali locali che eseguono 023. AL2

Per utilizzare Kernel Live Patching su AL2 023, è necessario utilizzare quanto segue:
+ Un'architettura `x86_64` o `ARM64` a 64 bit
+ Versione del kernel o `6.1` `6.12`

### Requisiti per le policy
<a name="policy-requirements"></a>

Per scaricare pacchetti da AL2 023 repository, Amazon EC2 deve accedere ai bucket Amazon S3 di proprietà del servizio. Se utilizzi un endpoint Amazon Virtual Private Cloud (VPC) per Amazon S3 nel tuo ambiente, assicurati che la policy degli endpoint VPC consenta l'accesso a tali bucket pubblici. La tabella seguente descrive il bucket Amazon S3 a cui Amazon EC2 potrebbe aver bisogno di accedere per Kernel Live Patching.


| ARN di bucket S3 | Descrizione | 
| --- | --- | 
|  arn:aws:s3: ::al2023-repos- -de612dc2/\$1 *region*  |  Bucket Amazon S3 contenente 023 repository AL2  | 

## Utilizzo di Kernel Live Patching
<a name="working-with-live-patching"></a>

È possibile abilitare e utilizzare Kernel Live Patching su singole istanze utilizzando la riga di comando sull'istanza stessa. In alternativa, è possibile abilitare e utilizzare Kernel Live Patching su un gruppo di istanze gestite utilizzando AWS Systems Manager.

Le sezioni seguenti spiegano come abilitare e utilizzare Kernel Live Patching su singole istanze utilizzando la riga di comando.

*Per ulteriori informazioni sull'abilitazione e l'utilizzo di Kernel Live Patching su un gruppo di istanze gestite, consulta [Utilizzare Kernel Live Patching su 023 istanze nella Guida](https://docs.aws.amazon.com/systems-manager/latest/userguide/kernel-live-patching.html) per l'utente. AL2 AWS Systems Manager *

**Topics**
+ [Abilitazione di Kernel Live Patching](#live-patching-enable)
+ [Visualizzazione delle patch live del kernel disponibili](#live-patching-view-available)
+ [Applicazione delle patch live del kernel](#live-patching-apply)
+ [Visualizzazione delle patch live del kernel applicate](#live-patching-view)
+ [Disabilitazione di Kernel Live Patching](#live-patching-disable)

### Abilitazione di Kernel Live Patching
<a name="live-patching-enable"></a>

Kernel Live Patching è disabilitato per impostazione predefinita su 023. AL2 Per utilizzare l'applicazione di patch live, è necessario installare il plugin **DNF** per Kernel Live Patching e abilitare la funzionalità di applicazione di patch live.

**Per abilitare Kernel Live Patching**

1. Le patch live del kernel sono disponibili per AL2 la versione 023 con versione kernel. `6.1` Per controllare la versione del kernel, eseguire il seguente comando.

   ```
   $ sudo dnf list kernel
   ```

1. Installare il plugin **DNF** per Kernel Live Patching.

   ```
   $ sudo dnf install -y kpatch-dnf
   ```

1. Abilitare il plugin **DNF** per Kernel Live Patching.

   ```
   $ sudo dnf kernel-livepatch -y auto
   ```

   Questo comando installa anche l'ultima versione dell'RPM della patch live del kernel dai repository configurati.

1. Per confermare che il plugin **DNF** per Kernel Live Patching è stato installato correttamente, eseguire il seguente comando.

   Quando si abilita Kernel Live Patching, viene automaticamente applicata una RPM della patch live del kernel vuota. Se Kernel Live Patching è stato abilitato correttamente, questo comando restituisce un elenco che include l'RPM iniziale vuoto del kernel live patch (e un altro RPM che configura il repository DNF contenente le livpatch).

   ```
   $ sudo rpm -qa | grep kernel-livepatch
   kernel-livepatch-repo-s3-2023.7.20250428-0.amzn2023.noarch
   kernel-livepatch-6.1.134-150.224-1.0-0.amzn2023.x86_64
   ```

1. Installare il pacchetto **kpatch**.

   ```
   $ sudo dnf install -y kpatch-runtime
   ```

1. Aggiornare il servizio **kpatch** se è stato precedentemente installato. 

   ```
   $ sudo dnf upgrade kpatch-runtime
   ```

1. Avviare il servizio **kpatch**. Questo servizio carica tutte le patch live del kernel dopo l'inizializzazione o l'avvio. 

   ```
   $ sudo systemctl enable kpatch.service && sudo systemctl start kpatch.service
   ```

### Visualizzazione delle patch live del kernel disponibili
<a name="live-patching-view-available"></a>

Gli avvisi di sicurezza di Amazon Linux vengono pubblicati nel Centro di Sicurezza Amazon Linux. [Per ulteriori informazioni sugli avvisi di sicurezza AL2 023, inclusi gli avvisi per le patch live del kernel, consulta Amazon Linux Security Center.](https://alas.aws.amazon.com/alas2023.html) Le patch live del kernel sono precedute da `ALASLIVEPATCH`. Centro di Sicurezza Amazon Linux potrebbe non elencare le patch live del kernel che risolvono i bug.

Puoi anche scoprire le patch live del kernel disponibili per ricevere avvisi e utilizzare la riga di comando. CVEs 

**Per elencare tutte le patch live del kernel disponibili per le consulenze**  
Utilizza il seguente comando.

```
$ sudo dnf updateinfo list
Last metadata expiration check: 1:06:23 ago on Mon 13 Feb 2023 09:28:19 PM UTC.
ALAS2LIVEPATCH-2021-123   important/Sec. kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64
ALAS2LIVEPATCH-2022-124   important/Sec. kernel-livepatch-6.1.12-17.42-1.0-3.amzn2023.x86_64
```

**Per elencare tutte le patch live del kernel disponibili per CVEs**  
Utilizza il seguente comando.

```
$ sudo dnf updateinfo list cves
Last metadata expiration check: 1:07:26 ago on Mon 13 Feb 2023 09:28:19 PM UTC.
CVE-2022-0123    important/Sec. kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64
CVE-2022-3210    important/Sec. kernel-livepatch-6.1.12-17.42-1.0-3.amzn2023.x86_64
```

### Applicazione delle patch live del kernel
<a name="live-patching-apply"></a>

Le patch live del kernel vengono applicate utilizzando il gestore di pacchetti **DNF** nello stesso modo in cui si applicano aggiornamenti regolari. Il plugin **DNF** per Kernel Live Patching gestisce le patch live del kernel disponibili per l'applicazione.

**Suggerimento**  
Si consiglia di aggiornare regolarmente il kernel utilizzando Kernel Live Patching per garantire che riceva correzioni di sicurezza specifiche, importanti e critiche fino al riavvio del sistema. Controlla anche se sono state rese disponibili correzioni aggiuntive al pacchetto kernel nativo che non possono essere distribuite come patch live e [aggiorna e riavvia con l'aggiornamento](https://docs.aws.amazon.com/linux/al2023/ug/updating.html) del kernel in questi casi.

Puoi scegliere di applicare una patch live del kernel specifica o applicare qualsiasi patch live del kernel disponibile insieme ai normali aggiornamenti di sicurezza.

**Per applicare una patch live del kernel specifica**

1. Ottenere la versione della patch live del kernel utilizzando uno dei comandi descritti in [Visualizzazione delle patch live del kernel disponibili](#live-patching-view-available).

1. Applica la kernel live patch per il tuo kernel 023. AL2

   ```
   $ sudo dnf install kernel-livepatch-kernel_version-package_version.amzn2023.x86_64
   ```

   Ad esempio, il comando seguente applica una patch live del kernel per la versione 023 del kernel AL2 `6.1.12-17.42`

   ```
   $ sudo dnf install kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64
   ```

**Per applicare eventuali patch live del kernel disponibili insieme ai normali aggiornamenti di sicurezza**  
Utilizzare il seguente comando.

```
$ sudo dnf upgrade --security
```

Omettere l'opzione `--security` per includere correzioni di bug.

**Importante**  
La versione del kernel non viene aggiornata dopo l'applicazione delle patch live del kernel. La versione viene aggiornata alla nuova versione solo dopo il riavvio dell'istanza.
Un kernel AL2 023 riceve le patch kernel live per 3 mesi. Dopo questo periodo, non vengono rilasciate nuove patch live del kernel per tale versione del kernel.
Per continuare a ricevere patch live del kernel dopo 3 mesi, è necessario riavviare l'istanza per passare alla nuova versione del kernel. L'istanza continua a ricevere le patch live del kernel per i successivi 3 mesi dopo l'aggiornamento.
Per controllare la finestra di supporto per la versione del kernel, esegui il seguente comando:  

  ```
  $ sudo dnf kernel-livepatch support
  The current version of the Linux kernel you are running will no longer receive live patches after 2025-07-22.
  ```

### Visualizzazione delle patch live del kernel applicate
<a name="live-patching-view"></a>

**Per visualizzare le patch live del kernel applicate**  
Utilizzare il seguente comando.

```
$ sudo kpatch list
Loaded patch modules:
livepatch_CVE_2022_36946 [enabled]

Installed patch modules:
livepatch_CVE_2022_36946 (6.1.57-29.131.amzn2023.x86_64)
livepatch_CVE_2022_36946 (6.1.57-30.131.amzn2023.x86_64)
```

Il comando restituisce un elenco delle patch live del kernel dell'aggiornamento di sicurezza caricato e installato. Di seguito è riportato un output di esempio.

**Nota**  
Una singola patch live del kernel può includere e installare più patch live.

### Disabilitazione di Kernel Live Patching
<a name="live-patching-disable"></a>

Se non è più necessario utilizzare Kernel Live Patching, puoi disabilitarla in qualsiasi momento.
+ Disabilita l'uso di livepatches:

  1. Disabilita il plugin: 

     ```
     $ sudo dnf kernel-livepatch manual
     ```

  1. Disabilita il servizio kpatch: 

     ```
     $ sudo systemctl disable --now kpatch.service
     ```
+ Rimuovi completamente gli strumenti livepatch:

  1. Rimuovi il plugin:

     ```
     $ sudo dnf remove kpatch-dnf
     ```

  1. Rimuovi kpatch-runtime:

     ```
     $ sudo dnf remove kpatch-runtime
     ```

  1. Rimuovi tutte le livepatches installate:

     ```
     $ sudo dnf remove kernel-livepatch\*
     ```

# Aggiornamento del kernel Linux su AL2023
<a name="kernel-update"></a>

**Topics**
+ [Versioni del kernel Linux su AL2023](#al2023-kernels)
+ [AL2023 Aggiornamento a una versione più recente del kernel](#kernelup)
+ [AL2023 kernels - Domande frequenti](#al2023-kernel-faq)

## Versioni del kernel Linux su AL2023
<a name="al2023-kernels"></a>

AL2023 include regolarmente nuove versioni del kernel basate sulle versioni Long-Term Support (LTS) del kernel Linux.

AL2023 è stato originariamente rilasciato nel marzo 2023 con kernel 6.1.

Nell'aprile 2025, è AL2023 stato aggiunto il supporto per il kernel Linux 6.12. Questo kernel ha aggiunto nuove funzionalità tra cui la pianificazione EEVDF, il I/O supporto passthrough FUSE, una nuova API Futex e miglioramenti in eBPF. Kernel 6.12 consente inoltre a un programma userspace di proteggersi in fase di esecuzione utilizzando stack shadow dello spazio utente e sigillando la memoria.

Nel marzo 2026, è stato aggiunto il supporto per il kernel Linux 6.18 AL2023 . Il kernel 6.18 aggiornato apporta ulteriori miglioramenti nel supporto del processore, nella virtualizzazione, nella sicurezza e nelle prestazioni. Le caratteristiche più importanti includono funzionalità IOMMU migliorate su tutte le architetture e Attack Vector Controls per la gestione delle mitigazioni delle vulnerabilità della CPU. I miglioramenti delle prestazioni derivano dalle ottimizzazioni della crittografia con operazioni FSCRYPT più veloci, dai miglioramenti della gestione della memoria e dall'introduzione di Sheaves come nuovo livello di caching basato su array opt-in per CPU. 

## AL2023 Aggiornamento a una versione più recente del kernel
<a name="kernelup"></a>

A partire da giugno 2026, AL2023 aggiornerà il kernel predefinito ogni anno. Il [`al2023-ami-kernel-default`](ec2.md#launch-via-aws-cli)set AMIs verrà aggiornato all'ultima versione del kernel LTS, in modo che le istanze appena lanciate presentino automaticamente la nuova versione del kernel: questo è il modo più semplice per rimanere aggiornati sulle ultime correzioni di sicurezza e sui miglioramenti delle prestazioni.

Se preferisci scegliere una versione del kernel specifica, puoi eseguire AL2023 con kernel 6.12 o 6.18 selezionando un'AMI con il kernel desiderato preinstallato o aggiornando un'istanza AL2023 EC2 esistente.

### Esecuzione di un' AL2023 AMI con una versione del kernel specifica
<a name="kernelup-ami"></a>

Puoi scegliere di eseguire un' AL2023 AMI con un kernel specifico preinstallato tramite la console AWS o interrogando SSM per parametri specifici. Le chiavi SSM con cui eseguire la query iniziano seguite da una delle `/aws/service/ami-amazon-linux-latest/`

#### Per il kernel 6.12
<a name="kernel6.12-ami"></a>
+ `al2023-ami-kernel-6.12-arm64` per l'architettura arm64
+ `al2023-ami-minimal-kernel-6.12-arm64` per l'architettura arm64 (AMI minima)
+ `al2023-ami-kernel-6.12-x86_64` per l'architettura x86\$164
+ `al2023-ami-minimal-kernel-6.12-x86_64` per l'architettura x86\$164 (AMI minima)

#### Per il kernel 6.18
<a name="kernel6.18-ami"></a>
+ `al2023-ami-kernel-6.18-arm64` per l'architettura arm64
+ `al2023-ami-minimal-kernel-6.18-arm64` per l'architettura arm64 (AMI minima)
+ `al2023-ami-kernel-6.18-x86_64` per l'architettura x86\$164
+ `al2023-ami-minimal-kernel-6.18-x86_64` per l'architettura x86\$164 (AMI minima)

[Avvio tramite il parametro SSM e AL2023 AWS CLI](ec2.md#launch-via-aws-cli)Per i dettagli sulla selezione, vedere. AL2023 AMIs

### Aggiornamento di un' AL2023 istanza a un kernel più recente
<a name="kernel-ipu"></a>

È possibile aggiornare sul posto un' AL2023 istanza in esecuzione al kernel 6.12 o 6.18 con i seguenti passaggi:

1. Rileva il kernel corrente e imposta la versione di destinazione:

   ```
   # Automatically detect current kernel version BEFORE upgrade
   $ CURRENT_KERNEL=$(uname -r)
   $ SOURCE_VERSION=""
   
   $ if [[ $CURRENT_KERNEL == *"6.12"* ]]; then
       SOURCE_VERSION="6.12"
   else
       SOURCE_VERSION=""
   fi
   
   # Save the source version to a persistent location for use after reboot
   $ echo "${SOURCE_VERSION}" | sudo tee /var/lib/source_kernel_version > /dev/null
   ```

   ```
   # Set your target version (change this to your desired kernel: 6.12 or 6.18)
   $ TARGET_VERSION="6.12"
   ```

   ```
   $ echo "Current kernel: ${SOURCE_VERSION:-6.1}"
   $ echo "Upgrading to kernel ${TARGET_VERSION}"
   ```

1. Installa il pacchetto kernel di destinazione:

   ```
   $ sudo dnf install -y kernel${TARGET_VERSION}
   ```

1. Scarica l'ultima versione del pacchetto kernel di destinazione:

   ```
   $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1) 
   ```

1. Rendi il nuovo kernel il tuo kernel predefinito:

   ```
   $ sudo grubby --set-default "/boot/vmlinuz-$version" 
   ```

1. Riavvia il sistema:

   ```
   $ sudo reboot 
   ```

1. Disinstalla il kernel precedente:

   ```
   # Read the source kernel version from the saved file
   $ SOURCE_VERSION=$(sudo cat /var/lib/source_kernel_version)
   
   # Uninstall the source kernel
   $ sudo dnf remove -y kernel${SOURCE_VERSION}
   ```

1. Sostituisci i pacchetti kernel aggiuntivi con i loro equivalenti del kernel di destinazione:

   ```
   # Set your target version (change this to your desired kernel: 6.12 or 6.18)
   $ TARGET_VERSION="6.12"
   ```

   ```
   $ declare -A pkgs
   $ pkgs=(
   [bpftool${SOURCE_VERSION}]=bpftool${TARGET_VERSION}
   [kernel${SOURCE_VERSION}-debuginfo]=kernel${TARGET_VERSION}-debuginfo
   [kernel${SOURCE_VERSION}-debuginfo-common]=kernel${TARGET_VERSION}-debuginfo-common
   [kernel${SOURCE_VERSION}-headers]=kernel${TARGET_VERSION}-headers
   [kernel${SOURCE_VERSION}-libbpf]=kernel${TARGET_VERSION}-libbpf
   [kernel${SOURCE_VERSION}-libbpf-devel]=kernel${TARGET_VERSION}-libbpf-devel
   [kernel${SOURCE_VERSION}-libbpf-static]=kernel${TARGET_VERSION}-libbpf-static
   [kernel${SOURCE_VERSION}-modules-extra-common]=kernel${TARGET_VERSION}-modules-extra-common
   [kernel${SOURCE_VERSION}-tools]=kernel${TARGET_VERSION}-tools
   [kernel${SOURCE_VERSION}-tools-devel]=kernel${TARGET_VERSION}-tools-devel
   [perf${SOURCE_VERSION}]=perf${TARGET_VERSION}
   [python3-perf${SOURCE_VERSION}]=python3-perf${TARGET_VERSION}
   )
   $ for pkg in "${!pkgs[@]}"; do 
     rpm -q $pkg && sudo dnf -y swap $pkg "${pkgs["$pkg"]}" ;
   done
   ```

1. (Opzionale) Disinstalla kernel-devel per la versione precedente del kernel:

   ```
   $ rpm -q kernel${SOURCE_VERSION}-devel && sudo dnf remove -y kernel${SOURCE_VERSION}-devel 
   ```

### Eseguire il downgrade a una versione precedente del kernel
<a name="kernel-downgrade"></a>

Se in qualsiasi momento hai bisogno di tornare a una versione precedente del kernel, usa i seguenti passaggi:

1. Rileva il kernel corrente e imposta la versione di destinazione:

   ```
   # Automatically detect current kernel version BEFORE downgrade
   $ CURRENT_KERNEL=$(uname -r)
   $ SOURCE_VERSION=""
   
   $ if [[ $CURRENT_KERNEL == *"6.12"* ]]; then
       SOURCE_VERSION="6.12"
   elif [[ $CURRENT_KERNEL == *"6.18"* ]]; then
       SOURCE_VERSION="6.18"
   fi
   
   # Save the source version to a persistent location for use after reboot
   $ echo "${SOURCE_VERSION}" | sudo tee /var/lib/source_kernel_version > /dev/null
   ```

   ```
   # Set your target version (change this to your desired kernel)
   # Use "" for kernel 6.1, "6.12" for kernel 6.12
   $ TARGET_VERSION=""
   ```

   ```
   $ echo "Downgrading from kernel ${SOURCE_VERSION:-6.1} to kernel ${TARGET_VERSION:-6.1}"
   ```

1. Sostituisci i pacchetti kernel aggiuntivi con i loro equivalenti del kernel di destinazione:

   ```
   $ declare -A pkgs
   $ pkgs=(
   [bpftool${TARGET_VERSION}]=bpftool${SOURCE_VERSION}
   [kernel${TARGET_VERSION}-debuginfo]=kernel${SOURCE_VERSION}-debuginfo
   [kernel${TARGET_VERSION}-debuginfo-common]=kernel${SOURCE_VERSION}-debuginfo-common
   [kernel${TARGET_VERSION}-headers]=kernel${SOURCE_VERSION}-headers
   [kernel${TARGET_VERSION}-libbpf]=kernel${SOURCE_VERSION}-libbpf
   [kernel${TARGET_VERSION}-libbpf-devel]=kernel${SOURCE_VERSION}-libbpf-devel
   [kernel${TARGET_VERSION}-libbpf-static]=kernel${SOURCE_VERSION}-libbpf-static
   [kernel${TARGET_VERSION}-modules-extra-common]=kernel${SOURCE_VERSION}-modules-extra-common
   [kernel${TARGET_VERSION}-tools]=kernel${SOURCE_VERSION}-tools
   [kernel${TARGET_VERSION}-tools-devel]=kernel${SOURCE_VERSION}-tools-devel
   [perf${TARGET_VERSION}]=perf${SOURCE_VERSION}
   [python3-perf${TARGET_VERSION}]=python3-perf${SOURCE_VERSION}
   )
   $ for pkg in "${!pkgs[@]}"; do 
     rpm -q "${pkgs["$pkg"]}" && sudo dnf -y swap "${pkgs["$pkg"]}" $pkg ;
   done
   ```

1. Installa il pacchetto kernel di destinazione:

   ```
   $ sudo dnf install -y kernel${TARGET_VERSION}
   ```

1. Scarica l'ultima versione del pacchetto kernel di destinazione:

   ```
   $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1) 
   ```

1. Rendi il kernel di destinazione il tuo kernel predefinito:

   ```
   $ sudo grubby --set-default "/boot/vmlinuz-$version" 
   ```

1. Riavvia il sistema:

   ```
   $ sudo reboot 
   ```

1. Disinstalla il kernel sorgente:

   ```
   # Read the source kernel version from the saved file
   $ SOURCE_VERSION=$(sudo cat /var/lib/source_kernel_version)
   
   # Uninstall the source kernel
   $ sudo dnf remove -y kernel${SOURCE_VERSION}
   ```

## AL2023 kernels - Domande frequenti
<a name="al2023-kernel-faq"></a>

### 1. Devo riavviare il sistema dopo un aggiornamento del kernel?
<a name="w2aac37c19b9b3"></a>

Ogni modifica al kernel in esecuzione richiede un riavvio.

### 2. Come faccio a mantenere i kernel up-to-date su più istanze?
<a name="w2aac37c19b9b5"></a>

Amazon Linux non fornisce strutture per gestire flotte di istanze. Ti consigliamo di applicare patch a flotte di grandi dimensioni utilizzando strumenti come [AWS Systems Manager](https://aws.amazon.com/systems-manager/).

### 3. Come posso verificare quale versione del kernel sto utilizzando in questo momento?
<a name="w2aac37c19b9b7"></a>

Esegui questo comando sulla tua AL2023 istanza:

```
$ uname -r 
```

### 4. Quale kernel mi AL2023 consiglia di usare?
<a name="w2aac37c19b9b9"></a>

Si consiglia di eseguire l'aggiornamento all'ultimo AL2023 kernel 6.18 mentre tutti gli altri AL2023 kernel sono ancora supportati. Si consiglia ai clienti di testare i propri carichi di lavoro prima dell'aggiornamento.

### 5. Le mie applicazioni esistenti funzioneranno con qualsiasi AL2023 kernel?
<a name="w2aac37c19b9c11"></a>

AL2023 supporta un kernel più recente (6.12 o 6.18) allo stesso modo del kernel 6.1. Le applicazioni funzioneranno e i miglioramenti avverranno sotto il cofano. I clienti devono in ogni caso testare i propri carichi di lavoro specifici prima di passare a un kernel più recente.

### 6. Come posso installare gli header del kernel, i pacchetti di sviluppo e i moduli aggiuntivi per il kernel 6.12 o 6.18?
<a name="w2aac37c19b9c13"></a>

Per favore esegui:

```
$ version=$(uname -r | grep -oP '^\d+\.\d+')
$ sudo dnf install -y kernel${version}-modules-extra-$(uname -r) kernel${version}-headers-$(uname -r) kernel${version}-devel-$(uname -r)
```

### 7. Per quanto tempo saranno supportati i kernel 6.12 e 6.18?
<a name="w2aac37c19b9c15"></a>

I kernel 6.12 e 6.18 saranno supportati fino alla fine del ciclo di vita prevista di Amazon Linux 2023, ovvero il 30 giugno 2029.