É seguro excluir os kernels antigos do menu.lst? [duplicado]

17

Quando o computador é iniciado, o GRUB mostra uma longa lista de kernels anteriores, além do material usual, por exemplo

Ubuntu 10.10, kernel 2.6.35-23-generic
Ubuntu 10.10, kernel 2.6.35-23-generic (recovery mode)
Ubuntu 10.10, kernel 2.6.35-22-generic
Ubuntu 10.10, kernel 2.6.35-22-generic (recovery mode)
[6 more similar]
Ubuntu 10.10, memtest86+
Other operating systems:
Dell Utility Partition
Windows Vista (loader)

É seguro excluir as linhas extras "Ubuntu 10.10, kernel" de /etc/grub/menu.lst ? Atualmente tenho comentado a partir do terceiro até (não incluindo) memtest86. Mas eu me pergunto se eles são sempre necessários por uma razão particular?

    
por DisgruntledGoat 14.12.2010 / 22:51

5 respostas

19

Seguro, mas sem sentido. Na próxima vez que update-grub for executado, eles provavelmente aparecerão novamente.

Os kernels são instalados como pacotes e, portanto, podem ser removidos como outros pacotes. O grande benefício de apenas acertar no grub é liberar centenas de megabytes de espaço em disco.

Eles costumavam ser instalados como não automáticos, mas agora podem ser removidos com segurança com:

sudo apt-get autoremove

Se você instalou manualmente os kernels e vários pacotes auxiliares, você pode ver as versões do kernel instaladas com este comando:

dpkg -l | awk '~/linux-(im|he|to).+[0-9]/ {print }'

E isso mostrará algo assim:

linux-headers-3.13.0-24
linux-headers-3.13.0-24-generic
linux-image-3.13.0-24-generic
linux-image-extra-3.13.0-24-generic

De lá, você pode remover coisas usando sudo apt-get purge <package-name> . Apenas certifique-se de não remover o seu kernel atual ou mais recente ( uname -a para ver em qual versão você está) e concordo com o que outros disseram, mantenha o próximo mais novo caso as coisas explodir.

Aqui está o meu melhor esforço para detectar e executar isso com segurança :

current=$(uname -r)
kernels=( /lib/firmware/[0-9].* )

dpkg -l | awk '~/linux-(im|he|to).+[0-9]/ {print }' \
| grep -Ev "$current|${kernels[-1]##*/}" \
| xargs sudo apt-get purge

Notas : isso ainda atropelará situações complicadas. Isso removerá coisas como linux-image-generic se você tiver uma pilha HWE instalada. Isso pode ou não ser um grande problema para você. Esses pacotes (embora pareçam importantes) não excluirão em cascata sua área de trabalho inteira. Você vai ficar com o atual (porque funciona) e os kernels de versão mais alta. Isso pode ser o mesmo se você tiver reiniciado recentemente.

    
por Oli 15.12.2010 / 01:16
9

Sim. Mas eu recomendo deixar o anterior lá, apenas no caso do padrão que você tem dá algum tipo de problema estranho. Se você tiver pelo menos uma semana inteira de testes sem problemas, você pode deletar os antigos e atualizar a configuração do grub. Ou se você simplesmente NÃO quiser ver a outra versão, simplesmente edite o arquivo grub.cfg e remova as opções do menu sem remover o kernel antigo. Dessa forma você tem-los apenas no caso. Além do kernel não é tão grande para se preocupar com hehe.

    
por Luis Alvarado 14.12.2010 / 22:57
1

Sim, é seguro. Mas faça isso apenas se tiver certeza de que o kernel mais recente funciona bem. Também mantenha o kernel antigo para que você possa inicializá-los manualmente se algo der errado.

    
por danizmax 14.12.2010 / 22:57
0

Bem, o memtest e o kernel atual e o modo atual de recuperação do kernel devem ser deixados lá, mas enquanto o novo kernel estiver funcionando corretamente, não há problema em remover os kernels antigos.

    
por Adam Thompson 14.12.2010 / 22:57
0

exclua-os do gerenciador de pacotes e eles desaparecerão automaticamente

por exemplo:

apt-get remove linux-image-2.6.35-22-generic
    
por jet 15.12.2010 / 19:53

Tags