Cosa può andare storto se / var / tmp si trova su un filesystem temporaneo?


8

Ho letto che non dovrei montare / var / tmp come filesystem temporaneo (es. Come tmpfs), perché i file in / var / tmp non devono essere cancellati al riavvio. È corretto?

Supponiamo di aver montato / var / tmp come tmpfs, quindi il suo contenuto viene eliminato ad ogni riavvio. Sarebbe male? Se sì, cosa potrebbe andare storto? Quanto sarebbe grave?


@JMoore, sto chiedendo di /var/tmp, non di /tmp. Mi scuso se non è stato chiaro.
DW

Risposte:


11

I file in /var/tmpdovrebbero essere persistenti durante i riavvii. Da FHS :

La directory / var / tmp è resa disponibile per i programmi che richiedono file o directory temporanei conservati tra i riavvii del sistema. Pertanto, i dati memorizzati in / var / tmp sono più persistenti dei dati in / tmp.

I file in /var/tmpsono spesso file di cache o file temporanei che non dovrebbero scomparire in caso di improvvisa interruzione di corrente. Non ci si può aspettare che vivano per sempre però. È comune cancellare i vecchi file da /var/tmpuna pianificazione.

Ecco alcuni esempi di /var/tmputilizzo:

  • Alcune implementazioni di vi (ad es. nvi) Inseriscono i loro file di recupero da crash /var/tmp. Se si tratta di un filesystem temporaneo, non hai la possibilità di recuperare nulla. Vim mette i suoi file di ripristino di emergenza nella stessa directory del file che si sta modificando.
  • Uso un plugin per Firefox che mi permette di modificare i campi di testo in Vim. Per fare ciò, il plugin crea un file temporaneo in /var/tmp( /tmpè il default però) e passa il file a Vim. Se il mio computer perde potenza mentre sto usando questa funzione, la mia scrittura sarà al sicuro /var/tmp.
  • Strumenti di modifica del testo come exe sudoeditinserire file temporanei /var/tmp. Se /var/tmpfosse montato come tmpfs, rischieresti di perdere dati a causa di interruzioni di corrente impreviste.
  • La git-archive(1)manpage ha il seguente esempio.

    git archive --format = tar --prefix = junk / HEAD | (cd / var / tmp / && tar xf -)
    Crea un archivio tar che contiene il contenuto dell'ultimo commit sul
    ramo corrente ed estrailo nella directory / var / tmp / junk.

    È possibile che la /var/tmpdirectory sia stata scelta in modo tale da non perdere il contenuto dell'archivio estratto a causa di un'interruzione improvvisa dell'alimentazione.

  • Poiché /var/tmpviene cancellato periodicamente ma mai in modo imprevisto, è comune archiviare registri temporanei e testare database lì. Ad esempio, nella arpd manpage, /var/tmpviene utilizzato come posizione di un database di test per motivi di alcuni esempi.

    arpd -b /var/tmp/arpd.db
    Avvia arpd per raccogliere l'ARP gratuito, ma non si scherza con la funzionalità del kernel.

In sintesi, è improbabile che il tuo sistema incorra in gravi danni se monti /var/tmpcome tmpfs. Ciò potrebbe essere indesiderabile, poiché rischi di perdere informazioni a causa di interruzioni di corrente e riavvii.



Grazie. Ho letto le specifiche FHS e capisco che in linea di principio le applicazioni potrebbero usare / var / tmp per memorizzare roba - ero più curioso di esempi specifici di quanto potrebbe essere problematico in pratica.
DW

@DW: fornirò altri esempi.

2
È anche /var/tmpprobabile che @DW sia più grande di /tmp, quindi alcune applicazioni prevedono di inserire file temporanei di grandi dimensioni. Se /var/tmpè su tmpfs, il sistema potrebbe esaurire la memoria o avviare il thrashing.
Gilles 'SO- smetti di essere malvagio' l'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.