「ldd /usr/bin/firefox」がライブラリファイルをリストしないのはなぜですか?

「ldd /usr/bin/firefox」がライブラリファイルをリストしないのはなぜですか?

以下に説明するプログラムの依存ライブラリを見つける方法のチュートリアルに従います。

  1. whereis firefox インストールされたフォルダを表示し、バイナリのフルパスを取得し、
  2. ldd /usr/bin/firefox これを ldd コマンドの引数として指定します。

このチュートリアルではFirefoxも例として使用しているので、再作成したいのですが、次のように入力します。

答え1

実行ファイルはfirefoxシステムのシェルスクリプトです。

一部のアプリケーションでは、ラッパースクリプトを使用してアプリケーションの実行環境を設定します。おそらく、現在のUnixバージョンとよりよく統合したり、アプリケーションを実行したりするための代替方法(新しいコマンドラインオプションセットなど)を提供できます。アプリ自体では提供されません。時々、ラッパースクリプトは、スクリプトの呼び出し方法に従って実行する正しい実際のバイナリを選択するために使用されます。

たとえば、MPI(「メッセージ転送インタフェース」)Cコンパイラは、ccMPIヘッダが検索パスにあり、MPIライブラリが次の場所にリンクされていることを確認するラッパースクリプト(または有効になっているコンパイラ)にすぎません。コンパイル時間。

このスクリプトを調べて、どの状況でどのバイナリを呼び出すかを確認してください。

答え2

$ file $(which firefox)
/usr/bin/firefox: Bourne-Again shell script, ASCII text executable

$ tail $(which firefox)
done

# Run the browser
debugging=0
if [ $debugging = 1 ]
then
  echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
fi

exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"

関連情報