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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.