Respuestas:
/tmp
se entiende como almacenamiento rápido (posiblemente pequeño) con una vida útil corta. Muchos sistemas se limpian /tmp
muy rápido: en algunos sistemas incluso se monta como disco RAM. /var/tmp
normalmente se encuentra en un disco físico, es más grande y puede contener archivos temporales durante más tiempo. Algunos sistemas también limpian /var/tmp
, pero con menos frecuencia.
También tenga en cuenta que /var/tmp
podría no estar disponible en el maletero-proceso temprano, como /var
y / o /var/tmp
puede haber puntos de montaje. Por lo tanto, es un poco comparable a la diferencia entre /bin
y /usr/bin
. El primero está disponible durante el inicio temprano, el último después de que el sistema ha montado todo. Por lo tanto, la mayoría de los scripts de arranque se usarán /tmp
y no /var/tmp
para archivos temporales.
Otra ubicación (próxima) en Linux para archivos temporales es /dev/shm
.
/bin
y en /usr/bin
realidad sean los mismos en estos días (enlaces simbólicos). ;-)
/tmp
puede ser, ya veces es, limpiado al reiniciar. /var/tmp
se conserva entre reinicios.
Tienen el mismo propósito y funcionalidad. Cada versión de UNIX / Linux manejará estos directorios de manera diferente. Históricamente, antes del advenimiento de los sistemas de archivos basados en RAM / intercambio, tenía sistemas sin disco donde los sistemas de archivos /
y /usr
serían de solo lectura y /var
(variable) serían de lectura y escritura. El /tmp
nombre sería un enlace simbólico a /var/tmp
. Más tarde, los sistemas sin disco pasaron de moda, el espacio en disco se volvió más barato (al tener sistemas de archivos raíz más grandes) y la tecnología permitió sistemas de archivos montados desde la memoria en lugar del disco. El /var/tmp
directorio pasó de moda, pero algunos programas todavía lo usan.
En estos días, se configura más seguridad de forma predeterminada en /tmp
, como los g+s,+t
permisos, pero no en /var/tmp
. Además, /var/tmp
rara vez se monta desde RAM o intercambio.
a+rwx+t
, y no g+s
.
Especificaciones básicas de POSIX, número 7 en / tmp :
El siguiente directorio existirá en los sistemas conformes y se utilizará como se describe:
/ tmp
Un directorio disponible para aplicaciones que necesitan un lugar para crear archivos temporales. Se permitirá que las aplicaciones creen archivos en este directorio, pero no se supondrá que dichos archivos se conservan entre invocaciones de la aplicación.
El estándar de jerarquía de archivos 2.3 en / tmp :
El directorio / tmp debe estar disponible para programas que requieren archivos temporales.
Los programas no deben suponer que los archivos o directorios en / tmp se conservan entre invocaciones del programa.
Razón fundamental o base lógica
El estándar IEEE P1003.2 (POSIX, parte 2) establece requisitos similares a los de la sección anterior.
Aunque los datos almacenados en / tmp pueden eliminarse de una manera específica del sitio, se recomienda que los archivos y directorios ubicados en / tmp se eliminen cada vez que se inicie el sistema.
FHS agregó esta recomendación sobre la base de precedentes históricos y prácticas comunes, pero no lo hizo un requisito porque la administración del sistema no está dentro del alcance de esta norma.
POSIX no especifica / var / tmp . El FHS hace sin embargo :
El directorio / var / tmp está disponible para programas que requieren archivos temporales o directorios que se conservan entre los reinicios del sistema. Por lo tanto, los datos almacenados en / var / tmp son más persistentes que los datos en / tmp .
Los archivos y directorios ubicados en / var / tmp no deben eliminarse cuando se inicia el sistema. Aunque los datos almacenados en / var / tmp generalmente se eliminan de una manera específica del sitio, se recomienda que las eliminaciones se produzcan en un intervalo menos frecuente que / tmp .