Atualizar o kernel do Linux no AL2023 - Amazon Linux 2023

Atualizar o kernel do Linux no AL2023

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-arm64 para a arquitetura arm64

  • al2023-ami-minimal-kernel-6.12-arm64 para arquitetura arm64 (AMI mínima)

  • al2023-ami-kernel-6.12-x86_64 para a arquitetura x86_64

  • al2023-ami-minimal-kernel-6.12-x86_64 para 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:

  1. Instale o pacote kernel6.12:

    $ sudo dnf install -y kernel6.12
  2. Obtenha a versão mais recente do pacote kernel6.12:

    $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel6.12 | sort -V | tail -1)
  3. Torne o novo kernel6.12 seu kernel padrão:

    $ sudo grubby --set-default "/boot/vmlinuz-$version"
  4. Reinicialize o sistema:

    $ sudo reboot
  5. Desinstale o kernel 6.1:

    $ sudo dnf remove -y kernel
  6. Substitua 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[@]}"; do rpm -q $pkg && sudo dnf -y swap $pkg "${pkgs["$pkg"]}" ; done
  7. (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:

  1. 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[@]}"; do rpm -q "${pkgs["$pkg"]}" && sudo dnf -y swap "${pkgs["$pkg"]}" $pkg ; done
  2. Instale o pacote kernel:

    $ sudo dnf install -y kernel
  3. Obtenha a versão mais recente do pacote kernel:

    $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel | sort -V | tail -1)
  4. Torne o kernel 6.1 seu kernel padrão:

    $ sudo grubby --set-default "/boot/vmlinuz-$version"
  5. Reinicialize o sistema:

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