如何在Ubuntu 10.10的NTFS上运行C++二进制文件?
刚刚安装了Ubuntu 10.10。以前我有Ubuntu 10.04。我有一个Ubuntu和Windows之间的NTFS共享分区。我将我的开发文件(Eclipse C++项目文件)存储在该分区中。如何在Ubuntu 10.10的NTFS上运行C++二进制文件?
所以这里是问题:10.04一切正常,但现在我不能运行我的任何驻留在NTFS分区的程序。 Eclipse中说:
Error starting process.
Exec_tty error:Cannot run program "/media/../Eclipse/Hello/Debug/Hello": Unknown reason
当我尝试在终端执行它,它说:
bash: ./Hello: Permission denied
我所知,这是权限问题,因为NTFS文件系统不支持Unix许可,但它怎么能是在10.04是一切正常。此版本是否为NTFS文件系统添加了任何限制?
有没有人遇到类似的问题,并知道如何解决这个问题?
谢谢。
ntfs文件系统的默认挂载选项可能在Ubuntu版本之间发生变化。
找到控制相关挂载点的/ etc/fstab中的行。
首先要尝试:确保选项字符串不包含noexec
。如果确实如此,请将其删除,umount
,重新安装并查看是否可以为您解决问题。
如果noexec不存在或者仍然无法执行,请检查user
或users
是否是其中一个选项。由于user
意味着NOEXEC(正常),你可能需要添加(后user
)选项exec
,所以结果将是:
user,exec
如果user
存在试着做这种改变,那么umount
和重新装入。
如果此时你还不能执行,那么,添加或设置选项字符串有问题的挂载点下面的安装选项:
fmask=002
这可能是过于宽松,但应该没问题了一个用户系统。这告诉mount,文件系统中的所有文件应该被视为默认可执行的(除其他之外)。现在umount
并重新安装,看看它是否工作。
我同意,Ubuntu 10.10更改了ntfs文件系统的默认挂载选项。
有人作出这样的http://waystop.blogspot.com/2010/12/ubuntu-1010-maverick-meerkat.html
仅供参考,不要紧使用什么语言,使可执行文件。 – 2010-11-29 18:26:40
您是否可以重新编译二进制文件并进行测试? – 2010-11-29 18:27:04