lib로 시작하는 모든 파일을 /../에서 다음과 같은 폴더로 옮겼습니다.
mv /../lib* /to/some/folder
그 이후에는 다시 되돌릴 수 없었습니다.
-bash: /bin/mv: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
비록 ls
그렇더라도-bash: /bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
답변1
사용하도록 복원하면 설치했을 때 busybox
와 마찬가지로 귀하의 경우에도 잘 작동합니다.busybox
busybox
는 정적으로 연결된 바이너리이므로 귀하의 경우에 도움이 되지만 이러한 결함을 수정하기 위해 정적으로 연결된 바이너리를 사용할 필요는 없습니다.
다음과 같이 할 수도 있습니다.
LD_LIBRARY_PATH=/some/path/where/the/libs/are mv ....
동적 런타임 링커도 이동한 경우 런타임 링커를 수동으로 호출해야 합니다. 작동 방식을 알아보려면 다음으로 전화하세요.
man ld.so.1
아니면 리눅스에서
man ld.so
일반적으로 다음과 같은 명령줄이 생성됩니다.
LD_LIBRARY_PATH=/path/to/libs /path/to/libs/ld.so.1 mv ....
Linux에서는 시스템에서 실제로 사용되는 것으로 /path/to/libs/ld.so.1
바꾸 십시오./path/to/libs/ld-linux-x86-64.so.2
일반적으로 호출하려는 바이너리가 32비트 또는 64비트 바이너리인지 확인하고 올바른 동적 런타임 링커를 호출해야 합니다.
참고: 이것은 2004년부터 Solaris에 대해 문서화된 방법이며, 그 해부터 Solaris에는 더 이상 정적으로 링크된 바이너리가 없습니다.