符号链接:没有这样的文件或目录

我在“/ opt / bladir / bla”到“bla”的文件中创建了一个符号链接。 所以“bla”现在位于“/ usr / bin / bla”中。 但是如果我想在终端上调用“bla”,则会出现没有这样的文件或目录错误。 我抬头看着“/ usr / bin / bla”,文件正确链接到“/ opt / bladir / bla”。

可能是什么错误?

PS这里是我的终端“入口”: sudo ln -s /opt/bladir/bla bla

谢谢!

€:问题解决了。 根据function列表,12.04应该有Multiarch支持……’应该’。 我从synaptic获得了ia32-libs,现在程序就好了。 看起来,我的符号链接在哪里正确。

谢谢你的所有答案!

编辑:下面的解决方案不起作用。 很明显,符号链接被破坏了,因为file -L无法打开符号链接/ usr / bin / bla。 在这种情况下,请执行以下操作:

 sudo ln -sf /opt/bladir/bla /usr/bin/bla 

使用完整路径(-f是强制覆盖先前的符号链接,如果有的话)。

嗯。 我认为程序“bla”可能正在寻找安装在/ opt / bladir中的东西而无法找到它们。 例如,它可以是Java可执行文件的shell脚本包装器,其路径相对于当前目录:但您当前的目录是/ usr / bin /,而不是/ opt / bladir /。

如果以下工作

 file -L /usr/bin/bla 

…那么你的符号链接肯定不是问题。

检查“bla”是否是一个可以修改的shell脚本,看看里面 – 也许你会发现问题。 可能,将/ opt / bladir添加到PATH将是一个更好的解决方案。

如果您没有启用执行位,通常会显示此类错误消息。 检查主文件以及链接是否具有执行权限。

我怀疑你的/opt可能是从一个单独的分区安装的,并且没有使用exec mount选项安装