Provided by: manpages-ru_4.21.0-2_all bug

ИМЯ

       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)