在配置应用程序时,/dev/null
如果您希望应用程序读取空文件,通常可以将其用作配置文件。但是,如果应用程序从目录中读取文件列表,则不能使用此技巧。你需要给它一个空目录来阅读。
我想知道:Linux 是否有可用于此类目的的默认空目录?我知道 OpenSSH 使用 /var/empty 有一段时间了,我当然可以自己创建一个空目录,但也许 FHS 为此指定了一个标准目录?
Mic*_*ton 69
该FHS不提供“标准”的空目录。
Linux 系统提供一个目录是很常见的/var/empty
,但是这个目录在 FHS 中没有定义,实际上可能不是空的。相反,某些守护进程会在此处创建自己的空目录。例如,openssh 使用空目录/var/empty/sshd
进行权限分离。
如果您暂时需要一个空目录,您可以自己创建一个空目录,作为/run
或的子目录/tmp
。如果您在程序外执行此操作,您可以使用mktemp -d
它,或mkdtemp(3)
在程序内使用C 函数。但是,如果您总是需要存在空目录,请考虑在/var/empty
openssh下创建一个。
对于这个用例,在下面创建一个目录/tmp
可能是最合适的,但实际上你把它放在哪里并不重要。
200*_*ess 29
这个 Unix question有一些创建“黑洞”目录的建议,包括一个nullfs FUSE 文件系统。
HBr*_*ijn 12
对于服务,systemd 提供了PrivateTmp
创建私有/tmp
和/var/tmp
目录的选项,这些目录不被该服务的命名空间之外的进程共享,并且应该是空的(最初)。
[Service]
ExecStart=...
PrivateTmp=yes
Run Code Online (Sandbox Code Playgroud)