Sistem file terisi karena file uvcydnctrl-udev.log yang besar


11

Sekarang instalasi Ubuntu saya menghabiskan lebih dari 100 GB ruang hard drive. Dan setiap kali saya mencoba fslintdan fdupes, mereka mengatakan Permission denieduntuk menghapus duplikat. Tolong bantu saya.

Informasi tambahan

Output dari df:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             296G  191G   90G  68% /
udev                  993M  4.0K  993M   1% /dev
tmpfs                 401M  824K  401M   1% /run
none                  5.0M     0  5.0M   0% /run/lock
none                 1003M  552K 1002M   1% /run/shm
/home/zipro/.Private  296G  191G   90G  68% /home/zipro

File yang rusak adalah 174GB /var/log/uvcydnctrl-udev.log


3
Ini masih merupakan masalah di Ubuntu 14.04 LTS
Andrew Fielden

Jawaban:


11

1. Langkah: Cari tahu masalah apa yang sebenarnya Anda miliki

Ketika filesystem Anda tiba-tiba penuh, ada banyak kemungkinan penyebabnya. Lihat jawaban Eliah Kagan untuk lebih lanjut tentang ini. Dalam sebagian besar kasus harus mudah untuk mengidentifikasi (dan akhirnya memperbaiki) penyebab sebenarnya, jadi memformat ulang / menginstal ulang tidak perlu.

Jadi langkah pertama adalah mencari tahu, apa sebenarnya masalahnya, yaitu, di mana ruang hilang hilang. Jadi pertama-tama jalankan

df -hl -x tmpfs -x devtmpfs

Ini menunjukkan daftar semua partisi disk yang digunakan di mesin Anda, ukurannya, seberapa penuh mereka dan titik pemasangannya. Dari daftar ini, ambil yang menurut Anda terlalu penuh dan catat titik pemasangannya. Dalam kasus Anda, itu adalah sistem file root yang dipasang di /.

Sekarang kami menganalisis di mana di dalam sistem file ini ruang yang digunakan. Menjalankan

 sudo du -xhsc /* 2> /dev/null

(Ganti /dengan titik pemasangan yang diidentifikasi di atas.) Perlu sudo karena tidak semua direktori dapat dibaca oleh pengguna Anda. Mungkin perlu waktu (terutama pada sistem file besar) karena perlu mengunjungi setiap direktori tunggal pada mereka.

Apa yang dilakukan perintah ini adalah menunjukkan kepada Anda setiap file dan direktori di dalam direktori yang diberikan beserta ukurannya (termasuk subdirektori). Jadi dari daftar ini ambil satu yang menurut Anda lebih besar dari seharusnya, dan panggil perintah itu lagi di direktori ini. (Yaitu, jalankan perintah lagi, tetapi dengan nama direktori besar dari daftar sebelumnya yang diganti /.)

Sebagai contoh, dalam kasus Anda itu jelas /varadalah satu-satunya direktori besar, jadi Anda perlu mengeksekusi

 sudo du -xhsc /var/* 2> /dev/null

Lanjutkan dengan langkah-langkah ini sampai Anda menemukan satu file yang sangat besar, atau Anda telah menemukan direktori dengan banyak file yang bersama-sama mengambil semua ruang itu.

Dalam kasus Anda, langkah selanjutnya adalah mengeksekusi

 sudo du -xhsc /var/log/* 2> /dev/null

karena /var/logbegitu besar, dan ini menunjukkan kepada Anda bahwa ada satu file log bernama uvcdynctrl-udev.log174GB (yang jelas-jelas buruk).

2. Langkah: Identifikasi mengapa file ada di sana dan mengapa ada begitu besar

Sekarang kita perlu mencari tahu mengapa yang diidentifikasi ada di sana, atau mengapa mereka begitu besar, jika mereka diharapkan ada di sana.

Dalam kasus Anda, file log /var/logtidak mencurigakan, tetapi ukurannya pasti. Untungnya, pencarian Google hanya dengan nama file menampilkan laporan bug berikut sebagai hit pertama, yang jelas masalah yang sama seperti yang kita miliki: http://bugs.launchpad.net/ubuntu/+source/libwebcam/+bug / 811604

3. Langkah: Selesaikan masalahnya

Dalam hal ini, file log dari beberapa hal yang berhubungan dengan webcam tampaknya tidak menarik, jadi kita dapat dengan mudah menghapusnya dengan perintah sudo rm /var/log/uvcdynctrl-udev.logdan membebaskan semua ruang.

Sayangnya, laporan bug masih terbuka, dan tidak ada solusi atau penyelesaian dalam komentar, jadi Anda mungkin harus hidup dengan bug ini untuk saat ini. Anda dapat menghapus file log dari waktu ke waktu untuk mengosongkan sebagian ruang.


6

Jika Anda menyalin dan menempel file sistem, secara manual mereproduksi mereka, maka Anda harus memberikan informasi lebih lanjut tentang apa yang Anda lakukan untuk menyalin dan menempelkannya, di mana Anda menempelkannya, apa pun yang dapat Anda ingat. Bahkan membuat salinan tambahan dari semua file sistem pada mesin Anda tidak akan menyebabkan hampir 100 GB penggunaan disk. Ubuntu membutuhkan kurang dari 5 GB ruang yang tersedia untuk diinstal, dan bahkan sistem Ubuntu dengan banyak paket yang diinstal tidak mungkin untuk file sistemnya mengambil lebih dari beberapa kali ukuran itu. Anda mungkin harus membuat banyak salinan untuk mengambil ruang sebanyak itu. Atau mungkin Anda menyalin file selain file sistem ?

Jika sistem Ubuntu Anda telah berkembang dengan sendirinya (dari file log dan pembaruan‽) untuk mengambil ruang 100 GB (atau 50 GB ruang), hanya dalam file sistem (yang bertentangan dengan dokumen, gambar, video, mesin virtual Anda, dan sebagainya), ada sesuatu yang salah. Tiga penyebab paling umum dari kemungkinan ini adalah:

  • Ini tidak benar-benar terjadi, dan Anda salah menafsirkan informasi yang diberikan sistem Anda kepada Anda. (Harap dicatat bahwa saya tidak memberi tahu Anda bahwa Anda salah ; jika Anda tahu bagaimana Anda sampai memiliki 100 GB file sistem, maka hal ini atau dua penyebab lain yang disarankan di bawah ini tidak benar.)
  • Ada bug, yang mempengaruhi sistem Anda, dan yang menyebabkan ruang yang digunakan dan kosong dilaporkan secara tidak benar.
  • Ada bug yang cukup serius, yang mempengaruhi sistem Anda, dan yang menyebabkan file (mungkin mencatat file /var/log) tumbuh pada tingkat yang sangat tinggi dan tanpa batas.

Seperti Sergey telah mengatakan , tanpa pandang bulu menghapus semua file yang memiliki isi yang sama akan sangat mungkin menyebabkan kerusakan pada sistem Anda. Misalnya, ada sejumlah file kosong yang mungkin ada di sistem Anda dan digunakan sebagai kunci atau untuk menandakan suatu kondisi. Anda juga dapat memiliki program yang berisi salinan terpisah dari file identik (ketika file memberikan fungsionalitas yang sama untuk kedua program, yang belum dihapus ke perpustakaan atau paket terpisah).

Anda mungkin dapat membuatnya untuk menghapus file "duplikat" dengan menjalankannya sebagairoot . Tetapi Anda harus benar-benar tidak melakukan itu - kemungkinan akan menimbulkan kerusakan besar pada sistem Ubuntu Anda.

Anda bertanya dalam komentar:

APAKAH ADA di sana untuk memerintahkan fdupes untuk menghapus semua duplikat tanpa meminta atau memberi tahu saya?

fdupes -f mungkin melakukan apa yang Anda inginkan. Lihat halaman fdupesmanual . Tetapi Anda harus benar-benar tidak melakukan ini.

Sebaliknya, Anda harus mencari tahu apa yang sedang terjadi. Jika Anda ingin kami membantu Anda, kami pasti akan melakukannya. Jika Anda memperluas pertanyaan Anda untuk menjelaskan bahwa Anda ingin bantuan mencari tahu apa yang mengambil ruang, maka Anda akan mendapatkan jawaban dengan memberikan informasi itu, atau ini dapat ditutup sebagai duplikat dari pertanyaan lain yang memberikan informasi tentang bagaimana mengetahuinya. (Salah satu situasi mungkin akan menguntungkan Anda.) Tentu saja, ini dengan asumsi Anda ingin kami membantu Anda menemukan penyebab sistem Anda menghabiskan begitu banyak ruang (atau sepertinya).

Langkah pertama untuk menyelidiki ini adalah memeriksa (dan memposting, dengan mengedit pertanyaan Anda) output dari perintah-perintah ini, yang memberikan informasi terperinci tentang disk apa yang Anda miliki dan berapa banyak ruang yang kosong pada mereka:

mount
df -h
sudo du -sh /*

Anda dapat menjalankan perintah-perintah itu di jendela Terminal ( Ctrl+ Alt+ T). Perintah terakhir akan memakan waktu cukup lama. Anda juga mungkin mendapatkan beberapa Permission deniedkesalahan (meskipun Anda menjalankannya sebagai root), sebagian besar mengenai .gvfsfolder di direktori home pengguna. Itu tidak perlu dikhawatirkan.


4

Saya punya solusi cepat dan kotor (pasti mencegah penulisan file log, tetapi tidak menyelesaikan masalah root):

file log ini ditulis oleh / lib / udev / uvcdynctrl

  1. Buat cadangan asli sudo cp /lib/udev/uvcdynctrl /lib/udev/uvcdynctrl_backup
  2. Edit yang asli gksu gedit /lib/udev/uvcdynctrl
  3. Cari semua elemen dalam bentuk seperti " debug = 1 "
  4. Ubah ke " debug = 0 "
  5. Hapus file log sekali dan untuk semua sudo rm /var/log/uvcdynctrl-udev.log

3

Masalahnya ADALAH paket ini: uvcdynctrl-udev.

Ini adalah program useles dan buggie. Itu harus dihapus dari repo debian dan ubuntu. Itu tidak harus diinstal. Paket ini tidak hanya membuat file log BESAR ini, tetapi juga menyebabkan Keju dan aplikasi web-cam lainnya rusak atau bekerja sangat buruk (Tidak dapat menangkap video pada resolusi penuh dengan Keju atau Guvcview? HAPUS PAKET INI DAN BEKERJA SEBAGAI SEHARUSNYA !

Bug ini telah ada selama bertahun-tahun dan manteiner uvcdyn .... sepertinya tidak peduli.

Solusinya sederhana: sudo apt-get remove uvcdynctrl-udev.

Jika Anda ingin yakin tentang apa yang Anda lakukan, gunakan Synaptic sebagai gantinya. Serch untuk paket buggie uvcdynctrl-udev dan uvcdynctrl-udev-data . Tandai untuk menghapus sepenuhnya. Anda akan melihat itu tidak akan mempengaruhi program lain, mereka bukan dependensi, sehingga Anda dapat menghapusnya dengan aman. Lakukan.

Kemudian periksa / var / log, cari uvcdynctrl-udev.log yang sangat besar ini , sebagai root, hapus. (buka terminal **

cd /var/log
sudo rm uvcdynctrl-udev.log

**) Percayalah, Anda tidak akan ketinggalan paket ini.


tuprofe demusica benar! Saya hampir membuang mikroskop karena saya pikir itu rusak. Saya mencobanya sekali lagi setelah menghapus paket ini.
rickyrockrat

2

Pergilah ke Terminal(jalan pintas adalah Ctrl+ Alt+ t) dan ketik:

gksudo nautilus

Ini akan membuka Nautilus dengan izin root. Sekarang hapus file Anda.

Semoga ini bisa membantu Anda!


tidak membantu, ada 10.000 file
user84055

Bagaimana Anda membuat 10.000 salinan. Apakah duplikatnya terlihat seperti ini . Jika demikian, tidak bisakah Anda memilih satu file saja, tekan shift, lalu pilih semuanya, lalu hapus.
Max Tither

masalahnya adalah saya tidak dapat menemukan file spesifik yang telah digandakan karena saya tidak tahu file mana yang disalin dan lokasi dari mereka.
user84055

Saya menemukan skrip bash untuk menemukan file duplikat. Ini akan menemukan mereka dan memindahkannya ke folder. Kemudian Anda bisa menghapus folder duplikat.
Max Tither

tidak beruntung dengan itu. Ia berhenti setelah berjalan selama 2 menit.
user84055

-1

Saya pikir yang terbaik di sini adalah hanya menginstal ulang, mengingat jumlah kerusakan yang nyata, fakta itu cukup tidak jelas apa yang sebenarnya terjadi, dan tingkat kenyamanan Anda yang rendah dalam memperbaikinya secara manual.

Simpan direktori home Anda ( jangan memformat ulang atau mempartisi ulang) dan instal ulang dan itu akan menghapus direktori sistem.


1
Meskipun penginstalan ulang tentu merupakan opsi, biasanya cukup mudah untuk mengetahui di mana file besar telah disalin, atau jika ada file sistem yang bertambah besar dalam ukuran, file mana yang mereka miliki.
Eliah Kagan

@ Eliah, saya yakin Anda dan saya akan merasa mudah, tapi saya tidak yakin OP akan melakukannya. Dan, jika tidak banyak waktu telah diinvestasikan dalam mesin (saya bahkan tidak akan menyebutkan cadangan konfigurasi) membuangnya mungkin merupakan pilihan yang paling efisien.
poolie

1
Perhatikan bahwa ini tidak akan membantu di sini. Ia /homeberada di partisi yang sama dengan /, sehingga ia tidak bisa t clear that partition. And I donberpikir installer menghapus file berlebihan pada partisi yang akan digunakan untuk instalasi (baik semua atau tidak sama sekali).
Philipp Wendler

2
Installer akan menghapus semua yang ada di / var kecuali / var / local sehingga jawaban ini adalah opsi yang layak.
Jorge Castro
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.