Como manter todos os pacotes do kernel Linux no Kubuntu 14.04?

0

Estou executando o Kubuntu 14.04 no meu laptop particular. Quando o sistema de pacotes atualiza meu kernel Linux, ele remove os pacotes antigos, mantendo apenas as duas versões mais recentes das imagens do kernel (e dos pacotes associados). No momento em que seria (AFAIR) 3.13.0-32 e 3.13.0-48. Como faço para que o sistema de pacotes pare de remover as imagens antigas do kernel?

Sei que isso me deixará com uma longa lista de imagens de kernel não usadas, mas eu prefiro ter que fazer a limpeza sozinho, do que correr o risco de acabar em uma situação em que não consigo inicializar meu laptop.

EDIT: Com base na resposta de Aaron Digulla, criei um arquivo, /etc/apt/apt.conf.d/99keep-kernels , com este conteúdo:

APT::NeverAutoRemove
{
   "^linux-image-*-generic$";
   "^linux-image-*-generic$";
   "^linux-headers-*-generic$";
   "^linux-headers-*-generic$";
   "^linux-image-extra-*-generic$";
   "^linux-image-extra-*-generic$";
   "^linux-signed-image-*-generic$";
   "^linux-signed-image-*-generic$";
   "^kfreebsd-image-*-generic$";
   "^kfreebsd-image-*-generic$";
   "^kfreebsd-headers-*-generic$";
   "^kfreebsd-headers-*-generic$";
   "^gnumach-image-*-generic$";
   "^gnumach-image-*-generic$";
   "^.*-modules-*-generic$";
   "^.*-modules-*-generic$";
   "^.*-kernel-*-generic$";
   "^.*-kernel-*-generic$";
   "^linux-backports-modules-.*-generic$";
   "^linux-backports-modules-.*-generic$";
   "^linux-tools-*-generic$";
   "^linux-tools-*-generic$";
};

Mas isso não funcionou. O Ubuntu ainda mantém apenas os 2 últimos kernels.

    
por jbang 26.03.2015 / 10:50

1 resposta

0

Fixar não funcionará para você já que impedirá de atualizar completamente os kernels.

Procure em /etc/apt/apt.conf.d/01autoremove e /etc/apt/apt.conf.d/01autoremove-kernels . Esses arquivos contêm listas de pacotes que devem ser removidos automaticamente. O segundo arquivo é mantido pelo script /etc/kernel/postinst.d/apt-auto-removal

Para resolver seu problema, copie o arquivo /etc/apt/apt.conf.d/01autoremove-kernels para /etc/apt/apt.conf.d/99keep-kernels e edite os padrões para corresponder a qualquer versão dos 11 pacotes existentes.

Então

"^linux-image-3\.13\.0-45-generic$";

se tornaria

"^linux-image-";

Esse padrão agora corresponde a qualquer versão do pacote e impede que apt os exclua. O script de pós-instalação faz a mesma coisa que não cria um conflito - sua versão do arquivo simplesmente combina com mais pacotes e impede que qualquer versão seja excluída automaticamente.

    
por Aaron Digulla 26.03.2015 / 11:14