GNU/Linux >> Tutoriels Linux >  >> Linux

Existe-t-il un répertoire équivalent à /dev/null sous Linux ?

Solution 1 :

Le FHS ne fournit pas de répertoire vide "standard".

Il est courant pour les systèmes Linux de fournir un répertoire /var/empty , mais ce répertoire n'est pas défini dans FHS et peut ne pas être vide. Au lieu de cela, certains démons créeront leurs propres répertoires vides ici. Par exemple, openssh utilise le répertoire vide /var/empty/sshd pour la séparation des privilèges.

Si votre besoin d'un répertoire vide est transitoire, vous pouvez créer vous-même un répertoire vide, en tant que sous-répertoire de /run ou /tmp . Si vous faites cela en dehors du programme, vous pouvez utiliser mktemp -d pour cela, ou utilisez le mkdtemp(3) Fonction C dans votre programme. Bien que si vous toujours besoin que le répertoire vide soit présent, pensez à en créer un sous /var/empty comme le fait openssh.

Pour ce cas d'utilisation, création d'un répertoire sous /tmp est probablement le meilleur ajustement, bien qu'en pratique, l'endroit où vous le mettez n'a pas beaucoup d'importance.

Solution 2 :

Vous pouvez utiliser mktemp -d pour créer un nouveau répertoire temporaire vide avec des permissions sécurisées, par défaut en /tmp/ . L'utilitaire affichera le chemin du nouveau répertoire sur STDOUT , il est donc utile dans le shell.

C'est de toute façon plus portable qu'un fichier d'unité systemd.

Solution 3 :

Cette question Unix contient quelques suggestions pour créer un répertoire "trou noir", y compris un système de fichiers nullfs FUSE.

Solution 4 :

Pour les services, systemd fournit l'option PrivateTmp pour créer un /tmp privé et /var/tmp répertoires qui ne sont pas partagés par des processus en dehors de l'espace de noms de ce service et qui doivent être vides (initialement).

[Service]
ExecStart=...
PrivateTmp=yes 

Linux
  1. Comment générer un mot de passe aléatoire sous Linux en utilisant /dev/random

  2. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  3. Quand utiliser /dev/random contre /dev/urandom ?

  4. Simuler Stdin vide en commande détachée ?

  5. echo ou print /dev/stdin /dev/stdout /dev/stderr

tty (/dev/tty ) vs pts (/dev/pts) sous Linux

Qu'est-ce que '/dev/null 2&1' sous Linux

Comment rediriger la sortie vers /dev/null sous Linux

Qu'est-ce que /dev/null sous Linux

Quelle est la portabilité de /dev/stdin, /dev/stdout et /dev/stderr ?

/dev/null sous Linux