Falha no meio de uma atualização da Debian

1

Estou enfrentando um problema muito sério. Eu estou atualizando meu laptop do Debian 7.0 para a atual distro de teste. Uma dependência de pacote ( veusz.helper ) foi perdida e o processo de atualização não pode avançar. Mas quase 1000 pacotes já foram desinstalados. E o sistema está preso.

Então eu tenho que reiniciar, mas o problema é que o sistema também desinstalou o vmlinuz e initrd.gz , então o grub não pode reconhecer o volume do Linux. E os pacotes recém-baixados ainda estão em /var/apt/cache/archives .

Existe alguma maneira de prosseguir com o processo de atualização e descobrir o problema de dependência?

    
por lovelyzlf 10.09.2013 / 05:49

1 resposta

1

se o seu menu grub tiver outros kernels disponíveis, tente inicializar um deles. você deve conseguir reparar seu sistema executando repetidamente dpkg --configure --pending , apt-get -f install e apt-get dist-upgrade até que não haja erros.

Se não, você terá que inicializar um CD de resgate ou pen drive. o meu favorito é o Clonezilla, porque tem versões de 64 e 32 bits - a maioria é de 32 bits, o que impossibilita fazer o chroot a um sistema de 64 bits.

se você inicializar um CD de recuperação, você precisará montar o sistema de arquivos raiz do seu laptop (por exemplo, como / mnt) e bind-mount / proc, / sys e / dev sob / mnt também. se você tiver uma partição / boot separada, você também precisará montar / boot como / mnt / boot. então você pode chroot para / mnt

por exemplo. Se o seu rootfs for / dev / sda1 e seu / boot for / dev / sda2, você irá inicializar um CD de recuperação, obter um shell de root e fazer algo muito parecido com isto:

mount /dev/sda1 /mnt
mount /dev/sda2 /mnt/boot
for i in proc dev sys dev/pts ; do mount -o bind /$i /mnt/$i ; done
chroot /mnt

agora você deve conseguir reparar o sistema como mencionado acima (executando repetidamente dpkg --configure --pending , etc, até que não haja erros).

quando terminar, verifique se o kernel está instalado e o initramfs existe, desmonte os sistemas de arquivos (na ordem inversa em que você montou) e reinicie.

por exemplo,

exit   # exit from the chroot.
for i in dev/pts sys dev proc /boot / ; do umount /mnt/$i ; done
sync
shutdown -r now

o sync não é realmente necessário. por razões históricas arcanas, isso me faz sentir melhor - é uma defesa mística contra horrores horripilantes, como yog sothoth e sco unix.

    
por 14.09.2013 / 05:51

Tags