Как работает ldconfig?
Я играю с библиотеками Ubuntu. Я пытаюсь добавить некоторые библиотеки в /usr/lib/< subdir >/
и создать некоторые прокси для библиотек в /usr/lib/< subdir >/
,
Обратите внимание, что /usr/lib/< subdir >/
существует в одном из файлов в /etc/ld.so.cond.d/
,
К несчастью, ldconf
поведение кажется мне очень странным и нетривиальным. И вот почему:
Когда я добавляю библиотеку /usr/lib/< subdir >/
он не обнаружен, пока я не добавлю на него символическую ссылку /usr/lib
,
Зачем?
Я узнал, что часто библиотеки размещаются в /usr/lib/< subdir >/
в виде триплетов:
/usr/lib/< subdir >/lib< libname >.so
- символическая ссылка на lib< libname >.so.1
/usr/lib/< subdir >/lib< libname >.so.1
- символическая ссылка на lib< libname >.so.<version>
/usr/lib/< subdir >/lib< libname >.so.< version >
- актуальная библиотека
Хорошо. Для создания прокси я решил удалить символические ссылки и добавить свои собственные, скажем
/usr/lib/ <subdir >/lib< libname >abc.so
- символическая ссылка на lib< libname >abc.so.1
/usr/lib/< subdir >/lib< libname >abc.so.1
- символическая ссылка на lib< libname >.so.< version >
А потом вдруг, когда я бегу sudo ldconfig
обновить этот материал, который он создает /usr/lib/< subdir >/lib< libname >.so.1
что указывает на /usr/lib/< subdir >/lib< libname >abc.so.1.
Я не могу понять логику вообще.