Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 09/02/2014, à 00:05

nesthib

[Astuce] apt-get impossible de mettre à jour libc6

Dans le cas où apt-get refuse d'installer une nouvelle version de la bilbliothèque libc :

A copy of the C library was found in an unexpected directory:
  '/lib/…/libc-2.17.so'
It is not safe to upgrade the C library in this situation;
please remove that copy of the C library or get it out of
'/lib/…' and try again.

apt-get suggère de supprimer libc avant de continuer la mise à jour, cependant libc est indispensable au fonctionnement de bash ou apt-get et sa suppression empêchera tout programme de se lancer.

L'astuce est d'effectuer une copie des bibliothèques (par exemple dans le dossier /root), de charger bash en utilisant les copies, puis de supprimer les binaires originaux avant de continuer la miser à jour.
On passe en root :

sudo -s

On copie les binaires :

cp /lib/…/libc-2.17.so /root
cp /lib/…/libdl-2.17.so /root
cp /lib/…/libm-2.17.so /root
cp /lib/…/libpthread-2.17.so /root
cp /lib/…/librt-2.17.so /root

« … » étant à remplacer par le chemin indiqué dans le message d'erreur.

On charge bash avec les copies des bibliothèques :

LD_PRELOAD=/root/libc-2.17.so:/root/libdl-2.17.so:/root/libm-2.17.so:/root/libpthread-2.17.so:/root/librt-2.17.so  bash

On peut vérifier que le shell fonctionne :

ls /root

On supprime les binaires originaux :

rm /lib/…/libc-2.17.so
rm /lib/…/libdl-2.17.so
rm /lib/…/libm-2.17.so
rm /lib/…/libpthread-2.17.so
rm /lib/…/librt-2.17.so

On continue la mise à jour :

apt-get install -f

Attention à ne pas redémarrer ou quitter le terminal alors que les bibliothèques ont été supprimées et que la mise à jour n'est pas complète, ceci empêcherait le système de fonctionner correctement. S'il y avait une erreur, il faut copier à nouveau les bibliothèques de /root vers leur emplacement d'origine.
Attention à bien respecter les chemins des bibliothèques (celui ci varie selon le noyau) et le numéro de version de la bibliothèque (ici 2.17). Dans le cas où il y aurait plusieurs versions des bibliothèques il faut combiner les différents numéros de version.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

Haut de page ↑