我正在使用 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.
。为什么?
我完全不明白其中的逻辑。