所以这个命令:/bin/mount -o soft,cache=none,rw,nosuid,noexec,pass="" //$ServerIP/share $LocalDir
有效,但我认为需要-t cifs
添加它。
我看到手册页说
如果没有给出 -t 选项,或者指定了自动类型,mount 将尝试猜测所需的类型。 Mount 使用 blkid 或volume_id 库来猜测文件系统类型;如果没有出现任何看起来熟悉的内容,mount 将尝试读取文件 /etc/filesystems,或者,如果该文件不存在,则读取 /proc/filesystems。将尝试列出的所有文件系统类型,除了标记为“nodev”的文件系统类型(例如,devpts、proc 和 nfs)。如果 /etc/filesystems 以仅包含一个 * 的行结尾,mount 将随后读取 /proc/filesystems。
但我的/etc/filesystems
没有cifs
,我的/proc/filesystems
有nodev cifs
。那么 blkid
orvolume_id
在我的例子中是如何工作的呢?mount
一旦看到双斜杠( )就假设 cifs//
还是有其他方法?有文档对此进行解释吗?
答案1
mount
一旦看到双斜杠( )就假设 cifs//
还是有其他方法?
是的,这正是 (lib)mount 的做法 - 如果源不是块设备,它假定它是一个网络位置 - 如果它有,则:
它是 NFS,并且//
假定它是 CIFS。您可以检查mnt_context_guess_srcpath_fstypeauto
libmount 函数,当(或什么都不指定)指定为类型时使用。