Les distributions sont bien sûr différentes, mais je m'attends à ce que les fichiers temporaires soient gérés automatiquement par le système prêt à l'emploi. Ils utiliseraient probablement des tâches cron ou le service systemd-tmpfiles-clean. Si vous êtes inquiet à propos de l'espace disque, il s'agit d'une commande utile pour jeter un œil à l'espace occupé par chaque dossier racine:
du -hs /* | sort -h
Pour voir si votre système utilise le service systemd pour gérer les fichiers temporaires, vous pouvez simplement essayer:
systemctl status systemd-tmpfiles-clean
En bas, vous verrez quelque chose comme ce qui suit, qui vous indique la dernière exécution du service:
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.
Notez que ce service se terminera dès qu'il aura terminé le nettoyage. Un service de minuterie est chargé de le déclencher régulièrement. Vous pouvez le vérifier avec:
systemctl status systemd-tmpfiles-clean.timer
Et vous devez vous attendre à quelque chose comme ceci:
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 vous regardez à nouveau le service réel responsable du nettoyage des fichiers, vous verrez que tout ce qu'il fait est exécuté:
/usr/bin/systemd-tmpfiles --clean
Donc, vous pouvez soit exécuter cette commande directement, soit la faire correctement:
systemctl start systemd-tmpfiles-clean
Qui exécutera la commande appropriée pour votre système. Cependant, vous devez savoir que ce n'est pas une commande "supprimer tous les fichiers temporaires maintenant". Il existe plusieurs fichiers de configuration qui contrôlent ce qui est réellement supprimé et quand, afin que les applications puissent configurer individuellement leurs fichiers temporaires.
Un endroit pour rechercher une gestion générique des fichiers temporaires pourrait être celui /usr/lib/tmpfiles.d/tmp.conf
qui pourrait avoir les lignes pertinentes suivantes:
# Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d
Vous pouvez les remplacer par un temps plus court, si votre système continue de manquer d'espace, par exemple, pour:
v /tmp 1777 root root 12h
v /var/tmp 1777 root root 1d
Pour être sûr de ce que vous faites, man tmpfiles.d
lisez le manuel. Encore une fois, j'ai trouvé l'approche présentée ici pertinente sur un CentOS (basé sur RedHat) et un système Ubuntu, mais je ne connais pas grand-chose aux autres distributions.
/tmp
nettoyé après le redémarrage, mais cela dépend du système de fichiers qui y est monté. Quedf -h
dit-on?