Есть ли способ подавить одно конкретное сообщение из системного журнала?

8

Я получаю много

Dec 27 08:35:49 htpc kernel: [ 1552.153797] pciehp 0000:00:1c.5:pcie04: Card not present on Slot(0-2)
Dec 27 08:35:49 htpc kernel: [ 1552.157744] pciehp 0000:00:1c.5:pcie04: Card present on Slot(0-2)

сообщений в моем системном журнале около 10 каждую секунду. Это просто делает системный журнал непригодным для использования, могу ли я как-то от них избавиться?

Я не знаю и не особо беспокоюсь о причине появления этих сообщений, отчасти потому, что на моей материнской плате нет слотов pcie, а отчасти потому, что все, о чем я забочусь, работает отлично. Это может быть чип WiFi, который я отключил в BIOS, но я не хочу, чтобы Wi-Fi был включен, я им не пользуюсь.

Так я могу просто подавить эти сообщения?

Вава
источник
Если вы используете программу просмотра журнала gnome, вы можете добавить фильтр, чтобы скрыть их. На самом деле ничего не подавляет, это только своего рода обходной путь GUI.
Хавьер Ривера
Вы должны подать отчет об ошибке, это сообщение может повлиять на других пользователей, которые не имеют навыков, чтобы идентифицировать его и заполнить свой корневой каталог.
Жоау Пинту
@ Жоау Пинту, судя по моему поиску, кажется, что это более или менее известная проблема, но нет реального решения.
vava

Ответы:

11

Начиная с Ubuntu 10.04, rsyslog используется вместо простого syslog, и у него есть возможности фильтрации. Действуйте следующим образом:

  • Создать gksudo gedit /etc/rsyslog.d/01-blocklist.conf
  • Добавьте туда следующие строки
    :msg,contains,"Card not present on Slot(0-2)" ~
    :msg,contains,"Card present on Slot(0-2)" ~
  • Перезагрузка или service rsyslog restart

Решение работает следующим образом:

  • 01- часть имени файла вынуждает rsyslog загрузить этот конфиг, прежде чем он загрузит что-либо еще
  • строки в файле находят любые сообщения, содержащие текст, который мы хотим игнорировать, и сразу же удаляют эти сообщения, спасибо оператору сброса (~)
  • можно сопоставить с помощью регулярного выражения или игнорировать регистр, проверьте [это полезное руководство] (http://www.rsyslog.com/doc/property_replacer.html) на соответствие

Обратите внимание, что решение таких вопросов всегда является предпочтительным. Например, сломанный pciehp не позволит вашему ЦП перейти в более глубокие спящие состояния и увеличит эффективную TDP и энергопотребление вашего ЦП. Однако, поскольку pciehp скомпилирован в ядро ​​Ubuntu, вы мало что можете сделать без компиляции собственного ядра, что не рекомендуется.

Вава
источник
Это было проблемой для (althoug теперь 12.04), и этот ответ не дает им появляться в системном журнале, но dmesg по-прежнему показывает их. есть мысли об этом?
Нанн
4

Я не уверен, что этот первый вариант работает, но так как он намного проще, чем второй (который работает наверняка), пожалуйста, попробуйте.

Опция 1

Отредактируйте / etc / default / grub, добавьте pciehp.pciehp_poll_time = 10000 в строку GRUB_CMDLINE_LINUX_DEFAULT.

Вариант 2

Перестройте ядро ​​без CONFIG_HOTPLUG_PCI_PCIE, для получения инструкций проверьте последний комментарий на этом форуме: http://www.evga.com/forums/tm.aspx?m=630487&mpage=1

Жоау Пинту
источник
Разве я не должен баллотироваться sudo update-grubна первый вариант?
vava
Да, ты должен.
Жоау Пинту
Не имеет значения, вариант 1 все равно не работает.
vava
Вариант 2 сработал
vava