Qual è la differenza tra / tmp e / var / tmp?


Risposte:


114

/tmpè inteso come memoria veloce (possibilmente piccola) con una breve durata. Molti sistemi puliscono /tmpmolto velocemente - su alcuni sistemi è persino montato come disco RAM. /var/tmpsi trova normalmente su un disco fisico, è più grande e può contenere file temporanei per un tempo più lungo. Alcuni sistemi sono anche puliti /var/tmp, ma meno spesso.

Si noti inoltre che /var/tmppotrebbe non essere disponibile nel processo di avvio iniziale, poiché /vare / o /var/tmppotrebbero essere punti di montaggio. Quindi è un po 'paragonabile alla differenza tra /bine /usr/bin. Il primo è disponibile all'avvio anticipato, il secondo dopo che il sistema ha montato tutto. Quindi la maggior parte degli script di avvio utilizzerà /tmpe non /var/tmpper i file temporanei.

Un'altra posizione (imminente) su Linux per i file temporanei è /dev/shm.


4
Lo trovo un po 'ironico /bine /usr/binattualmente sono gli stessi (link simbolici). ;-)
Felix Schwarz,

2
@Felix Non ancora su tutte le distribuzioni. Ma Linux si sta muovendo in quel modo. Probabilmente perché i dischi diventano sempre più grandi.
Nils,


15

Hanno lo stesso scopo e funzionalità. Ogni versione di UNIX / Linux gestirà queste directory in modo diverso. Storicamente, prima dell'avvento dei filesystem basati su RAM / swap, avevi sistemi senza disco in cui i filesystem /e /usrsarebbero stati di sola lettura e /var(variabile) sarebbero stati di lettura-scrittura. Il /tmpnome sarebbe un collegamento simbolico a /var/tmp. Successivamente, i sistemi senza disco sono passati di moda, lo spazio su disco è diventato più economico (per avere file system root più grandi) e la tecnologia ha permesso ai filesystem montati dalla memoria anziché dal disco. La /var/tmpdirectory non è più in linea, ma è ancora utilizzata da alcuni programmi.

In questi giorni, per impostazione predefinita sono impostate più funzioni di protezione /tmp, come le g+s,+tautorizzazioni, ma non attive /var/tmp. Inoltre, /var/tmpraramente è montato da RAM o swap.


sui miei sistemi debian e fedora, / tmp e / var / tmp hanno la stessa modalità - a+rwx+t- e no g+s.
Fontejedi

12

Specifiche di base POSIX, Numero 7 on / tmp :

La seguente directory deve esistere su sistemi conformi e deve essere usata come descritto:

/ tmp

Una directory resa disponibile per le applicazioni che necessitano di un posto per creare file temporanei. Le applicazioni devono poter creare file in questa directory, ma non devono presumere che tali file vengano conservati tra le invocazioni dell'applicazione.

Il File Hierarchy Standard 2.3 su / tmp :

La directory / tmp deve essere resa disponibile per i programmi che richiedono file temporanei.

I programmi non devono presumere che i file o le directory in / tmp siano conservati tra le invocazioni del programma.

Fondamento logico

Lo standard IEEE P1003.2 (POSIX, parte 2) stabilisce requisiti simili alla sezione precedente.

Sebbene i dati memorizzati in / tmp possano essere eliminati in un modo specifico del sito, si consiglia di eliminare i file e le directory presenti in / tmp ogni volta che si avvia il sistema.

FHS ha aggiunto questa raccomandazione sulla base del precedente storico e della pratica comune, ma non l'ha resa un requisito poiché l'amministrazione del sistema non rientra nell'ambito di applicazione di questo standard.

POSIX non specifica / var / tmp . L'FHS però :

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 e le directory che si trovano in / var / tmp non devono essere eliminati all'avvio del sistema. Sebbene i dati archiviati in / var / tmp vengano in genere eliminati in un modo specifico del sito, si consiglia di eliminare a un intervallo meno frequente di / tmp .


Ah, adoro la documentazione. Ora so che lo so e perché credo di saperlo. Le mie esigenze epistemologiche sono così soddisfatte in questo momento.
Stephen C
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.