我试图与这样连接的msdosfs共享USB硬盘驱动器:
mount_msdosfs -o large /dev/da1s1 /mnt/usb
我可以看到挂载驱动器: /dev/da1s1 on /mnt/usb (msdosfs, local)
但是当我试图通过NFS共享驱动器我的出口文件:
/mnt/usb -network 192.168.1.0 -mask 255.255.255.0
我得到错误
freebsd mountd[871]: can't export /mnt/usb MSDOSFS_LARGEFS flag set, cannot export
freebsd mountd[871]: bad exports list line /mnt/usb -network 192.168.1.0 -mask 255.255.255.0
任何线索如何解决这个问题,除了改变驱动器上的msdosfs别的东西?
由于某些实施限制,FreeBSD上的NFS导出不支持大型MSDOS文件系统。 你可以尝试一下,如果你可以在没有-o large情况下成功安装FS,但是如果失败的话,你将会遇到NFS的问题(但也许你可以试试Samba)。
答:可以导出FAT文件系统,从早期的2.4内核开始,但如果广泛使用,可能会导致悲伤。 首先,只有导出的文件系统所支持的操作才会被执行。 这些文件系统不支持“chown”,“link”和“symlink”等操作,并且会失败。 读/写/创build等应该没问题,只要文件保持相对不变。
最严重的问题是FAT文件系统布局不包含足够的信息来创buildNFS创build持久文件句柄所需的持久身份。 例如,如果您创build一个文件,将其重命名为另一个目录,对其进行统一pipe理,并向其中写入新数据,文件系统中没有任何内容可以用来显示结果文件在任何意义上都是“相同“的原始文件,并没有办法find新的文件给出有关原始文件的任何细节。 因此,Linux NFS服务器不能保证一旦你打开了一个文件,你可以继续访问那个文件,如果这个文件被修改了上面的方式。 NFS可能无法正确定位或识别文件,因此可能会返回ESTALE错误。
这是从Linux的NFS常见问题,这也适用于FreeBSD(当然除了内核2.4的东西)。 只是想确保你知道这些东西。