
Mudei todos os arquivos começando com lib de /../ para alguma pasta como,
mv /../lib* /to/some/folder
depois disso, não consigo movê-lo de volta. Acontece como
-bash: /bin/mv: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
Mesmo porque ls
vem como-bash: /bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
Responder1
A restauração usando busybox
funcionou no seu caso conforme você busybox
instalou.
busybox
é um binário vinculado estaticamente e isso ajudou no seu caso, mas não há necessidade de usar binários vinculados estaticamente para reparar esse tipo de defeito.
Você também poderia fazer isso:
LD_LIBRARY_PATH=/some/path/where/the/libs/are mv ....
Se você também moveu o vinculador de tempo de execução dinâmico, também precisará chamar manualmente o vinculador de tempo de execução. Para entender como isso funciona, ligue:
man ld.so.1
ou no Linux
man ld.so
Isso normalmente resulta em uma linha de comando como:
LD_LIBRARY_PATH=/path/to/libs /path/to/libs/ld.so.1 mv ....
No Linux substitua /path/to/libs/ld.so.1
por /path/to/libs/ld-linux-x86-64.so.2
ou o que realmente é usado em seu sistema.
Em geral, você precisa saber se o binário que deseja chamar é de 32 ou 64 bits e chamar o vinculador de tempo de execução dinâmico correto.
BTW: Este é o método documentado para o Solaris desde 2004 e, desde aquele ano, não há mais binários vinculados estaticamente no Solaris.