실행 파일을 실행하려고 하면 file not found
오류가 발생합니다. 때로는 아무 말도 하지 않고 아무 일도 하지 않는 경우도 있습니다.
예를 들어 실행하면 ./blah-blah.bin
파일이 분명히 존재하는데도 파일을 찾을 수 없습니다. 실행하면 ./blah-blah-file-2.sh
아무것도 움직이지 않습니다.
참고 1: 파일에는 +x가 있습니다.
참고 2: 루트도 실행할 수 없습니다.
참고 3: /usr/bin에서 모든 것을 실행합니다.
참고 4: GUI에서는 시도할 수 없으며 콘솔에만 액세스할 수 있습니다.
문제는 무엇입니까?
업데이트: 갑자기 일부 명령(예: ls
)이 실패하기 시작했습니다 file not found
. 어제 작동했습니다.
답변1
노력하다
ldd ./alfresco-install.bin
출력을 확인하십시오. 동적 라이브러리가 한두 개 빠진 것처럼 수상쩍게 들립니다.
답변2
스크립트인가요, 아니면 바이너리 실행 파일인가요?
스크립트인 경우 해당 #!
줄을 확인하세요.
쉘에 따라 잘못된 줄이 포함된 명령에 대한 오류 메시지는 #!
누락된 인터프리터 대신 스크립트를 참조할 수 있습니다.
예를 들어 tcsh를 사용하면 다음과 같습니다.
% cat foo
#!/bin/no_such_interpreter
echo hello
% chmod +x foo
% ./foo
./foo: Command not found.
%
Bash를 사용할 때 오류 메시지가 다릅니다.
$ chmod +x foo
$ cat foo
#!/bin/no_such_interpreter
echo hello
$ ./foo
bash: ./foo: /bin/no_such_interpreter: bad interpreter: No such file or directory
$
#!
라인 이더라도것 같다\r
글쎄, 줄 끝에 문자가 있으면 실패할 수 있습니다. 이는 파일이 Windows에서 생성된 경우 자주 발생합니다. 무엇인가요
head -1 blah-blah.bin | cat -A
보여줄래?
그래도 문제가 해결되지 않으면 알려 주시기 바랍니다.정확히입력한 명령과 결과 오류 메시지.
편집하다:귀하의 제목이 바이너리 실행 파일임을 나타냅니다. 어떤 종류의 파일인가요? 의 출력은 무엇입니까
file blah-blah.bin
?
답변3
마운트 옵션, 특히 noexec로 마운트할지 여부를 확인하세요.
예를 들어 /tmp에서 이것이 문제인 경우 다음을 수행하십시오.
sudo mount -o remount,exec /tmp