Linux Mint prepara sistema para remover kernels antigos automaticamente

Linux Mint está desenvolvendo uma nova ferramenta para remover kernels antigos automaticamente, oferecendo mais controle e uma abordagem diferente da adotada pelo Fedora.

2 curtidas

Eu preferia quando o Mint adotava uma abordagem mais para o kernel LTS do que agora, até o 6.18 foi pulado :frowning:.

Todas as principais distros estão fazendo isso … !
No caso do Fedora apenas deixa manter os últimos 2 ou 3 kernels antigos

O peppermint só mantém 1 kernel anterior

Nem todas…

No Fedora, o dnf já veio configurado para deixar só 3 Kernels. – Quando aparece mais um, ele deleta o mais antigo. – Existe um arquivo de configuração onde se pode alterar esse número.

No openSUSE, também nunca vi acúmulo de Kernels antigos. – Não lembro agora os detalhes.

No PCLinuxOS, acabo de verificar que o dnf não está eliminando. – Tenho exatamente 7 Kernels lá.

No Debian, MX Linux, Kubuntu, Mint, KDE Neon, eu preciso / precisava sempre remover manualmente os mais antigos, para não acumular.

No Void, há um comando “vkpurge”, que elimina os mais antigos, e mantém (acho que) 2 Kernels.

No Arch, não existe acúmulo – porque ele nunca muda o nome / número do Kernel. – Se é “linux-lts”, segue sendo “linux-lts”, e nem precisa atualizar o Grub. – Já vi o Grub do Arch ficar 2 anos sem alteração.

O Manjaro, sim, “numera” o Kernel. – Aliás, estava olhando meu histórico de capturas de tela, e percebi que o Manjaro é o maior criador de casos! – É o campeão, entre as distros que já instalei.

No Debian 13, não sei se tem essa configuração. Geralmente eu removo os antigos após a atualização. Não sei se mantê-lo lá por algum tempo o sistema apaga depois.

Eu até acho benéfico as distros deixarem apenas os 2 ou 3 kernels mais recentes !

Porque, noutros tempos quando não era assim no menu do grub no boot era uma bagunça com tantos kernels, agora ficou bem mais clean (ou limpo).

Isso depende da configuração:

Eu prefiro quando o Grub “esconde” os Kernels antigos em “Opções Avançadas”:

  • Distro 1
  • Opções Avançadas da Distro 1 (Kernels anteriores)
  • Distro 2
  • Opções Avançadas da Distro 2 (Kernels anteriores)

Não sei por que, algumas distros vêm com o Grub exibindo todos os Kernels na tela principal.

ah @frc_kde ,

Desconhecia essa configuração no Grub para os kernels antigos aparecer nas opções avançadas

Pelos vistos basta mexer na configuração do grub2

nano /etc/default/grub

e acrescentar ou alterar as seguintes linhas

GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false

Acho que a configuração de “submenus” – “opções avançadas” – é isto:

GRUB_DISABLE_SUBMENU=y

Com “y”, desabilita os submenus – e os Kernels aparecem todos na página principal, poluindo muito.

Para não desabilitar, deve-se usar a opção “n” – ou, apenas não adicionar essa linha.

Não lembro qual é o padrão de fábrica – caso não exista essa linha no arquivo – porque faz séculos que não mexo com isso.

Acho que o padrão é criar “submenus” e esconder neles os Kernels anteriores, bem como o Modo de Recuperação (Recovery Mode) – porque não vejo esta linha no meu arquivo de configuração. – Ela deve existir, só quando a distro ou o usuário prefere entulhar a página principal com mil opções misturadas.

1 curtida

Boa tarde @frc_kde ,

Desconhecia essa opção do grub !

1 curtida

No Peppermint bookworm 12 por ele mesmo sempre removia o kernel antigo a cada atualização mas no Peppermint Trixie 13 as coisas mudaram, com o backports junto ele não faz mais a atualização de forma automática.


Eu teria que instalar no terminal de forma MANUAL pra depois o “sudo xDaily” remover o antigo de forma automática.

Ele sempre deixa um como backup em caso de emergência.

1 curtida

Gerenciamento de Kernel é diferente do gerenciamento dos demais pacotes.

Em geral, “atualização” significa “substituir uma versão antiga por outra mais nova”.

No caso do Kernel, o anterior não é substituído. – Instala-se um novo, porém o anterior é mantido. – Quando existe remoção automática, é de “outro mais antigo”, e não do “anterior”.

Quem me chamou atenção para essas sutilezas foi o dnf do PCLinuxOS. – No Fedora, o dnf veio configurado para manter 3 Kernels – mas no PCLinuxOS, o dnf nunca remove nenhum Kernel. – Eu preciso removê-los manualmente.

Fui pesquisar o porquê, e encontrei essa observação de que o gerenciamento de Kernel é diferente do de outros pacotes. – Faz todo sentido.

Além disso, também existem “sub-diferenças”, digamos assim.

Uma coisa, é “atualizar” de 7.2.10 para 7.2.11 – e outra coisa, é “atualizar” de 6.8.115 para 7.2.11 (*) – o que seria, digamos, um “salto”.

(*) Estou chutando números aleatórios.

Em algumas distros, o gerenciador simplesmente não atualiza Kernel – a menos que você instale um pacote chamado “kernel-latest”. – Não é “Kernel”. É só um pacote “comum”, desses que o gerenciador de pacotes vai substituindo, a cada nova versão. A função dele é ser “dependente”. Isso força a instalação de uma nova versão do Kernel, como “dependência” do pacote “kernel-latest”, ao ser atualizado.

À medida em que o “kernel-latest” vai sendo atualizado, versões anteriores do Kernel ficam “órfãos” – e podem ser removidos por algum mecanismo.

Outra coisa, é a remoção. – No Void, o comando vkpurge remove versões antigas, deixando só a “atual” (nova) e a “anterior”. – Se eu tiver 7.2.1 e 7.2.2 e 7.2.3, o vkpurge removerá o 7.2.1 – mas não removerá um 6.8.115, caso exista.

Na verdade, a numeração no Void é diferente – mas um exemplo poderá mostrar seu conceito de “séries”:

# xbps-query --regex -Rs '^linux[0-9.]+-[0-9._]+'
[-] linux4.14-4.14.295_1 Linux kernel and modules (4.14 series)
[-] linux4.19-4.19.262_1 Linux kernel and modules (4.19 series)
[-] linux4.4-4.4.261_1   Linux kernel and modules (4.4 series)
[-] linux4.9-4.9.330_1   Linux kernel and modules (4.9 series)
[-] linux5.10-5.10.151_1 Linux kernel and modules (5.10 series)
[-] linux5.11-5.11.22_1  Linux kernel and modules (5.11 series)
[-] linux5.12-5.12.19_1  Linux kernel and modules (5.12 series)
[-] linux5.13-5.13.19_1  Linux kernel and modules (5.13 series)
[-] linux5.14-5.14.21_1  Linux kernel and modules (5.14 series)
[*] linux5.15-5.15.76_1  Linux kernel and modules (5.15 series)
[-] linux5.16-5.16.20_1  Linux kernel and modules (5.16 series)
[*] linux5.18-5.18.19_1  Linux kernel and modules (5.18 series)
[*] linux5.19-5.19.17_1  Linux kernel and modules (5.19 series)
[-] linux5.4-5.4.220_1   Linux kernel and modules (5.4 series)
[-] linux5.5-5.5.18_1    Linux kernel and modules (5.5 series)
[-] linux5.6-5.6.19_1    Linux kernel and modules (5.6 series)
[-] linux5.7-5.7.19_1    Linux kernel and modules (5.7 series)
[-] linux5.8-5.8.18_1    Linux kernel and modules (5.8 series)
[-] linux5.9-5.9.16_1    Linux kernel and modules (5.9 series)
[-] linux6.0-6.0.6_1     Linux kernel and modules (6.0 series)

# xbps-remove linux5.15

# xbps-remove linux5.18

Ou seja, eu preciso remover a “série 5.15”, e a “série 5.18” – pois o vkpurge só remove o “excesso” de cada “série” – mas não remove uma “série”, só por ter “numeração menor”.

Esse amontoado de “sutilezas” é demais, para um pobre “gerenciador de pacotes” – feito para lidar com os outros 60 mil “pacotes comuns”.

Daí, a importância do “Gerenciador de Kernels” do Linux Mint – que não existia no Kubuntu (até o ano passado, acho). – Uma enorme “mão-na-roda”, terrivelmente útil.

Quando a gente diz que o Mint é mais “amigável”, estamos falando de coisas assim:

Outras distros também têm algum “Gerenciador de Kernels” – acho que o Manjaro, e também o saudoso Sabayon (Gentoo), se não me engano, entre outras distros.

O MX Linux também tem algum recurso desse tipo – mas não lembro, pois não utilizo:

No Debian, no MX Linux, no Kubuntu, no KDE Neon, eu uso o Synaptic – e sempre que ele marca uma nova versão de Kernel para instalar, eu marco outra (mais antiga) para “remoção completa”. – Não é “automático”, mas também não dá tanto trabalho: