Bisakah saya menghapus / var / cache dengan aman?

79

Saya kehabisan ruang disk dan mencatat bahwa saya memiliki /var/cachedirektori besar . Bisakah saya menghapus ini dengan aman? (menggunakan Arch Linux, BTW).


sumber
6
Saya akan memeriksa apa yang ada di sana, tetapi mengingat di situlah paket pacman store Anda mungkin ingin menjalankan pacman -Scatau bahkan pacman -Sccjika Anda ingin membersihkan seluruh cache paket Anda.
xenoterracide
Sebagian besar, tetapi tidak semua, file di bawah /var/cacheaman untuk dihapus. Jangan hapus direktori atau ubah kepemilikannya. Berlari du /var/cache/* | sort -nuntuk melihat apa yang terjadi. Tanyakan di sini jika Anda tidak tahu apakah direktori besar aman untuk dibersihkan.
Gilles
Bagaimana dengan penganalisis penggunaan disk - alternativeto.net/software/windirstat/?platform=linux
Aaron Newton

Jawaban:

28

Tidak ada .

Untuk satu, saya percaya itu /var/cache/bind/adalah direktori default di mana bind9 mengharapkan file zona untuk disimpan (setidaknya di Debian; Saya tidak tahu dengan langsung apakah distro lain mengikutinya)

Untuk yang lain, menurut dokumentasi ini , pacman (manajer paket yang digunakan oleh Arch linux) menyimpan cache paketnya di bawah /var/cache/pacman/pkg/dan kemungkinan besar tidak mengharapkan apa pun selain dirinya sendiri untuk memodifikasi konten.

Saya sarankan Anda membaca dokumentasi lebih dekat dan memutuskan apakah ini saat yang tepat untuk menghapus cache paket.

Shadur
sumber
Ya, jangan hapus / var / cache / apt / archives dir, tetapi Anda dapat menghapus file: /var/cache/apt/pkgcache.bin dan /var/cache/apt/srcpkgcache.bin, tetapi file tersebut akan dibuat ulang oleh "pembaruan apt-get".
diyism
6
Di Debian, /var/cache/bindberisi file zona yang ditransfer dari server nama lain — tidak boleh mengandung zona master. Debian mengikuti FHS, dan FHS mengharuskan file di bawah /var/cachedapat dihapus. Tentu saja, pertanyaannya adalah tentang Arch, dan selanjutnya seseorang tidak boleh menghapus file tanpa terlebih dahulu mencari tahu apa itu.
derobert
19
Itu seperti mengatakan Anda tidak boleh menghapus file di direktori sementara di windows tanpa mengetahui apa itu. Jika folder tersebut ditujukan untuk file temp dan program Anda menempatkan data non-sementara di sana, maka itu adalah masalah besar untuk program Anda, bukan untuk / var / cache
Tor Valamo
82

Dari http://www.lindevdoc.org/wiki//var/cache

Maaf untuk jawaban yang sangat terlambat, tapi saya percaya ini penting untuk memasukkan bit ini untuk referensi di masa mendatang.

Sorot bit yang menjawab pertanyaan ini.

Direktori / var / cache berisi file-file yang di-cache, yaitu file-file yang dibuat dan dapat dibuat kembali kapan saja, tetapi mereka layak disimpan untuk menghemat waktu penghitungan ulang.

Aplikasi apa pun dapat membuat file atau direktori di sini. Diasumsikan bahwa file yang disimpan di sini tidak kritis, sehingga sistem dapat menghapus konten / var / cache baik secara berkala, atau ketika isinya terlalu besar.

Aplikasi apa pun harus mempertimbangkan bahwa file yang disimpan di sini dapat hilang kapan saja, dan siap untuk menghitung ulang kontennya (dengan penalti waktu tertentu).

Jadi ya, Anda dapat menghapus file-file ini tanpa mengharapkan sesuatu yang buruk terjadi.

Tor Valamo
sumber
7
Anda harus melewati beberapa simpai jika Anda menghapus /var/cachedan ingin menggunakannya aptsesudahnya.
Matthias Braun
13

Seperti yang dikatakan orang lain , /var/cache/dapat digunakan oleh aplikasi apa pun untuk menyimpan informasi untuk menghemat waktu pengambilan. Dalam pengalaman saya, sebagian besar ruang yang digunakan di sana adalah dari manajer paket sistem.

Dari wiki Arch Linux :

pacmanmenyimpan paket-paket yang diunduh /var/cache/pacman/pkg/dan tidak menghapus versi lama atau yang dihapus secara otomatis, oleh karena itu perlu untuk membersihkan folder itu secara berkala untuk mencegah folder tersebut tumbuh dalam ukuran yang tidak terbatas.

pacman -Sc

Namun , kecuali ruang penyimpanan adalah masalah putus asa, untuk menyelamatkan sakit kepala nanti, dalam penyebab ketidakcocokan masa depan; salah satu dari alat-alat lainnya harus dimanfaatkan: paccache, pkgcacheclean, atau pacleaner.


Untuk sistem lain:

Berbasis redhat (Fedora, CentOS, SL, ...)

yum clean all
# or
dnf clean all

Berbasis Debian (Ubuntu, ...)

apt-get autoclean

Berbasis SUSE

zypper clean
Kevin
sumber
2
+1! Saya perhatikan hari ini bahwa saya kehabisan ruang disk ... sebuah du -hs /* 2> /dev/nullpengungkapan yang /varsangat besar. Ternyata cache pacman saya adalah 91GB. pacman -Scmembersihkan paket lama dan mengurangi cache pacman menjadi 5GB!
daniel451
1
Artikel ini adalah versi yang lebih verbose dari instruksi di arch wiki tentang cara menggunakanpaccahce
joelostblom
9

Menemukan posting ini menarik karena saya ingin menghapus dari / var / cache di Ubuntu 15.10 untuk peningkatan ruang disk, inilah yang saya temukan:

/ var / cache / file cache cache dihapus setelah 'sudo apt-get clean' telah dijalankan, namun struktur direktori tetap yang tidak masalah jika Anda mencari peningkatan ruang disk; 'apt-get clean' harus dijalankan terakhir jika Anda ingin mendapatkan peningkatan ruang disk apa pun dengan apt-get [otomatis] hapus / [otomatis] bersih dll.

Mengenai semua hal lain dalam direktori, saya sangat setuju dengan 'Tor Valamo' dan penjelasannya. Itu adalah cache, sistem dan aplikasi yang menggunakan cache harus dapat membuat ulang apa pun yang mereka buat di sana. Anda hanya memiliki overhead kinerja kecil karena cache dibuat ulang dari aplikasi ke aplikasi

Dengan mengatakan bahwa, setiap sistem mungkin tidak sesuai dengan prinsip ini, lakukan pengujian, coba pindahkan semua yang ada di direktori cache Anda ke lokasi baru dan uji apakah sistem Anda dan semua aplikasi Anda berfungsi sebelum menghapus cache secara permanen.

JeffreyJ
sumber
1

Anda dapat menentukan sendiri menggunakan ini lsof.

Jalankan lsof -Pn +D /var/cache/ | awk '{print $1}' | sort | uniquntuk melihat perangkat lunak mana yang saat ini memiliki file terbuka di direktori itu. Jika sesuatu terlihat cukup penting (atau Anda tidak tahu apa itu) maka jangan hapus.

Selain itu, Anda tidak boleh hanya membuat direktori tanpa cadangan; ini bahkan berlaku untuk /tmp. Jika file sedang digunakan, penghapusan Anda tidak akan didaftarkan sampai setelah penangan ditutup (Anda akan melihatnya hilang di sistem file). Terlebih lagi, penghapusan dapat menyebabkan program lain yang sedang berjalan (lihat lsofperintah di atas) macet jika file yang diharapkan ada yang hilang.

Pada dasarnya, hanya hapus file yang Anda tahu aman untuk dihapus dan saat ini tidak digunakan oleh perangkat lunak lain yang berjalan.


sumber