Soluzione 1:
L'FHS non fornisce alcuna directory vuota "standard".
È comune per i sistemi Linux fornire una directory /var/empty , ma questa directory non è definita in FHS e potrebbe non essere effettivamente vuota. Invece, alcuni demoni creeranno le proprie directory vuote qui. Ad esempio, openssh utilizza la directory vuota /var/empty/sshd per la separazione dei privilegi.
Se la tua esigenza di una directory vuota è temporanea, puoi creare tu stesso una directory vuota, come sottodirectory di /run o /tmp . Se lo stai facendo al di fuori del programma, puoi usare mktemp -d per questo, o usa il mkdtemp(3) funzione C all'interno del programma. Anche se sempre hai bisogno che la directory vuota sia presente, considera di crearne una sotto /var/empty come fa openssh.
Per questo caso d'uso, creare una directory in /tmp è probabilmente la soluzione migliore, anche se in pratica non ha molta importanza dove la metti.
Soluzione 2:
Puoi usare mktemp -d per creare una nuova directory temporanea vuota con permessi sicuri, per impostazione predefinita in /tmp/ . L'utility restituirà il percorso della nuova directory su STDOUT , quindi è utile nella shell.
È comunque più portabile di un file unit systemd.
Soluzione 3:
Questa domanda Unix ha alcuni suggerimenti per la creazione di una directory "blackhole", incluso un filesystem FUSE nullfs.
Soluzione 4:
Per i servizi systemd fornisce l'opzione PrivateTmp per creare /tmp privato e /var/tmp directory che non sono condivise da processi al di fuori dello spazio dei nomi per quel servizio e che dovrebbero essere vuote (inizialmente).
[Service]
ExecStart=...
PrivateTmp=yes