Команда ldconfig Linux создает необходимые ссылки и кэш (для использования компоновщиком во время выполнения, ld.so ) с самыми последними общими библиотеками, найденными в каталогах, указанных в командной строки, в файле /etc/ld.so.conf и в доверенных каталогах (/usr/lib и /lib ).
ldconfig проверяет заголовок и имена файлов библиотек, с которыми он сталкивается, при определении того, какие версии должны обновлять свои ссылки. ldconfig игнорирует символические ссылки при сканировании библиотек.
ldconfig будет пытаться определить тип библиотек ELF (т. е. libc 5.x или libc 6.x (glibc)) на основе того, с какими библиотеками C, если они есть, были связаны библиотеки, поэтому при создании динамического библиотеках, имеет смысл явно ссылаться на libc (используйте -lc). ldconfig может хранить несколько типов библиотек ABI в одном кеше на архитектурах, которые допускают собственный запуск нескольких ABI, таких как ia32/ia64/x86_64 или sparc32/sparc64.
Некоторые существующие библиотеки не содержат достаточно информации, чтобы разрешить вывод их типа, поэтому формат файла /etc/ld.so.conf позволяет указать ожидаемый тип. Это только используется для тех ELF-библиотек, с которыми мы не можем разобраться. Формат выглядит так: «dirname = TYPE», где типом может быть libc4, libc5 или libc6. (Этот синтаксис также работает в командной строке). Пробелы не разрешены. Также см. Параметр -p .
Имена каталогов, содержащие = , больше не являются допустимыми, если у них также нет ожидаемого описателя типа.
ldconfig обычно должен запускаться суперпользователем, поскольку для этого может потребоваться разрешение на запись в некоторые корневые каталоги и файлы. Если вы используете параметр -r для изменения корневого каталога, вам не обязательно быть суперпользователем, если у вас достаточно прав на это дерево каталогов.
конспект
ldconfig [ВАРИАНТ …]
Опции
-v – подробный режим. Напечатайте номер текущей версии, имя каждого каталога во время его сканирования и любые созданные ссылки.
-n – только каталоги процессов, указанные в командной строке. Не обрабатывайте доверенные каталоги (/usr/lib и /lib ) и каталоги, указанные в /etc/ld.so.conf . Подразумевается -N .
-N . Не перестраивайте кеш. Если -X также не указано, ссылки по-прежнему обновляются.
-X – не обновлять ссылки. Если -N также не указано, кэш все еще перестраивается.
-f conf – используйте conf вместо /etc/ld.so.conf .
-C cache – используйте кеш вместо /etc/ld.so.cache .
-r root – перейдите в root и используйте его в качестве корневого каталога.
-l – режим библиотеки. Вручную связать отдельные библиотеки. Предназначено для использования только специалистами.
-p – используйте print-cache , чтобы распечатать списки каталогов и библиотек-кандидатов, хранящиеся в текущем кэше.
-c – формат = FORMAT для файла кэша. Возможны варианты: старый, новый и совместимый (по умолчанию).
-? – справка/использование для получения информации об использовании.
-V – версия для версии для печати и выхода.
Примеры
#/sbin/ldconfig -v
установит правильные ссылки для общих двоичных файлов и перестроит кеш.
#/sbin/ldconfig -n/lib
Пользователь root после установки новой общей библиотеки будет корректно обновлять символические ссылки общей библиотеки в/lib.
Смотрите также
ldd (1) – команда Idd в Linux для отображения общих библиотек, необходимых для любой конкретной программы.
Используйте команду man (% man ), чтобы увидеть, как команда используется на вашем конкретном компьютере.