Las distribuciones son diferentes, por supuesto, pero espero que los archivos temporales sean administrados automáticamente por el sistema de forma inmediata. Probablemente usarían trabajos cron o el servicio systemd-tmpfiles-clean. Si le preocupa el espacio en disco, este es un comando útil para ver cuánto espacio ocupa cada carpeta raíz:
du -hs /* | sort -h
Para ver si su sistema está utilizando el servicio systemd para administrar archivos temporales, puede probar:
systemctl status systemd-tmpfiles-clean
En la parte inferior, verá algo como lo siguiente, que le indica cuándo se ejecutó el servicio por última vez:
systemd-tmpfiles-clean.service - Cleanup of Temporary Directories
Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-clean.service; static; vendor preset: disabled)
Active: inactive (dead) since Wed 2018-07-18 15:43:36 IST; 18h ago
Docs: man:tmpfiles.d(5)
man:systemd-tmpfiles(8)
Process: 30495 ExecStart=/usr/bin/systemd-tmpfiles --clean (code=exited, status=0/SUCCESS)
Main PID: 30495 (code=exited, status=0/SUCCESS)
Jul 18 15:43:36 host-name systemd[1]: Starting Cleanup of Temporary Directories...
Jul 18 15:43:36 host-name systemd[1]: Started Cleanup of Temporary Directories.
Tenga en cuenta que este servicio se cerrará tan pronto como termine con la limpieza. Un servicio de temporizador es responsable de activarlo regularmente. Puedes consultarlo con:
systemctl status systemd-tmpfiles-clean.timer
Y debe esperar algo como lo siguiente:
systemd-tmpfiles-clean.timer - Daily Cleanup of Temporary Directories
Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-clean.timer; static; vendor preset: disabled)
Active: active (waiting) since Tue 2018-07-03 10:56:59 IST; 2 weeks 1 days ago
Docs: man:tmpfiles.d(5)
man:systemd-tmpfiles(8)
Jul 03 10:56:59 host-name systemd[1]: Started Daily Cleanup of Temporary Directories.
Jul 03 10:56:59 host-name systemd[1]: Starting Daily Cleanup of Temporary Directories.
Si vuelve a mirar el servicio real responsable de limpiar los archivos, verá que todo lo que hace es ejecutar:
/usr/bin/systemd-tmpfiles --clean
Para que pueda ejecutar ese comando directamente, o para hacerlo correctamente, simplemente haga:
systemctl start systemd-tmpfiles-clean
Que ejecutará el comando apropiado para su sistema. Sin embargo, debe tener en cuenta que este no es un comando "eliminar todos los archivos temporales ahora". Hay varios archivos de configuración que controlan lo que realmente se elimina y cuándo, para que las aplicaciones puedan configurar individualmente sus archivos temporales.
Un lugar para buscar el manejo genérico de archivos temporales podría ser el /usr/lib/tmpfiles.d/tmp.conf
que podría tener las siguientes líneas relevantes:
# Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d
Podría cambiarlos a un tiempo más corto, si su sistema se queda sin espacio, por ejemplo, para:
v /tmp 1777 root root 12h
v /var/tmp 1777 root root 1d
Para estar seguro de lo que está haciendo, man tmpfiles.d
lea el manual. Nuevamente, he encontrado que el enfoque presentado aquí es relevante en un sistema CentOS (basado en RedHat) y Ubuntu, pero no sé mucho sobre otras distribuciones.
/tmp
se limpia después del reinicio, pero esto depende del sistema de archivos montado allí. Quedf -h
dice