Que peut-il se passer si / var / tmp est sur un système de fichiers temporaire?

8

J'ai lu que je ne devrais pas monter / var / tmp en tant que système de fichiers temporaire (par exemple, en tant que tmpfs), car les fichiers dans / var / tmp ne doivent pas être supprimés au redémarrage. Est-ce exact?

Supposons que j'ai monté / var / tmp en tant que tmpfs, donc son contenu est supprimé à chaque redémarrage. Serait-ce mauvais? Si oui, qu'est-ce qui pourrait mal tourner? Comment serait-ce mauvais?

DW
la source
@JMoore, je pose des questions sur /var/tmp, pas sur /tmp. Mes excuses si cela n'était pas clair.
DW

Réponses:

11

Les fichiers /var/tmpdoivent être persistants lors des redémarrages. De la FHS :

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 dans /var/tmpsont souvent des fichiers cache ou des fichiers temporaires qui ne devraient pas disparaître en cas de panne de courant soudaine. On ne peut cependant pas attendre d'eux qu'ils vivent éternellement. Il est courant d' effacer les anciens fichiers de /var/tmpsur un calendrier.

Voici quelques exemples d' /var/tmputilisation de:

  • Certaines implémentations de vi (par exemple nvi) placent leurs fichiers de récupération après incident /var/tmp. S'il s'agit d'un système de fichiers temporaire, vous n'avez aucune chance de récupérer quoi que ce soit. Vim place ses fichiers de récupération après incident dans le même répertoire que le fichier en cours de modification.
  • J'utilise un plugin Firefox qui me permet de modifier des champs de texte dans Vim. Pour ce faire, le plugin crée un fichier temporaire dans /var/tmp( /tmppar défaut cependant) et transmet le fichier à Vim. Si mon ordinateur perd de la puissance pendant que j'utilise cette fonction, mon écriture sera saine et sauve /var/tmp.
  • Outils d'édition de texte tels que exet sudoeditinsérez des fichiers temporaires /var/tmp. S'il /var/tmpétait monté en tant que tmpfs, vous risqueriez de perdre des données en raison de pannes de courant inattendues.
  • La git-archive(1)page de manuel contient l'exemple suivant.

    archive git --format = tar --prefix = junk / HEAD | (cd / var / tmp / && tar xf -)
    Créez une archive tar qui contient le contenu de la dernière validation sur
    la branche actuelle et extrayez-la dans le répertoire / var / tmp / junk.

    Il est possible que le /var/tmprépertoire ait été choisi de sorte que le contenu de l'archive extraite ne soit pas perdu en cas de panne de courant soudaine.

  • Comme il /var/tmpest effacé périodiquement mais jamais de manière inattendue, il est courant d'y stocker des journaux temporaires et de tester des bases de données. Par exemple, dans la arpd page de manuel, /var/tmpest utilisé comme emplacement d'une base de données de test pour certains exemples.

    arpd -b /var/tmp/arpd.db
    Démarrez arpd pour collecter l'ARP gratuit, mais sans jouer avec les fonctionnalités du noyau.

En résumé, il est peu probable que votre système subisse de graves dommages si vous montez en /var/tmptant que tmpfs. Cela peut être indésirable, car vous risqueriez de perdre des informations en raison de pannes de courant et de redémarrages.

Gilles 'SO- arrête d'être méchant'
la source
Merci. J'ai lu la spécification FHS et je comprends qu'en principe les applications peuvent utiliser / var / tmp pour stocker des choses - j'étais plus curieux de voir des exemples spécifiques de la façon dont cela pourrait être problématique dans la pratique.
DW
@DW: Je fournirai plus d'exemples.
2
@DW /var/tmpest également susceptible d'être plus grand que /tmp, donc certaines applications s'attendent à y placer de gros fichiers temporaires. Si /var/tmpest sur tmpfs, votre système peut manquer de mémoire ou commencer le thrashing.
Gilles 'SO- arrête d'être méchant'