Réponses:
/tmp
signifie stockage rapide (éventuellement petit) avec une durée de vie courte. De nombreux systèmes nettoient /tmp
très rapidement - sur certains systèmes, il est même monté sur un disque RAM. /var/tmp
est normalement situé sur un disque physique, est plus volumineux et peut contenir des fichiers temporaires plus longtemps. Certains systèmes nettoient également /var/tmp
, mais moins souvent.
Notez également que, /var/tmp
dans le processus de démarrage précédent, ils pourraient ne pas être disponibles, /var
et / ou /var/tmp
peuvent être des points de montage. Ainsi, il est un peu comparable à la différence entre /bin
et /usr/bin
. Le premier est disponible au début du démarrage - le dernier après que le système a tout monté. Donc, la plupart des scripts de démarrage utiliseront /tmp
et non /var/tmp
des fichiers temporaires.
Un autre emplacement (à venir) sur Linux pour les fichiers temporaires est /dev/shm
.
/bin
et /usr/bin
sont en fait les mêmes de nos jours (liens symboliques). ;-)
/tmp
peut être, et est parfois, nettoyé au redémarrage. /var/tmp
est préservé entre les redémarrages.
Ils ont le même but et la même fonctionnalité. Chaque version d'UNIX / Linux gérera ces répertoires différemment. Historiquement, avant l'avènement des systèmes de fichiers à base de RAM / swap, vous disposiez de systèmes sans disque où les systèmes de fichiers /
et /usr
étaient en lecture seule et /var
(variable) en lecture-écriture. Le /tmp
nom serait un lien symbolique vers /var/tmp
. Plus tard, les systèmes sans disque ne sont plus à la mode, l’espace disque devient moins cher (pour avoir des systèmes de fichiers racine plus grands) et la technologie autorise les systèmes de fichiers montés à partir de la mémoire plutôt que sur disque. Le /var/tmp
répertoire est tombé en désuétude, mais est toujours utilisé par certains programmes.
De nos jours, plus de sécurité est configurée par défaut sur /tmp
, comme les g+s,+t
autorisations, mais pas sur /var/tmp
. De plus, il /var/tmp
est rarement monté à partir de RAM ou d’échange.
a+rwx+t
- et no g+s
.
Spécifications de base POSIX, numéro 7 sur / tmp :
Le répertoire suivant doit exister sur les systèmes conformes et doit être utilisé comme décrit:
/ tmp
Répertoire disponible pour les applications nécessitant un emplacement pour créer des fichiers temporaires. Les applications sont autorisées à créer des fichiers dans ce répertoire, mais ne supposent pas que ces fichiers sont préservés entre les invocations de l'application.
La norme de hiérarchie de fichiers 2.3 sur / tmp :
Le répertoire / tmp doit être disponible pour les programmes nécessitant des fichiers temporaires.
Les programmes ne doivent pas supposer que des fichiers ou des répertoires dans / tmp sont préservés entre les invocations du programme.
Raisonnement
La norme IEEE P1003.2 (POSIX, partie 2) établit des exigences similaires à celles de la section ci-dessus.
Bien que les données stockées dans / tmp puissent être supprimées de manière spécifique au site, il est recommandé de supprimer les fichiers et les répertoires situés dans / tmp à chaque démarrage du système.
FHS a ajouté cette recommandation sur la base d'un précédent historique et d'une pratique courante, sans toutefois en faire une exigence, car l'administration du système n'entre pas dans le champ d'application de cette norme.
POSIX ne spécifie pas / var / tmp . La FHS fait cependant :
Le répertoire / var / tmp est disponible pour les programmes nécessitant des fichiers temporaires ou des répertoires préservés entre les redémarrages du système. Par conséquent, les données stockées dans / var / tmp sont plus persistantes que les données dans / tmp .
Les fichiers et les répertoires situés dans / var / tmp ne doivent pas être supprimés au démarrage du système. Bien que les données stockées dans / var / tmp soient généralement supprimées de manière spécifique au site, il est recommandé de supprimer les suppressions à un intervalle moins fréquent que / tmp .