전혀 실행되지 않는 실행 파일을 처리하는 방법은 무엇입니까?

전혀 실행되지 않는 실행 파일을 처리하는 방법은 무엇입니까?

Linux 실행 파일을 다운로드했습니다.시작 494, 이제 실행해 보려고 합니다. 루트로서 실행 가능하게 만들고 실행해 봅니다.

chmod +x unetbootin-linux-494
./unetbootin-linux-494

아무 일도 일어나지 않으며 출력도 표시되지 않습니다. ps -e | grep unetbootin아무것도 표시되지 않습니다. 파일 크기(4.3MB)는 올바른 것으로 보이지만 이를 확인할 수 있는 체크섬이 sourceforge에 표시되지 않습니다. 내 파티션(루트임에도 불구하고)에서 실행 중이므로 /home파일 시스템이 실행 불가능하지 않습니다.

이 파일을 어떻게 실행하거나 적어도 문제를 추가로 디버그하려면 어떻게 해야 합니까? 저는 데비안 x64를 사용하고 있습니다.

답변1

짧은 답변:

설치 ia32-libs하고 ia32-libs-gtk문제를 해결해야 합니다. 질문은 매우 기본적입니다. 적절한 라이브러리 없이 64비트 시스템에서 32비트 실행 파일을 실행하면 작동하지 않습니다.

더 긴 답변:

제가 처음에 올린 글이 너무 성급했을 수도 있지만, 해결책을 찾는 데 어려움이 있었으므로 답변을 드리는 게 좋을 것 같습니다. 나는 그것을 실행했고 strace ./unetbootin-linux-494나에게 말했다 :

execve("./unetbootin-linux-494", ["./unetbootin-linux-494"], [/* 33 vars */]) = 0
[ Process PID=5369 runs in 32 bit mode. ]
old_mmap(0x1020000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x1020000) = 0x1020000
readlink("/proc/self/exe", "/home/jb/Downloads/unetbootin-linux-494", 4096) = 43
old_mmap(0x8048000, 10891295, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x8048000
mprotect(0x8048000, 10891292, PROT_READ|PROT_EXEC) = 0
old_mmap(0x8aac000, 124071, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0xa63000) = 0x8aac000
mprotect(0x8aac000, 124068, PROT_READ|PROT_WRITE) = 0
old_mmap(0x8acb000, 4436, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x8acb000
brk(0x8acd000)                          = 0x8bfc000
open("/lib/ld-linux.so.2", O_RDONLY)    = -1 ENOENT (No such file or directory)
_exit(127)    = ?

분명히 문제는 ld-linux.so.2개체가 내 시스템에 존재하지 않는다는 것입니다. 개체가 의 일부이므로 ia32-libs패키지를 설치했습니다. 그러나 다음 오류가 발생하므로 이것만으로는 충분하지 않습니다.

unetbootin-linux-494: error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file: No such
file or directory

이에 따르면오류 보고서그런데 문제는 ia32-libs-gtk패키지도 설치해야 한다는 점이다. 일단 설치하고 나면 실행 파일이 제대로 실행되었습니다.

관련 정보