Заполнение файловой системы из-за большого файла uvcydnctrl-udev.log
Теперь моя установка Ubuntu стоит мне более 100 ГБ на жестком диске. И всякий раз, когда я пытаюсь fslint
а также fdupes
, они говорят Permission denied
удалить дубликаты. Пожалуйста, помогите мне, ребята.
Дополнительная информация
Выход из 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
Неисправный файл - 174 ГБ /var/log/uvcydnctrl-udev.log
6 ответов
1. Шаг: выяснить, какая проблема у вас на самом деле
Когда ваша файловая система неожиданно переполнена, существует множество возможных причин. Посмотрите ответ Элии Каган, чтобы узнать больше об этом. В подавляющем большинстве случаев должно быть легко определить (и в конечном итоге устранить) реальную причину, поэтому переформатирование / переустановка не потребуются.
Итак, первый шаг - выяснить, в чем именно проблема, т. Е. Куда ушло недостающее пространство. Итак, сначала выполните
df -hl -x tmpfs -x devtmpfs
Здесь показан список всех используемых разделов дисков на вашем компьютере, их размер, степень их заполнения и точка монтирования. Из этого списка возьмите тот, который вы считаете слишком полным, и запишите его точку монтирования. В вашем случае это корневая файловая система, которая монтируется на /
,
Теперь проанализируем, где внутри этой файловой системы используется пространство. казнить
sudo du -xhsc /* 2> /dev/null
(Заменить /
с точкой монтирования, указанной выше.) Требуется sudo, потому что не все каталоги могут быть доступны для чтения для вашего пользователя. Это может занять некоторое время (особенно в больших файловых системах), потому что ему нужно посетить каждый каталог в них.
Эта команда показывает вам каждый файл и каталог внутри данного каталога вместе с его размером (включая подкаталоги). Поэтому из этого списка возьмите те, которые, по вашему мнению, больше, чем должны быть, и снова вызовите команду для этого каталога. (То есть, запустите команду снова, но с именем большого каталога из предыдущего списка, заменив /
.)
Например, в вашем случае было понятно /var
был единственный большой каталог, поэтому вам нужно будет выполнить
sudo du -xhsc /var/* 2> /dev/null
Продолжайте выполнять эти шаги до тех пор, пока вы не найдете один файл такого большого размера или не найдете каталог с большим количеством файлов, которые вместе занимают все это пространство.
В вашем случае следующим шагом было выполнить
sudo du -xhsc /var/log/* 2> /dev/null
так как /var/log
был настолько большим, и это показало вам, что был один файл журнала с именем uvcdynctrl-udev.log
с 174GB (что явно плохо).
2. Шаг: определите, почему файлы есть и почему они такие большие
Теперь нам нужно выяснить, почему идентифицированные есть, или почему они такие большие, если они ожидаются там.
В вашем случае файл журнала в /var/log
Ничего подозрительного, но его размер, безусловно, есть. К счастью, поиск Google просто по имени файла приводит к следующему сообщению об ошибке в качестве первого попадания, что явно является той же проблемой, что и у нас: http://bugs.launchpad.net/ubuntu/+source/libwebcam/+bug/811604
3. Шаг: решить проблему
В этом случае файл журнала некоторых вещей, связанных с веб-камерой, кажется неинтересным, поэтому мы можем легко удалить его с помощью команды sudo rm /var/log/uvcdynctrl-udev.log
и освободить все пространство.
К сожалению, отчет об ошибке все еще открыт, и в комментариях нет решений или обходных путей, поэтому вам, вероятно, придется смириться с этой ошибкой. Вы можете время от времени удалять файл журнала, чтобы освободить место.
Проблема заключается в следующем пакете: uvcdynctrl-udev.
Это программа для игры в пижамы и багги. Его следует просто удалить из репозиториев Debian и Ubuntu. Это не должно быть установлено. Этот пакет не только создает эти ОГРОМНЫЕ файлы журналов, но также приводит к сбою или очень плохой работе приложения Cheese и других веб-камер (невозможно записать видео в полном разрешении с помощью Cheese или Guvcview? УДАЛИТЕ ЭТОТ ПАКЕТ, И ЭТО РАБОТАЕТ КАК ЭТО ДОЛЖНО!
Эта ошибка существует уже много лет, и похоже, что ее не волнует руководство uvcdyn.
Решение простое: sudo apt-get remove uvcdynctrl-udev.
Если вы хотите быть уверенным в том, что вы делаете, используйте вместо этого Synaptic. Выполните поиск для пакета ошибок: uvcdynctrl-udev и uvcdynctrl-udev-data. Mark'em для полного удаления. Вы заметите, что это не повлияет на другие программы, они не являются зависимостями, поэтому вы можете безопасно удалить их. Сделай это.
Затем проверьте / var / log, найдите этот огромный файл uvcdynctrl-udev.log от имени root и удалите его. (открыть терминал **
cd /var/log
sudo rm uvcdynctrl-udev.log
**) Поверьте, вы не пропустите этот пакет.
Если вы скопировали и вставили системные файлы, воспроизводя их вручную, вам следует предоставить больше информации о том, что вы сделали, чтобы скопировать и вставить их, куда вы их вставили, все, что вы можете запомнить. Даже создание дополнительной копии всех системных файлов на вашем компьютере вряд ли приведет к использованию дискового пространства в районе 100 ГБ. Для установки Ubuntu требуется менее 5 ГБ доступного пространства, и даже система Ubuntu, в которой установлено множество пакетов, вряд ли ее системные файлы будут занимать в несколько раз больше. Возможно, вам придется сделать много копий, чтобы занять столько места. Или, возможно, вы скопировали файлы, отличные от системных файлов?
Если ваша система Ubuntu расширилась сама по себе (из файлов журналов и обновлений‽) и заняла 100 ГБ пространства (или 50 ГБ пространства), только в системных файлах (в отличие от ваших документов, изображений, видео, виртуальных машин и и так далее) что-то очень не так. Три наиболее вероятные общие причины этого:
- На самом деле этого не происходит, и вы неверно истолковали информацию, которую ваша система предоставила вам. (Обратите внимание, что я не говорю вам, что вы ошибаетесь; если вы знаете, откуда у вас 100 ГБ системных файлов, то ни эта, ни две другие предложенные ниже причины не верны.)
- Существует ошибка, которая влияет на вашу систему и приводит к неправильному сообщению об используемом и свободном пространстве.
- Существует довольно серьезная ошибка, которая влияет на вашу систему и вызывает файлы (возможно, файлы журналов в
/var/log
) расти с чрезвычайно высокой скоростью и без ограничений.
Как сказал Sergey, беспорядочное удаление всех файлов с одинаковым содержимым, скорее всего, приведет к повреждению вашей системы. Например, в вашей системе может существовать несколько пустых файлов, которые используются в качестве блокировок или для обозначения некоторых условий. У вас также могут быть программы, которые содержат отдельные копии идентичных файлов (когда файлы предоставляют одинаковые функции для обеих программ, которые не были удалены в отдельную библиотеку или пакет).
Вы можете получить его, чтобы удалить "дубликаты" файлов, запустив его как root
, Но вы не должны этого делать - это может нанести серьезный вред вашей системе Ubuntu.
Вы спросили в комментарии:
Есть ли в любом случае команда fdupes, чтобы удалить все дубликаты, не спрашивая и не уведомляя меня?
fdupes -f
может делать то, что вы хотите. Увидеть fdupes
man-страница. Но вы не должны этого делать.
Вместо этого вы должны выяснить, что происходит. Если вы хотите, чтобы мы помогли вам с этим, мы, безусловно, поможем. Если вы расширите свой вопрос, объяснив, что вам нужна помощь в выяснении того, что занимает место, то вы либо получите ответы с этой информацией, либо она может быть закрыта как дубликат другого вопроса, в котором содержится информация о том, как это выяснить. (Любая ситуация может принести вам пользу.) Конечно, это предполагает, что вы хотите, чтобы мы помогли вам найти причину, по которой ваша система занимает так много места (или кажется).
Первый шаг для изучения этого - проверить (и опубликовать, отредактировав свой вопрос) выходные данные этих команд, которые предоставляют подробную информацию о том, какие у вас диски и сколько на них свободного места:
mount
df -h
sudo du -sh /*
Вы можете запустить эти команды в окне терминала (Ctrl + Alt + T). Последняя команда займет некоторое время. Вы также можете получить некоторые Permission denied
ошибки (даже если вы используете его как root), в основном касательно .gvfs
папки в домашних каталогах пользователей. Это не о чем беспокоиться.
У меня есть быстрое и грязное решение (определенно предотвращает запись файла журнала, но не решает проблему с правами root):
этот файл журнала записывается в /lib/udev/uvcdynctrl
- Резервное копирование оригинала
sudo cp /lib/udev/uvcdynctrl /lib/udev/uvcdynctrl_backup
- Редактировать оригинал
gksu gedit /lib/udev/uvcdynctrl
- Посмотрите все элементы в такой форме "debug = 1"
- Измените на "debug = 0"
- Удалить файл журнала раз и навсегда
sudo rm /var/log/uvcdynctrl-udev.log
Войдите в Terminal
(сочетание клавиш Ctrl+Alt+t) и введите:
gksudo nautilus
Это откроет Nautilus с правами root. Теперь удалите свои файлы.
Надеюсь, это поможет вам!
Я думаю, что лучше всего здесь просто переустановить, учитывая видимое количество повреждений, тот факт, что довольно непонятно, что на самом деле произошло, и ваш низкий уровень комфорта при ручном ремонте.
Сохраните ваш домашний каталог (не переформатируйте и не переразбейте) и переустановите, и это должно очистить системные каталоги.