As distribuições são diferentes, é claro, mas eu esperaria que os arquivos temporários fossem gerenciados automaticamente pelo sistema imediatamente. Eles provavelmente usariam tarefas cron ou o serviço systemd-tmpfiles-clean. Se você estiver preocupado com espaço em disco, este é um comando útil para verificar quanto espaço cada pasta raiz está ocupando:
du -hs /* | sort -h
Para ver se seu sistema está usando o serviço systemd para gerenciar arquivos temporários, você pode apenas tentar:
systemctl status systemd-tmpfiles-clean
Na parte inferior, você verá algo como o seguinte, que informa quando o serviço foi executado pela ú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.
Observe que este serviço será encerrado assim que for feito com a limpeza. Um serviço de timer é responsável por ativá-lo regularmente. Você pode verificá-lo com:
systemctl status systemd-tmpfiles-clean.timer
E você deve esperar algo como o seguinte:
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.
Se você olhar novamente para o serviço real responsável pela limpeza dos arquivos, verá que tudo o que faz é executado:
/usr/bin/systemd-tmpfiles --clean
Portanto, você pode executar esse comando diretamente ou fazê-lo corretamente, basta:
systemctl start systemd-tmpfiles-clean
O qual executará o comando apropriado para o seu sistema. No entanto, você deve estar ciente de que este não é um comando "excluir todos os arquivos temporários agora". Existem vários arquivos de configuração que controlam o que realmente é excluído e quando, para que os aplicativos possam configurar individualmente seus arquivos temporários.
Um local para procurar manipulação genérica de arquivos temporários pode ser o /usr/lib/tmpfiles.d/tmp.conf
que pode ter as seguintes linhas relevantes:
# Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d
Você pode alterá-los para um tempo mais curto, se o seu sistema ficar sem espaço, por exemplo, para:
v /tmp 1777 root root 12h
v /var/tmp 1777 root root 1d
Para ter certeza do que está fazendo, man tmpfiles.d
leia o manual. Mais uma vez, achei a abordagem apresentada aqui relevante em um sistema CentOS (baseado em RedHat) e Ubuntu, mas não sei muito sobre outras distribuições.
/tmp
é limpo após a reinicialização, mas isso depende do sistema de arquivos montado lá. O quedf -h
diz?