Программирование PC man ldconfig Sat, December 21 2024  

Поделиться

Нашли опечатку?

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


man ldconfig Печать
Добавил(а) microsin   

Утилита ldconfig конфигурирует динамические привязки библиотек во время работы программ (dynamic linker run-time bindings).

SYNOPSIS

/sbin/ldconfig [-nNvXV] [-f conf] [-C cache] [-r root] directory...
/sbin/ldconfig -l [-v] library...
/sbin/ldconfig -p

ОПИСАНИЕ

Утилита ldconfig создает необходимые ссылки и кэш к самым последним общим библиотекам, найденным в каталогах, указанных в командной строке, в файле /etc/ld.so.conf и в доверенных каталогах, /lib и /usr/lib (на некоторых 64-битных архитектурах, таких как x86-64, /lib и /usr/lib, являются доверенными каталогами для 32-битных библиотек, в то время как /lib64 и /usr/lib64 используются для 64-разрядных библиотек).

Кэш используется run-time линкером ld.so или ld-linux.so. Утилита ldconfig проверяет заголовки и имена файлов библиотек, с которыми она сталкивается при определении того, какие версии должны иметь обновленные ссылки.

Утилита ldconfig пытается автоматически определить тип ELF-библиотек (например libc5 или libc6/glibc), основываясь на том, какие C-библиотеки, если они есть, были линкованы. Некоторые существующие библиотеки не содержат достаточно информации, чтобы можно было вывести их тип. Поэтому формат файла /etc/ld.so.conf позволяет указать спецификацию ожидаемого типа. Это используется только для тех ELF-библиотек, которые не могут быть обработаны. Формат следующий: "dirname=TYPE", где TYPE может быть libc4, libc5 или libc6 (этот синтаксис также работает в командной строке). Пробелы не допускаются. См. также опцию -p. Утилита ldconfig должна быть обычно запущена суперпользователем, поскольку она может требовать прав на запись над некоторыми директориями и файлами, у которых владелец root.

Обратите внимание, что ldconfig будет смотреть только на файлы с именами lib*.so* (для обычных shared-объектов) или ld-*.so* (для самого динамического загрузчика). Другие файлы будут игнорироваться. Также ldconfig ожидает определенного шаблона, как настраиваются символические ссылки, как в этом примере, где промежуточный файл (здесь libfoo.so.1) это SONAME для библиотеки:

libfoo.so -> libfoo.so.1 -> libfoo.so.1.12

SONAME: этим термином обозначают часть имени библиотеки, которая определяет совместимость одной версии библиотеки с другой. Например, libjson-c.so.3 и libjson-c.so.4 обозначают две несовместимые SONAME библиотек. Совместимыми будут считаться, например, библиотеки libjson-c.so.4.2 и libjson-c.so.4.4, а библиотеки libjson-c.so.3.0 и libjson-c.so.4.0 будут несовместимыми.

Если не придерживаться такого шаблона, то это может привести к проблемам совместимости при обновлении библиотек.

ОПЦИИ

-c fmt, --format=fmt
  (начиная с glibc 2.2) используемый формат кеша: old, new или compat. Начиная с glibc 2.32 по умолчанию применяется new. До этого был compat.

-C cache
  Использовать cache вместо /etc/ld.so.cache.

-f conf
  Использовать conf вместо /etc/ld.so.conf.

-i, --ignore-aux-cache
  (начиная с glibc 2.7) игнорировать дополнительный файл кеша (auxiliary cache file).

-l  (начиная с glibc 2.2) режим библиотеки. Линковка вручную отдельных библиотек. Эта опция предназначена только для экспертов.

-n Обрабатывать только директории, указанные в командной строке. Не обрабатывать ни trusted-директории, ни те, которые указаны в /etc/ld.so.conf. Подразумевает -N.

Это так называемые "доверенные" каталоги, предназначенные для запуска из них программного обеспечения.

-N Не перестраивать кеш. Если также не указана опция -X, то ссылки все еще обновятся.

-p, --print-cache
  Напечатает список директорий и кандидатов библиотек, сохраненных в текущем кэше.

-r root
  Поменять текущую директорию на root и использовать как корневую директорию.

-v, --verbose
  Подробный режим. Напечатает текущий номер версии, имя каждой сканируемой директории, и любые созданные ссылки. Отменяет тихий режим (quiet mode).

-V, --version
  Напечатает версию программы.

-X Не обновлять ссылки. Если также не указана опция -N, кеш все еще будет перестроен.

ФАЙЛЫ

/lib/ld.so
  Run-time linker/loader.

/etc/ld.so.conf
  Файл со списком директорий, по одной в каждой строке, где происходит поиск библиотек.

/etc/ld.so.cache
  Файл, содержащий упорядоченный список библиотек, найденных как в директориях, указанных в /etc/ld.so.conf, так и найденных в trusted-директориях.

СМ. ТАКЖЕ

ldd(1), ld.so(8)

[Ссылки]

1. Ubuntu FAQ.
2. Отладка консольных приложений Linux.
3. man ldd.

 

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


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

Top of Page