Ok, isso vai ser divertido. Sua caixa está completamente ferida, então o pior problema é que você estraga com mais força, mas eu não me responsabilizo por você fazer isso seguindo esse conselho. O problema é que o pacote dpkg não foi instalado corretamente ou os metadados estão corrompidos.
Vamos lidar com o primeiro problema. Pacotes Debian são apenas um arquivo ar de dois arquivos tar. Você pode extraí-los à mão se realmente precisar. Tente o seguinte:
# cd /tmp
# ar x /var/cache/apt/archives/dpkg_1.13.26_i386.deb
# cd /
# tar -xzvf /tmp/data.tar.gz
Isso deve extrair os arquivos do pacote e instalá-los no sistema. Provavelmente, devemos dizer ao dpkg que o pacote está instalado. Encontre o arquivo / var / lib / dpkg / status e encontre uma linha que diz:
Package: dpkg
Em seguida, edite a linha Status para dizer:
Status: install ok installed
e mude a versão para dizer:
Version: 1.13.26
Espero que agora o dpkg esteja funcionando. Se assim for, eu reinstalaria o dpkg, então o dpkg sabe quais arquivos o pacote dpkg instalou.
# dpkg -i /var/cache/apt/archives/dpkg_1.13.26_i386.deb
Se for um arquivo de metadados corrompido, eles são apenas arquivos de texto simples, para que você possa editá-los. Eu sugeriria usar o dpkg em debug more ou strace para ver se você pode descobrir qual arquivo em particular está quebrado.
# dpkg --debug=2001 -i /var/cache/apt/archives/dpkg_1.13.26_i386.deb
# strace -efile -f dpkg -i /var/cache/apt/archives/dpkg_1.13.26_i386.deb
(Confira dpkg --debug = help para descobrir o que significa 2001)
Se o arquivo de status estiver corrompido, há um arquivo antigo que você pode usar como backup.