Provided by: manpages-ru_4.21.0-2_all 

ИМЯ
ldd - выдаёт список зависимостей от общих объектов
СИНТАКСИС
ldd [параметр]… файл…
ОПИСАНИЕ
Программа ldd выдаёт список общих объектов (общих библиотек), которые требуются для каждой из заданных в
командной строке программы или общего объекта. Пример использования и результат работы:
$ ldd /bin/ls
linux-vdso.so.1 (0x00007ffcc3563000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87e5459000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f87e5254000)
libc.so.6 => /lib64/libc.so.6 (0x00007f87e4e92000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f87e4c22000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f87e4a1e000)
/lib64/ld-linux-x86-64.so.2 (0x00005574bf12e000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f87e4817000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f87e45fa000)
Обычно, ldd вызывает стандартный динамический компоновщик (смотрите ld.so(8)), установив значение
переменной окружения LD_TRACE_LOADED_OBJECTS в 1. Это заставляет компоновщик просмотреть динамические
зависимости программы и найти (согласно правилам, описанным в ld.so(8)) и загрузить объекты,
удовлетворяющие этим зависимостям. Для каждой зависимости ldd показывает расположение подошедшего объекта
и адрес (шестнадцатеричный) загрузки (общие зависимости linux-vdso и ld-linux являются специальными;
смотрите vdso(7) и ld.so(8)).
Безопасность
Однако заметим, что при определённых условиях (например, в программе указан интерпретатор ELF не
ld-linux.so) некоторые версии ldd могут попытаться получить информацию о зависимостях посредством прямого
запуска программы,что может привести к выполнению какого угодно кода, указанного в интерпретаторе ELF
программы и, возможно, выполнению самой программы (до glibc 2.27 так, например, поступала авторская
реализация ldd, хотя в большинстве дистрибутивов содержалась изменённая версия, которая так не делала).
Поэтому никогда не запускайте ldd для недоверенных исполняемых файлов, так как это может привести к
выполнению произвольного кода. Безопасной альтернативой при работе с недоверенными исполняемыми файлами
является команда:
$ objdump -p /путь/к/программе | grep NEEDED
Однако заметим, что эта альтернатива показывает только непосредственные зависимости исполняемого файла, а
ldd показывает всё его дерево зависимостей.
ПАРАМЕТРЫ
--version
Выдать номер версии ldd.
-v, --verbose
Выдать всю информацию, включая, например, информацию о версии символов.
-u, --unused
Выдать неиспользуемые явные зависимости. (Начиная с glibc 2.3.4.)
-d, --data-relocs
Выполнить перемещения и показать все отсутствующие объекты (только для ELF).
-r, --function-relocs
Выполнить перемещения и для объектов данных и для функций, и показать все отсутствующие объекты
или функции (только для ELF).
--help Выдать справку по использованию.
ДЕФЕКТЫ
ldd не работает с динамическими библиотеками в формате a.out.
ldd не работает с некоторыми очень старыми a.out программами, которые были скомпилированы до добавления
поддержки ldd в компиляторы. Если вы используете ldd для одной из таких программ, то будет предпринята
попытка выполнить программу с argc = 0, и результаты будут непредсказуемы.
СМ. ТАКЖЕ
pldd(1), sprof(1), ld.so(8), ldconfig(8)
ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Artyom Kunyov <artkun@guitarplayer.ru>, Azamat
Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova
<blackkatelv@gmail.com>, Konstantin Shvaykovskiy <kot.shv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>,
Иван Павлов <pavia00@gmail.com> и Сухичев Михаил Иванович <sukhichev@yandex.ru>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо
на man-pages-ru-talks@lists.sourceforge.net.
Linux man-pages 6.03 5 февраля 2023 г. ldd(1)