Si votre système est busyboxinstallé, vous pouvez l'utiliser pour remettre les choses en place.
busyboxest un binaire avec de nombreux utilitaires standard intégrés. Des choses comme ça mv, sh, ls, etc.
D'après votre commentaire sur la réponse de Pavel, il semble que tout se soit terminé /var. Vous pouvez essayer de faire /var/bin/busybox mv /var/{bin,etc,lib32,lib64,root,sbin,usr} /. Cela devrait rendre la plupart de votre système opérationnel à nouveau. Il existe quelques répertoires tels que ceux /tmpqui existent également sous /var/tmp, vous ne pouvez donc pas simplement les déplacer. J'espère que ce sont ceux qui mvse sont plaints et qu'ils ont été laissés seuls.
Obtenir un shell racine
Vous avez également mentionné que vous avez perdu votre shell racine, ce suqui vous donne une ld-linuxerreur de bibliothèque. Vous pourrez peut-être utiliser les éléments suivants:
LD_LIBRARY_PATH=/var/lib64 /var/lib64/ld-linux-x86-64.so.2 /var/bin/su
Remarque: En tentant cela, cela ne fonctionne pas. En effet , il sufaut plusieurs fichiers dans /etc( passwd, pam.det d' autres). S'ils /etcétaient encore intacts, cela aurait de bonnes chances de réussir.
Sans occupé
Si vous n'avez pas de busybox disponible, vous pourrez peut-être utiliser la même astuce ld-linux que pour su:
LD_LIBRARY_PATH=/var/lib64 /var/lib64/ld-linux-x86-64.so.2 /var/bin/mv /var/{bin,etc,lib32,lib64,root,sbin,usr} /
À partir d'un CD live
Comme discuté dans les commentaires, si vous avez perdu le shell racine, vous êtes à peu près coincé. Fondamentalement, pour résoudre ce problème, vous avez besoin des privilèges root. La seule façon d'y arriver est d'avoir un utilitaire tel que suou d' sudoaugmenter vos autorisations (qui ne sont pas fonctionnelles à ce stade), ou de pirater un autre programme déjà exécuté en tant que root (selon ce qui est en cours d'exécution, peu probable).
Cela laisse la seule option étant un CD live. Une fois démarré sur un CD live (ou USB live, ou quoi que ce soit), montez simplement le volume racine et déplacez les répertoires concernés /varvers leur page d'origine /.
Synopsis de ce qui s'est passé
folder/*aurait étendu à quelque chose comme folder/fooet folder/bar.
/*aurait étendu à quelque chose comme /bin /lib32 /lib64 /etc /home /root /var. Notant que /varc'est le dernier élément.
Ainsi, lorsque le shell a étendu tous ces globes, il aurait exécuté quelque chose comme ceci:
mv folder/foo folder/bar /bin /lib32 /lib64 /etc /home /root /var
Tout /varcomme le dernier élément de la liste, tout y a été déplacé.
Pourquoi des /var/bin/suerreurs avec/lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
Presque tous les binaires sous Linux sont liés dynamiquement ld-linux. ld-linuxest la bibliothèque chargée de charger les autres bibliothèques nécessaires à un binaire. Sur votre système, cela vit /lib64/ld-linux-x86-64.so.2. Depuis que ce répertoire a été déplacé, tout exécutable lié dynamiquement ne fonctionnera plus.
La raison pour laquelle la boîte occupée fonctionne est que la boîte occupée est liée statiquement. Il n'utilise pas ld-linux.
/var/bin/sudirectement?