Como reverter o kernel no Linux

fatmawati achmad zaenuri / Shutterstock.com

Se o seu PC Linux de repente apresentar problemas após uma atualização do sistema, é possível que a  atualização do kernel do Linux esteja com defeito. Felizmente, reverter ou mudar para outro kernel é relativamente fácil de fazer em sistemas Debian, Arch e Fedora. Veja como.

Por que as atualizações do kernel causam problemas

O kernel é parte integrante de um sistema Linux, portanto, dependendo do seu dispositivo e configuração, uma atualização do kernel pode causar problemas para você ou para os aplicativos instalados. Os problemas podem variar de comportamento gráfico peculiar a um sistema totalmente inutilizável. Se sua situação for a última, você está em apuros.

Para remediar este problema, muitas distros modernas mantêm um kernel antigo ou diferente instalado que você pode acessar na inicialização. Isso permitirá que você teste o kernel em busca de problemas ou se recupere de uma atualização de kernel que interrompa o sistema.

Como inicializar com um kernel diferente

Obviamente, atualizações para pacotes de sistema diferentes do kernel do Linux podem ser a verdadeira raiz do seu problema. Uma maneira rápida de descartar o kernel como culpado é tentar inicializar com um kernel diferente.

Primeiro, você precisará acessar o menu GRUB  reiniciando o PC. Você pode ver o GRUB aparecer por alguns segundos na inicialização, exibindo algumas opções como “Opções avançadas”, embora algumas distros o mantenham oculto, a menos que você o acesse. Se não aparecer na inicialização, pressione e segure a tecla Shift no momento em que seu PC começar a inicializar, até que você veja uma tela semelhante à imagem abaixo.

Recomendado:  Os melhores Chromebooks de 2021 para alunos e todos os demais

Opções de menu GRUB para Debian 11 Bullseye

Use as setas do teclado para navegar até “Opções avançadas para [sua distribuição]” e pressione Enter.

Você obterá uma lista de opções de inicialização disponíveis. Você deve ver pelo menos dois, como “[Your Distro], with Linux 5.10.0.7-amd64” seguido por uma versão em “modo de recuperação” da mesma opção. As diferentes versões que você vê listadas são os diferentes kernels instalados.

Dois kernels com opções de modo de recuperação listadas como opções de inicialização no GRUB no Debian 11

Se você tem apenas uma opção padrão e uma opção de modo de recuperação, isso, infelizmente, significa que você tem apenas um kernel instalado. Nesse caso, e se você não puder usar o kernel, você pode usar o modo de recuperação para tentar algumas opções de reparo .

Se você tem mais de um número de versão, você tem um kernel alternativo com o qual pode inicializar. A primeira opção será a mais recente e aquela com a qual seu PC inicializa automaticamente. Tente outra opção de modo de não recuperação navegando até ela com as teclas de seta e pressionando Enter.

Como remover ou fazer downgrade de um kernel

Se inicializar em outro kernel parece ter resolvido seu problema, então você provavelmente deseja continuar usando aquele kernel. Seu PC, entretanto, pode, por padrão, tentar usar o kernel problemático toda vez que você inicializar. Você pode escolher manualmente o kernel mais antigo a cada inicialização ou excluir o kernel problemático enquanto espera por outra atualização.

Aviso: as atualizações do kernel podem envolver correções de segurança. Por esse motivo, ignorar as atualizações do kernel traz riscos. Se você precisar continuar, certifique-se de que seu sistema seja o mais seguro possível .

Algumas distros permitem que você faça isso graficamente e podem até permitir que você simplesmente escolha um kernel diferente como padrão. Por exemplo, o Update Manager do Linux Mint (ilustrado abaixo) possui um recurso de configurações do kernel que permite definir as preferências do kernel, além de excluir kernels indesejados.

Recomendado:  Proteja seu servidor doméstico do Minecraft contra ataques DDOS com AWS

Tente pesquisar no menu do seu aplicativo a palavra “kernel” e veja se alguma ferramenta dektop aparece. Se tiver, você provavelmente será capaz de fazer isso graficamente. Caso contrário, continue lendo para excluir um kernel por meio da linha de comando.

Aviso: Continue apenas durante a inicialização no kernel que deseja usar, não naquele que planeja remover.

Remover um kernel no Debian e Ubuntu

Para remover um kernel Linux no Debian, Ubuntu ou um de seus derivados, você deve primeiro identificar os pacotes de kernel instalados. Abra um terminal e digite o seguinte comando.

dpkg --list | grep linux-image

Procure por nomes de kernel Linux usando o comando grep

Você pode ver pelos nomes dos pacotes qual versão é a mais recente. Após obter o nome do kernel que deseja remover, passe o seguinte comando, substituindo kernel-namepelo nome do pacote do kernel exatamente como apareceu no comando anterior.

sudo apt remove kernel-name

Sua senha será solicitada e, em seguida, solicitada a confirmação da remoção, digitando ye pressionando Enter.

Use a ferramenta apt para remover uma versão específica do kernel

Aguarde a conclusão da remoção e o seu PC Linux não inicializará mais nesse kernel. Fique de olho nos novos kernels ao atualizar seu sistema e teste-os à medida que chegam para ver se o problema foi corrigido.

Remover ou fazer downgrade de um kernel no Arch

Em Arch Linux, você pode facilmente obter várias alternativas de kernel com nomes como linux-hardened, linux-zen, e linux-lts. Ao escolher uma opção no GRUB, você provavelmente viu apenas uma versão de cada kernel instalado disponível. Ao contrário dos kernels no Debian, as atualizações do kernel do Arch não chegam como novos pacotes para substituir os antigos. Em vez disso, cada kernel instalado é simplesmente  atualizado (ou “sincronizado”) para a versão mais recente à medida que se torna disponível.

Por essa razão, é melhor simplesmente inicializar com um kernel alternativo em vez de fazer o downgrade de seu kernel normal. Se você inicializou em outro kernel e sabe que não deseja usar o primeiro, você pode nomear o kernel em um comando de desinstalação com Pacman.

sudo pacman -R kernel-name kernel-name-headers

Substituindo kernel-namepelo kernel de sua escolha. Sua senha será solicitada antes de continuar. Em seguida, você precisará confirmar a remoção digitando “y” e pressionando enter.

Recomendado:  Como organizar a tela inicial do seu iPhone

Use pacman para desinstalar kernels no Arch Linux

Se você deseja fazer o downgrade de um pacote do kernel, saiba que não o recomendamos. As atualizações de lançamento frequentemente dependem da atualização de outros pacotes, portanto, reverter qualquer atualização é um negócio arriscado e pode resultar em um sistema operacional corrompido.

Se tiver certeza de que deseja, no entanto, você pode sincronizar um pacote do kernel para uma versão específica com o seguinte comando.

sudo pacman -S kernel-name = xxx kernel-name-headers = xxx

Substitua kernel-namepelo kernel que deseja fazer o downgrade e x.x.xpela versão desejada. Você pode encontrar números de versão anteriores procurando o kernel em Arch Package Search  e clicando em “View Changes”.

Remover um kernel no Fedora

O Fedora Linux por padrão mantém duas versões mais antigas do kernel instaladas em seu dispositivo junto com a mais recente. Com este rpmcomando, você pode identificar os nomes dos pacotes.

rpm -qa kernel-core

Você verá uma lista de todos os kernels instalados ao lado de seus números de versão.

Procure por kernels Linux no terminal Fedora

Após inicializar com um kernel diferente, use dnf para desinstalar o kernel problemático.

sudo dnf remover kernel-core-xxx-xxx.fcxx.x86_64

Você receberá uma solicitação para confirmar a desinstalação. Digite y e pressione enter para confirmar.

Remova o kernel no terminal Fedora Linux

Depois de remover o kernel, seu sistema não será capaz de inicializar em um kernel mais novo até que você permita uma atualização do kernel. Quando um novo estiver disponível, experimente e veja se o seu problema foi corrigido.