바이너리 파일을 실행할 수 없음
이 기사에서는 Linux에서 바이너리 파일을 실행하는 방법을 배웁니다. 또한 Linux가 바이너리 파일을 실행하지 못하는 경우 오류를 해결하는 방법도 알아봅니다.
일반적으로 이 오류는 Linux에서 쉘 스크립트를 실행할 때 발생합니다. 이 문서에서는 이 문제를 해결하는 데 도움이 되는 모든 작업 방법을 제공합니다.
리눅스 바이너리 파일
프로그래밍에서 바이너리는 2를 의미하며 바이너리 파일에는 두 개의 문자(1,0)가 있습니다. 바이너리 파일은 정보와 데이터를 저장하는 데 사용됩니다.
Linux에서 이진 파일 확장자는 .bin
입니다. 바이너리 파일은 ./file.bin
구문으로 Linux에서 실행할 수 있습니다.
Linux 시스템에서 바이너리 파일을 실행할 때 가끔 cannot execute a binary file
오류가 발생합니다. 이 오류는 Linux 시스템이 이를 쉘 스크립트 또는 실행 파일로 인식하지 못함을 의미합니다.
Linux에서 이 오류를 해결하는 방법을 살펴보겠습니다.
Linux에서 이진 파일을 실행할 수 없습니다
오류 해결
이 원인은 바이너리 파일의 아키텍처 유형이 일치하지 않기 때문일 수 있습니다. 다른 이유는 사용자가 바이너리 파일을 실행할 권한이 없기 때문일 수 있습니다.
따라서 Linux 시스템에서 이 문제를 제거하기 위한 몇 가지 솔루션을 제공합니다. 다음 해결 방법 중 하나를 시도한 다음 오류가 해결되었는지 확인하십시오.
파일의 아키텍처 확인
이 오류가 발생하면 가장 먼저 해야 할 일은 올바른 바이너리 파일을 가지고 있는지 확인하는 것입니다. 64비트 시스템에서 실행 중인 32비트 바이너리 파일이 있는 경우 실행되지 않고 오류가 발생하기 때문입니다.
32비트용 바이너리 파일은 64비트 시스템에서 작동하지 않으며 그 반대의 경우도 마찬가지입니다. 다음 명령을 사용하여 Linux에서 모든 파일의 아키텍처를 확인할 수 있습니다.
명령 구문:
$ file filename
파일 아키텍처에 사용되는 명령:
$ file test.sh
이미지와 같이 터미널 명령 file test.sh
를 사용했습니다. 출력에서 test.sh
라는 파일의 아키텍처가 표시되는 것을 볼 수 있습니다.
이러한 방식으로 바이너리 파일의 아키텍처도 찾을 수 있습니다.
바이너리 파일의 아키텍처가 실행 시스템과 일치하지 않는 경우 바이너리 파일을 일치하는 아키텍처 시스템으로 실행해야 합니다.
바이너리 파일 형식 확인
Windows, Linux 및 macOS 시스템에서 바이너리 파일을 실행합니다. Windows 시스템용으로 만들어진 바이너리 파일은 다른 운영 체제를 실행하지 않으며 그 반대의 경우도 마찬가지입니다.
이러한 이진 파일은 서로 다른 형식을 가지므로 사용자가 파일을 구분하는 데 도움이 됩니다. Linux 시스템에서 Windows 또는 macOS용으로 만든 바이너리 파일을 실행하면 작동하지 않습니다.
Linux 운영 체제에서 Linux용으로 만든 바이너리 파일을 실행해야 합니다.
Linux에 GCC 및 Gfortran 패키지 설치
이 두 패키지 GCC와 Gfortran이 Linux 시스템에 설치되어 있지 않으면 Linux 시스템이 바이너리 파일을 실행할 수 없는 이유가 될 수 있습니다. 이러한 패키지(GCC 및 Gfortran)는 여러 바이너리 파일이 올바르게 컴파일 및 실행되도록 설치해야 합니다.
터미널에서 다음 명령을 사용하여 이러한 라이브러리를 설치할 수 있습니다.
Gfortran 패키지를 설치하는 데 사용되는 명령:
$ sudo apt-get install gfortran
GCC 패키지를 설치하는 데 사용되는 명령:
$ sudo apt-get install build-essential
Linux 시스템에 이 두 패키지를 설치한 후 이진 파일을 실행할 수 없습니다
오류를 해결할 수 있습니다.
바이너리 파일 압축 해제 시도
때로는 인터넷을 통해 더 쉽게 공유할 수 있도록 바이너리 파일을 압축합니다. 실행 중인 바이너리 파일이 이미 압축되어 있으면 파일 압축을 해제해 보십시오.
터미널에서 다음 명령을 사용하여 바이너리 파일의 압축을 풀 수 있습니다.
파일 압축 해제에 사용되는 명령:
$ xz -d ./filename
바이너리 파일 권한 확인
바이너리 파일이 Linux 시스템에서 실행되지 않는 또 다른 이유는 사용자가 파일 바이너리 파일을 변경하거나 읽을 수 있는 권한이 없기 때문일 수 있습니다. 터미널에서 다음 명령을 사용하여 바이너리 파일에 실행 권한을 부여하여 이 문제를 해결할 수 있습니다.
파일에 실행 권한을 부여하는 데 사용되는 명령:
$ chmod +x filename
권한이 설정되면 터미널에서 다음 명령을 사용하여 바이너리 파일을 실행할 수 있습니다.
$ ./filename
dos2unix
명령을 사용하여 바이너리 파일 실행
바이너리 파일을 실행할 수 없음
을 해결하는 가장 좋은 솔루션은 Linux에서 dos2unix
명령을 사용하는 것입니다. 이 명령은 Linux 시스템에서 DOS용으로 만들어진 바이너리 파일을 실행하는 데 도움이 될 수 있습니다.
DOS 바이너리 파일을 Unix 형식으로 변환하는 데 사용되는 명령:
$ dos2unix filename.bin
터미널에서 이 명령을 사용하면 DOS 형식의 바이너리 파일이 Unix 형식으로 변환됩니다. 그러면 Linux 시스템이 이진 파일을 실행할 수 있습니다.
이 기사에서는 Linux에서 이진 파일을 실행할 수 없습니다
오류를 해결하기 위해 가능한 모든 솔루션을 설명했습니다. 이 Linux 문서가 Linux에서 바이너리 파일을 실행하는 방법을 이해하는 데 도움이 되기를 바랍니다.
My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.
LinkedIn