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
Argomenti
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 a marzo 2023 con kernel 6.1.
Nell'aprile 2025, AL2023 ha 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, AL2023 ha aggiunto il supporto per il kernel Linux 6.18. 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.
Aggiornamento di AL2023 a una versione del kernel più recente
A partire da giugno 2026, AL2023 aggiornerà il kernel predefinito ogni anno. Il al2023-ami-kernel-defaultset di AMI verrà aggiornato all'ultimo kernel LTS, in modo che le istanze appena lanciate forniscano 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'AMI AL2023 con una versione del kernel specifica
Puoi scegliere di eseguire un'AMI AL2023 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 seguenti /aws/service/ami-amazon-linux-latest/
Per il kernel 6.12
-
al2023-ami-kernel-6.12-arm64per l'architettura arm64 -
al2023-ami-minimal-kernel-6.12-arm64per l'architettura arm64 (AMI minima) -
al2023-ami-kernel-6.12-x86_64per l'architettura x86_64 -
al2023-ami-minimal-kernel-6.12-x86_64per l'architettura x86_64 (AMI minima)
Per il kernel 6.18
-
al2023-ami-kernel-6.18-arm64per l'architettura arm64 -
al2023-ami-minimal-kernel-6.18-arm64per l'architettura arm64 (AMI minima) -
al2023-ami-kernel-6.18-x86_64per l'architettura x86_64 -
al2023-ami-minimal-kernel-6.18-x86_64per l'architettura x86_64 (AMI minima)
Avvio di AL2023 utilizzando il parametro SSM e AWS CLIPer ulteriori informazioni sulla selezione delle AMI AL2023, consulta la sezione.
Aggiornamento di un'istanza AL2023 a un kernel più recente
È possibile aggiornare sul posto un'istanza AL2023 in esecuzione al kernel 6.12 o 6.18 con i seguenti passaggi:
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"* ]]; thenSOURCE_VERSION="6.12"elseSOURCE_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}"Installa il pacchetto kernel di destinazione:
$sudo dnf install -y kernel${TARGET_VERSION}Scarica l'ultima versione del pacchetto kernel di destinazione:
$version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1)Rendi il nuovo kernel il tuo kernel predefinito:
$sudo grubby --set-default "/boot/vmlinuz-$version"Riavvia il sistema:
$sudo rebootDisinstalla 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}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"$for pkg in bpftool kernel-debuginfo kernel-debuginfo-common kernel-headers \kernel-modules-extra-common perf python3-perf; docase "$pkg" inkernel-*)src="kernel${SOURCE_VERSION}${pkg#kernel}"tgt="kernel${TARGET_VERSION}${pkg#kernel}" ;;*)src="${pkg}${SOURCE_VERSION}"tgt="${pkg}${TARGET_VERSION}" ;;esacrpm -q "$src" && sudo dnf -y swap "$src" "$tgt"done# kernel-tools and kernel-tools-devel must be removed and reinstalled# together due to version dependency requirements$if rpm -q "kernel${SOURCE_VERSION}-tools"; thensudo dnf -y remove kernel${SOURCE_VERSION}-tools kernel${SOURCE_VERSION}-tools-develsudo dnf -y install kernel${TARGET_VERSION}-tools kernel${TARGET_VERSION}-tools-develfi(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:
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"* ]]; thenSOURCE_VERSION="6.12"elif [[ $CURRENT_KERNEL == *"6.18"* ]]; thenSOURCE_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}"Sostituisci i pacchetti kernel aggiuntivi con i loro equivalenti del kernel di destinazione:
$for pkg in bpftool kernel-debuginfo kernel-debuginfo-common kernel-headers \kernel-modules-extra-common python3-perf; docase "$pkg" inkernel-*)src="kernel${SOURCE_VERSION}${pkg#kernel}"tgt="kernel${TARGET_VERSION}${pkg#kernel}" ;;*)src="${pkg}${SOURCE_VERSION}"tgt="${pkg}${TARGET_VERSION}" ;;esacrpm -q "$src" && sudo dnf -y swap "$src" "$tgt"done# perf requires --allowerasing due to libtraceevent conflicts$rpm -q "perf${SOURCE_VERSION}" && sudo dnf -y swap "perf${SOURCE_VERSION}" "perf${TARGET_VERSION}" --allowerasing# kernel-tools and kernel-tools-devel must be removed and reinstalled# together due to version dependency requirements$if rpm -q "kernel${SOURCE_VERSION}-tools"; thensudo dnf -y remove kernel${SOURCE_VERSION}-tools kernel${SOURCE_VERSION}-tools-develsudo dnf -y install kernel${TARGET_VERSION}-tools kernel${TARGET_VERSION}-tools-develfiInstalla il pacchetto kernel di destinazione:
$sudo dnf install -y kernel${TARGET_VERSION}Scarica l'ultima versione del pacchetto kernel di destinazione:
$version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1)Rendi il kernel di destinazione il tuo kernel predefinito:
$sudo grubby --set-default "/boot/vmlinuz-$version"Riavvia il sistema:
$sudo rebootDisinstalla 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}
Kernel AL2023 - 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 aggiornati i kernel 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?
Eseguite questo comando sulla vostra istanza AL2023:
$uname -r
4. Quale kernel AL2023 mi consiglia di usare?
Si consiglia di eseguire l'aggiornamento all'ultimo kernel AL2023 6.18 mentre tutti gli altri kernel AL2023 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 kernel AL2023?
AL2023 supporta un kernel più recente (6.12 o 6.18) allo stesso modo del kernel 6.1. Le applicazioni funzioneranno e i miglioramenti stanno avvenendo 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.