Este comando foi postado em vários locais:
apt-get purge $(dpkg --list |egrep 'linux-image-[0-9]' |awk '{print $3,$2}' |sort -nr |tail -n +2 |grep -v $(uname -r) |awk '{ print $2}')
Veja link
Existe uma maneira de configurar o ubuntu para que, quando uma nova atualização do kernel for instalada, ele remova o kernel +2 mais recente? Esse não é o meu kernel atual, não o novo kernel, mas o agora mais antigo kernel. Então eu só tenho 2 kernels novos e estáveis.
Isso pode ser definido como padrão no apt?
Não é possível definir o APT para fazer isso.
Esta é a escolha do design da peça, parte limitação.
O Ubuntu designa cada novo kernel como um nome de pacote diferente (o nome do pacote contém a versão do kernel) para que o APT os trate como pacotes separados. Quando eles querem que você baixe e instale um novo pacote, eles criam o novo pacote do kernel, e então apontam o pacote genérico do kernel (por exemplo, linux-kernel-generic
) para depender daquele novo pacote. Isto é o que faz com que o novo pacote do kernel seja instalado.
Agora, é (ou pelo menos, a sabedoria tradicional diz que é) geralmente uma boa idéia manter seu kernel anterior instalado ao instalar um novo, no caso de haver alguma incompatibilidade ou bug no novo. Isso permite que você alterne os kernels do gerenciador de inicialização. Portanto, o Ubuntu não marca os novos pacotes do kernel como "substitutos" dos antigos, o que significa que o APT simplesmente deixará os antigos instalados.
Não existe nenhum mecanismo no APT ou nos repositórios do Ubuntu para especificar "manter os últimos dois pacotes do kernel". Poderia haver algo como isso invadido, mas pode não funcionar muito bem com todas as situações, como quando as pessoas pulam uma versão do kernel.
Agora, embora eu tenha dito que isso não é possível no APT, pode haver ferramentas de software de terceiros que possam ajudá-lo com isso, se não de forma automática.
Existe uma ferramenta chamada Ubuntu-tweak que não está disponível no Ubuntu, mas pode ser instalada a partir de um PPA. Essa ferramenta tem um recurso "zelador de computador" que, entre outras coisas, ajuda a desinstalar os kernels antigos.
Ou você pode simplesmente usar o Synaptic. O Synaptic facilita bastante a listagem de kernels instalados (procure por pacotes contendo linux-image
) e a partir daí você pode desinstalá-los facilmente.