A remoção de kernels mais antigos leva uma eternidade

A remoção de kernels mais antigos leva uma eternidade

Eu tenho uma instalação do Ubuntu 12.04 de 64 bits acompanhada de um Windows 7 de 64 bits na configuração de inicialização dupla. Eu estava tentando remover pacotes de kernels mais antigos para liberar espaço, mas o processo está demorando muito.

Eu digitei o seguinte comando:

cat knlist.txt | xargs sudo apt-get -y purge

O arquivo knlist.txt contém:

linux-headers-3.2.0-77
linux-headers-3.2.0-77-generic
linux-headers-3.2.0-80
linux-headers-3.2.0-80-generic
linux-headers-3.2.0-82
linux-headers-3.2.0-82-generic
linux-headers-3.2.0-83
linux-headers-3.2.0-83-generic
linux-headers-3.2.0-84
linux-headers-3.2.0-84-generic
linux-headers-3.2.0-85
linux-headers-3.2.0-85-generic
linux-headers-3.2.0-86
linux-headers-3.2.0-86-generic
linux-headers-3.2.0-87
linux-headers-3.2.0-87-generic
linux-headers-3.2.0-88
linux-headers-3.2.0-88-generic
linux-headers-3.2.0-89
linux-headers-3.2.0-89-generic
linux-image-3.2.0-77-generic
linux-image-3.2.0-80-generic
linux-image-3.2.0-82-generic
linux-image-3.2.0-83-generic
linux-image-3.2.0-84-generic
linux-image-3.2.0-85-generic
linux-image-3.2.0-87-generic
linux-image-3.2.0-88-generic
linux-image-3.2.0-89-generic
linux-tools-3.2.0-80
linux-tools-3.2.0-82
linux-tools-3.2.0-83
linux-tools-3.2.0-84
linux-tools-3.2.0-85
linux-tools-3.2.0-87
linux-tools-3.2.0-88
linux-tools-3.2.0-89

Meu kernel atual é 3.2.0-91.

Normalmente leva alguns minutos, mas agora está demorando uma eternidade! Já deixei funcionando a noite toda. Cada passo leva horas!

Tentei pausar o processo usando ctrl+z e retomar com % + return, até abortei o processo e reiniciei.

Depois de retomar há cerca de 3 horas, a tela fica assim (tenho uma instalação em português):

Removendo linux-image-3.2.0-77-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-77-generic /boot/vmlinuz-3.2.0-77-generic
update-initramfs: Deleting /boot/initrd.img-3.2.0-77-generic
run-parts: executing /etc/kernel/postrm.d/zz-extlinux 3.2.0-77-generic /boot/vmlinuz-3.2.0-77-generic
P: Checking for EXTLINUX directory... found.
P: Writing config for /boot/vmlinuz-3.2.0-91-generic...
P: Writing config for /boot/vmlinuz-3.2.0-90-generic...
P: Writing config for /boot/vmlinuz-3.2.0-89-generic...
P: Writing config for /boot/vmlinuz-3.2.0-88-generic...
P: Writing config for /boot/vmlinuz-3.2.0-87-generic...
P: Writing config for /boot/vmlinuz-3.2.0-85-generic...
P: Writing config for /boot/vmlinuz-3.2.0-84-generic...
P: Writing config for /boot/vmlinuz-3.2.0-83-generic...
P: Writing config for /boot/vmlinuz-3.2.0-82-generic...
P: Writing config for Windows 7 (loader) on /dev/sdb1...
P: Installing debian theme... done.
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-77-generic /boot/vmlinuz-3.2.0-77-generic

(A última etapa apareceu há alguns minutos)

Aqui está meu lsblk:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0  74,5G  0 disk 
├─sda1   8:1    0     5G  0 part [SWAP]
└─sda2   8:2    0  69,5G  0 part /
sdb      8:16   0 931,5G  0 disk 
├─sdb1   8:17   0   100M  0 part 
├─sdb2   8:18   0  50,1G  0 part 
└─sdb3   8:19   0 881,4G  0 part /media/Dados
sdc      8:32   0 465,8G  0 disk 
├─sdc1   8:33   0 349,3G  0 part /media/Storage
└─sdc2   8:34   0 116,5G  0 part /media/Extra
sr0     11:0    1  1024M  0 rom  

O que posso fazer para corrigir essa lentidão? É porque há muitos kernels para remover?

Eu estava pensando em deixá-lo rodando o configurador do grub, mas demorariadiase estou com muito medo de derreter meu disco devido à intensa atividade do disco rígido durante o processo.

Responder1

Na prática, se você estiver prestes a desinstalar vários kernels antigos (ou talvez esteja no meio desse processo) e quiseracelerar as coisas, você pode tentar o seguinte:

  1. Edite o arquivo /usr/sbin/update-grubcomo root e adicione a linha exit 0após a linha #!/bin/sh.

  2. Use apt-geto Software Center para remover seus kernels indesejados conforme planejado.

  3. Após,remova essa linhade /usr/sbin/update-grub.

  4. Importante! Finalmente, execute update-grubmanualmente.


Seria ótimo se no futuro dpkgfosse possível realizar esse comportamento automaticamente.

Uma exceção notável é quando você está desinstalando o kernel que atualmente é o padrão no grub. Nesse caso, pode ser preferível executar update-grubmais cedo ou mais tarde.

Responder2

Cada vez que você instala/remove um kernel, o install-hook grub configura cada kernel instalado. Isso é mais seguro e menos sujeito a erros e geralmente não é muito lento para fazer diferença.

De imediato, acho que havia algo errado com aquela unidade. Dê uma olhada nisso.

Se executar a reconfiguração do grub e outras coisas é o que está demorando o tempo todo, pode ser possível desabilitar isso e executá-lo apenas para o último pacote do kernel ou algo assim. Dê uma olhada em apt.conf(5), DPkg::opções para apt e coisas relacionadas.

Responder3

Resolvi a lentidão. Desconectei um dos discos rígidos secundários e funcionou.

Pelo que pesquisei, parece que esse tipo de problema está relacionado a alguma partição/unidade com falha.

EDITAR:

A unidade desconectada foimorrendo. Eu precisava comprar um substituto.

informação relacionada