Sudo ldconfig что это
Ldconfig самая полезная команда для новичков сборки в Linux
Рано или поздно любой из начинающих изучать Линукс сталкивается с такой задачей как сборка (компиляция) какого-либо пакета (программы) из исходных кодов (source code). Такая необходимость возникает довольно часто при обновлении программного продукта, либо его установки из CVS источников, либо вообще есть программные продукты которые не распространяются в package (rpm, deb) формате, а только в исходных кодах.
Все бы ничего, но, камнем преткновения при сборке становятся самые распространенные ошибки, звучащие к примеру так:
Все эти ошибки вызваны одним: Ваш сборщик объектных файлов не смог найти необходимых ему библиотек сопутствующих продуктов, необходимых для полной корректной сборки. Конечно, можно залезть в скрипт сборки и начать там ручками править пути к этим библиотекам, хотя за Вас это должен был сделать конфигуратор, но случается что и он то-же не панацея, вобщем это не наш путь, наша палочка-выручалочка утилита ldconfig, которая создает необходимые связки и формирует кэш динамических библиотек установленных в Вашем Линуксе.
Вам всего лишь необходимо отредактировать файл /etc/ld.so.config, в котором хранятся пути к необходимым библиотекам. К примеру, можно забить туда строки:
и выполнить с консоли команду ldconfig, после которой эта утилита просмотрит указанные ей директории на наличие там библиотек и поместит ссылки на них в кэш.
Просмотреть, какие-же библиотеки в данный момент находятся в кэше можно командой:
И в ответ Вы получите длиннющий список, а поэтому, для более удобной конкретики, чтобы посмотреть, есть ли у Вас библиотеки от пакета mysql, можно так:
ldconfig – команда Linux – команда Unix
Команда ldconfig Linux создает необходимые ссылки и кэш (для использования компоновщиком во время выполнения, ld.so ) с самыми последними общими библиотеками, найденными в каталогах, указанных в командной строки, в файле /etc/ld.so.conf и в доверенных каталогах (/usr/lib и /lib ).
ldconfig проверяет заголовок и имена файлов библиотек, с которыми он сталкивается, при определении того, какие версии должны обновлять свои ссылки. ldconfig игнорирует символические ссылки при сканировании библиотек.
ldconfig обычно должен запускаться суперпользователем, поскольку для этого может потребоваться разрешение на запись в некоторые корневые каталоги и файлы. Если вы используете параметр -r для изменения корневого каталога, вам не обязательно быть суперпользователем, если у вас достаточно прав на это дерево каталогов.
конспект
Опции
-v – подробный режим. Напечатайте номер текущей версии, имя каждого каталога во время его сканирования и любые созданные ссылки.
-X – не обновлять ссылки. Если -N также не указано, кэш все еще перестраивается.
-r root – перейдите в root и используйте его в качестве корневого каталога.
-l – режим библиотеки. Вручную связать отдельные библиотеки. Предназначено для использования только специалистами.
-c – формат = FORMAT для файла кэша. Возможны варианты: старый, новый и совместимый (по умолчанию).
-? – справка/использование для получения информации об использовании.
-V – версия для версии для печати и выхода.
Примеры
установит правильные ссылки для общих двоичных файлов и перестроит кеш.
Пользователь root после установки новой общей библиотеки будет корректно обновлять символические ссылки общей библиотеки в/lib.
Смотрите также
ldd (1) – команда Idd в Linux для отображения общих библиотек, необходимых для любой конкретной программы.
Используйте команду man (% man ), чтобы увидеть, как команда используется на вашем конкретном компьютере.
СИНТАКСИС
ldconfig [ПАРАМЕТРЫ. ]
ОПИСАНИЕ
ldconfig создает необходимые ссылки и кэш (для
использования диспетчером реального времени ld.so) для
наиболее часто используемых разделенных библиотек,
найденных в каталогах, указанных в командной строке, а
также указанных в файле /etc/ld.so.conf и в системных
каталогах (/usr/lib и /lib). ldconfig проверяет заголовки
и названия файлов в найденных библиотеках при определении
необходимости обновления ссылок в некоторых версиях.
ldconfig игнорирует символьные ссылки при поиске в
библиотеках.
Названия каталогов, содержащих = считаются
недействительными, пока не определен их тип.
-n Обрабатывать только каталоги, указанные в командной
строке. Не обрабатывать ни системые каталоги
(/usr/lib и /lib), ни каталоги, указанные в
/etc/ld.so.conf. Включает использование параметра
-N.
-f conf
Использовать conf вместо /etc/ld.so.conf.
-C cache
Использовать cache вместо /etc/ld.so.cache.
-r root
Стать root и перейти в каталог root.
-l Режим библиотек. Вручную связывать разные
библиотеки. Только для опытных профессионалов!
ПРИМЕРЫ
установит корректные связи для разделяемых бинарных файлов
и перемоберет кэш.
как root после установки новых разделяемых библиотек
корректно обновит их символьные ссылки в /lib.
ФАЙЛЫ
/lib/ld-linux.so.* загрузчик/привязчик времени исполнения
/etc/ld.so.conf файл, содержащий список каталогов,
разделенных двоеточиями, запятыми,
пробелами, символами табуляции, новой
строки, в которых надо искать
библиотеки.
/etc/ld.so.cache файл, содержащий упорядоченный список
библиотек, найденных в каталогах,
указанных в /etc/ld.so.conf. формат
этого файла плохо читаем и не
предназначается для редактирования
вручную.
lib*.so.version разделяемые библиотеки
НАЙДЕННЫЕ ОШИБКИ
ldconfig, будучи процессом пользователя, должно быть
запущено вручную и не имеет механизма динамического
определения и переназначения разделяемых библиотек,
используемых ld.so, при установке новых разделяемых
библиотек.
АВТОРЫ
Andreas Jaeger. Документация создана David Engel и Mitch
D’Souza.
Sudo ldconfig что это
Команда ldconfig предназначена для вызова одноименной утилиты, осуществляющей формирование кэша информации о новейших версиях разделяемых библиотек и создание символьных ссылок на них для последующей корректной работы динамического линковщика ld.so. Разделяемые библиотеки обычно содержат реализации функций, которые необходимы для корректной работы приложений или других разделяемых библиотек. Разделяемые библиотеки (*.so) являются полным аналогом динамических библиотек (*.dll) из Windows. Утилита использует файл конфигурации /etc/ld.so.conf для чтения списка нестандартных директорий с разделяемыми библиотеками (стандартными являются /usr/lib и /lib), а также получения дополнительной информации о некоторых библиотеках. Кроме того, она обрабатывает заголовочные файлы библиотек и их имена для создания символьных ссылок. Файл кэша динамического линковщика имеет имя /etc/ld.so.cache, следовательно, для его модификации требуются права суперпользователя. Единственным вариантом продуктивного использования утилиты без прав суперпользователя является вариант с указанием альтернативной директории с разделяемыми библиотеками для создания символьных ссылок без изменения системного кэша.
Базовый синтаксис команды выглядит следующим образом:
Утилита поддерживает параметр -v, позволяющий выводить дополнительную информацию об именах обрабатываемых директорий и именах создаваемых символьных ссылок, параметр -n, позволяющий обрабатывать лишь файлы разделяемых библиотек в указанных директориях, параметр -N позволяющий не обновлять системный кэш динамического линковщика, а ограничиться лишь созданием символьных ссылок, параметр -X, позволяющий не создавать символьных ссылок, а ограничиться лишь обновлением системного кэша динамического линковщика, параметр -f, позволяющий использовать указанный файл конфигурации утилиты вместо /etc/ld.so.conf, параметр -C, позволяющий использовать указанный файл системного кэша динамического линковщика вместо /etc/ld.so.cache, параметр -r, позволяющий изменить корневую директорию, параметр -p для отображения содержимого системного кэша динамического линковщика, а также параметр -c для указания формата системного кэша динамического линковщика (old, new, compat). В большинстве случаев вам не придется использовать данных параметров.
Примеры использования
Вывод содержимого системного кэша динамического линковщика
Для вывода содержимого системного кэша динамического линковщика, следует использовать параметр -p утилиты.
Как видно, системный кэш содержит информацию о 1330 библиотеках, причем в кэше имеется информация о полных путях к библиотекам, их архитектурах и используемых версиях стандартной библиотеки языка C (libc).
Обновление содержимого системного кэша динамического линковщика
Для обновления содержимого системного кэша динамического линковщика без создания символьных ссылок следует использовать параметр -X и иметь права суперпользователя. Также для наглядности можно воспользоваться параметром -v.
Утилита выведет список всех разделяемых библиотек, найденных в системе. Данная операция может исполняться при повреждении системного файла кэша динамического линковщика.
Обновление ссылок на разделяемые библиотеки
Для обновления ссылок на разделяемые библиотеки достаточно использовать параметр -N (для обработки всех системных директорий) или параметр -n (для указания конкретной директории).
В данном случае были созданы символьные ссылки для двух разделяемых библиотек.
Команда ldconfig: опции, ключи и примеры использования
Configure symlinks and cache for shared library dependencies.
ldapdomaindump
Dump users, computers, groups, OS and membership information via LDAP…
Display shared library dependencies. Display shared library dependencies of a…
Как установить PostgreSQL на Linux и создать базу и пользователя
Как скопировать вывод команды из терминала в буфер обмена Linux и MacOS
Скорее приятный, чем необходимы «трюк», но возможность использовать возможность скопировать вывод в буфер обмена – действительно круто иной раз выручает.
Как создать неизменяемый файл в Linux / MacOS / FreeBSD
Само собой, root может всё (если введёт пару команд), однако, это вполне легальный способ запретить изменение файла.
Как удалить все Docker образы и контейнеры
Не всегда нужно удалять всё, но объяснение данного «рецепта» объяснит как в целом удалять образы и контейнеры.
Bash вывода && управляющие конструкции || коротко о главном
Небольшая заметка о конструкциях Bash, в которых путается большинство новичков. А именно: >,
Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable
Исследователи сумели пройти code-review с реквестами в ядро Linux, заведомо содержащими добавление уязвимостей.
Microsoft открывает исходники, а её IDE супер-популярна
Решил сложить пару фактов и немного над этим поразмыслить. Реально ли Microsoft «переобулись»?
Пример своей консольной команды в Django проекте
Если вы работали с Django проектом, то, скорее всего, запускали команды из консоли (manage.py). В Django есть простой способ писать свои команды для управления проектом.
Как на Bash посчитать число строк в проекте (директории)
Ниже будет представлен однострочник, решающий данную задачу на Bash + пошаговое описание его работы.
Как на Bash получить файлы, изменённые за сегодняшний день
Bash имеет огромные возможности по программированию/скриптованию и администрированию операционной системы. Не важно: Linux это, FreeBSD, или MacOS – на Bash можно сделать многое.
Как установить часовой пояс в Linux
В рамках первичной настройки Операционной Системы важно установить и по какому времени вы живёте, ведь при следующем обновлении времени через Интернет ваше время слетит.
Как найти самые большие папки и файлы в Linux
Когда кончается место на жестком диске, возникает закономерный вопрос: на что же оно было потрачено, какие файлы разрослись больше положенного?