web-dev-qa-db-fra.com

Quelle est la différence entre / tmp et / var / tmp?

Sur la plupart des systèmes FHS , il existe un /tmp dossier ainsi qu'un /var/tmp dossier. Quelle est la différence fonctionnelle entre les deux?

144
Wesley

/tmp est conçu comme un stockage rapide (éventuellement petit) avec une courte durée de vie. De nombreux systèmes nettoient /tmp très rapide - sur certains systèmes, il est même monté en tant que disque RAM. /var/tmp est normalement situé sur un disque physique, est plus grand et peut contenir des fichiers temporaires plus longtemps. Certains systèmes nettoient également /var/tmp, mais moins souvent.

Notez également que /var/tmp peut ne pas être disponible au début du processus de démarrage, car /var et/ou /var/tmp peut être des points de montage. Elle est donc un peu comparable à la différence entre /bin et /usr/bin. Le premier est disponible lors du démarrage précoce - le dernier après que le système a tout monté. La plupart des scripts de démarrage utiliseront donc /tmp et pas /var/tmp pour les fichiers temporaires.

Un autre emplacement (à venir) sur Linux pour les fichiers temporaires est /dev/shm.

122
Nils

/tmp peut être, et est parfois, nettoyé au redémarrage. /var/tmp est conservé entre les redémarrages.

Voir l'article Wikipedia sur le FHS .

27
njsg

Ils ont le même objectif et les mêmes fonctionnalités. Chaque version d'UNIX/Linux traitera ces répertoires différemment. Historiquement, avant l'avènement des systèmes de fichiers RAM/swap, vous disposiez de systèmes sans disque où le / et /usr les systèmes de fichiers seraient en lecture seule et /var (variable) serait en lecture-écriture. Le /tmp nom serait un lien symbolique vers /var/tmp. Plus tard, les systèmes sans disque sont tombés en désuétude, l'espace disque est devenu moins cher (pour avoir des systèmes de fichiers racine plus grands) et la technologie a permis des systèmes de fichiers montés à partir de la mémoire au lieu du disque. Le /var/tmp Le répertoire n'est plus à la mode, mais est toujours utilisé par certains programmes.

De nos jours, plus de sécurité est configurée par défaut sur /tmp, comme g+s,+t autorisations, mais pas sur /var/tmp. Aditionellement, /var/tmp est rarement monté à partir de RAM ou swap.

15
Arcege

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

Un répertoire mis à disposition pour les applications qui ont besoin d'un emplacement pour créer des fichiers temporaires. Les applications doivent être autorisées à créer des fichiers dans ce répertoire, mais ne doivent pas supposer que ces fichiers sont conservés entre les appels de l'application.

The File Hierarchy Standard 2.3 sur /tmp :

Le répertoire /tmp doit être disponible pour les programmes qui nécessitent des fichiers temporaires.

Les programmes ne doivent pas supposer que tous les fichiers ou répertoires de /tmp sont conservés entre les invocations du programme.

Justification

La norme IEEE P1003.2 (POSIX, partie 2) établit des exigences similaires à la section ci-dessus.

Bien que les données stockées dans /tmp puissent être supprimées d'une manière spécifique au site, il est recommandé de supprimer les fichiers et répertoires situés dans /tmp chaque fois que le système est démarré.

La FHS a ajouté cette recommandation sur la base d'un précédent historique et d'une pratique courante, mais n'en a pas fait une exigence car l'administration du système ne relève pas du champ d'application de cette norme.

POSIX ne spécifie pas /var/tmp. Le FHS le fait cependant :

Le répertoire /var/tmp est 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 sont plus persistantes que les données dans /tmp.

Les fichiers et 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 d'une manière spécifique au site, il est recommandé que les suppressions se produisent à un intervalle moins fréquent que /tmp .

12
osvein