重複の可能性:
chroot環境で一部のバイナリを実行できません(zsh:見つかりません)
今日、私は困惑している何かに遭遇しました。同僚は、ダウンロードした特定のコンパイル済みバイナリ(ここで入手可能)を使用しています。彼が取り組んでいるUbuntu10.04LTSサーバーで、このファイルを実行しようとすると、権限が正しく設定されていても、ファイルが見つかりません。
それでも、OpenSUSE 11.4から同じことを試みても、問題なく動作します。 file
を実行しています その上で私に:
ELF 32ビットLSB実行可能ファイル、Intel 80386、バージョン1(SYSV)、動的リンク(共有ライブラリを使用)、GNU / Linux 2.6.15用、ストリップ
UbuntuボックスとOpenSUSEボックスはどちらも64ビットインストールであり、file
両方のマシンで同じ情報を返します。
それは私にはうまく見えます。また、opensuseボックスでは、LDDからライブラリファイルの短いリストが表示されます。手作業で確認すると、指定されたファイルはすべてUbuntuサーバーにも存在します。ただし、Straceの出力は異なります:
OpenSUSE:
execve(“ ./ trid”、[“ ./trid”]、[/ * 122 vars * /])=0
Ubuntu(フルパスを指定しても結果は変わりません):
execve(“ ./ trid”、[“ ./trid”]、[/ * 19 vars * /])=-1 ENOENT(そのようなファイルまたはディレクトリはありません)
このようなファイルがこのように実行できなくなる原因は何ですか?
承認された回答:
タイプ
ldd ./trid
openSuseシステムとUbuntuシステムの両方。
後者にはライブラリファイルがないことに気付くと思います。