System plików zapełnia się z powodu dużego pliku uvcydnctrl-udev.log

11

Teraz moja instalacja Ubuntu kosztuje mnie ponad 100 GB miejsca na dysku twardym. I ilekroć spróbuję fslinti fdupes, mówią, Permission deniedaby usunąć duplikaty. Proszę, pomóżcie chłopaki.

Dodatkowe informacje

Wyjście 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

Wadliwy plik to 174 GB /var/log/uvcydnctrl-udev.log

użytkownik84055
źródło
3
Jest to nadal problem w Ubuntu 14.04 LTS
Andrew Fielden

Odpowiedzi:

11

1. Krok: Dowiedz się, jaki masz problem

Kiedy twój system plików jest nieoczekiwanie pełny, istnieje wiele możliwych przyczyn. Zobacz odpowiedź Eliasza Kagana, aby dowiedzieć się więcej na ten temat. W zdecydowanej większości przypadków prawdziwa przyczyna powinna być łatwa do zidentyfikowania (i ewentualnie naprawy), więc formatowanie / ponowne instalowanie nie byłoby konieczne.

Pierwszym krokiem jest ustalenie, na czym dokładnie polega problem, tj. Gdzie zniknęła brakująca przestrzeń. Więc najpierw wykonaj

df -hl -x tmpfs -x devtmpfs

Pokazuje listę wszystkich używanych partycji dysków w twoim komputerze, ich rozmiar, ich zapełnienie i punkt zamontowania. Z tej listy weź tę, która Twoim zdaniem jest zbyt pełna, i zanotuj jej punkt montowania. W twoim przypadku jest to główny system plików, w którym jest zamontowany /.

Teraz analizujemy, gdzie w tym systemie plików używana jest przestrzeń. Wykonać

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

(Zamień /na wskazany powyżej punkt montowania.) Wymaga sudo, ponieważ nie wszystkie katalogi mogą być czytelne dla użytkownika. Może to zająć trochę czasu (szczególnie w dużych systemach plików), ponieważ musi odwiedzić każdy pojedynczy katalog na nich.

To polecenie wyświetla wszystkie pliki i katalogi w danym katalogu wraz z jego rozmiarem (w tym podkatalogami). Więc z tej listy weź te, które Twoim zdaniem są większe niż powinny, i ponownie wywołaj polecenie w tym katalogu. (To znaczy, uruchom polecenie ponownie, ale zastępując nazwę dużego katalogu z poprzedniej listy /).

Na przykład w twoim przypadku było jasne, że /varbył to jedyny duży katalog, więc musisz go wykonać

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

Kontynuuj wykonywanie tych kroków, aż znajdziesz jeden tak duży plik lub katalog z dużą ilością plików, które razem zajmują całe to miejsce.

W twoim przypadku następnym krokiem było wykonanie

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

ponieważ /var/logbył tak duży, a to pokazało, że istnieje jeden plik dziennika o nazwie uvcdynctrl-udev.log174 GB (co jest oczywiście złe).

2. Krok: Określ, dlaczego pliki tam są i dlaczego są tak duże

Teraz musimy dowiedzieć się, dlaczego zidentyfikowane są tam, lub dlaczego są tak duże, jeśli oczekuje się, że tam będą.

W twoim przypadku plik dziennika /var/lognie jest niczym podejrzanym, ale jego rozmiar z pewnością wynosi. Na szczęście wyszukiwanie Google po prostu z nazwą pliku przy pierwszym trafieniu wyświetla następujący raport o błędzie, co jest wyraźnie takim samym problemem, jak my: http://bugs.launchpad.net/ubuntu/+source/libwebcam/+bug / 811604

3. Krok: Rozwiąż problem

W tym przypadku plik dziennika niektórych rzeczy związanych z kamerą internetową nie wydaje się interesujący, więc możemy go łatwo usunąć za pomocą polecenia sudo rm /var/log/uvcdynctrl-udev.logi zwolnić całe miejsce.

Niestety, raport o błędzie jest nadal otwarty i w komentarzach nie ma żadnych rozwiązań ani obejść, więc prawdopodobnie na razie musisz żyć z tym błędem. Możesz od czasu do czasu usunąć plik dziennika, aby zwolnić miejsce.

Philipp Wendler
źródło
6

Jeśli skopiowałeś i wkleiłeś pliki systemowe, ręcznie je odtwarzając, powinieneś podać więcej informacji o tym, co zrobiłeś, aby je skopiować i wkleić, gdzie je wkleiłeś, cokolwiek pamiętasz. Nawet wykonanie dodatkowej kopii wszystkich plików systemowych na twoim komputerze prawdopodobnie nie spowoduje użycia dysku w okolicach 100 GB. Ubuntu wymaga zainstalowania mniej niż 5 GB dostępnego miejsca, a nawet system Ubuntu z zainstalowanymi wieloma pakietami jest mało prawdopodobne, aby jego pliki systemowe zajmowały więcej niż kilka razy więcej. Prawdopodobnie musiałbyś wykonać wiele kopii, aby zająć tyle miejsca. A może skopiowałeś pliki inne niż pliki systemowe ?

Jeśli system Ubuntu sam się rozszerzył (z plików dziennika i aktualizacji‽), aby zajął 100 GB miejsca (lub 50 GB miejsca), tylko w plikach systemowych (w przeciwieństwie do dokumentów, zdjęć, filmów, maszyn wirtualnych i itd.), coś jest bardzo nie tak. Trzy najbardziej prawdopodobne przyczyny tego są prawdopodobnie:

  • To się tak naprawdę nie zdarza i źle zinterpretowałeś informacje dostarczone przez system. (Pamiętaj, że nie mówię ci, że się mylisz ; jeśli wiesz, jak masz 100 GB plików systemowych, to ani ta, ani dwie pozostałe sugerowane przyczyny poniżej nie są poprawne).
  • Wystąpił błąd, który wpływa na system i powoduje nieprawidłowe zgłaszanie używanego i wolnego miejsca.
  • Istnieje dość poważny błąd, który wpływa na twój system i powoduje, że pliki (być może pliki logów /var/log) rosną w bardzo szybkim tempie i bez ograniczeń.

Jak Sergey został powiedział , bezkrytycznie usuwając wszystkie pliki, które mają taką samą zawartość zostanie całkiem prawdopodobną przyczynę szkody dla systemu. Na przykład istnieje wiele pustych plików, które mogą istnieć w twoim systemie i są używane jako blokady lub w celu oznaczenia pewnego stanu. Możesz także mieć programy, które zawierają osobne kopie identycznych plików (gdy pliki zapewniają tę samą funkcjonalność dla obu programów, które nie zostały usunięte z osobnej biblioteki lub pakietu).

Prawdopodobnie możesz go usunąć, aby usunąć „duplikaty” plików, uruchamiając go jakoroot . Ale tak naprawdę nie powinieneś tego robić - prawdopodobnie spowoduje to poważne szkody w twoim systemie Ubuntu.

W komentarzu zapytałeś:

CZY w każdym razie istnieje polecenie polecenia fdupes, aby usunąć wszystkie duplikaty bez pytania lub powiadamiania mnie?

fdupes -f może zrobić co chcesz. Zobacz stronę fdupespodręcznika . Ale tak naprawdę nie powinieneś tego robić.

Zamiast tego powinieneś dowiedzieć się, co się dzieje. Jeśli chcesz, abyśmy ci w tym pomogli, na pewno to zrobimy. Jeśli rozszerzysz swoje pytanie, aby wyjaśnić, że potrzebujesz pomocy w ustaleniu, co zajmuje miejsce, otrzymasz odpowiedzi zawierające te informacje lub może to zostać zamknięte jako duplikat innego pytania, które zawiera informacje o tym, jak to znaleźć. (Każda z tych sytuacji prawdopodobnie przyniesie ci korzyść). Oczywiście zakładamy, że chcesz, abyśmy pomogli ci znaleźć przyczynę zajmowania przez system tak dużej ilości miejsca (lub pozornie).

Pierwszym krokiem do zbadania tego jest sprawdzenie (i opublikowanie, edycję pytania) danych wyjściowych tych poleceń, które dostarczają szczegółowych informacji na temat posiadanych dysków i ilości wolnego miejsca na nich:

mount
df -h
sudo du -sh /*

Możesz uruchomić te polecenia w oknie terminala ( Ctrl+ Alt+ T). Ostatnie polecenie zajmie chwilę. Mogą również pojawić się Permission deniedbłędy (nawet jeśli uruchamiasz go jako root), głównie dotyczące .gvfsfolderów w katalogach domowych użytkowników. Nie ma się czym martwić.

Eliah Kagan
źródło
4

Mam szybkie i brudne rozwiązanie (zdecydowanie zapobiegam zapisywaniu pliku dziennika, ale nie rozwiązuje problemu root):

ten plik dziennika został napisany przez / lib / udev / uvcdynctrl

  1. Utwórz kopię zapasową oryginału sudo cp /lib/udev/uvcdynctrl /lib/udev/uvcdynctrl_backup
  2. Edytuj oryginał gksu gedit /lib/udev/uvcdynctrl
  3. Wyszukaj wszystkie elementy, które są w takiej formie „ debugowanie = 1
  4. Zmień na „ debugowanie = 0
  5. Usuń plik dziennika raz na zawsze sudo rm /var/log/uvcdynctrl-udev.log
Des
źródło
3

Problemem jest ten pakiet: uvcdynctrl-udev.

To program użytkowy i buggie. Należy go po prostu usunąć z repozytoriów debian i ubuntu. Nie powinno się go instalować. Ten pakiet nie tylko tworzy OGROMNE pliki dziennika, ale powoduje również awarię Cheese lub innych aplikacji do obsługi kamer internetowych bardzo źle. !

Ten błąd istnieje już od lat i wydaje się, że nie interesuje go menadżer uvcdyn ....

Rozwiązanie jest proste: sudo apt-get remove uvcdynctrl-udev.

Jeśli chcesz mieć pewność, co robisz, użyj zamiast tego Synaptic. Szukać pakietu buggie uvcdynctrl-udev i uvcdynctrl-udev-data . Mark'em do całkowitego usunięcia. Zauważysz, że nie wpłynie to na inne programy, nie są to zależności, więc możesz je bezpiecznie usunąć. Zrób to.

Następnie sprawdź / var / log, przeszukaj ten ogromny plik uvcdynctrl-udev.log , jako root, usuń go. (otwórz terminal **

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

**) Uwierz mi, nie przegapisz tego pakietu.

tuprofe demusica
źródło
tuprofe demusica ma rację! Prawie wyrzuciłem mikroskop, ponieważ myślałem, że jest zepsuty. Jeszcze raz spróbowałem po usunięciu tego pakietu.
rickyrockrat
2

Przejdź do Terminal(skrót to Ctrl+ Alt+ t) i wpisz:

gksudo nautilus

Spowoduje to otwarcie Nautilus z uprawnieniami root. Teraz usuń swoje pliki.

Mam nadzieję, że to ci pomoże!

Max Tither
źródło
to nie pomaga, jest
10000
Jak zrobiłeś 10000 kopii. Czy duplikaty wyglądać jak ten . Jeśli tak, to czy nie możesz wybrać tylko jednego pliku, naciśnij Shift, a następnie zaznacz wszystkie, a następnie usuń je.
Max Tither,
Problem polega na tym, że nie mogę znaleźć określonych plików, które zostały zduplikowane, ponieważ nie wiem, które pliki nie zostały skopiowane i ich lokalizacje.
user84055,
Znalazłem skrypt bash, aby znaleźć duplikaty plików. Znajdzie je i przeniesie do folderu. Następnie możesz po prostu usunąć duplikat folderu.
Max Tither
nie ma z tym szczęścia. Przerywa pracę po 2 minutach.
user84055,
-1

Myślę, że najlepszą rzeczą jest po prostu ponowna instalacja, biorąc pod uwagę pozorną ilość uszkodzeń, fakt, że dość niejasne jest to, co się naprawdę wydarzyło, oraz niski poziom komfortu w ręcznej naprawie.

Zachowaj swój katalog domowy ( nie formatuj ani nie partycjonuj) i zainstaluj ponownie, co powinno wyczyścić katalogi systemowe.

poolie
źródło
1
Chociaż ponowna instalacja jest z pewnością opcją, zwykle dość łatwo jest ustalić, gdzie skopiowano duże pliki lub jeśli istnieją pliki systemowe, które w niekontrolowany sposób zwiększają swój rozmiar, które to pliki.
Eliah Kagan,
@Eliah, jestem pewien, że ty i ja uznalibyśmy to za łatwe, ale nie jestem pewien, czy OP to zrobi. A jeśli nie zainwestowano dużo czasu w maszynę (nie zamierzam nawet wspominać o kopiach zapasowych konfiguracji), zdmuchnięcie go może być najbardziej wydajnym wyborem.
poolie
1
Pamiętaj, że to by tu nie pomogło. Jego /homejest na tej samej partycji co /, więc nie może t clear that partition. And I donmyśleć, że instalator usunie zbędne pliki na partycji, której zamierza użyć do instalacji (wszystkie lub żadna).
Philipp Wendler,
2
Instalator usunie wszystko z / var oprócz / var / local, więc ta odpowiedź jest realną opcją.
Jorge Castro,