Bagaimana saya bisa mengosongkan ruang dari folder 39,5GB / var / log / yang besar?

46

Saya baru saja mendapat pesan dari perangkat lunak analisis disk default (Baobab) yang hanya tersisa 1GB di hard drive. Setelah beberapa pencarian, saya menemukan bahwa /var/log/folder adalah penyebabnya.

Beberapa file / ukuran dalam /var/log/:

  • kern.log = 12.6 GB
  • ufw.log = 12,5 GB
  • kern.log.1 = 6.1 GB
  • ufw.log.1 = 6.0 GB

Dan lain-lain. /var/logsangat besar.

Bisakah saya menghapus file-file itu atau seluruh /var/logfolder? Atau apakah itu TIDAK BESAR TIDAK di Ubuntu?

blade19899
sumber

Jawaban:

39

Anda tidak boleh menghapus seluruh folder tetapi Anda bisa menghapus file log "Paket Lama" tanpa merusak sistem Anda.

Untuk pengguna rumahan, aman untuk menghapus file log apa pun yang dikompresi dan memiliki ekstensi .gz (seperti yang Anda lihat pada gambar).

File log terkompresi ini adalah log lama yang di-gzip untuk mengurangi ruang penyimpanan, dan sebagai pengguna biasa, Anda tidak membutuhkannya.

Pilih ekstensi .gz

Salih Emin
sumber
7
find / var / log -type f -name "* .gz" -exec rm -f {} \;
diyism
@diyisme saya mencoba kode Anda, tetapi tidak banyak membantu. dir log saya masih menggunakan ruang 6GB @ _ @
GusDeCooL
1
find /var/log -type f -name "*.gz" -delete, Saya menghapus file terkompresi dan saya hanya membebaskan sekitar 1 GB ruang. Tidak cukup 50 GB untuk /dir dan sisanya untuk disk saya /home!
Muhammad Gelbana
PC ibu saya memiliki file kern.log berukuran 21 GB. Sebuah kern.log besar menunjukkan masalah di kernel Linux itu sendiri atau dalam sesuatu yang mengalami masalah dalam berurusan dengan. Dalam kedua kasus, disarankan untuk pergi ke terminal shell Linux dan menjalankan cat /var/log/kern.logatau nano /var/log/kern.log(di GUI, jalankan sesuatu seperti misalnya gedit /var/log/kern.logatau mousepad /var/log/kern.log) dan periksa apa yang mungkin menjadi masalah. Setelah Anda mengetahui apa yang salah, Anda kemudian dapat menjalankannya sudo rm /var/log/kern.log ; sudo telinit 6untuk menghapus file (besar) tersebut dan me-restart sistem operasi.
Yuri Sucupira
Dalam kasus saya, ini akan menghapus hanya 15,7 MB dari 41 file. Masalah sebenarnya di sini adalah messages(7,7 GB), user.log(7,7 GB), syslog(4,1 GB) dan syslog.1(3,5 GB). Keempat file itu berjumlah 23 GB. Adakah cara untuk menghapusnya, atau setidaknya mengurangi ukurannya?
Rodrigo
32

Saya tidak akan menghapus seluruh folder / var / log - yang akan merusak banyak hal.

Anda bisa memusnahkan log seperti yang disarankan @jrg - tetapi kecuali hal-hal yang ditulis ke file log (kebanyakan syslogd) dimulai kembali yang tidak akan benar-benar mendapatkan kembali ruang disk apa pun, karena file akan terus ada dalam keadaan terhapus hingga penanganan file ditutup.

Lebih baik mencari tahu mengapa log tidak diputar (dan kemudian dihapus). logrotate seharusnya melakukan ini untuk Anda, dan saya kira itu tidak dijalankan setiap malam sebagaimana mestinya.

Hal pertama yang akan saya lakukan adalah:

sudo /etc/cron.daily/logrotate

Ini harus memutar file-file log (jadi kern.log menjadi kern.log.1); dan Anda kemudian dapat menghapus kern.log.1 dll untuk membebaskan ruang disk.

Jika semuanya baik sejauh ini, pertanyaan berikutnya adalah mengapa ini tidak terjadi secara otomatis. Jika Anda mematikan komputer di malam hari, pastikan Anda memasang anacron .

richvdh
sumber
17

Anda harus melihat log dan melihat apa yang ditulis kepada mereka. Dugaan saya adalah ufw / iptables (Anda mencatat semua lalu lintas jaringan).

ufw - ketika Anda login semua paket, Anda akan mendapatkan log besar. Jika Anda tidak akan meninjau log, matikan log off. Jika Anda ingin memonitor jaringan Anda, gunakan dengusan. Snort akan memfilter melalui ribuan paket yang Anda terima dan memperingatkan Anda tentang lalu lintas yang berpotensi bermasalah.

Dugaan saya bahwa ufw adalah biang keladinya dan Anda mendapatkan log besar di kern.log karena Anda juga membuat paket di sana.

Terkadang ada masalah kernel atau perangkat keras yang mengisi log. Dalam hal itu yang terbaik untuk memperbaiki masalah atau mengajukan bug, Anda perlu meninjau log untuk melakukannya.

Jika Anda tidak dapat memperbaiki masalah, Anda dapat mengkonfigurasi syslog agar tidak mengisi log Anda.

Lihat http://manpages.ubuntu.com/manpages/precise/man5/syslog.conf.5.html

Jika Anda memberikan detail lebih lanjut tentang masalah ini, kami dapat membantu men-debugnya dengan lebih baik.

Harimau kumbang
sumber
2
Itu poin yang sangat bagus. Ada baiknya mencari tahu apa yang menyumbat log daripada hanya menghapusnya. +1.
richvdh
6

Menghapus /var/logmungkin ide yang buruk, tetapi menghapus file log individu harus OK.

Di laptop saya, dengan disk SSD yang lebih kecil, saya mengatur /var/log(dan /tmpdan /var/tmp) sebagai tmpfstitik pemasangan, dengan menambahkan baris berikut ke /etc/fstab:

temp        /tmp        tmpfs   rw,mode=1777    0   0
vartmp      /var/tmp    tmpfs   rw,mode=1777    0   0
varlog      /var/log    tmpfs   rw,mode=1777    0   0

Ini berarti bahwa tidak ada dalam direktori tersebut yang selamat dari reboot. Sejauh yang saya tahu, pengaturan ini berfungsi dengan baik. Tentu saja, saya kehilangan kemampuan untuk melihat log lama untuk mendiagnosis masalah yang mungkin terjadi, tetapi saya menganggap itu sebagai pertukaran yang adil untuk mengurangi penggunaan disk.

Satu-satunya masalah yang saya miliki adalah bahwa beberapa program (terutama APT) ingin menulis log mereka ke dalam subdirektori /var/logdan tidak cukup pintar untuk membuat direktori tersebut jika tidak ada. Menambahkan baris mkdir /var/log/aptke dalam /etc/rc.localmemperbaiki masalah khusus itu untuk saya; tergantung pada perangkat lunak apa yang telah Anda instal, Anda mungkin perlu membuat beberapa direktori lain juga.

(Kemungkinan lain adalah membuat tararsip sederhana yang hanya berisi direktori, dan membukanya pada /var/logsaat startup untuk membuat semua direktori yang diperlukan dan mengatur izin mereka sekaligus.)

Ilmari Karonen
sumber
1
ufw adalah probleem yang tampaknya saya atur logging ke FULL sehingga logde segalanya. terima kasih atas bantuannya :)
blade19899