GNU/Linux >> Linux の 問題 >  >> Linux

実行可能ファイルがない場合

この質問にはすでに回答があります :9年前に閉鎖。

重複の可能性:
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システムの両方。

後者にはライブラリファイルがないことに気付くと思います。


Linux
  1. Ubuntuでスワップファイルを作成および削除する

  2. 7zip ファイル:Ubuntu、Debian、Fedora で 7z ファイルを解凍する方法

  3. Ubuntu での Prolog プログラミング

  1. UbuntuLinuxでISOファイルを開く方法

  2. rsync がローカル ファイルにデルタ転送を使用しないのはなぜですか?

  3. .fuse_hidden* ファイルを削除するには?

  1. Ubuntu15.04でScilabを使用してファイルを処理する方法

  2. CATコマンドを使用してUbuntu20.04でテキストファイルを結合する

  3. UbuntuでPDFファイルを編集する5つの方法