Não é possível atualizar a libc6: o antigo script pós-remoção do subprocesso foi eliminado pelo sinal (falha de segmentação)

Não é possível atualizar a libc6: o antigo script pós-remoção do subprocesso foi eliminado pelo sinal (falha de segmentação)

Algo falhou em uma atualização do Raspbian 7 para o Raspbian 8. Encontrei tópicos com títulos semelhantes a este e tentei muitas coisas, mas sempre recebo o mesmo erro.

O nó está em um local remoto em uma linha com largura de banda limitada, portanto não é prático fazer uma reconstrução completa.

A mensagem mais informativa que recebo é com "dpkg -C":

root@mynode# dpkg -C
The following packages are in a mess due to serious problems during
installation.  They must be reinstalled for them (and any packages
that depend on them) to function properly:
 libc6:armhf          Embedded GNU C Library: Shared libraries

The following packages have been unpacked but not yet configured.
They must be configured using dpkg --configure or the configure
menu option in dselect for them to work:
 libc6-dev:armhf      GNU C Library: Development Libraries and Header Files
 libc-dev-bin         GNU C Library: Development binaries
 locales              GNU C Library: National Language (locale) data [support]
 libnih1              NIH Utility Library
 libnih-dbus1         NIH D-Bus Bindings Library

Mas quando tento instalar ou reinstalar o libc6:armhf, isso acontece:

root@mynode# apt-get --reinstall install  libc6:armhf
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 locales : Depends: libc-bin (> 2.19) but 2.13-38+rpi2+deb7u8 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

E quando tento instalar ou reinstalar o libc-bin, recebo:

root@mynode# apt-get --reinstall install  libc-bin
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libc6
Suggested packages:
  glibc-doc
The following packages will be upgraded:
  libc-bin libc6
2 upgraded, 0 newly installed, 0 to remove and 731 not upgraded.
6 not fully installed or removed.
Need to get 0 B/5,124 kB of archives.
After this operation, 870 kB disk space will be freed.
Do you want to continue [Y/n]? y
Preconfiguring packages ...
(Reading database ... 82552 files and directories currently installed.)
Preparing to replace libc6:armhf 2.13-38+rpi2+deb7u8 (using .../libc6_2.19-18+deb8u10_armhf.deb) ...
Checking for services that may need to be restarted...
Checking init scripts...
Unpacking replacement libc6:armhf ...
dpkg: warning: subprocess old post-removal script was killed by signal (Segmentation fault)
dpkg: trying script from the new package instead ...
dpkg: error processing /var/cache/apt/archives/libc6_2.19-18+deb8u10_armhf.deb (--unpack):
 subprocess new post-removal script was killed by signal (Segmentation fault)
dpkg: error while cleaning up:
 subprocess installed pre-installation script was killed by signal (Segmentation fault)
Errors were encountered while processing:
 /var/cache/apt/archives/libc6_2.19-18+deb8u10_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Estou preso. Alguma sugestão?

Responder1

Eu descobri - mais ou menos - encontrei um sistema idêntico que foi capaz de fazer a atualização com um problema. Comparei os vários arquivos em /etc/apt e encontrei inúmeras diferenças.

Copiei todo o diretório apt do sistema bem-sucedido para o quebrado e isso corrigiu o problema.

Boa sorte para quem está tentando descobrir qual deveria ser o conteúdo correto do arquivo. Pesquisar isso no Google retorna milhares de respostas, todas diferentes. Para minha sorte, eu tinha um sistema que estava correto. Então aqui está outra configuração para você tentar. Este funcionou para mim em cinco sistemas diferentes:

/etc/apt/sources.list:

deb http://archive.raspberrypi.org/debian/ jessie main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ jessie main
root@stn4133:/etc/apt# more sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian/ jessie main contrib non-free rpi

/apt/etc/sources.list.d/raspi.list:

deb http://archive.raspberrypi.org/debian/ jessie main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ jessie main

Você também pode receber erros informando que está faltando uma chave pública. Isso ocorre porque trust.gpg está incompleto. Para corrigir isso, você pode seguir as instruções deste artigo: https://chrisjean.com/fix-apt-get-update-the-following-signatures-couldnt-be-verified-porque-the-public-key-is-not-available/

informação relacionada