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
패키지도 설치해야 한다는 점이다. 일단 설치하고 나면 실행 파일이 제대로 실행되었습니다.