如何在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文件系统添加了任何限制?

有没有人遇到类似的问题,并知道如何解决这个问题?

谢谢。

+1

仅供参考,不要紧使用什么语言,使可执行文件。 – 2010-11-29 18:26:40

+0

您是否可以重新编译二进制文件并进行测试? – 2010-11-29 18:27:04

ntfs文件系统的默认挂载选项可能在Ubuntu版本之间发生变化。

找到控制相关挂载点的/ etc/fstab中的行。

首先要尝试:确保选项字符串不包含noexec。如果确实如此,请将其删除,umount,重新安装并查看是否可以为您解决问题。

如果noexec不存在或者仍然无法执行,请检查userusers是否是其中一个选项。由于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