La version 3.0 de la norme de hiérarchie du système de fichiers indique :
/tmp :Fichiers temporaires
Le
/tmpdoit être rendu disponible pour les programmes nécessitant des fichiers temporaires.Les programmes ne doivent pas supposer que les fichiers ou répertoires de
/tmpsont 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
/tmppeuvent ê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/tmpest 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/tmpest plus persistant que les données dans/tmp.Fichiers et répertoires situés dans
/var/tmpne doit pas être supprimé lorsque le système est démarré. Bien que les données stockées dans/var/tmpest 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 :
TMPDIRCette 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.