Apa yang bisa salah jika / var / tmp ada pada sistem file sementara?

8

Saya telah membaca bahwa saya tidak boleh me-mount / var / tmp sebagai sistem file sementara (misalnya, sebagai tmpfs), karena file di / var / tmp tidak boleh dihapus saat reboot. Apakah itu benar?

Misalkan saya melakukan mount / var / tmp sebagai tmpfs, jadi isinya dihapus pada setiap reboot. Apakah itu buruk? Jika ya, apa yang salah? Seburuk apa itu?

DW
sumber
@Joore, saya bertanya tentang /var/tmp, bukan tentang /tmp. Saya minta maaf jika ini tidak jelas.
DW

Jawaban:

11

File dalam /var/tmpdiharapkan persisten di seluruh reboot. Dari FHS :

Direktori / var / tmp tersedia untuk program yang memerlukan file atau direktori sementara yang disimpan di antara reboot sistem. Oleh karena itu, data yang disimpan di / var / tmp lebih persisten daripada data di / tmp.

File dalam /var/tmpsering kali merupakan file cache atau file sementara yang seharusnya tidak hilang jika terjadi kegagalan daya tiba-tiba. Mereka tidak bisa diharapkan untuk hidup selamanya. Adalah umum untuk menghapus file lama dari /var/tmppada jadwal.

Berikut ini beberapa contoh /var/tmppenggunaan:

  • Beberapa implementasi vi (mis. nvi) Memasukkan file pemulihan macetnya /var/tmp. Jika itu adalah sistem file sementara, Anda tidak mendapatkan kesempatan untuk memulihkan apa pun. Vim menempatkan file pemulihan macetnya di direktori yang sama dengan file yang sedang diedit.
  • Saya menggunakan plugin Firefox yang memungkinkan saya untuk mengedit bidang teks di Vim. Untuk mencapai hal ini, plugin membuat file sementara di /var/tmp( /tmpadalah defaultnya) dan meneruskan file ke Vim. Jika komputer saya kehilangan daya saat saya menggunakan fitur ini, tulisan saya akan aman dan masuk /var/tmp.
  • Alat pengeditan teks seperti exdan sudoeditmemasukkan file sementara /var/tmp. Jika /var/tmpdipasang sebagai tmpfs, Anda akan berisiko kehilangan data karena kegagalan daya yang tidak terduga.
  • Halaman git-archive(1)manual memiliki contoh berikut.

    arsip git --format = tar --prefix = junk / HEAD | (cd / var / tmp / && tar xf -)
    Buat arsip tar yang berisi isi komit terbaru pada
    cabang saat ini, dan ekstrak di direktori / var / tmp / junk.

    Ada kemungkinan bahwa /var/tmpdirektori dipilih sehingga isi arsip yang diekstraksi tidak akan hilang karena kegagalan daya tiba-tiba.

  • Karena /var/tmpdibersihkan secara berkala tetapi tidak pernah secara tak terduga, adalah umum untuk menyimpan log sementara dan menguji basis data di sana. Misalnya, di halaman arpd manual, /var/tmpdigunakan sebagai lokasi database uji coba untuk beberapa contoh.

    arpd -b /var/tmp/arpd.db
    Mulai arpd untuk mengumpulkan ARP serampangan, tetapi tidak mengacaukan fungsi kernel.

Singkatnya, sistem Anda tidak mungkin menimbulkan kerusakan parah jika Anda memasang /var/tmpsebagai tmpfs. Melakukannya mungkin tidak diinginkan karena Anda berisiko kehilangan informasi karena kegagalan daya dan reboot.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Terimakasih. Saya telah membaca spesifikasi FHS dan saya mengerti bahwa pada prinsipnya aplikasi mungkin menggunakan / var / tmp untuk menyimpan barang - saya lebih ingin tahu tentang contoh spesifik tentang seberapa problematisnya dalam praktek.
DW
@ WD: Saya akan memberikan lebih banyak contoh.
2
@DW Juga /var/tmpkemungkinan lebih besar dari /tmp, jadi beberapa aplikasi berharap untuk menempatkan file-file sementara yang besar di sana. Jika /var/tmpada di tmpfs, sistem Anda mungkin kehabisan memori atau mulai meronta-ronta.
Gilles 'SANGAT berhenti menjadi jahat'