“который” эквивалентный для общих библиотек

help команда удара. Это использует внутренние структуры удара, чтобы сохранить и получить информацию о командах удара.

man макро-набор для troff (через groff) процессор. Вывод обработки единственного файла отправляется в пейджер man команда по умолчанию.

info средство просмотра только для текста для архивов в информационном выводе формата Texinfo.

9
07.10.2011, 09:31
3 ответа

Если у Вас есть исполняемый файл, и Вы хотите видеть, где он берет библиотеки, выполненные

ldd /path/to/executable

Это будет составлять библиотеки по пути поиска по умолчанию, а также библиотеки в rpath этого исполняемого файла если таковые имеются.

На Linux пути к системным библиотекам кэшируются для эффективности. /sbin/ldconfig -p отображает содержание кэша (он хранится в /etc/ld.so.cache). Вот сценарий, который показывает местоположение (местоположения) библиотеки:

#!/bin/sh
if [ -n "$LD_LIBRARY_PATH" ]; then
  set -f
  IFS=:
  for d in $LD_LIBRARY_PATH; do
    if [ -e "$d/$1" ]; then echo "$1"; fi
  done
fi
/sbin/ldconfig -p |
awk -v needle="$1" '$1 == needle {sub(/.* => /, ""); print}'
5
27.01.2020, 20:06

Если Ваши библиотеки правильно кэшируются, необходимо быть abled для нахождения его через:

ldconfig -p|grep "yourlibrary"

При поиске библиотеки, которая шла распределением, Вы могли использовать средства распределения поиска файлов в пакетах.

  • застегните wp "*/library.so" (SLES и OpenSuSE)
  • конфетка обеспечивает "*/library.so" (Redhat и его клоны)

Это также произведет rpms, которые не установлены, но являются частью Ваших активных источников установки.

5
27.01.2020, 20:06

Если Вы ищете утилиту, которая будет работать как gcc -lLIBNAME флаг, который ищет названный файл libLIBNAME.so затем Вы могли, вероятно, использовать немного сценария, который делает что-то вроде этого:

#!/bin/sh
ldpath="${LD_LIBRARY_PATH:-$(</etc/ld.so.conf)}"
notfound=1
for libdir in ${ldpath//:/ }; do
        (test -f "$libdir/lib${1}.so" && echo "$_") && notfound=0
done
[ "$notfound" -eq 0 ]
3
27.01.2020, 20:06
  • 1
    Спасибо за сценарий, но я действительно задаюсь вопросом, существует ли "стандартная" утилита для этого. –  rahmu 06.10.2011, 23:29

Теги

Похожие вопросы