Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Mettre à jour le noyau Linux sur AL2023
Rubriques
Versions du noyau Linux sur AL2023
AL2023 inclut régulièrement de nouvelles versions du noyau basées sur les versions LTS (Long-Term Support) du noyau Linux.
AL2023 a été initialement publié en mars 2023 avec le noyau 6.1.
En avril 2025, AL2023 ajout du support pour le noyau Linux 6.12. Ce noyau a ajouté de nouvelles fonctionnalités, notamment la planification EEVDF, le I/O support du relais FUSE, une nouvelle API Futex et des améliorations de l'eBPF. Le noyau 6.12 permet également à un programme en espace utilisateur de se sécuriser lors de l'exécution en utilisant des piles d'ombres dans l'espace utilisateur et le scellage de la mémoire.
En mars 2026, AL2023 ajout du support pour le noyau Linux 6.18. Le noyau 6.18 mis à jour apporte des améliorations supplémentaires en termes de prise en charge des processeurs, de virtualisation, de sécurité et de performances. Les fonctionnalités notables incluent des fonctionnalités IOMMU améliorées dans toutes les architectures et des contrôles vectoriels d'attaque pour gérer les mesures d'atténuation des vulnérabilités du processeur. L'amélioration des performances est due à des optimisations de cryptographie associées à des opérations FSCRYPT plus rapides, à des améliorations de la gestion de la mémoire et à l'introduction de Sheaves en tant que nouvelle couche de mise en cache optionnelle basée sur une baie par processeur.
Mise à jour AL2023 vers une version plus récente du noyau
À partir de juin 2026, le noyau par défaut AL2023 sera mis à jour chaque année. L'al2023-ami-kernel-defaultensemble AMIs sera mis à jour avec le dernier noyau LTS, de sorte que les instances nouvellement lancées seront automatiquement associées à la nouvelle version du noyau. C'est le moyen le plus simple de rester au courant des derniers correctifs de sécurité et des améliorations de performances.
Si vous préférez choisir une version de noyau spécifique, vous pouvez exécuter AL2023 avec le noyau 6.12 ou 6.18 soit en sélectionnant une AMI avec le noyau souhaité préinstallé, soit en mettant à niveau une instance AL2023 EC2 existante.
Exécution d'une AL2023 AMI avec une version de noyau spécifique
Vous pouvez choisir d'exécuter une AL2023 AMI avec un noyau spécifique préinstallé via la console AWS ou en interrogeant SSM pour obtenir des paramètres spécifiques. Les clés SSM à interroger commencent par, /aws/service/ami-amazon-linux-latest/ suivies de l'une des
Pour le noyau 6.12
-
al2023-ami-kernel-6.12-arm64pour l'architecture arm64 -
al2023-ami-minimal-kernel-6.12-arm64pour l'architecture arm64 (AMI minimale) -
al2023-ami-kernel-6.12-x86_64pour l'architecture x86_64 -
al2023-ami-minimal-kernel-6.12-x86_64pour l'architecture x86_64 (AMI minimale)
Pour le noyau 6.18
-
al2023-ami-kernel-6.18-arm64pour l'architecture arm64 -
al2023-ami-minimal-kernel-6.18-arm64pour l'architecture arm64 (AMI minimale) -
al2023-ami-kernel-6.18-x86_64pour l'architecture x86_64 -
al2023-ami-minimal-kernel-6.18-x86_64pour l'architecture x86_64 (AMI minimale)
Veuillez consulter Lancement AL2023 à l'aide du paramètre SSM et AWS CLI pour plus de détails sur la sélection AL2023 AMIs.
Mise à jour d'une AL2023 instance vers un noyau plus récent
Vous pouvez mettre à niveau sur place une AL2023 instance en cours d'exécution vers le noyau 6.12 ou 6.18 en procédant comme suit :
Détectez le noyau actuel et définissez la version cible :
# 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}"Installez le package du noyau cible :
$sudo dnf install -y kernel${TARGET_VERSION}Obtenez la dernière version du package du noyau cible :
$version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1)Faites du nouveau noyau votre noyau par défaut :
$sudo grubby --set-default "/boot/vmlinuz-$version"Redémarrez votre système :
$sudo rebootDésinstallez le noyau précédent :
# 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}Remplacez les packages de noyau supplémentaires par leurs équivalents du noyau cible :
# 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[@]}"; dorpm -q $pkg && sudo dnf -y swap $pkg "${pkgs["$pkg"]}" ;done(Facultatif) Désinstallez kernel-devel pour la version précédente du noyau :
$rpm -q kernel${SOURCE_VERSION}-devel && sudo dnf remove -y kernel${SOURCE_VERSION}-devel
Rétrogradation vers une version antérieure du noyau
Si, à tout moment, vous devez revenir à une version antérieure du noyau, procédez comme suit :
Détectez le noyau actuel et définissez la version cible :
# 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}"Remplacez les packages de noyau supplémentaires par leurs équivalents du noyau cible :
$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[@]}"; dorpm -q "${pkgs["$pkg"]}" && sudo dnf -y swap "${pkgs["$pkg"]}" $pkg ;doneInstallez le package du noyau cible :
$sudo dnf install -y kernel${TARGET_VERSION}Obtenez la dernière version du package du noyau cible :
$version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1)Faites du noyau cible votre noyau par défaut :
$sudo grubby --set-default "/boot/vmlinuz-$version"Redémarrez votre système :
$sudo rebootDésinstallez le noyau source :
# 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 - Questions fréquemment posées
1. Dois-je redémarrer après une mise à jour du noyau ?
Chaque modification apportée au noyau en cours d'exécution nécessite un redémarrage.
2. Comment conserver les noyaux up-to-date sur plusieurs instances ?
Amazon Linux ne fournit pas de fonctionnalités permettant de gérer des flottes d'instances. Nous vous recommandons de patcher les grandes flottes à l'aide d'outils tels que AWS Systems Manager
3. Comment puis-je vérifier la version du noyau que j'utilise actuellement ?
Exécutez cette commande sur votre AL2023 instance :
$uname -r
4. Quel est le noyau que je AL2023 recommande d'utiliser ?
Il est recommandé de passer à la dernière version AL2023 du noyau 6.18 tant que tous les autres AL2023 noyaux sont toujours pris en charge. Il est recommandé aux clients de tester leurs charges de travail avant de procéder à la mise à niveau.
5. Mes applications existantes fonctionneront-elles avec n'importe quel AL2023 noyau ?
AL2023 supporte un noyau plus récent (6.12 ou 6.18) de la même manière que le noyau 6.1. Les applications fonctionneront et des améliorations se produisent sous le capot. Les clients doivent dans tous les cas tester leurs charges de travail spécifiques avant de passer à un nouveau noyau.
6. Comment installer les en-têtes du noyau, les packages de développement et les modules supplémentaires pour le noyau 6.12 ou 6.18 ?
Veuillez exécuter :
$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. Pendant combien de temps les noyaux 6.12 et 6.18 seront-ils supportés ?
Les noyaux 6.12 et 6.18 seront pris en charge jusqu'à la fin de vie prévue d'Amazon Linux 2023, soit le 30 juin 2029.