Главная > Управление пакетами и системой > ldd

ldd: Проверка зависимостей общих библиотек

Команда ldd выводит список общих библиотек (shared libraries), необходимых для динамически связанных исполняемых файлов или общих библиотек. Это полезно для определения того, от каких библиотек зависит программа и где эти библиотеки расположены в системе.

Обзор

ldd показывает список динамических библиотек, необходимых исполняемым файлам или общим библиотекам в формате ELF (Executable and Linkable Format) во время выполнения. Это может быть использовано для решения проблем с отсутствующими библиотеками, проверки среды сборки, анализа безопасности и т. д.

Основные функции

  • Проверка зависимостей динамических библиотек программы
  • Проверка пути к каждой библиотеке в системе
  • Идентификация отсутствующих библиотек и помощь в решении проблем

Основные опции

Команда ldd может регулировать уровень детализации выводимой информации с помощью различных опций.

Управление выводом информации

Сгенерированная команда:

Комбинируйте команды.

Описание:

`ldd` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Базовое использование: проверка зависимостей /bin/ls

ldd /bin/ls

Выводит список общих библиотек, необходимых для исполняемого файла /bin/ls.

Проверка зависимостей /usr/bin/python3 с подробной информацией

ldd -v /usr/bin/python3

Выводит зависимости исполняемого файла /usr/bin/python3 с подробной информацией.

Проверка зависимостей конкретной общей библиотеки

ldd /lib/x86_64-linux-gnu/libc.so.6

Проверяет зависимости самой общей библиотеки libc.so.6.

Советы и предостережения

Важные замечания и полезные советы при использовании ldd.

Предупреждение безопасности

ldd проверяет зависимости библиотек, напрямую запуская исполняемый файл. Поэтому использование ldd для ненадежных исполняемых файлов может быть небезопасным. Для неизвестных бинарных файлов безопаснее использовать такие инструменты, как `readelf -d`.

Советы по применению

  • **Отладка ошибок отсутствия библиотек**: При возникновении ошибки 'shared library not found' во время выполнения программы, ldd позволяет быстро определить, какая библиотека отсутствует.
  • **Подготовка окружения контейнеров**: При создании образов контейнеров, таких как Docker, ldd может использоваться для определения минимального набора необходимых библиотек и оптимизации размера образа.
  • **Проверка окружения кросс-компиляции**: Полезно для проверки того, что бинарный файл, скомпилированный для определенной архитектуры, правильно связан с нужными библиотеками.


Те же команды в категории