在开始之前,我正在使用 Ubuntu 13.10 64 位,我拥有所有最新更新(包括最新的 Steam Beta 客户端)。
使用 Steam 客户端时,我无法从驱动器上的另一个分区安装或运行游戏。以前,包含游戏的分区会安装到/media/willc
文件夹中(Steam 可以在此处读取/写入,我安装并运行了 Left 4 Dead 2),但我必须事先在文件系统中或通过终端打开它来安装它;我想自动执行此过程。
我按照 Akshit Baunthiyal 的指示这个问题让 Ubuntu 单独挂载分区。它本质上只是在 中添加了一行/etc/fstab
。我添加的行是
UUID=<uuid> /home/willc/SteamLibrary ext2 user,exec,sync,auto,rw 0 0
我仔细检查了信息,uuid 和文件系统是正确的,并且挂载点也是我想要的位置。
这样修改之后,登录或者运行sudo mount -a
成功后会自动挂载目录。我现在遇到的问题是Steam客户端报错
新的 Steam 库文件夹必须位于具有可执行权限安装的文件系统上。
因此,在查看fstab
选项后,我注意到选项“user”(任何用户都可以挂载)也隐含选项“noexec”(二进制文件不可执行),因此我在 user 后添加了“exec”选项来覆盖它。但是,我仍然收到此错误。我还尝试运行chmod -R 777 SteamLibrary
以防权限是问题所在,但即使在此之后,它仍然存在。
是否缺少我需要的选项fstab
,或者是否缺少了其他我可能需要的东西?
答案1
经过进一步挖掘,我找到了自己问题的答案。按照问题中的方法操作后,我获得了读取/写入所有文件/目录的权限,但我没有为分区本身设置权限。为了说明这一点,ls -l $HOME
向我展示了该分区归 root 所有,并且没有“其他”的读取/写入权限。为了纠正它,我发出了以下命令:
sudo chown -R -v <my_username>:<my_username> SteamLibrary
SteamLibrary 是驱动器的挂载点,-R 将其递归应用于文件夹和文件,-v 输出其他信息。在本例中,我将所有者和组设置为我的用户名,因为我将是唯一可以访问它的人,但将第二个用户名更改为“用户”应该允许计算机上的任何用户访问它。运行与之前相同的 ls 命令,我现在得到以下行
drwxrwxrwx 5 willc willc 4096 Mar 18 22:46 SteamLibrary
这表明我现在拥有该驱动器并拥有完全权限。现在我不仅可以访问该驱动器,而且像 steam 这样的应用程序也可以读取/写入。