La version 3.0 de la norme de hiérarchie du système de fichiers indique :
/tmp :Fichiers temporaires
Le
/tmp
doit être rendu disponible pour les programmes nécessitant des fichiers temporaires.Les programmes ne doivent pas supposer que les fichiers ou répertoires de
/tmp
sont conservés entre les invocations du programme.Justification
La norme IEEE POSIX.1-2008 répertorie les exigences similaires à la section ci-dessus. Bien que les données stockées dans
/tmp
peuvent être supprimés d'une manière spécifique au site, il est recommandé que les fichiers et répertoires situés dans/tmp
être supprimé à chaque démarrage du système.FHS a ajouté cette recommandation sur la base de précédents historiques et de pratiques courantes, mais n'en a pas fait une exigence car l'administration système n'entre pas dans le champ d'application de cette norme.
/var/tmp :Fichiers temporaires conservés entre les redémarrages du système
Le
/var/tmp
est rendu disponible pour les programmes qui nécessitent des fichiers temporaires ou des répertoires qui sont conservés entre les redémarrages du système. Par conséquent, les données stockées dans/var/tmp
est plus persistant que les données dans/tmp
.Fichiers et répertoires situés dans
/var/tmp
ne doit pas être supprimé lorsque le système est démarré. Bien que les données stockées dans/var/tmp
est généralement supprimé d'une manière spécifique au site, il est recommandé que les suppressions se produisent à un intervalle moins fréquent que/tmp
.
Le numéro 7 des spécifications de base d'Open Group, Variables d'environnement, mentionne également ce qui suit :
TMPDIR
Cette variable doit représenter un chemin d'accès à un répertoire rendu disponible pour les programmes qui ont besoin d'un endroit pour créer des fichiers temporaires.
C'est une vieille question donc aujourd'hui il y a une autre option disponible. Distributions Linux reposant sur systemd
(soit 90 % d'entre eux) peuvent désormais utiliser $XDG_RUNTIME_DIR
(XDG Base Directory Specification) pour stocker certains types de fichiers temporaires. Il est généralement situé au /run/user/$uid
. Il s'agit d'un répertoire par utilisateur avec 700
autorisations qui offre une meilleure sécurité. Ceci est un tmpfs
monture qui offre des performances. L'inconvénient de tmpfs
est qu'il ne doit être utilisé que pour conserver de petits fichiers et sockets.
Je le considère comme un mariage de /tmp
et /var/run
.
Oui, /tmp est destiné à un usage général. Voir ici et ici sur la norme de hiérarchie du système de fichiers.
/tmp/ Fichiers temporaires (voir aussi /var/tmp). Souvent non conservé entre les redémarrages du système.
Avec quelques détails supplémentaires répertoriés dans le PDF.