Главная arrow Администрирование arrow FreeBSD, Linux, ... arrow Как узнать зависимости для программы (какие библиотеки или модули использует программа) Wednesday, November 22 2017  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

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

Процесс покажу на примере программы 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)

 

Комментарии  

  1. #1 AJEV
    2010-02-0317:24:19 Лучше вместо: "find / -name ls", все-же использовать "whereis ls"

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2017