我有一个充满库 ( *.so.0.*
) 的目录,我想用find
它来创建每个文件的符号链接,名为*.so.0
.
这是一个(无效的)尝试:
find $HOME/.local/lib64/ -name "lib*.so.0.*" -execdir ln -s {} $(echo {} | cut -d . -f 1-4) \;
但我找不到为什么它不起作用。
我尝试只使用一个库,使用ln -s ./libfoo.so.0.12.0. $(echo ./libfoo.so.0.12.0. | cut -d . -f 1-4)
,结果是./libfoo.so.0
.
答案1
您正在尝试设置一组替代的 ELF 库来运行应用程序,因此不要手动创建符号链接,而是直接进入问题的预期应用程序:ldconfig $HOME/.local/lib64/
应该为您更新目录中的所有符号链接。
它们也不总是.so.0
如此,这将取决于 ELF 库中的 SOVERSION 数据。