执行一个linux二进制

那么今天我遇到了一个非常奇怪的事情,我不知道它是否与我的操作系统或虚拟化有关。 我一直在运行游戏服务器二进制文件,他们一直工作。 一个简单的./binary +参数很好的工作,但今天我想复制所有的东西到我最近买的VPS。 和以前一样,Debian(XEN)。 所以在新的VPS,当我没有任何权限的./binary,它会说权限被拒绝。 现在这是非常合乎逻辑的,因为我必须在文件上做一个“chmod a + x”才能工作,但是即使在完成之后,它也会显示“File Missing”,尽pipe它在另一台机器上运行得非常好。 什么可能是错的?

如果二进制文件依赖于新服务器中缺less的一些可加载库,它通常会这样描述:

error while loading shared libraries: libfoobar.so.42: cannot open shared object file: No such file or directory 

但我不确定这是一个通用/标准化的信息。

您可以使用ldd(1)工具检查dynamic链接,并查找未parsing的库(它们通常由"=> not found"标记)

另一方面,也许你的二进制文件正在加载,并且没有任何问题,它只是检查一些文件,而不是find它们,它是你的二进制文件(而不是dynamic的lib加载器) 。 如果除“文件丢失”以外没有其他任何信息,我怀疑这是发生在您身上的事情,您应该查看二进制文档(如果有)。