Ошибка в Red Hat в cron от имени mcelog
Продолжаю разбирать завалы на вверенном в мое распоряжение сервере под управлением Red Hat. После настройки алиаса для почты рута, ко мне стали приходить многочисленные ошибки. Одна из них шла ежечасно Cron <root@hostname> run-parts /etc/cron.hourly от имени демона cron и имела вид:
/etc/cron.hourly/mcelog.cron: mcelog: warning: record length longer than expected. Consider update. |
Версия Red Hat:
# cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.6 (Tikanga)
mcelog служит для выполнения проверок на ошибки память и аппаратное обеспечение и записывающий события в /var/log/mcelog
или syslog
в зависимости от настройки. Такие проверки выполняются раз в час:
# ls -Al /etc/cron.hourly total 8 -rwxr-xr-x 1 root root 268 Aug 28 2010 mcelog.cron
Вот при выполнении скрипта mcelog.cron
и возникала вышеуказанная ошибка.
На сайте community.oracle.com предположили, что данная ситуация возникает из-за разсинхронизации с существующими заголовками ядра. Для исправления потребуется скачать исходные коды и сделать перекомпиляцию. Все действия сводятся к следующему:
Скачиваем rpm из репозитория (правда для 6-го релиза, для 5-го – такого файла уже не существует):
# wget http://public-yum.oracle.com/repo/OracleLinux/OL5/6/base/x86_64/mcelog-0.9pre-1.30.el5.src.rpm
Создайте (если она у вас отсутствует) директорию /usr/src/redhat/SOURCES
(у меня она существовала):
# ls -Al /usr/src/redhat/ total 40 drwxr-xr-x 2 root root 4096 Jan 16 2011 BUILD drwxr-xr-x 4 root root 4096 Mar 27 2013 RPMS drwxr-xr-x 2 root root 4096 Jan 16 2011 SOURCES drwxr-xr-x 2 root root 4096 Jan 16 2011 SPECS drwxr-xr-x 2 root root 4096 Jan 16 2011 SRPMS
# mkdir -p /usr/src/redhat/SOURCES
Произведите установку/апгрейд существующей версии mcelog:
# rpm -Uvh mcelog-0.9pre-1.30.el5.src.rpm
Перейдите в папку /usr/src/redhat/SOURCES
и разархивируйте архив mcelog-0.9pre.tar.gz
для получения исходных кодов:
# cd /usr/src/redhat/SOURCES # tar zxvf mcelog-0.9pre.tar.gz
Перейдите в полученный в результате каталог mcelog-0.9pre
и произведите перекомпиляцию:
# cd /usr/src/redhat/SOURCES/mcelog-0.9pre # make # ./mcelog
Сохраните (на всякий случай) существующую команду mcelog и замените ее новой:
# mv /usr/sbin/mcelog /usr/sbin/mcelog.orig # cp /usr/src/redhat/SOURCES/mcelog-0.9pre/mcelog /usr/sbin/mcelog
После выполнения указанных действий ошибки в cron от имени mcelog пропали.
_______________
Источник.