奇妙な実行可能動作

奇妙な実行可能動作

Ubuntu 9.10サーバーがあります。実行ファイルを入れようとしていますが、最新のflashplayer(デバッガバージョン)が出てきますね。

どういうわけかファイルが存在し、実行可能に見えますが、ファイルを実行すると、コンソールにファイルが存在しないと表示されます。

$ pwd
/home/rodrigo/t_fplayer
$ ls -lh
total 12M
-rwxr-xr-x 1 rodrigo rodrigo 12M 2011-07-09 11:35 flashplayerdebugger
$ ./flashplayerdebugger
-bash: ./flashplayerdebugger: No such file or directory
$ ldd flashplayerdebugger
       not a dynamic executable

私のローカルコンピュータ(ssh経由でコピー)で同じ実行可能ファイルを使用すると正常に動作します。

何が起こったのか知っていますか?この行動を何で説明できますか?この問題を解決する方法を知っていますか?

答え1

この問題は、64ビット<-> 32ビット互換性の問題のようです。

~/t_fplayer$ file flashplayerdebugger 
flashplayerdebugger: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped

解決策はia32-libsをインストールすることです。

回答を見るhttps://serverfault.com/questions/288666

答え2

私の考えでは、/home/rodrigo/t_fplayer/flashplayerdebuggerの形式が正しくないようです。実際、ldd出力にも同じ内容が表示されます。

実行:file /home/rodrigo/t_fplayer/flashplayerdebuggerファイルコマンドがその形式について知っている内容を確認します。

これはおそらくASCIIでエンコードされたファイルを解凍してインストールする素晴らしい「シェルスクリプト」の1つです。独自のソフトウェアベンダーはこの種の愚かさを愛しています。

関連情報