Как узнать зависимости для программы (какие библиотеки или модули использует программа) Печать
Добавил(а) microsin   

Процесс покажу на примере программы ls - мне её понадобилось вместе с библиотеками скопировать в каталог ~ftp/bin при организации анонимного доступа к ftp-серверу (см. статью Установка анонимного FTP сервера ftpd).

1. Сначала узнаем, где на диске лежит наша программа. Иногда можно воспользоваться locate, но в случае с ls это неудобно - выводится слишком большой список. Поэтому используем find:
# find / -name ls
/bin/ls
/usr/share/locale/l10n/ls
/root/temp/gcc-4.3.0/libjava/org/w3c/dom/ls
/root/temp/gcc-4.3.0/libjava/classpath/lib/org/w3c/dom/ls
/root/temp/gcc-4.3.0/libjava/classpath/lib/gnu/xml/dom/ls
/root/temp/gcc-4.3.0/libjava/classpath/external/w3c_dom/org/w3c/dom/ls
/root/temp/gcc-4.3.0/libjava/classpath/gnu/xml/dom/ls
/root/temp/gcc-4.3.0/libjava/gnu/xml/dom/ls

Отсюда понятно, что тело программы ls находится в папке /bin.

2. Узнаем, какие используются библиотеки для программы ls, и где они находятся. Для этого используем утилиту ldd:
# ldd /bin/ls
        librt.so.1 => /lib/tls/librt.so.1 (0x00bbc000)
        libacl.so.1 => /lib/libacl.so.1 (0x003b1000)
        libselinux.so.1 => /lib/libselinux.so.1 (0x00518000)
        libc.so.6 => /lib/tls/libc.so.6 (0x00284000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x004e7000)
        /lib/ld-linux.so.2 (0x00266000)
        libattr.so.1 => /lib/libattr.so.1 (0x005b7000)