シェルが「見つかりません」応答の考えられる原因は何ですか?

シェルが「見つかりません」応答の考えられる原因は何ですか?

実行可能ファイルを実行しようとしたときにシェルが「見つかりません」と応答する理由はすべてありますか?

  • 実行可能ファイルが存在し、実行権限(chmod +x)があります。
  • lddすべての依存関係が存在することを示します。
  • ファイルは、実行可能ファイルが正しいアーキテクチャ用にコンパイルされたことを示します(そうでなければならない理由はなく、Yoctoビルドの残りのシステムでコンパイルされました)。

また何らかの理由がありますか?

答え1

実行権限を持つバイナリがある場合、「見つかりません」というエラーメッセージが表示される一般的な原因は、バイナリから要求された動的ローダが存在しないためです。以下を使用して確認できますreadelf

$ readelf -l /path/to/binary | grep interpreter
      [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]

インタプリタがない場合、実行可能ファイルは「見つかりません」エラーで実行されません。バラより64ビットシステムで32ビットバイナリを実行すると「見つかりません」メッセージを受信するもっと学ぶ。

関連情報