![坐骑的“沉默旗帜”是什么?](https://linux22.com/image/111931/%E5%9D%90%E9%AA%91%E7%9A%84%E2%80%9C%E6%B2%89%E9%BB%98%E6%97%97%E5%B8%9C%E2%80%9D%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
man mount
:
静音 打开静音标志。
谁能告诉我更多关于silent
mount 的信息?
或者谁可以提供具体的代码示例来显示这种差异(silent
与loud
标志)?
我简单测试了一下,没发现什么区别。
谢谢。
答案1
通常,失败的内核mount()
调用会将诊断错误打印到内核消息日志中,该日志可以提供有关失败原因的更多详细信息,而不仅仅是返回的错误代码。传递给内核的 mount 选项会抑制此类内核日志输出MS_SILENT
。mount
它通常由尝试各种挂载选项来探测可以挂载的任何文件系统的脚本使用,其中此类日志输出不太可能对管理员有帮助。
答案2
如果实用程序有silent
或quiet
选项,通常意味着该实用程序将在不发出任何输出的情况下运行。
有时,这还意味着该实用程序不会输出任何诊断消息(警告或错误)。它还可能(但很少)意味着实用程序将始终以零退出状态退出,因此始终表现得好像它执行的操作成功一样。
在这种情况下mount
(至少在 Debian 上),我假设这意味着mount
如果您尝试使用错误的文件系统类型挂载文件系统,则不会导致错误消息或警告。
Debian 上该-t
选项的文档mount
有以下信息:
如果没有
-t
给出选项,或者auto
指定了类型,mount
将尝试猜测所需的类型。 [...] 如果/etc/filesystems
以单个 结尾*
,则稍后mount
读取/proc/filesystems
。在尝试时,所有文件系统类型都将使用 mount 选项进行挂载silent
。
显然,如果silent
未自动应用该选项,可能会出现大量不需要的输出。