Dystrybucje są oczywiście różne, ale spodziewam się, że pliki tymczasowe będą automatycznie zarządzane przez system po wyjęciu z pudełka. Prawdopodobnie użyliby zadań cron lub usługi systemd-tmpfiles-clean. Jeśli martwisz się o miejsce na dysku, jest to przydatne polecenie, aby sprawdzić, ile miejsca zajmuje każdy folder główny:
du -hs /* | sort -h
Aby sprawdzić, czy system używa usługi systemd do zarządzania plikami tymczasowymi, możesz po prostu spróbować:
systemctl status systemd-tmpfiles-clean
Na dole zobaczysz coś takiego, co mówi, kiedy usługa była ostatnio uruchamiana:
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.
Pamiętaj, że ta usługa zostanie zakończona, gdy tylko zakończy się czyszczenie. Usługa timera jest odpowiedzialna za regularne uruchamianie. Możesz to sprawdzić za pomocą:
systemctl status systemd-tmpfiles-clean.timer
I powinieneś spodziewać się czegoś takiego:
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.
Jeśli spojrzysz ponownie na rzeczywistą usługę odpowiedzialną za czyszczenie plików, zobaczysz, że wszystko, co robi, to uruchomić:
/usr/bin/systemd-tmpfiles --clean
Możesz więc uruchomić to polecenie bezpośrednio lub wykonać to poprawnie, po prostu wykonaj:
systemctl start systemd-tmpfiles-clean
Które uruchomi odpowiednie polecenie dla twojego systemu. Należy jednak pamiętać, że nie jest to polecenie „usuń teraz wszystkie pliki tymczasowe”. Istnieje kilka plików konfiguracyjnych, które kontrolują to, co faktycznie zostanie usunięte, i kiedy aplikacje mogą indywidualnie konfigurować swoje pliki tymczasowe.
Jednym miejscem, w którym można znaleźć ogólną obsługę plików tymczasowych, mogą być /usr/lib/tmpfiles.d/tmp.conf
następujące odpowiednie linie:
# Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d
Możesz zmienić te ustawienia na krótsze, jeśli w systemie zaczyna brakować miejsca, na przykład:
v /tmp 1777 root root 12h
v /var/tmp 1777 root root 1d
Aby mieć pewność, co robisz, man tmpfiles.d
przeczytaj instrukcję. Znów uważam, że przedstawione tutaj podejście jest odpowiednie dla CentOS (opartego na RedHat) i systemu Ubuntu, ale niewiele wiem o innych dystrybucjach.
/tmp
jest czyszczony po ponownym uruchomieniu, ale zależy to od zamontowanego tam systemu plików. Codf -h
mówi