符号链接:无此类文件或目录


17

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

可能是什么错误?

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

谢谢!

€:问题解决了。根据功能列表,12.04应该具有Multiarch支持...“应该”。我从突触获得了ia32-libs,现在程序运行正常。从外观上看,我的符号链接正确无误。

感谢您的所有答案!

Answers:


13

编辑:下面的解决方案不起作用。显然,符号链接已损坏,因为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将是一个更好的解决方案。


给定的命令说:错误:无法打开`/ usr / bin / bla'。我看不到“ bla”里面的东西,它是一个程序,而不仅仅是一个shell脚本。
Sehe 2012年

好的,请重做带有完整路径的符号链接。
1

我是一个人较早想到的。即使使用rm旧链接并创建新链接,该错误仍然会出现。-sf也无效。
Sehe 2012年

好。请运行ls -l /usr/bin/blals -l /opt/bladir/bla报告这些命令的确切输出。
1

@January如果file -L 不起作用,您会建议采取什么措施?
dbliss 2015年

0

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

我怀疑您/opt可能是从单独的分区挂载的,并且没有通过exec挂载选项挂载


执行位被设置并且/ opt /不在单独的分区上:/
Sehe 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.