Linux.debian : problème avec le /lib
Posté par marsu1983 () le 02 mai 2008Bonjour,
Voila par mégarde j'ai lancer une commande fatale mv /lib /home/.... Je n'ai pas fait attention et du coup j'ai bougé l'emplacement de toutes les librairies et je n'ai plus accès à mes commandes de base ype cp, mv etc ...pour rétablir mon dossier (les commandes ne trouvent plus les librairies nécessaires :(). Si je ferme ma console ssh je ne pourrai plus la rouvrir et du coup je cherche une solution.
Est il possible de redéfinir par une variable l'emplacement du /lib pour dire a mes commande système de ne plus aller chercher les lib dans /lib mais dans le répertoire ou j'ai par mégarde déplace les fichiers.
J'ai vu la variable $LD_LIBRARY_PATH mais en changeant, cela ne résout pas mon problème.
Quelqu'un peut il m'aider ?
Merci d'avance
> Lire le message (19 commentaires, moyenne: 1,7).
Vous avez demandé le commentaire #927785.



livecd
à mon avis tu devrais essayer avec un livecd. Mais vu que tu parles de console ssh, je présume que tu es à distance.
Tu peux essayer avec un lien symbolique (genre ln -s /home/lib /lib ) mais je ne sais pas si cela fonctionnera aussi.
Il y a également busybox, si c'est installé tu peux tenter le coup, mais pareil, cela utilise des appels à des bibl. dans /lib
Tous ensemble contre l'esclavitude des logiciels privateurs !
[^]Re: livecd
Oui je suis à distance j'ai bien pensé avec avec un livecd type Ubuntu mais ca me fait me déplacer ce que je voudrai éviter mais si a priori il n'y pas de solutions comme dit le proverbe "quand on a pas de tetes on a des jambes " dommage :(
Mais si quelqu'un voit une soluce j suis preneur :)
[^]Re: livecd
Bonjour,
Tu peux essayer la méthode suivante:
export LD_LIBRARY_PATH=le_nouveau_chemin
Ensuite, le mv réparateur devrait passer...
[^]Re: livecd
pour le LD_LIBRARY_PATH je présume que tu as fait correctement l'exportation ? Sinon la syntaxe devrait être (en bash) :
export LD_LIBRARY_PATH=/home/lib
Tous ensemble contre l'esclavitude des logiciels privateurs !
[^]Re: livecd
oui c'est ce que j'ai fait
[^]Re: livecd
Oui c'est bien ce que je fais et quand je fais un echo de la variable, elle s'affiche bien avec la nouvelle valeur
[^]Re: livecd
tu peux essayer de voir les autres variables d'environnement dans man ld-linux.so
Mais je trouve ça bizarre que LD_LIBRARY_PATH ne marche pas.
Je suppose que su ou sudo doivent supprimer ces variables (pour des raisons de sécurité). Et ld-linux.so ne les prend pas en compte si le binaire est suid ou sgid. mais je doute que ce soit le cas pour mv.
Tu peux peut être essayer de faire:
LD_PRELOAD=/home/.../lib/{libc.so,libacl.so,libattr.so} mv /home/.../lib /
Et vérifie en utilisant cd et echo * que le dossier lib est lien la ou tu penses. Car si ça se trouve tu avait un dossier lib dans ton homedir, et du coup il aurait déplacé le tout dans ~/lib/lib
La Roue du Temps