我尝试使用规则挂载 ntfs 磁盘autofs
。这是从属文件:
# cat /etc/autofs/auto.windows
# automount second disk which contains windows data
/windows -fstype=ntfs-3g,uid=n0t,gid=n0t,nofail,users :/dev/sdb2
以及以下相关行auto.master
:
# cat /etc/autofs/auto.master
[...]
/- /etc/autofs/auto.windows
[...]
我正在跑步Archlinux
,这是我得到的结果systemd
:
Aug 30 15:47:51 n0tlocal systemd[1]: Stopping Automounts filesystems on demand...
-- Subject: Unit autofs.service has begun shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit autofs.service has begun shutting down.
Aug 30 15:47:52 n0tlocal systemd[1]: Starting Automounts filesystems on demand...
-- Subject: Unit autofs.service has begun with start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit autofs.service has begun starting up.
Aug 30 15:47:52 n0tlocal automount[2359]: do_umount_autofs_direct: couldn't get ioctl fd for direct mount /windows
-- Subject: Unit autofs.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit autofs.service has finished starting up.
--
-- The start-up result is done.
但是,当我手动尝试运行此命令时:
# mount -t ntfs-3g /dev/sdb2 /mnt
我有一个运行良好的 rw 文件系统。
答案1
正如另一个答案所提到的,autofs 版本(至少 5.0.7 和 5.0.8)有一个错误。他们添加了标志-s
,但 ntfs-3g 不支持该标志。
如果更新不是您的选择,那么这里有一个不太好的解决方法。它/bin/ntfs-3g
用一个包装器脚本替换,该脚本只会删除该-s
标志并将其他选项传递给真正的 ntfs-3g。
首先,创建包含以下内容的文件/bin/ntfs-3g_wrapper
:
#!/bin/bash
OPTS=$(echo $@ | sed "s/-s/ /")
exec /bin/ntfs-3g_real $OPTS
现在使其可执行,将实际重命名ntfs-3g
为,并创建从到的ntfs-3g_real
符号链接:ntfs-3g
ntfs-3g_wrapper
sudo chmod +x /bin/ntfs-3g_wrapper
sudo mv /bin/ntfs-3g /bin/ntfs-3g_real
sudo ln -s /bin/ntfs-3g_wrapper /bin/ntfs-3g
我已经成功使用了这种方法。当然,这是一个肮脏的解决方案。ntfs-3g
例如,对软件包的更新可能会用新版本的二进制文件替换您的符号链接ntfs-3g
,问题又出现了。
这个答案基于ScottE 的博客文章,非常感谢,斯科特。
答案2
至少 autofs 5.0.7 有一个错误,导致所有 ntfs-3g 挂载失败。升级到 5.1.1。
原因是 mount 命令的“-s”选项(SLOPPY)只能与 nfs 一起使用。
/usr/sbin/automount -dvf
...
mount_mount: mount(generic): calling mount -t ntfs-3g -s -o utf8,uid=99,gid=99,umask=000 /dev/sdb1 /mnt/auto/usb2
>> ntfs-3g: Unknown option '-s'.