Главная » 2017 » Ноябрь » 16 » man ldd
01:24
man ldd

SEO sprint - Всё для максимальной раскрутки!





ИМЯ


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 программы и,
возможно, выполнению самой программы). Поэтому никогда не запускайте ldd для
недоверенных исполняемых файлах, так как это может привести к выполнению
произвольного кода. Безопасной альтернативой при работе с недоверенными
исполняемыми файлами является команда:

$ objdump -p /путь/к/программе | grep NEEDED



ПАРАМЕТРЫ


--version
Выдать номер версии ldd.

-v, --verbose
Выдать всю информацию, включая, например, информацию о версии символов.

-u, --unused
Выдать неиспользуемые явные зависимости. (Начиная с glibc 2.3.4.)

-d, --data-relocs
Выполнить перемещения и показать все отсутствующие объекты (только для
ELF).

-r, --function-relocs
скомпилированы до добавления поддержки ldd в компиляторы. Если вы используете ldd
для одной из таких программ, то будет предпринята попытка выполнить программу с
argc = 0, и результаты будут непредсказуемы.



СМОТРИТЕ ТАКЖЕ


pldd(1), sprof(1), ld.so(8), ldconfig(8)

Категория: (1) Прикладные программы и команды оболочки | Просмотров: 604 | Добавил: Администратор | Рейтинг: 0.0/0
Всего комментариев: 0
avatar