Apakah aman untuk rm -rf / tmp / *?


29

Ini adalah sesuatu yang biasa saya lakukan pada Windows, tetapi setelah kegagalan baru - baru ini saya ingin memastikan. Apakah aman untuk dilakukan

sudo rm -rf /tmp/*

?


Apakah ini server yang pernah berjalan, atau mesin desktop dengan shutdown harian?
pengguna tidak diketahui

Saya ingin bertanya mengapa Anda ingin menghapus file di / tmp? Apakah karena mengisi, atau karena alasan privasi? Jika ini masalah ruang, itu mungkin karena aplikasi berperilaku buruk, atau mungkin itu harus di partisi yang lebih besar. Jika privasi, ada alternatif lain, seperti menggunakan sistem file terenkripsi yang mungkin ingin Anda pertimbangkan.
Rob

Ini dapat menyebabkan berbagai masalah pada sistem Anda, tetapi terutama itu akan berhasil.
peterh mengatakan mengembalikan Monica

Jawaban:


19

Secara umum, tidak.

Jika diisi dengan sampah, Anda mungkin ingin melihat perangkat lunak apa yang tidak beres dengan sendirinya.

Anda juga dapat menggunakan find untuk mengidentifikasi file yang belum dimodifikasi atau diakses dalam waktu lama yang mungkin aman untuk dihapus.


9
Setuju dengan paduan suara 'tidak' di sini, dan tambahan bahwa sebagian besar distro linux secara otomatis membersihkan /tmp/pada saat startup. Meskipun ini tidak selalu membantu jika kita berbicara tentang server no-reboot-EVER di sini, satu kemungkinan mungkin berjalan find ./ -type f -atime 14 -exec rm {} \; setiap minggu atau lebih untuk menghapus file biasa yang belum diakses sama sekali dalam dua minggu terakhir. ..
Shadur

find ./ -type f -atime 14 -deletedengan gnu-find
pengguna tidak diketahui

@ pengguna ini tentu saja berasumsi bahwa /tmptidak menggunakan default kernel saat ini yang relatimehanya memperbarui ketika file diubah, atau noatime. Dalam hal atimeini tidak akan sangat membantu.
xenoterracide

8

Jawaban sebenarnya adalah - itu tergantung. / tmp dapat digunakan oleh aplikasi yang membutuhkan penguncian atau log sementara untuk hadir agar dapat dijalankan, atau mungkin tidak. Mungkin ada symlink di sana ... tidak yakin untuk apa, tapi selalu mungkin.

Anda harus benar-benar melihat apa yang ada di sana sebelum Anda memutuskan untuk menghapusnya. melakukan rf -rf * pada apa pun pada dasarnya berbahaya.


3
Di sistem saya, file log pergi ke / var / log, file kunci ke / var / kunci.
pengguna tidak diketahui

3
@user yakin, untuk daemon sistem ... ini tidak berarti bahwa tidak ada kunci atau log untuk aplikasi pengguna /tmpkarena pengguna normal tidak dapat menulis ke /var/log|lockSaya memiliki skrip shell yang menulis kunci untuk/tmp
xenoterracide

7

Misalnya, jika Anda memiliki basis data MySQL yang berjalan di komputer Anda yang akan mematikan soketnya, atau jika Anda menggunakan emacs sebagai server yang akan membunuh proses server. Ada banyak kasus lain di mana tidak aman untuk menghapus file-file ini. Hal terbaik untuk dilakukan adalah menulis skrip yang memeriksa tanggal file dan hanya menghapusnya jika sudah lama.


Pertanyaan cepat ketika Anda mengatakan "itu akan mematikan soketnya", apa yang Anda sediakan dengan 'soket'?
Qasim


2

Tidak.

Tapi Anda bisa ramdisk untuk dir / tmp maka itu akan kosong setelah setiap reboot sistem. Dan sebagai efek samping sistem Anda mungkin menjadi sedikit lebih cepat.

Google memiliki banyak informasi tentang tmpfs dan / atau ramfs.


Apakah tidak umum untuk menghapus / tmp secara otomatis saat restart? Gentoo melakukannya, dan saya pikir Ubuntu melakukannya, tapi sudah lama sejak saya menggunakannya
Michael Mrozek

Tidak, saya tidak berpikir distro yang diturunkan dari Debian seperti Ubuntu melakukannya (sekarang juga). Tetapi cukup mudah untuk menambahkan ini jika Anda suka.
Johan

Ubuntu Matty (atau apa pun rilis saat ini disebut) tidak. Tetapi jika Anda tidak me-reboot mesin Anda secara teratur, itu tidak akan terjadi.
Rob

Ok, tidak memeriksa arus. Saya menggunakan trek LTS sekarang.
Johan

Ubuntu melakukannya, dan setiap Linux yang saya uji sebelumnya, melakukan: Knoppix, Peanut, Halloween, Red Hat, SuSe. Mengapa ini membuat sistem lebih cepat? Apa sebenarnya yang lebih cepat? Perhitungan, akses disk, jaringan, boot?
pengguna tidak diketahui

-4

Saran saya adalah mengganti nama folder tmp Anda terlebih dahulu untuk melihat apa yang dipengaruhi oleh direktori ini. Ganti nama dari "tmp" menjadi "old_tmp". Juga, buat folder kosong baru dengan nama "tmp" karena mungkin beberapa pengaturan atau proses sistem memerlukan folder ini untuk membuat beberapa file di dalam direktori ini seperti file log. Ikuti langkah-langkah ini untuk menghapus tanggal tmp dengan aman.

1- Ubah nama direktori "tmp" yang ada sebagai "old_tmp". 2- Buat direktori kosong "tmp" baru 3- Tetapkan semua izin sebagai "0777" ke direktori yang baru dibuat ini sehingga sistem / pengaturan dapat memiliki izin untuk membuat / menempatkan log dan file lain di dalam direktori ini. 4 - Jalankan sistem dan aplikasi untuk memastikan semuanya berjalan dengan baik dan bersikap seperti biasa. Tetap pantau selama 2-3 hari. 5- Jika yakin tidak ada yang terpengaruh karena mengganti nama direktori "tmp" Anda menjadi "old_tmp" maka Anda dapat menghapus direktori "old_tmp".

Catatan: Jika ada sesuatu yang menyebabkan masalah karena mengganti nama direktori "tmp" menjadi "old_tmp" maka biarkan direktori ini kembali ke nama "tmp" aslinya.


2
Ini ide yang sangat buruk. Ada banyak utilitas shell standar yang menulis file sementara /tmpdan yang akan mulai gagal segera setelah Anda mengganti nama aslinya /tmp. Perhatikan juga bahwa /tmpdirektori harus memiliki izin khusus (set bit sticky, misalnya).
Kusalananda

Harap baca dengan seksama apa yang saya katakan: Anda benar mungkin ada banyak utilitas shell standar yang menulis file sementara ke direktori "/ tmp" itu sebabnya saya mengatakan untuk membuat direktori "tmp" baru dan memberikan izin lengkap untuk itu setelah mengganti nama lama yang sudah ada direktori "tmp".
A.Aleem11

1
Ya, dan Anda berkata izinnya seharusnya 0777sebenarnya sudah seharusnya 1777.
Kusalananda
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.