
Я следовал руководству по поиску зависимых библиотек программы, и это было объяснено следующим образом:
whereis firefox
показывает папки, куда он установлен, берет полный путь к бинарнику, иldd /usr/bin/firefox
поместите его в качестве аргумента команды ldd.
В руководстве в качестве примера также использовался Firefox, поэтому я был уверен, что воспроизведу его, но когда я набрал:
решение1
Исполняемый файл firefox
представляет собой скрипт оболочки в вашей системе.
Некоторые приложения используют скрипт-обертку, который настраивает среду выполнения для приложения, возможно, для лучшей интеграции с текущей версией Unix или для предоставления альтернативных способов запуска приложения (новые наборы параметров командной строки и т. д.), которые само приложение не предоставляет. Иногда скрипт-обертка используется для выбора правильного фактического двоичного файла для запуска на основе способа вызова этого скрипта.
Например, компилятор C MPI («Message Passing Interface») — это не более чем скрипт-обертка вокруг cc
(или любого другого компилятора, на использование которого он настроен), который обеспечивает наличие заголовков MPI в пути поиска и присоединение библиотеки 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 "$@"