Aggiornamento del kernel Linux su AL2023 - Amazon Linux 2023

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 del kernel Linux su AL2023

Versioni del kernel Linux su AL2023

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 partire da giugno 2026, AL2023 aggiornerà il kernel predefinito ogni anno. Il al2023-ami-kernel-defaultset 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

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

  • 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_64

  • al2023-ami-minimal-kernel-6.12-x86_64 per l'architettura x86_64 (AMI minima)

Per il kernel 6.18

  • 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_64

  • al2023-ami-minimal-kernel-6.18-x86_64 per l'architettura x86_64 (AMI minima)

Avvio tramite il parametro SSM e AL2023 AWS CLIPer i dettagli sulla selezione, vedere. AL2023 AMIs

Aggiornamento di un' AL2023 istanza a un kernel più recente

È 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}"
  2. Installa il pacchetto kernel di destinazione:

    $ sudo dnf install -y kernel${TARGET_VERSION}
  3. Scarica l'ultima versione del pacchetto kernel di destinazione:

    $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1)
  4. Rendi il nuovo kernel il tuo kernel predefinito:

    $ sudo grubby --set-default "/boot/vmlinuz-$version"
  5. Riavvia il sistema:

    $ sudo reboot
  6. 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}
  7. 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
  8. (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

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}"
  2. 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
  3. Installa il pacchetto kernel di destinazione:

    $ sudo dnf install -y kernel${TARGET_VERSION}
  4. Scarica l'ultima versione del pacchetto kernel di destinazione:

    $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1)
  5. Rendi il kernel di destinazione il tuo kernel predefinito:

    $ sudo grubby --set-default "/boot/vmlinuz-$version"
  6. Riavvia il sistema:

    $ sudo reboot
  7. 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

1. Devo riavviare il sistema dopo un aggiornamento del kernel?

Ogni modifica al kernel in esecuzione richiede un riavvio.

2. Come faccio a mantenere i kernel up-to-date su più istanze?

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.

3. Come posso verificare quale versione del kernel sto utilizzando in questo momento?

Esegui questo comando sulla tua AL2023 istanza:

$ uname -r

4. Quale kernel mi AL2023 consiglia di usare?

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?

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?

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?

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.