apt-get - Falha de segmentação: erro Processing package libc-bin

4

Olá, estou lutando com isso há um mês.

sudo apt-get upgrade e sudo apt-get autoremove estão causando erros com o seguinte erro

E: Unmet dependencies. Try using -f.

Quando estou executando sudo apt-get install -f , está cometendo erros da seguinte forma.

Fetched 30.2 MB in 32s (928 kB/s)                                              
Preconfiguring packages ...
Setting up libc-bin (2.23-0ubuntu9) ...
Segmentation fault
/sbin/ldconfig.real: Can't stat /lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path '/usr/local/lib' given more than once
/sbin/ldconfig.real: Path '/usr/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path '/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path '/usr/lib/x86_64-linux-gnu' given more than once
Segmentation fault
dpkg: error processing package libc-bin (--configure):
 subprocess installed post-installation script returned error exit status 139
Errors were encountered while processing:
 libc-bin
E: Sub-process /usr/bin/dpkg returned an error code (1)

1) A questão é postada aqui link . Mas a resposta mencionada é específica para o usuário.

2) Como mencionado aqui link , eu tentei sudo apt-get --reinstall install libc-bin . Mas isso está mostrando

E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

3) sudo dpkg --configure -a erros como segue

Errors were encountered while processing:
 libosmesa6:i386
 libgl1-mesa-dri:i386
 libglapi-mesa:i386
 libgl1-mesa-glx:amd64
 libgl1-mesa-glx:i386
 libegl1-mesa:amd64
 xserver-xephyr
 xserver-xorg-core
 libgl1-mesa-dev:i386
 libwayland-egl1-mesa:amd64

Qualquer ajuda será muito apreciada, já que esta é uma máquina na qual todos os meus projetos acadêmicos estão configurados, por isso não posso pagar uma reinstalação.

EDITAR:

4) sudo dpkg --configure -D 777 libc-bin fornece a seguinte saída:

D000001: ensure_diversions: new, (re)loading
D000001: process queue pkg libc-bin:amd64 queue.len 0 progress 1, try 1
D000040: checking dependencies of libc-bin:amd64 (- <none>)
D000400:   checking group ...
D000400:     checking possibility  -> libc6
D000400:       checking non-provided pkg libc6:amd64
D000400:       is installed, ok and found
D000400:     found 3
D000400:   found 3 matched 0 possfixbytrig -
D000400:   checking group ...
D000400:     checking possibility  -> libc6
D000400:       checking non-provided pkg libc6:amd64
D000400:       is installed, ok and found
D000400:     found 3
D000400:   found 3 matched 0 possfixbytrig -
D000040: ok 2 msgs >><<
D000040:     checking Breaks
D000400:       checking breaker locales:all virtbroken <none>
Setting up libc-bin (2.23-0ubuntu9) ...
D000002: fork/exec /var/lib/dpkg/info/libc-bin.postinst ( configure 2.23-0ubuntu9 )
Segmentation fault
/sbin/ldconfig.real: Can't stat /lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path '/usr/local/lib' given more than once
/sbin/ldconfig.real: Path '/usr/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path '/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path '/usr/lib/x86_64-linux-gnu' given more than once
Segmentation fault
dpkg: error processing package libc-bin (--configure):
 subprocess installed post-installation script returned error exit status 139
D000001: ensure_diversions: same, skipping
Errors were encountered while processing:
 libc-bin

EDITAR:

5) Eu estava tentando a solução mencionada aqui link . Mas sudo mv /usr/lib/x86_64-linux-gnu/libtic.so.5.9 /root dá o erro

mv: cannot stat '/usr/lib/x86_64-linux-gnu/libtic.so.5.9': No such file or directory

Isso significa que, no meu caso, alguma outra biblioteca está causando o problema?

EDITAR : eu consegui fazer um strace durante sudo apt-get install -f e o log está disponível aqui ; se isso ajuda alguém.

6) Eu tentei aumentar o limite de cache APT como mencionado aqui . Mas isso não ajudou.

EDITAR : Atualizar Resposta às sugestões do Elder Geek

7) Eu testei meu ram com memtest e não mostra nenhum erro. Também realizei um autoteste SMART no meu disco rígido (curto), que mostra que o "Disco está ok".

8) Eu verifiquei manualmente e esta biblioteca em particular /usr/lib/x86_64-linux-gnu/libtic.so.5.9 não existe no local. (Então eu acredito que tal biblioteca não existe no meu sistema e alguma outra biblioteca está causando o problema.)

9) Eu não tenho o caminho /usr/lib/i686-linux-gnu no meu sistema.

10) Houve um erro de digitação, eu estava verificando /etc/apt/sources.lst como mencionado na resposta original. Eu tenho um sources.list .

Estas são as entradas que posso ver lá. Eu não vejo nenhum ppa mencionado lá.

deb http://archive.canonical.com/ubuntu xenial partner
# deb-src http://archive.canonical.com/ubuntu trusty partner
deb http://archive.ubuntu.com/ubuntu xenial main universe restricted
deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe
deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe
deb http://archive.ubuntu.com/ubuntu xenial-backports main restricted universe

Além disso, não consigo instalar nenhum gerenciador ppa, pois o próprio apt está corrompido e não consigo instalar nada.

11) Informações adicionais: Este era originalmente um sistema 14.04 que foi atualizado para 16.04. Aqueles ppas que tive em 14.04 foram desativados durante a atualização. No entanto, esta atualização aconteceu há quase um ano e o sistema estava funcionando sem problemas há quase um ano.

12) Por último e mais importante: lembro-me de ter feito um sudo apt-get dist-upgrade algum tempo antes de todos os problemas começarem a aparecer. Isso pode ser algo que causou o problema?

    
por Erdnase 11.11.2017 / 09:00

1 resposta

2

Embora as falhas de segmentação estejam normalmente associadas a códigos mal escritos que tentam acessar uma área restrita de memória, não acredito que essa seja a causa do seu problema. Embora não seja tão comum, essas falhas também podem ser causadas por hardware mal-comportado. Eu começaria assegurando que você tem um ambiente estável executando memtest no seu sistema e garantindo que o seu disco rígido está em boa forma se você estiver usando swap. Se você descobrir algum hardware defeituoso, substitua-o.

  

Não é possível definir

significa que o arquivo ou diretório não existe ou o usuário não tem acesso a ele mesmo via sudo. Você pode verificar as permissões por meio do comando ls -l /lib/i686-linux-gnu . Como não há /usr/lib/i686-linux-gnu que eu possa encontrar em uma versão de 64 bits do Ubuntu (assumido com base em Path /usr/lib/x86_64-linux-gnu given more than once ).

Minha melhor avaliação com base nas informações que você forneceu é que a causa raiz de vários desses erros são entradas impróprias em suas fontes de software. Eles são encontrados no arquivo /etc/apt/sources.lst ou nas listas no diretório /etc/apt/sources.list.d . Você pode começar a tentar limpá-lo com Como os PPAs podem ser removidos?

Se você estiver executando uma área de trabalho com GUI, talvez prefira Y PPA Manager , que é uma ferramenta útil para essas tarefas .

Se houver alguma coisa confusa ou pouco clara sobre essa resposta, deixe um comentário e farei o possível para esclarecer.

EDIT: Avaliação adicional para cobrir pontos adicionais levantados desde que esta resposta foi originalmente escrita.

7) Na ausência de hardware defeituoso, precisaremos cavar um pouco mais

8) abundantemente claro desde o ponto 5.

9) Também claro desde o ponto 4.

Re-EDIT 10) ter um /etc/apt/sources.list válido significa que você não precisa substituí-lo.

11) Eu tenho um sistema que também foi atualizado de 14.04 para 16.04, meu /etc/apt/sources.list ainda está intacto como você agora reporta o seu é.

12) Isso parece possível com base no bug mencionado por sobremesa em este comentário.

Neste ponto, as opções são limitadas. Aqui eles estão em nenhuma ordem particular. Sinta-se à vontade para escolher aquele que parece menos doloroso.

1) Reverta para uma backup anterior

2) Faça backup dos dados do usuário (você deve fazer isso de qualquer maneira) e instale do zero a>

3) Corrija sua instalação. Faça o download de apt e todas as suas dependências e reinstale-as com dpkg -i packagename

    
por Elder Geek 24.11.2017 / 22:23