Risposte:
/tmp
è inteso come memoria veloce (possibilmente piccola) con una breve durata. Molti sistemi puliscono /tmp
molto velocemente - su alcuni sistemi è persino montato come disco RAM. /var/tmp
si 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/tmp
potrebbe non essere disponibile nel processo di avvio iniziale, poiché /var
e / o /var/tmp
potrebbero essere punti di montaggio. Quindi è un po 'paragonabile alla differenza tra /bin
e /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à /tmp
e non /var/tmp
per i file temporanei.
Un'altra posizione (imminente) su Linux per i file temporanei è /dev/shm
.
/bin
e /usr/bin
attualmente sono gli stessi (link simbolici). ;-)
/tmp
può essere, e talvolta lo è, pulito al riavvio. /var/tmp
viene conservato tra i riavvii.
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 /usr
sarebbero stati di sola lettura e /var
(variabile) sarebbero stati di lettura-scrittura. Il /tmp
nome 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/tmp
directory 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,+t
autorizzazioni, ma non attive /var/tmp
. Inoltre, /var/tmp
raramente è montato da RAM o swap.
a+rwx+t
- e no g+s
.
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 .