Reverter o diretório raiz em movimento recursivamente

13

Eu tenho um Ubuntu Desktop usado como um servidor. Esta manhã eu acidentalmente movi toda minha raiz para ../

 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

Eu estava conectado remotamente no ssh. Agora não consigo mais acessar. Eu também não posso ver o Webmin.

Então, agora não consigo reiniciar o sistema corretamente? E devo acessar fisicamente o console do sistema e digitar este comando:

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

certo?

Para onde meu diretório raiz foi e como posso recuperá-lo? O comando acima funcionará?

    
por MaxDL 13.08.2013 / 13:05

3 respostas

12

Você não moveu o diretório raiz (você não pode), você acabou de mover quase tudo nele para o diretório pai de qualquer caminho em que estava.

Para complicar as coisas, você também moveu mv para que não funcione como esperado. O seguinte deve funcionar (contanto que você não tenha reiniciado desde que tenha perguntado isso!) Se você ainda estiver no mesmo diretório que estava quando você disparou seu último mv desligado.

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

Se você não tiver nenhum desses, apenas os omita do comando.

E se você não tiver acesso (você não conseguirá fazer um novo login enquanto as coisas estão neste estado) você terá que montar o sistema de arquivos externamente (através de algo como LiveCD e montar o sistema de arquivos e então Mova os arquivos para o lugar certo.A resposta de Braiam deve ajudar nessa parte.

    
por Oli 13.08.2013 / 13:30
10

Se você já reinicializou ou foi desconectado, pode inicializar em um liveCD / USB para consertar seu sistema. Vou omitir a parte em que você sabe como criar um sistema Live e inicializar com o Ubuntu (o cd alternativo também funciona, basta inserir em um shell de root):

Primeiro você deve montar seu sistema em algum lugar, então:

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

Estou assumindo que /dev/sda1 é sua raiz. Se você separou /bin ou /usr , você também deve montá-los:

mount /dev/sda2 /mnt/system/usr

Agora, você deve chegar ao diretório que estava antes da catástrofe:

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

Agora, com o comando que o Oli deu, que eu copiarei com clareza:

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

Agora verifique se tudo está em ordem:

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

Reinicialize seu sistema e seja mais cauteloso no futuro.

    
por Braiam 13.08.2013 / 14:31
0

Eu tive esse problema, descobri que precisava chamar o comando mv assim:

/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} /

Espero que isso ajude os outros.

    
por Johny 18.07.2016 / 01:10