まったく実行されない実行可能ファイルを処理する方法は?

まったく実行されない実行可能ファイルを処理する方法は?

Linux実行ファイルをダウンロードしました。開始 494、今実行してみてください。ルートとして実行可能にして実行してみます。

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

何も起こらず、出力も表示されません。ps -e | grep unetbootin何も表示されません。ファイルサイズ(4.3 MB)は正しいように見えますが、これを確認できるチェックサムはsourceforgeに表示されません。私のパーティション(ルートにもかかわらず)で実行されているため、/homeファイルシステムは実行できません。

このファイルをどのように実行するか、少なくとも問題をさらにデバッグするにはどうすればよいですか?私はDebian 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パッケージもインストールしなければならないという点だ。一度インストールしたら、実行可能ファイルが正しく実行されました。

おすすめ記事