Como remover com segurança os cabeçalhos e bibliotecas dos kernels antigos

0

Ontem à noite nosso sistema ficou sem inodes. Felizmente eu consegui deletar alguns kernels antigos usando os seguintes passos

  1. sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v \ uname -r | xargs sudo apt-get purge $1

  2. sudo apt-get autoremove

  3. sudo update-grub

Consigo recuperar alguns inodes, mas ainda há mais de 85 inodes ocupados.

Usando ncdu , descobri que os diretórios /usr/src/linux-headers-3.16.0.[69|71|73|..] ainda contêm alguns cabeçalhos antigos do kernel.

Não tenho certeza se eles são necessários ou não, pois minha versão atual do Linux é 3.19.0-80-generic .

Então eu tenho duas perguntas aqui:

  1. É seguro excluí-los?

  2. Se sim, como excluí-los?

por Ratatouille 24.05.2018 / 06:31

1 resposta

2

Isso é abordado em detalhes em o wiki do Ubuntu ; Resumirei aqui.

Com relação à primeira parte da sua pergunta, os kernels do Ubuntu configuram a configuração apropriada para garantir que apt autoremove não removerá o kernel em execução (e o mais recente, e um kernel de backup); para que você possa remover todos os kernels obsoletos marcando-os como instalados automaticamente (caso eles tenham perdido o marcador):

sudo apt-mark auto '^linux-image-[34].*'

(isso produzirá avisos para todos os pacotes do kernel que não estão instalados, mas eles poderão ser ignorados) e, em seguida, removerá os pacotes obsoletos:

sudo apt autoremove

Os cabeçalhos do kernel também são seguros para apagar, e são protegidos pela mesma configuração das imagens do kernel, então a mesma receita se aplica:

sudo apt-mark auto '^linux-headers-[34].*'
sudo apt autoremove
    
por 24.05.2018 / 09:39

Tags