
Recentemente executei apt-get install unzip
um servidor Ubuntu, por algum motivo ele começou a atualizar quase todos os pacotes do sistema - apache, php, git, mysql, inúmeras bibliotecas e muito mais. Eventualmente falhou ao tentar adicionar uma nova imagem do kernel:
update-initramfs: Generating /boot/initrd.img-3.5.0-54-generic
gzip: stdout: No space left on device
Existem muitos kernels instalados. uname -r
retorna atualmente, 3.5.0-36-generic
mas há cerca de 10 kernels mais novos listados que esse.
Então, minhas perguntas:
- O conselho normal para limpar
/boot
a partição é excluir os kernels mais antigos que não são mais usados - você também pode excluir os kernels mais novos? É um servidor remoto, então se o bootloader quebrar, isso é um problema real. - por que
apt-get install unzip
atualizou tantos pacotes não relacionados?
Responder1
A questão de "espaço insuficiente na inicialização" é um problema independente, que parece ser um problema constante para pessoas que possuem criptografia de disco ativada. Parece ter sido relatado como um relatório de bug há um ano, mas ainda não foi corrigido por algum motivo. Você pode consertar isso com
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
no console - procura quais pacotes de kernel você instalou e depois limpa todos eles, exceto aquele que você está executando atualmente.
Responder2
- Você pode possivelmente excluir todos os kernels, exceto aquele que você está usando (cf.,
uname -r
). Talvez você possa deixar outro para ter certeza, mas certamente não precisa de 10. - Acho que você teve alguns pacotes não configurados na última vez que executou
apt-get
/dpkg
.