.\" -*- coding: UTF-8 -*- .\" Copyright 1995-2000, David Engel .\" Copyright 1995, Rickard E. Faith .\" Copyright 2000, Ben Collins .\" Copyright 2000, Jakub Jelinek .\" Copyright 2012-2016, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ldd 1 "8 февраля 2026 г." "Linux man\-pages 6.18" .SH НАИМЕНОВАНИЕ ldd \- выдаёт список зависимостей от общих объектов .SH СИНТАКСИС .SY ldd [\fIoption\fP\ .\|.\|.\&] \fIfile\fP\ .\|.\|. .YS .SH ОПИСАНИЕ Программа \fBldd\fP выдаёт список общих объектов (общих библиотек), которые требуются для каждой из заданных в командной строке программы или общего объекта. Пример использования и результат работы: .P .in +4n .EX $\fB ldd /bin/ls\fP; 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) .EE .in .P .\" Обычно, \fBldd\fP вызывает стандартный динамический компоновщик (смотрите \fBld.so\fP(8)), установив значение переменной окружения \fBLD_TRACE_LOADED_OBJECTS\fP в 1. Это заставляет компоновщик просмотреть динамические зависимости программы и найти (согласно правилам, описанным в \fBld.so\fP(8)) и загрузить объекты, удовлетворяющие этим зависимостям. Для каждой зависимости \fBldd\fP показывает расположение подошедшего объекта и адрес (шестнадцатеричный) загрузки (общие зависимости \fIlinux\-vdso\fP и \fIld\-linux\fP являются специальными; смотрите \fBvdso\fP(7) и \fBld.so\fP(8)). .SS Безопасность .\" The circumstances are where the program has an interpreter .\" other than ld-linux.so. In this case, ldd tries to execute the .\" program directly with LD_TRACE_LOADED_OBJECTS=1, with the .\" result that the program interpreter gets control, and can do .\" what it likes, or pass control to the program itself. .\" Much more detail at .\" http://www.catonmat.net/blog/ldd-arbitrary-code-execution/ .\" Mainline glibc's ldd allows this possibility (the line .\" try_trace "$file" .\" in glibc 2.15, for example), but many distro versions of .\" ldd seem to remove that code path from the script. .\" glibc commit eedca9772e99c72ab4c3c34e43cc764250aa3e3c Однако заметим, что при определённых условиях (например, в программе указан интерпретатор ELF не \fIld\-linux.so\fP) некоторые версии \fBldd\fP могут попытаться получить информацию о зависимостях посредством прямого запуска программы,что может привести к выполнению какого угодно кода, указанного в интерпретаторе ELF программы и, возможно, выполнению самой программы (до glibc 2.27 так, например, поступала авторская реализация \fBldd\fP, хотя в большинстве дистрибутивов содержалась изменённая версия, которая так не делала). .P Поэтому \fIникогда\fP не запускайте \fBldd\fP для недоверенных исполняемых файлов, так как это может привести к выполнению произвольного кода. Безопасной альтернативой при работе с недоверенными исполняемыми файлами является команда: .P .in +4n .EX $\fB objdump \-p /path/to/program | grep NEEDED\fP; .EE .in .P Однако заметим, что эта альтернатива показывает только непосредственные зависимости исполняемого файла, а \fBldd\fP показывает всё его дерево зависимостей. .SH ОПЦИИ .TP \fB\-\-version\fP Выдать номер версии \fBldd\fP. .TP \fB\-\-verbose\fP .TQ \fB\-v\fP Выдать всю информацию, включая, например, информацию о версии символов. .TP \fB\-\-unused\fP .TQ \fB\-u\fP Выдать неиспользуемые явные зависимости. (Начиная с glibc 2.3.4.) .TP \fB\-\-data\-relocs\fP .TQ \fB\-d\fP Выполнить перемещения и показать все отсутствующие объекты (только для ELF). .TP \fB\-\-function\-relocs\fP .TQ \fB\-r\fP Выполнить перемещения и для объектов данных и для функций, и показать все отсутствующие объекты или функции (только для ELF). .TP \fB\-\-help\fP .\" .SH NOTES .\" The standard version of .\" .B ldd .\" comes with glibc2. .\" Libc5 came with an older version, still present .\" on some systems. .\" The long options are not supported by the libc5 version. .\" On the other hand, the glibc2 version does not support .\" .B \-V .\" and only has the equivalent .\" .BR \-\-version . .\" .P .\" The libc5 version of this program will use the name of a library given .\" on the command line as-is when it contains a \[aq]/\[aq]; otherwise it .\" searches for the library in the standard locations. .\" To run it .\" on a shared library in the current directory, prefix the name with "./". Выдать справку по использованию. .SH ОШИБКИ \fBldd\fP не работает с динамическими библиотеками в формате a.out. .P .\" .SH AUTHOR .\" David Engel. .\" Roland McGrath and Ulrich Drepper. \fBldd\fP не работает с некоторыми очень старыми a.out программами, которые были скомпилированы до добавления поддержки \fBldd\fP в компиляторы. Если вы используете \fBldd\fP для одной из таких программ, то будет предпринята попытка выполнить программу с \fIargc\fP = 0, и результаты будут непредсказуемы. .SH "СМОТРИТЕ ТАКЖЕ" \fBpldd\fP(1), \fBsprof\fP(1), \fBld.so\fP(8), \fBldconfig\fP(8) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Artyom Kunyov , Azamat Hackimov , Dmitry Bolkhovskikh , Katrin Kutepova , Konstantin Shvaykovskiy , Yuri Kozlov , Иван Павлов и Сухичев Михаил Иванович . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT debian-l10n-russian@lists.debian.org списка рассылки русских переводчиков .ME .