Linux

Как настроить ldconfig в Linux: быстрая и безопасная настройка

Гайд объясняет, как настроить ldconfig для корректной работы динамических библиотек в Linux: добавление путей, обновление кэша и проверку конфигурации.

Обновлено 28 апреля 2026 г.
5-10 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04/24.04Debian 11/12RHEL 9+/CentOS StreamFedora 38+

Введение / Зачем это нужно

Правильная настройка ldconfig гарантирует, что программы в Linux смогут находить нужные динамические библиотеки без ручного указания путей через LD_LIBRARY_PATH. После настройки вы сможете устанавливать и использовать сторонние или собранные из исходников библиотеки так же удобно, как и системные.

Требования / Подготовка

  • Пользователь с правами sudo или доступом к root.
  • Установленный пакет glibc (ldconfig входит в его состав).
  • Путь к каталогу с библиотеками .so, который вы хотите сделать доступным системно.

Шаг 1: Добавить путь к библиотеке в конфигурацию

Создайте отдельный файл конфигурации в /etc/ld.so.conf.d/, чтобы не менять системный /etc/ld.so.conf. Это считается безопасным и удобным способом.

echo "/opt/mylib/lib" | sudo tee /etc/ld.so.conf.d/mylib.conf

💡 Совет: используйте .conf-файлы с понятными именами — это упрощает аудит и удаление путей в будущем.

Шаг 2: Обновить кэш ldconfig

После изменения конфигурации обновите кэш, чтобы ldconfig перечитал все пути и обновил внутренний индекс библиотек.

sudo ldconfig

Эта команда также обновит симлинки для совместимости (например, libc.so), если это предусмотрено конфигурацией.

Шаг 3: Проверить доступность библиотеки

Убедитесь, что библиотека появилась в кэше и может быть найдена загрузчиком.

ldconfig -p | grep mylib

Если библиотека отображается в выводе, она доступна системно. Для проверки конкретного приложения используйте:

ldd /opt/myapp/bin/myapp | grep mylib

Проверка результата

После выполнения шагов запустите программу, зависящую от добавленной библиотеки, и убедитесь, что она стартует без ошибок вида «error while loading shared libraries». Если проблема сохраняется, проверьте:

  • права доступа к файлам .so (должны быть читаемыми);
  • архитектуру библиотеки (должна совпадать с архитектурой системы и бинарника);
  • наличие других неразрешённых зависимостей через ldd.

Возможные проблемы

  • Библиотека не появляется в кэше — убедитесь, что путь в .conf-файле указан верно и заканчивается без лишних пробелов. Проверьте, что каталог содержит файлы .so.
  • Ошибки при запуске ldconfig — возможны, если указаны недоступные или пустые пути. Запустите sudo ldconfig -v 2>&1 | less, чтобы увидеть подробности обрабатываемых каталогов.
  • Конфликты версий — при наличии нескольких версий одной библиотеки загрузчик выберет ту, которая встречается первой в порядке обхода конфигурации и кэша. При необходимости скорректируйте порядок или используйте явные пути через LD_LIBRARY_PATH только для конкретного запуска.

Часто задаваемые вопросы

Зачем нужен ldconfig и как он работает?
Безопасно ли добавлять свои пути в ldconfig?
Почему после установки библиотеки программа её не видит?
Как проверить, что библиотека доступна в системе?

Полезное

Добавить путь к библиотеке в конфигурацию
Обновить кэш ldconfig
Проверить доступность библиотеки

Эта статья помогла вам решить проблему?