cupsd, використовуючи 100% ЦП, створюючи великий (80 ГБ +) помилка


9

Кілька днів тому я зрозумів, що моя машина Ubuntu не завантажується після входу. Після декількох перекопок на liveCD я зрозумів, що мій жорсткий диск на 100% ємністю, тому я видалив кілька великих файлів і зміг увійти. У мене більше не було дозволів sudo, і мені довелося завантажуватися в режим відновлення та змінювати судодери файл, але зрештою відновлені кореневі дозволи.

Потім я помітив, що моя машина була трохи млявою, і topдемонструвала чашки, використовуючи 100% процесор. Я ніколи раніше не бачив цієї програми, але незабаром зрозумів, що це законна програма.

Я видалив відео на суму близько 40 Гб, тільки щоб побачити, як мій накопичувач майже миттєво вичерпався перед очима. Трохи досліджуючи та інтуїтивно зрозумівши, я зрозумів, що це може бути підірваний файл журналу aa, і досить впевнено ls -lh /var/log/cups/показав мені файл помилок, що має 80 ГБ + великий.

Я видалив файл sudo rm -rf /var/log/cups/error_log, убив службу sudo service cups endі продовжив свою справу. Після цього я зрозумів, що було б гарною ідеєю перевірити вміст error_log, перш ніж видалити його, але я хотів позбутися від цього, перш ніж мене знову заблокували.

Це було вчора. Сьогодні я знову запустив свій ноутбук і побачив, як cupsd знову працює на 100% процесора, і, напевно, я бачу, як мій диск виснажується. Я припинив службу і запустив tail -f /var/log/cups/error_log, і тут є мільйони рядків:

W [15/Jul/2015:11:23:03 -0700] Notifier for subscription 911 (dbus://) went away, retrying!
E [15/Jul/2015:11:23:03 -0700] File "/usr/lib/cups/notifier/dbus" has insecure permissions (0100777/uid=0/gid=0).

== EDIT ================================================== ==================

ls -l /usr/lib/cups/notifier/dbusпоказує дозволи та права власності, -rwxrwxrwx 1 root rootколи вони повинні бути -rwxr-xr-x 1 daemon root, як описано в коментарях. sudo chown root:root /usr/lib/cups/notifier/dbusтакож не виправили проблеми з власністю.

Нарешті я вийняв і перевстановив чашки, але безрезультатно. Ці посилання були подані як потенційно корисні посібники ( випадково chmod -R on / , відновлення дозволів доступу ), але вони в кінцевому підсумку призводять до пропонування перевстановлення самої ОС.


Який вихід ls -l /usr/lib/cups/notifier/dbus? У мене була давня аналогічна проблема, і єдиний простий спосіб її вирішити - відключити CUPS ... (друк тоді не було)
Вільф

1
-rwxrwxrwx 1 root 14k 5 вересня 2014 / usr / lib / notifier / dbus
wndg

1
Що взагалі роблять чашки? Я маю на увазі, якщо його можна відключити без серйозних наслідків ....
wndg

1
Він робить більшість матеріалів для друку, тому без нього не можна друкувати. Я думаю, що дозволи на файл повинні бути -rwxr-xr-x (ось які дозволи містяться на моєму встановленні Ubuntu 14.04) , тому ви, можливо, зможете виправити проблему запуском sudo chmod 755 /usr/lib/cups/notifier/dbus(а потім перезапуском CUP або комп'ютера).
Вільф

1
Друк як у друкованому папері? Однак, права доступу тепер -rwxr-xr-xперезапущені, коли cupsd все ще працює на рівні 95% + та створює великий файл error_log (однак, здається, не так швидко?).
wndg

Відповіді:


16

Для Ubuntu 15.10 для мене працювало:

sudo service cups stop
sudo rm /etc/cups/subscriptions.conf*
sudo rm -r /var/cache/cups
sudo service cups start

(Якщо ви не можете зупинити чашки, спробуйте):

ps aux | grep cups

Отримайте ідентифікатор процесу (pid) з виводу та:

kill -9 (pid you have learned here)

2
Я це зробив, і це допомагає, але лише до моменту перезавантаження ПК. Чи є спосіб зробити це останнім?
tobias_k

1

На Debian 9

  1. user @ machine: sudo su

  2. root @ машина:

chown -R root:root /usr/lib/cups/* && \
chmod -R 755 /usr/lib/cups/* && \
/etc/init.d/cups restart

повернення:

 ok Перезапуск чашок через systemctl cup.service

і зберегти мій журнал та мій процесор


1

просто зробив це, це працює для мене:

1) sudo chmod 755 /usr/lib/cups/notifier/

2) ll /usr/lib/cups/notifier/

3) sudo /etc/init.d/cups restart

зробив це !!!


2
Чи можете ви прокоментуйте, що саме це робить, або чому це вирішує проблему?
tobias_k

0

Я не можу коментувати, тому це у формі відповіді:

sudo chown root:root /usr/lib/cups/notifier/dbus

може допомогти зараз, коли ви маєте права. Хто користувач 1 у вашій системі? Якщо ви не знаєте, як дозволи / права власності на файл були змінені за замовчуванням, проблема може бути наконечником айсберга. Якщо це так, доцільна перевстановлення.


Я запустив команду і перезапустив і, здавалося, нічого не змінилося. Не знаєте, як дізнатися, хто такий користувач. Як ви думаєте, що може бути "решта айсберга", як ви сказали ...?
wndg

Користувач 1 у нещодавно встановленій системі Ubuntu - демон. Щоб ваша команда ls повернулася -rwxrwxrwx 1 rootна відміну від -rwxr-xr-x daemon rootзапропонованих пошкоджених або відсутніх системних файлів. Користувач демона, 1, не асоціюється з іменем у / etc / passwd.
JEL

Я щойно переглянув / etc / passwd і користувач 1 був демоном, але, напевно, ви говорите, що моя проблема не пов’язана з цим. Як я можу знайти, хто тоді користувач 1?
wndg

Якщо користувач 1 демон в passwd, це те, що ls повинен показувати користувачеві, що володіє файлом dbus. Ви спробували перевстановити чашки? Не забудьте створити резервну копію / etc / cups спочатку.
JEL

Редагувати: id daemonдає меніuid=1(daemon) gid=1(daemon) groups=1(daemon)
wndg
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.