Good to Know Database

CentOS 5: Logwatch meldet installierte Pakete obwohl keine installiert wurden


Wenn Sie CentOS 5 installieren, wird unter anderem Logwatch installiert. Logwatch erstellt Ihnen in einem festgelegten Zeitintervall eine Zusammenfassung der Logdateien. Bei einer Standard-Installation von CentOS 5 bekommen Sie täglich eine Zusammenfassung an das Postfach des Benutzers root gesendet. Unter anderem werden hier auch neu installierte Pakete und Updates aufgeführt.

Sollten Sie plötzlich über installierte Pakete oder Updates informiert werden, welche Sie nicht installiert haben, liegt dies möglicherweise an einem kleinen Problem von Logrotate beziehungsweise YUM.

In meinem Fall lief der Server bereits seit einem Jahr ohne Probleme und plötzlich wurden neu installierte Pakete gemeldet welche bereits veraltet waren. Durch einen Blick in die Logdatei /var/log/yum.log, in welches alle Paket-Installationen und Updatevorgänge von YUM protokolliert werden, konnte das Problem schnell erkannt werden.

Jan 21 18:16:19 Updated: tzdata.noarch 2007k-1.el5
Jan 21 18:16:30 Updated: glibc-common.x86_64 2.5-18.el5_1.1
Jan 21 18:16:39 Updated: glibc.x86_64 2.5-18.el5_1.1
Jan 21 18:16:39 Updated: e2fsprogs-libs.x86_64 1.39-10.el5_1.1
[...]

In der Logdatei werden nur der Tag und das jeweilige Monat gespeichert. Sie erkennen sicher, dass wenn dieses Logfile länger als ein Jahr verwendet wird, Logwatch plötzlich die alten Einträge als neue Einträge behandelt und Ihnen diese wieder meldet.

Damit sowas nicht vorkommt und die Logdateien nicht zu groß werden, gibt es Logrotate. Logrotate ermöglicht es, dass Logdateien automatisch rotiert, komprimiert und entfernt werden. Ältere Logdateien werden in der Regel für eine bestimmte Zeit mit einer fortlaufenden Nummer als Dateinamenerweiterung archiviert bevor Sie endgültig gelöscht werden.

Warum hat aber Logrotate in diesem Fall bei der Logdatei /var/log/yum.log versagt? Dazu werfen Sie einfach einen Blick in die Datei /etc/logrotate.d/yum.

/var/log/yum.log {
    missingok
    notifempty
    size 30k
    create 0600 root root
}

Wie Sie sehen, wird die Logdatei /var/log/yum.log erst beim Erreichen einer Dateigröße von 30KByte rotiert. Wenn Sie wie im folgenden Beispiel die Dateigröße der Logdatei überprüfen, stellen Sie fest, dass die Logdatei diese Grenze noch nicht erreicht hat.

[root@centos5 ~]# ls -la /var/log/yum.log
-rw-r--r-- 1 root root 27844 19. Jan 17:10 /var/log/yum.log

Da es für einen Server normal ist, dass nach der erfolgreichen Installation und Konfiguration nur noch Updates installiert werden, kann es durchaus vorkommen, dass selbst nach einem Jahr das Logfile die angegebene Dateigröße noch nicht erreicht hat.

Wie kann man jetzt verhindern, dass in Zukunft die alten Logeinträge von Logwatch nicht mehr berücksichtigt werden? Es gibt hierfür mehrere Lösungen, Sie könnten die Logdatei zum Beispiel von Hand umbenennen oder löschen. Dies ist aber keine feine Lösung, da Sie in einem Jahr wieder vor dem gleichen Problem stehen. Sie könnten auch die Dateigröße in der Datei /etc/logrotate.d/yum anpassen. Jedoch wenn Sie aus irgendeinem Grund keine Updates mehr Installieren, könnte die neue maximale Dateigröße wieder nicht erreicht werden und das gleiche Problem tritt erneut auf. Die beste Lösung wäre, wenn Sie die Logdatei von Logrotate spätestens jedes Jahr automatisch rotieren lassen. Dazu gibt es die Option yearly welche Sie einfach anstelle der Option size in die Datei /etc/logrotate.d/yum einsetzen müssen.

/var/log/yum.log {
    missingok
    notifempty
    yearly
    create 0600 root root
}

Nachdem Sie die Datei /etc/logrotate.d/yum angepasst haben, wird beim nächsten Aufruf von Logrotate die Logdatei /var/log/yum.log rotiert und Logwatch wird in Zukunft keine alten Einträge mehr melden.

Update vom 04.04.2009

Mit dem Paket yum-3.2.19-18.el5.centos.noarch, welches automatisch beim Update auf CentOS 5.3 installiert wird, wurde dieses Problem behoben. Die Datei /etc/logrotate.d/yum sieht jetzt standardmäßig wie folgt aus.

/var/log/yum.log {
    missingok
    notifempty
    size 30k
    yearly
    create 0600 root root
}


Dieser Eintrag wurde am 10.02.2009 erstellt und zuletzt am 27.08.2009 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_505.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer