Atualizar o kernel do Linux pode parecer algo avançado, mas com um script simples e seguro, qualquer usuário ou estudante pode fazer isso sem dor de cabeça — e sem precisar pagar consultorias ou usar plugins pagos.
Abaixo, vamos entender cada linha do script update-kernel-select-latest.sh
, que atualiza o sistema, define o kernel mais recente como padrão, e pergunta se você quer reiniciar o sistema para aplicar a atualização.
📜 O Script Completo
cat << 'EOF' > update-kernel-select-latest.sh
#!/bin/bash
📌 Cria um novo arquivo chamado update-kernel-select-latest.sh
com o conteúdo abaixo. A linha #!/bin/bash
informa que esse script será interpretado pelo Bash, o shell padrão da maioria dos sistemas Linux.
echo "🔄 Atualizando pacotes do sistema..."
dnf update -y
📦 Atualiza todos os pacotes do sistema com o gerenciador de pacotes dnf
. A opção -y
responde “sim” automaticamente a qualquer pergunta.
echo "🔧 Verificando instalação do GRUB no modo BIOS em /dev/sda..."
grub2-install /dev/sda
🧩 Reinstala o GRUB (bootloader) no disco principal /dev/sda
, assumindo que o sistema usa BIOS (não UEFI). Essa etapa é importante para garantir que o sistema reconheça os kernels instalados corretamente.
echo "🔄 Regenerando grub.cfg..."
grub2-mkconfig -o /boot/grub2/grub.cfg
🔧 Gera novamente o arquivo de configuração do GRUB, que carrega as entradas de boot (incluindo os kernels disponíveis). Ele é gravado no caminho /boot/grub2/grub.cfg.
echo "🔍 Buscando entradas BLS de kernels em /boot/loader/entries/..."
latest=$(basename -s .conf /boot/loader/entries/*.conf | sort -V | tail -n1)
🔎 Procura a lista de kernels disponíveis no diretório /boot/loader/entries/
.
O script faz o seguinte:
- Pega os nomes dos arquivos
.conf
(que representam kernels). - Remove a extensão
.conf
combasename -s .conf
. - Usa
sort -V
para ordenar por versão. - Pega o último da lista, que será o kernel mais recente.
if [[ -n "$latest" ]]; then
🧪 Verifica se foi encontrado algum kernel. Se a variável $latest
não estiver vazia, ele continua.
echo "✅ Kernel mais recente encontrado: $latest"
echo "📌 Definindo como padrão no GRUB..."
grub2-set-default "$latest"
📌 Mostra o kernel encontrado e o define como o padrão de boot com o comando grub2-set-default
. Isso faz com que ele seja usado automaticamente no próximo boot.
echo
grub2-editenv list
📝 Mostra as variáveis de ambiente do GRUB, incluindo qual kernel está definido como padrão.
echo
read -p "🔁 Deseja reiniciar agora para aplicar o novo kernel? (s/N): " resp
🔄 Pergunta ao usuário se ele quer reiniciar o sistema agora para aplicar a mudança. Aceita “s” ou “S” como resposta afirmativa.
if [[ “$resp” =~ ^[Ss]$ ]]; then
echo “♻️ Reiniciando o sistema…”
reboot
🔁 Se o usuário responder com “s” ou “S”, o script reinicia o sistema imediatamente com reboot
.
else
echo "✅ Kernel padrão atualizado. Você pode reiniciar quando quiser com: sudo reboot"
fi
⌛ Se o usuário não quiser reiniciar agora, apenas avisa que o novo kernel já está configurado como padrão e que ele pode reiniciar mais tarde manualmente.
else
echo "❌ Nenhum kernel encontrado em /boot/loader/entries/. Verifique se os pacotes de kernel estão instalados."
exit 1
fi
EOF
🚫 Se nenhum kernel for encontrado na pasta /boot/loader/entries/
, o script mostra uma mensagem de erro e finaliza com exit 1
.
✅ Tornando o Script Executável e Rodando
chmod +x update-kernel-select-latest.sh
🔐 Dá permissão de execução ao script, tornando-o pronto para ser executado.
sudo ./update-kernel-select-latest.sh
🚀 Executa o script com permissões de superusuário, necessárias para atualizar pacotes, modificar o GRUB e reiniciar o sistema.
🧩 Conclusão
Este script é uma ferramenta poderosa e segura para atualizar o kernel do Linux e deixar o sistema pronto para usar a versão mais recente no próximo boot.
Você não precisa pagar ninguém para isso, nem usar softwares comerciais — só entender o que está fazendo.
Ideal para quem está aprendendo Linux, trabalha com servidores, ou quer manter seu sistema estável e atualizado!
Script Completo >>
cat << 'EOF' > update-kernel-select-latest.sh
#!/bin/bash
echo "🔄 Atualizando pacotes do sistema..."
dnf update -y
echo "🔧 Verificando instalação do GRUB no modo BIOS em /dev/sda..."
grub2-install /dev/sda
echo "🔄 Regenerando grub.cfg..."
grub2-mkconfig -o /boot/grub2/grub.cfg
echo "🔍 Buscando entradas BLS de kernels em /boot/loader/entries/..."
latest=$(basename -s .conf /boot/loader/entries/*.conf | sort -V | tail -n1)
if [[ -n "$latest" ]]; then
echo "✅ Kernel mais recente encontrado: $latest"
echo "📌 Definindo como padrão no GRUB..."
grub2-set-default "$latest"
echo
grub2-editenv list
echo
read -p "🔁 Deseja reiniciar agora para aplicar o novo kernel? (s/N): " resp
if [[ "$resp" =~ ^[Ss]$ ]]; then
echo "♻️ Reiniciando o sistema..."
reboot
else
echo "✅ Kernel padrão atualizado. Você pode reiniciar quando quiser com: sudo reboot"
fi
else
echo "❌ Nenhum kernel encontrado em /boot/loader/entries/. Verifique se os pacotes de kernel estão instalados."
exit 1
fi
EOF
chmod +x update-kernel-select-latest.sh
sudo ./update-kernel-select-latest.sh
Esse Script e indicado para as verões mais recentes do sistema baseado em Linux, exemplo AlmaLinux 9. E só copia e colar o script na sua tela ssh e executar.