Los comandos de terminal no funcionan

Los comandos de terminal no funcionan

Moví todos los archivos que comenzaban con lib de /../ a alguna carpeta como, mv /../lib* /to/some/folder

después de lo cual no puedo moverlo hacia atrás. Viene como -bash: /bin/mv: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

Incluso porque lsviene como-bash: /bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

Respuesta1

La restauración utilizando busyboxfuncionó en su caso tal como la había busyboxinstalado.

busyboxes un binario vinculado estáticamente y esto ayudó en su caso, pero no es necesario utilizar binarios vinculados estáticamente para reparar este tipo de defectos.

Podrías hacer esto también:

LD_LIBRARY_PATH=/some/path/where/the/libs/are mv ....

Si también movió el vinculador de tiempo de ejecución dinámico, también deberá llamar manualmente al vinculador de tiempo de ejecución. Para entender cómo funciona esto, llame al:

man ld.so.1

o en linux

man ld.so

Normalmente, esto da como resultado una línea de comando como:

LD_LIBRARY_PATH=/path/to/libs /path/to/libs/ld.so.1  mv ....

En Linux, reemplace /path/to/libs/ld.so.1por /path/to/libs/ld-linux-x86-64.so.2o lo que realmente se usa en su sistema.

En general, necesita saber si el binario al que le gusta llamar es de 32 bits o de 64 bits y llamar al vinculador de tiempo de ejecución dinámico correcto.

Por cierto: este es el método documentado para Solaris desde 2004 y desde ese año, ya no hay archivos binarios vinculados estáticamente en Solaris.

información relacionada