Atualizar o kernel do Linux no AL2023
Tópicos
Versões de kernel do Linux no AL2023
O AL2023 inclui regularmente novas versões de kernel com base nas versões de suporte de longo prazo (LTS) do kernel do Linux.
O AL2023 foi lançado originalmente em março de 2023 com o kernel 6.1.
Em abril de 2025, o AL2023 adicionou suporte ao kernel do Linux 6.12. Esse kernel adicionou novos recursos, incluindo agendamento EEVDF, suporte a E/S de passagem do FUSE, uma nova API Futex e melhorias no eBPF. O kernel 6.12 também permite que um programa de espaço de usuário se proteja no runtime usando pilhas de sombras do espaço de usuário e vedação de memória.
Atualizar o AL2023 para o kernel 6.12
Você pode executar o AL2023 com o kernel 6.12 selecionando uma AMI que tenha o kernel 6.12 pré-instalado ou atualizando uma instância do EC2 existente do AL2023.
Executar uma AMI do kernel 6.12 do AL2023
Você pode optar por executar uma AMI do AL2023 com o kernel 6.12 pré-instalado por meio do Console da AWS ou consultando o SSM para obter parâmetros específicos. As chaves do SSM para consulta começam com /aws/service/ami-amazon-linux-latest/ seguido por um dos seguintes:
-
al2023-ami-kernel-6.12-arm64para a arquitetura arm64 -
al2023-ami-minimal-kernel-6.12-arm64para arquitetura arm64 (AMI mínima) -
al2023-ami-kernel-6.12-x86_64para a arquitetura x86_64 -
al2023-ami-minimal-kernel-6.12-x86_64para a arquitetura x86_64 (AMI mínima)
Consulte Iniciando o AL2023 usando o parâmetro SSM e AWS CLI para obter detalhes sobre a seleção de AMIs do AL2023.
Atualizar uma instância do AL2023 para o kernel 6.12
Você pode atualizar localmente uma instância do AL2023 em execução para o kernel 6.12 com as seguintes etapas:
Instale o pacote
kernel6.12:$sudo dnf install -y kernel6.12Obtenha a versão mais recente do pacote
kernel6.12:$version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel6.12 | sort -V | tail -1)Torne o novo
kernel6.12seu kernel padrão:$sudo grubby --set-default "/boot/vmlinuz-$version"Reinicialize o sistema:
$sudo rebootDesinstale o kernel 6.1:
$sudo dnf remove -y kernelSubstitua pacotes extras do kernel por seus equivalentes do kernel6.12:
$declare -A pkgs$pkgs=([bpftool]=bpftool6.12[kernel-debuginfo]=kernel6.12-debuginfo[kernel-debuginfo-common]=kernel6.12-debuginfo-common[kernel-headers]=kernel6.12-headers[kernel-libbpf]=kernel6.12-libbpf[kernel-libbpf-devel]=kernel6.12-libbpf-devel[kernel-libbpf-static]=kernel6.12-libbpf-static[kernel-modules-extra-common]=kernel6.12-modules-extra-common[kernel-tools]=kernel6.12-tools[kernel-tools-devel]=kernel6.12-tools-devel[perf]=perf6.12[python3-perf]=python3-perf6.12)$for pkg in "${!pkgs[@]}"; dorpm -q $pkg && sudo dnf -y swap $pkg "${pkgs["$pkg"]}" ;done(Opcional) Desinstale kernel-devel para o kernel 6.1:
$rpm -q kernel-devel && sudo dnf remove -y kernel-devel
Fazer downgrade do kernel 6.12 para o kernel 6.1
Se em algum momento você precisar fazer downgrade para o kernel 6.1, use as seguintes etapas:
Substitua pacotes extras do kernel6.12 por seus equivalentes do kernel6.1:
$declare -A pkgs$pkgs=([bpftool]=bpftool6.12[kernel-debuginfo]=kernel6.12-debuginfo[kernel-debuginfo-common]=kernel6.12-debuginfo-common[kernel-headers]=kernel6.12-headers[kernel-libbpf]=kernel6.12-libbpf[kernel-libbpf-devel]=kernel6.12-libbpf-devel[kernel-libbpf-static]=kernel6.12-libbpf-static[kernel-modules-extra-common]=kernel6.12-modules-extra-common[kernel-tools]=kernel6.12-tools[kernel-tools-devel]=kernel6.12-tools-devel[perf]=perf6.12[python3-perf]=python3-perf6.12)$for pkg in "${!pkgs[@]}"; dorpm -q "${pkgs["$pkg"]}" && sudo dnf -y swap "${pkgs["$pkg"]}" $pkg ;doneInstale o pacote
kernel:$sudo dnf install -y kernelObtenha a versão mais recente do pacote
kernel:$version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel | sort -V | tail -1)Torne o kernel 6.1 seu kernel padrão:
$sudo grubby --set-default "/boot/vmlinuz-$version"Reinicialize o sistema:
$sudo rebootDesinstale o kernel 6.12:
$sudo dnf remove -y kernel6.12
Kernels do AL2023: perguntas frequentes
1. Preciso reinicializar após uma atualização do kernel?
Toda alteração no kernel em execução requer uma reinicialização.
2. Como faço para manter os kernels atualizados em várias instâncias?
O Amazon Linux não fornece recursos para gerenciar frotas de instâncias. Recomendamos que você aplique patches em grandes frotas usando ferramentas como o AWS Systems Manager
3. Como faço para verificar qual versão do kernel está em execução no momento?
Execute este comando na sua instância do AL2023:
$uname -r
4. Como faço para instalar cabeçalhos do kernel, pacotes de desenvolvimento e módulos extras para o kernel 6.12?
Execute o seguinte:
$sudo dnf install -y kernel6.12-modules-extra-$(uname -r) kernel6.12-headers-$(uname -r) kernel6.12-devel-$(uname -r)