Ubuntu에서 바이너리를 실행할 수 없습니다: 파일을 찾을 수 없습니다

Ubuntu에서 바이너리를 실행할 수 없습니다: 파일을 찾을 수 없습니다

실행 파일을 실행하려고 하면 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

관련 정보