실행 파일을 실행하려고 할 때 쉘이 "찾을 수 없음"이라고 응답하는 가능한 이유는 모두 무엇입니까?
- 실행 파일이 존재하며 실행 권한(
chmod +x
)이 있습니다. ldd
모든 종속성이 존재함을 나타냅니다.- 파일은 실행 파일이 올바른 아키텍처에 대해 컴파일되었음을 나타냅니다(그렇지 않아야 할 이유는 없으며 Yocto 빌드의 나머지 시스템과 함께 컴파일되었습니다).
또 어떤 이유가 있을 수 있나요?
답변1
실행 권한이 있는 바이너리가 있는 경우 "찾을 수 없음" 오류 메시지가 나타나는 일반적인 원인은 바이너리에서 요청한 동적 로더가 존재하지 않기 때문입니다. 다음을 사용하여 확인할 수 있습니다 readelf
.
$ readelf -l /path/to/binary | grep interpreter
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
인터프리터가 없으면 실행 파일은 "찾을 수 없음" 오류와 함께 실행되지 않습니다. 바라보다64비트 시스템에서 32비트 바이너리를 실행할 때 "찾을 수 없음" 메시지 수신더 알아보기.