GNU/Linux >> Belajar Linux >  >> Linux

Kapan /tmp dibersihkan?

Solusi 1:

Itu tergantung pada distribusi Anda. Pada beberapa sistem, itu dihapus hanya saat boot, yang lain menjalankan cronjobs menghapus item yang lebih lama dari n jam.

  • Di Ubuntu 14:menggunakan tmpreaper yang dipanggil oleh /etc/cron.daily , dikonfigurasi melalui /etc/default/rcS dan /etc/tmpreaper.conf . (Kredit untuk jawaban ini).
  • Di Ubuntu 16:menggunakan tmpfiles.d . (Kredit untuk jawaban ini).
  • Pada sistem mirip Debian lainnya:saat boot (aturannya ditentukan dalam /etc/default/rcS ).
  • Pada sistem mirip RedHat:berdasarkan usia (RHEL6 adalah /etc/cron.daily/tmpwatch; RHEL7/RHEL8 dan mirip RedHat dengan systemd dikonfigurasi di /usr/lib/tmpfiles.d/tmp.conf , dipanggil dengan systemd-tmpfiles-clean.service ).
  • Di Gentoo /etc/conf.d/bootmisc .

Solusi 2:

Di CentOS (dan saya asumsikan Fedora), ada pekerjaan di /etc/cron.daily bernama tmpwatch . Ini menjalankan /usr/sbin/tmpwatch , yang akan menghapus file yang belum diakses dalam jumlah jam yang ditentukan, misalnya, perilaku defaultnya adalah memeriksa atime untuk file untuk mengevaluasi apakah itu telah digunakan baru-baru ini.

http://linux.die.net/man/8/tmpwatch

Distro lain (dan instalasi) mungkin memiliki /tmp yang dipasang sebagai tmpfs, yang merupakan sistem file dalam memori. Ini akan dihapus saat boot.

Solusi 3:

Di Ubuntu 11.10 yang saya gunakan, ada skrip pemula di /etc/init/mounted-tmp.conf . Awalannya mengatakan ini:

# mounted-tmp - Clean /tmp directory
#
# Cleans up the /tmp directory when it does not exist as a temporary
# filesystem.

description "Clean /tmp directory"

start on (mounted MOUNTPOINT=/tmp) or (mounted MOUNTPOINT=/usr)

Anda dapat membaca lebih detail, namun secara umum /tmp dibersihkan saat dipasang atau /usr dipasang. Hal ini sering terjadi saat boot, jadi /tmp ini pembersihan berjalan di setiap boot.

Di /etc/default/rcS Anda memiliki TMPTIME set, yang digunakan dalam skrip init di atas untuk memberi makan kedua find perintah pada akhirnya - pada dasarnya mengontrol penghapusan file berdasarkan waktunya (dimodifikasi, diubah, diakses).

Solusi 4:

Dari Fedora 18 dan seterusnya, /tmp dipasang pada tmpfs (yaitu RAM) secara default, dan dengan demikian dihapus saat daya dimatikan.

Perilaku ini dapat dinonaktifkan dengan mengeluarkan systemctl mask tmp.mount dan reboot (dan diaktifkan kembali dengan mengeluarkan systemctl unmask tmp.mount dan reboot), lalu /tmp akan dipasang pada / sistem file dan dapat dikontrol oleh /usr/lib/tmpfiles.d/tmp.conf pengaturan.

Lihat http://fedoraproject.org/wiki/Features/tmp-on-tmpfs dan man tmpfiles.d untuk detail lebih lanjut tentang setiap kasus.

Solusi 5:

Pada RHEL 6.2 file di /tmp dihapus oleh tmpwatch jika belum diakses dalam 10 hari.

File /etc/cron.daily/tmpwatch mendefinisikan cara tmpwatch dipanggil.

#! /bin/sh
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
    -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
    -X '/tmp/hsperfdata_*' 10d /tmp

Argumen -x adalah file yang akan dikecualikan. Argumen ke-2 hingga terakhir adalah waktu untuk menunggu setelah waktu akses terakhir. Argumen terakhir adalah direktori yang akan diperiksa.


Linux
  1. Kapan Menggunakan /dev/random Vs /dev/urandom?

  2. Ubuntu 14.04 "tidak Mendapatkan Uri Pemutaran Saat Masuk File:///*"?

  3. Bagaimana systemd-tmpfiles membersihkan /tmp/ atau /var/tmp (pengganti tmpwatch) di CentOS / RHEL 7

  1. Cara menonaktifkan penghapusan otomatis file di direktori /tmp dan /var/tmp di CentOS / RHEL 5,6

  2. Bagaimana saya mengakses Postgres ketika saya mendapatkan kesalahan tentang /var/run/postgresql/.s.PGSQL.5432?

  3. Haruskah situs web berada di /var/ atau /usr/ sesuai dengan penggunaan yang disarankan?

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Bash =~ Regex Dan Https://regex101.com/?

  3. Kapan `cron.daily` berjalan?