Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/02/2014, à 01: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