web-dev-qa-db-fra.com

apt-get - Erreur de segmentation: Erreur lors du traitement du package libc-bin

Salut, je lutte avec cela depuis un mois.

Sudo apt-get upgrade et Sudo apt-get autoremove est en erreur avec l'erreur suivante

E: Unmet dependencies. Try using -f.

Lorsque j'utilise Sudo apt-get install -f, l'erreur est la suivante.

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) La question est postée ici lien . Mais la réponse mentionnée est spécifique à l'utilisateur.

2) Comme mentionné ici lien , j'ai essayé Sudo apt-get --reinstall install libc-bin. Mais cela montre

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

3) Sudo dpkg --configure -a les erreurs suivantes

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

Toute aide sera très appréciée car il s’agit d’une machine dans laquelle tous mes projets académiques sont configurés.

EDIT:

4) Sudo dpkg --configure -D 777 libc-bin donne le résultat suivant:

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

EDIT:

5) J'essayais la solution mentionnée ici lien . Mais Sudo mv /usr/lib/x86_64-linux-gnu/libtic.so.5.9 /root donne l'erreur

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

Cela signifie-t-il que dans mon cas, une autre bibliothèque est à l'origine du problème?

EDIT: J'ai pu faire un tracé pendant Sudo apt-get install -f et le journal est disponible ici ; si cela aide quelqu'un.

6) J'ai essayé d'augmenter la limite de cache APT comme indiqué ici . Mais cela n'a pas aidé.

EDIT: Mettre à jour Répondre aux suggestions de Elder Geek

7) J'ai testé mon bélier avec memtest et il ne montre aucune erreur. J'ai également effectué un auto-test SMART sur mon disque dur (court), qui indique que le "Disque est correct".

8) J'ai vérifié manuellement et cette bibliothèque particulière /usr/lib/x86_64-linux-gnu/libtic.so.5.9 n'existe pas dans l'emplacement. (Je pense donc qu'une telle bibliothèque n'existe pas dans mon système et qu'une autre bibliothèque est à l'origine du problème.)

9) Je n'ai pas le chemin /usr/lib/i686-linux-gnu dans mon système.

10) Il y avait une faute de frappe, je vérifiais /etc/apt/sources.lst comme mentionné dans la réponse originale. J'ai un sources.list.

Ce sont les entrées que je peux voir là. Je ne vois aucun ppa mentionné 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

De plus, je ne peux pas installer de gestionnaire ppa car apt est cassé et je ne peux rien installer.

11) Informations complémentaires: Il s’agissait à l’origine d’un système 14.04 qui a été mis à niveau vers 16.04. Les ppas que j'avais en 14.04 ont été désactivés lors de la mise à niveau. Cependant, cette mise à niveau a eu lieu il y a presque un an et le système fonctionnait sans à-coups depuis près d'un an maintenant.

12) Dernier point et le plus important: je me souviens d’avoir effectué un Sudo apt-get dist-upgrade un certain temps avant que tous les problèmes ne commencent à apparaître. Cela peut-il être à l’origine du problème?

5
Erdnase

Bien que les erreurs de segmentation soient normalement associées à un code mal écrit essayant d'accéder à une zone de mémoire restreinte, je ne crois pas que ce soit la cause de votre problème. Bien que ce ne soit pas aussi courant, ces défauts peuvent également être causés par un comportement incorrect du matériel. Je commencerais par vous assurer que votre environnement est stable en exécutant memtest sur votre système et en vous assurant que votre disque dur est en bon état si vous utilisez le swap. Si vous découvrez un matériel défectueux, remplacez-le.

Ne peut pas stat

signifie que le fichier ou le répertoire n'existe pas ou que votre utilisateur n'y a pas accès, même via Sudo. Vous pouvez vérifier les autorisations via la commande ls -l /lib/i686-linux-gnu. Puisqu'il n'y a pas de /usr/lib/i686-linux-gnu que je puisse trouver dans une version 64 bits d'Ubuntu (supposé basé sur Path /usr/lib/x86_64-linux-gnu given more than once).

Ma meilleure évaluation basée sur les informations que vous avez fournies est que plusieurs de ces erreurs sont dues à des entrées incorrectes dans vos sources de logiciels. Celles-ci se trouvent dans le fichier /etc/apt/sources.lst ou dans les listes du répertoire /etc/apt/sources.list.d. Vous pourriez commencer à essayer de le nettoyer avec Comment peut-on supprimer les AAE?

Si vous utilisez un ordinateur de bureau avec une interface graphique, vous préférerez peut-être Y PPA Manager , qui est un outil utile pour ces tâches.

Si cette réponse est confuse ou peu claire, veuillez laisser un commentaire et je ferai de mon mieux pour la clarifier.

EDIT: Appréciation supplémentaire pour couvrir les points supplémentaires soulevés depuis la rédaction de cette réponse.

7) En l'absence de matériel défectueux, nous devrons creuser un peu plus profondément

8) très clair depuis le point 5.

9) Également clair depuis le point 4.

Rééditer 10) avoir un fichier /etc/apt/sources.list valide signifie que vous n'avez pas besoin de le remplacer.

11) J'ai un système qui a également été mis à niveau du 14.04 au 16.04, mon /etc/apt/sources.list est toujours intact, car vous signalez maintenant votre état.

12) Cela semble possible sur la base de le bogue mentionné par le dessert dans ce commentaire.

À ce stade, les options sont limitées. Ici, ils ne sont dans aucun ordre particulier. N'hésitez pas à choisir celui qui semble le moins douloureux.

1) Revenir à un sauvegarde précédente

2) Sauvegardez les données utilisateur (vous devriez le faire de toute façon) et installer à partir de rien

3) Corrigez votre installation. Téléchargez apt et toutes ses dépendances et réinstallez-les tous avec dpkg -i packagename

2
Elder Geek