【问题标题】:How to run C++ binaries on NTFS in Ubuntu 10.10?如何在 Ubuntu 10.10 的 NTFS 上运行 C++ 二进制文件?
【发布时间】:2011-05-17 10:42:05
【问题描述】:

刚刚安装了 Ubuntu 10.10。以前我有 Ubuntu 10.04。我在 Ubuntu 和 Windows 之间有一个共享分区,即 NTFS。我将我的开发文件(Eclipse 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 文件系统添加任何限制?

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

谢谢。

【问题讨论】:

  • 仅供参考,使用什么语言来制作可执行文件并不重要。
  • 能否重新编译二进制文件并进行测试?
  • main.o 是一个目标文件,而不是可执行文件,因此您不应该尝试执行它。当您运行实际的可执行文件时会发生什么?
  • 是的,我不应该尝试运行目标文件。我的意思是可执行的。/你好。它说同样的话,许可被拒绝。是的,我可以重新编译二进制文件,但它保持不变。

标签: linux eclipse-cdt file-permissions ubuntu-10.10


【解决方案1】:

我同意,Ubuntu 10.10 更改了 ntfs 文件系统的默认挂载选项。

有些人会这样做http://waystop.blogspot.com/2010/12/ubuntu-1010-maverick-meerkat.html

【讨论】:

    【解决方案2】:

    ntfs 文件系统的默认挂载选项可能在 Ubuntu 版本之间有所不同。

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

    首先要尝试:确保选项字符串不包含noexec。如果是这样,请将其删除,umount,重新安装并查看是否可以为您修复它。

    如果 noexec 不存在或您仍然无法执行,请检查 userusers 是否是选项之一。由于user 意味着 noexec(通常),您可能需要添加( user)选项exec,因此结果将显示为:

    user,exec
    

    如果user 存在,请尝试进行此更改,然后umount 并重新挂载。

    如果此时仍无法执行,则在相关挂载点的选项字符串中添加或设置以下挂载选项:

    fmask=002
    

    这可能过于宽松,但对于单用户系统来说应该没问题。这告诉 mount 默认情况下,文件系统中的所有文件都应被视为(除其他外)可执行文件。现在umount 并重新安装,看看它是否正常工作。

    【讨论】:

    • 感谢您的帮助。我已经设法通过终端安装我的分区来使其工作,但我想使用像 Places->Data 这样的 GUI 来完成它。我应该修改什么才能使其工作?我的 /ect/fstab 现在看起来像: proc /proc proc nodev,nosuid,exec 0 0 # / was on /dev/sda4 during installation UUID=51969b4e-cfee-4f40-9896-c73460ef462e / ext4 errors=remount- ro 0 1 UUID=9C5AE9025AE8DA52 /media/Data ntfs defaults,exec 0 0 我添加了最后一个条目以便自动挂载它。
    • 如果 fstab 条目存在,它应该被默认使用,除非 nautilus 正在做一些时髦的事情。更像是 GNOME 出口的人可能需要回答这部分问题。我希望如果您有 fstab 条目并手动卸载文件系统,然后尝试通过 Places 菜单导航,它应该使用指定的选项自动安装。如果这不起作用,那么我将无能为力,因为我对 GNOME 一无所知。
    猜你喜欢
    • 2017-08-11
    • 2012-01-08
    • 2017-04-08
    • 2011-11-10
    • 2014-03-29
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多