Inverser récursivement le répertoire racine en mouvement

J’ai un bureau Ubuntu utilisé en tant que serveur. Ce matin, j’ai accidentellement déplacé toute ma racine vers ../

  root@server:/tmp/UPS/up/upsilon# mv /* ../ mv: impossibile spostare "/dev" in "../dev": Dispositivo o risorsa occupata mv: impossibile spostare "/proc" in "../proc": Dispositivo o risorsa occupata mv: impossibile spostare "/run" in "../run": Dispositivo o risorsa occupata mv: impossibile spostare "/sys" in "../sys": Dispositivo o risorsa occupata mv: impossibile spostare "/tmp" in una sottodirectory di sé stessa, "../tmp" root@server:/tmp/UPS/up/upsilon# ls -bash: /bin/ls: No such file or directory 

J’étais connecté à distance en SSH. Maintenant, je ne peux plus y accéder. Je ne peux pas aussi voir Webmin.

Donc, maintenant je ne peux pas redémarrer le système correctement? Et je dois accéder physiquement à la console système et taper cette commande:

 ../bin/mv ../{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var,vmlinuz*} 

droite?

Où est passé mon répertoire racine et comment puis-je le récupérer? La commande ci-dessus fonctionnera-t-elle?

    Vous n’avez pas déplacé le répertoire racine (vous ne pouvez pas), vous venez de déplacer presque tout ce qu’il contient dans le répertoire parent du chemin sur lequel vous vous trouviez.

    Pour compliquer les choses, vous avez également déplacé mv afin que cela ne fonctionne pas comme prévu. Ce qui suit devrait fonctionner (tant que vous n’avez pas redémarré depuis votre demande!) Si vous êtes toujours dans le même répertoire que vous étiez lorsque vous avez lancé votre dernier mv.

     ../bin/mv ../{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var,vmlinuz*} / 

    Si vous n’en avez aucun, omettez-les simplement de la commande.

    Et si vous n’y avez pas access (vous ne pourrez pas vous connecter à nouveau tant que vous êtes dans cet état), vous devrez monter le système de fichiers en externe (via quelque chose comme LiveCD, monter le système de fichiers puis déplacer les fichiers. La réponse de Braiam devrait aider avec cette partie.

    Si vous avez déjà redémarré ou que vous vous êtes déconnecté, vous pouvez démarrer sur un liveCD / USB pour réparer votre système. Je vais omettre la partie où vous savez comment créer un système Live et démarrer avec Ubuntu (le cd alternatif fonctionne aussi, il suffit de passer dans un shell root):

    Tout d’abord, vous devez monter votre système quelque part, alors:

     mkdir /mnt/system mount /dev/sda1 /mnt/system 

    Je suppose que /dev/sda1 est votre racine. Si vous avez séparé /bin ou /usr vous devriez aussi les monter:

     mount /dev/sda2 /mnt/system/usr 

    Maintenant, vous devriez arriver au répertoire que vous étiez avant la catastrophe:

     cd /mnt/system/tmp/UPS/up/upsilon 

    Maintenant, avec la commande donnée par Oli, que je vais copier de manière flagrante:

     mv ../{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var,vmlinuz*} /mnt/system/ 

    Maintenant, vérifiez que tout est en ordre:

     # ls /mnt/system/ bin boot etc home media mnt opt root sbin selinux usr var etc... 

    Redémarrez votre système et soyez plus prudent à l’avenir.

    J’ai eu ce problème, j’ai trouvé que j’avais besoin d’appeler la commande mv comme ceci:

     /tmp/UPS/up/lib/ld-linux-x86-64.so.2 --library-path /tmp/UPS/up/lib/ /tmp/UPS/up/test/bin/mv /tmp/UPS/up/{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var} / 

    J’espère que cela aide les autres.