El directorio /tmp es un espacio temporal donde el sistema y las aplicaciones almacenan datos que solo se necesitan por un corto período de tiempo. La mayoría de las distribuciones de Linux están configuradas para vaciar automáticamente su contenido cada vez que el sistema se reinicia.
Supongamos que estás instalando un software en tu sistema. Durante la instalación, el instalador puede necesitar almacenar archivos temporales en /tmp.
Otro caso común es cuando trabajas en un documento y el editor de texto guarda versiones automáticas en este directorio para evitar la pérdida de datos en caso de un fallo del sistema.
En pocas palabras, /tmp se usa para archivos que solo son necesarios temporalmente y pueden eliminarse una vez que dejan de ser útiles.
Aunque /tmp y /var/tmp parecen similares, la diferencia clave radica en la duración y el propósito de los archivos que almacenan.
La variable de entorno TMPDIR almacena la ruta del directorio temporal dentro del sistema, en general suele ser /tmp, pero esta variable nos permite modificar esta ruta. En algunas versiones de Ubuntu, como 16.04, 18.04 y 20.04, la variable de entorno TMPDIR no está definida por defecto. Si no está definida, algunas aplicaciones pueden no encontrar la ubicación adecuada para estos archivos.
Para establecer la variable TMPDIR, puedes ejecutar:
export TMPDIR=/tmp
Para que este cambio sea permanente, añade la línea anterior al final de tu archivo ~/.bashrc:
echo 'export TMPDIR=/tmp' >> ~/.bashrc
source ~/.bashrc
Verifica si TMPDIR está definida con:
echo $TMPDIR
Si no muestra ninguna salida, significa que la variable no está definida.
Otra forma de conocer la ubicación del directorio temporal asignado por el sistema es utilizando el comando mktemp. Este comando crea un archivo temporal y devuelve su ruta, lo que permite determinar qué directorio está siendo utilizado para archivos temporales.
Para obtener la ubicación del directorio temporal, ejecuta:
mktemp -d
Este comando creará un directorio temporal y mostrará su ruta. Si la variable TMPDIR está definida, el directorio temporal se creará dentro de la ubicación especificada por TMPDIR. Si no está definida, el sistema usará /tmp por defecto.
Si solo quieres saber la ubicación sin crear un directorio, puedes usar:
dirname $(mktemp -u)
Esto devolverá el directorio donde se crearía un archivo temporal sin llegar a crearlo realmente.
Usar mktemp es una manera práctica de verificar qué directorio está siendo utilizado para almacenar archivos temporales, especialmente en sistemas donde la variable TMPDIR no está configurada explícitamente.