use*_*490 11 linux debian centos symbolic-link
很抱歉提出这个问题,但我几个小时无法解决这么简单的问题:
我犯了一个错字错误
update-alternatives --install /usr/lib64/R/lib/libRblapack.so libRblapack.so /usr/lib64/R/lib/libRblapack_native.so 100
Run Code Online (Sandbox Code Playgroud)
它应该是 libRlapack.so 而不是 libRblapack。问题是,如果发出正确的命令行,即
update-alternatives --install /usr/lib64/R/lib/libRlapack.so libRlapack.so /usr/lib64/R/lib/libRlapack_native.so 100
Run Code Online (Sandbox Code Playgroud)
它返回一个错误:
libRlapack.so 的主链接必须是 /usr/lib64/R/lib/libRblapack.so
我试过
update-alternatives --remove libRblapack.so /usr/lib64/R/lib/libRblapack.so
Run Code Online (Sandbox Code Playgroud)
但它不起作用 - 输入正确的命令时返回相同的错误。
我怎样才能把它修好?
谢谢!
我会尝试手动清理它。我从来没有这样做过,所以请确保事先备份。
在我的例子中,手动删除它们会导致... is already managed by ...错误。除此之外,手动删除也无法扩展,因为我已经为集中符号链接添加了多个替代方案。这只是一团糟。
当涉及到 或update-alternatives时alternatives,它们都提供--remove和--remove-all标志。对于前一个标志,它仅删除链接组的一个替代项。例如
$ update-alternatives --list python3
/usr/bin/python3.8
/usr/bin/python3.9
$ sudo update-alternatives --remove python3 /usr/bin/python3.9
$ update-alternatives --list python3
/usr/bin/python3.8
Run Code Online (Sandbox Code Playgroud)
旗帜的形状--remove经过
update-alternatives --remove symlink-generic-name /path/to/one/executable/alternative
但是,如果您想一次性彻底删除通用名称及其所有相关替代名称,那么--remove-all就是正确的方法。
$ update-alternatives --list python3
/usr/bin/python3.8
/usr/bin/python3.9
$ sudo update-alternatives --remove-all python3
$ update-alternatives --list python3
update-alternatives: error: no alternatives for python3
$ update-alternatives --query python3
update-alternatives: error: no alternatives for python3
Run Code Online (Sandbox Code Playgroud)