mount 如何知道它是没有 -t 的 cifs 挂载?

mount 如何知道它是没有 -t 的 cifs 挂载?

所以这个命令:/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/filesystemsnodev cifs。那么 blkidorvolume_id在我的例子中是如何工作的呢?mount一旦看到双斜杠( )就假设 cifs//还是有其他方法?有文档对此进行解释吗?

答案1

mount一旦看到双斜杠( )就假设 cifs//还是有其他方法?

是的,这正是 (lib)mount 的做法 - 如果源不是块设备,它假定它是一个网络位置 - 如果它有,则:它是 NFS,并且//假定它是 CIFS。您可以检查mnt_context_guess_srcpath_fstypeautolibmount 函数,当(或什么都不指定)指定为类型时使用。

相关内容