【问题标题】:Why is this Linux binary (SCons output) not executing?为什么这个 Linux 二进制文件(SCons 输出)没有执行?
【发布时间】:2013-05-01 12:43:06
【问题描述】:

这是“为什么我的文件不运行”问题的另一个变体。

我有一个 Linux 可执行文件,它是这些 instructions 的编译输出之一(总结:下载 Mongo 源并运行“scons --ssl all”)

编译过程中没有错误,但是当我运行它时,我得到了这个输出:

[ec2-user@ip-10 mongo]$ ./mongo
-bash: ./mongo: Permission denied

[ec2-user@ip-10 mongo]$ sudo ./mongo
sudo: unable to execute ./mongo: Permission denied

可执行的

[ec2-user@ip-10 mongo]$ ls -al mongo
-rwxr-xr-x 1 ec2-user ec2-user 8545720 May  7 13:41 mongo

它似乎是一个格式良好的文件

[ec2-user@ip-10 mongo]$ file mongo
mongo: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, BuildID[sha1]=0x910b4f1d
2799940d47b7a064282ad825f38c6067, stripped

我继续查看 scons、我的环境和各种邮件列表,但我不确定问题出在哪里。有什么建议吗?

更多细节: 这是亚马逊图片,

Linux ip-10 3.2.39-6.88.amzn1.x86_64 #1 SMP Sat Mar 2 05:13:37 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

它在本地安装了 Python 2.6.8、SCons 2.0.1 和 Mongo 2.4.3

【问题讨论】:

    标签: linux mongodb amazon-ec2 scons


    【解决方案1】:

    听起来您正在执行的文件系统可能是使用noexec 选项安装的。检查mount | grep noexec 的输出,看看你的文件系统是否在列表中。

    如果是这样,您需要在没有noexec 的情况下重新挂载(如果您有足够的权限并且想要这样做),或者复制/构建到允许您执行它的目录中。

    【讨论】:

    • 我在这里拍了拍我的额头,这正是问题所在。编译占用了大量空间,所以我在可用空间最多的驱动器上进行了编译。碰巧安装了noexec。谢谢!
    猜你喜欢
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 2011-02-12
    • 2010-11-19
    • 2012-11-14
    相关资源
    最近更新 更多