man ldconfig |
![]() |
Добавил(а) microsin |
Утилита ldconfig конфигурирует динамические привязки библиотек во время работы программ (dynamic linker run-time bindings). SYNOPSIS /sbin/ldconfig [-nNvXV] [-f conf] [-C cache] [-r root] directory... ОПИСАНИЕ Утилита 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 -C cache -f conf -i, --ignore-aux-cache -l (начиная с glibc 2.2) режим библиотеки. Линковка вручную отдельных библиотек. Эта опция предназначена только для экспертов. -n Обрабатывать только директории, указанные в командной строке. Не обрабатывать ни trusted-директории, ни те, которые указаны в /etc/ld.so.conf. Подразумевает -N. Это так называемые "доверенные" каталоги, предназначенные для запуска из них программного обеспечения. -N Не перестраивать кеш. Если также не указана опция -X, то ссылки все еще обновятся. -p, --print-cache -r root -v, --verbose -V, --version -X Не обновлять ссылки. Если также не указана опция -N, кеш все еще будет перестроен. ФАЙЛЫ /lib/ld.so /etc/ld.so.conf /etc/ld.so.cache СМ. ТАКЖЕ ldd(1), ld.so(8) [Ссылки] 1. Ubuntu FAQ. |