Specifičnosti u izdanju Wheezy 2: gdje je nestao syslog?

Na syslog smo navikli u tolikoj mjeri da ne razmišljamo o mogućnosti da ga uopće nema. A upravo to nam se može dogoditi nakon nadogradnje na wheezy.


NAPOMENA: od inačice 7.0.9, paket carnet-upgrade donosi rješenje problema za rsyslog. Ipak, nakon nadogradnje provjerite rade li vam logovi kako treba.

Da bi se ovo dogodilo morate od prije imati instaliran paket sysklogd. Problem s ovim paketom je što je godinama neodržavan, te je izbačen iz Debiana. Ovo izbacivanje se konačno dogodilo tek u izdanju wheezy, iako je paket  u upstreamu napušten već dulje vrijeme.

Kako mnogi "vuku" svoje instalacije Debiana od izdanja Sarge ili čak ranije, tako se ovaj paket provukao sve do danas. Rješenje je jednostavno: instalacija nekog drugog paketa koji donosi servis syslog.

Paketa koji donose podršku za sustav syslog ima dosta, a dva najpopularnija su rsyslog i inetutils-syslogd. Zasada je svejedno koji paket odaberete, mi smo odabrati inetutils-syslogd, no možete odabrati i rsyslog, konfiguracijske datoteke su iste.

Još jedna specifičnost paketa sysklogd je što program sam vrši rotaciju logova i ne oslanja se na logrotate. No, nas to više i ne zanima, jer zamjenski paketi se u potpunosti oslanjaju na logrotate i donose odgovarajuću konfiguraciju sa sobom.

Na vama je jedino da podesite postavke koje želite: koliko dana će se čuvati komprimirane datoteke, hoće li se logovi odmah komprimirati i slično.

Dakle, ne treba oklijevati, nego odmah instalirati (najbolje prije nadogradnje na wheezy) jedan od zamjenskih paketa, na uobičajen način:

# apt-get install inetutils-syslogd

ili

# apt-get install rsyslog

Zanimljiv artefakt zamjene syslog daemona može biti da se logovi ne rotiraju. Događa se situacija da se logovi zapravo ne rotiraju, nego se svaki dan generira nova datoteka preko stare, primjerice /var/log/syslog.

Da biste to spriječili, stare logove prebacite na neko drugo mjesto (možete i obrisati, ali logove je najbolje čuvati dulje vrijeme), a u /var/log ostavite samo aktivne datoteke.

Koje datoteke kreira rsyslog, odnsno inetutils-syslogd? To su:

/var/log/auth.log
/var/log/daemon.log
/var/log/debug
/var/log/kern.log
/var/log/lpr.log
/var/log/mail.*
/var/log/messages
/var/log/ppp.log
/var/log/user.log
/var/log/uucp.log
/var/log/syslog

Znamo da volite skripte, pa evo jedne koja će prebaciti stare logove na neko drugo mjesto, a nakon toga možete instalirati zamjenski syslog.

#!/bin/sh

DAT="auth.log.* daemon.log.* debug.* kern.log.* lpr.log.* mail.err.* mail.warn.* mail.info.* \
mail.log.* messages.* ppp.log.* user.log.* uucp.log.* syslog.*"

BACKUP="/var/backups/logovi"

test -d $BACKUP || mkdir -p $BACKUP
cd /var/log

for file in $DAT
do
mv "$file" "$BACKUP"
done

echo "Done."

 

Kuharice: 
Kategorije: 
Vote: 
5
Vaša ocjena: Nema Average: 5 (1 vote)

Komentari

Nakon nadogradnje na CARNet Debian 7 putem skripte carnet-upgrade v. 7.0.9 ustanovio sam da rsyslog nije instaliran:

# dpkg -l | grep carnet-upgrade
ii  carnet-upgrade                       7.0.9                         all          CARNet distribution upgrade script
# apt-cache show carnet-upgrade
Package: carnet-upgrade
Version: 7.0.9
Architecture: all
Maintainer: Grupa za izradu paketa <paketi@carnet.hr>
Installed-Size: 328
Depends: dialog, wget, debconf (>= 0.5) | debconf-2.0
Priority: extra
Section: admin
Filename: pool/main/c/carnet-upgrade/carnet-upgrade_7.0.9_all.deb
Size: 151058
SHA256: 8dc05e3b8ecd03bca81a84de3d2ffbce8b2f239132a3bdaa1baf6acf6d1b2283
SHA1: 93768f6f2a85d7d52c894aad62354587d027e67d
MD5sum: afd3b7a0387ddda0bf54e9aebd1dfd07
Description: CARNet distribution upgrade script
This package provides carnet-upgrade, a helper script
to facilitate upgrades between different versions
of CARNet Debian Linux distributions, by resolving
various issues that keep apt-get dist-upgrade from
working correctly and fixing local configuration.

Stoga sam rsyslog dodao ručno.

-- rpr.

Problem je uocen (zato clanak i postoji, za one koji su preuzeli neku ranu verziju paketa carnet-upgrade),  ali i popravljen u inacici 7.0.9. Vama je upgrade pukao iz drugih razloga, pa je vjerojatno tu negdje razlog zasto rsyslog nije dodan. Inace, to je i jedini razlog zasto je izdan 7.0.9

carnet-upgrade (7.0.9) stable; urgency=low

* Install rsyslog instead of sysklogd.

U članku se kaže: "od inačice 7.0.9, paket carnet-upgrade ovisi o paketu rsyslog, pa ne morate brinuti o ovom problemu".

Ako dobro shvaćam značenje riječi "ovisi", onda bi se u sljedećem ispisu trebao vidjeti rsyslog:

$ apt-cache depends carnet-upgrade
carnet-upgrade
  Depends: dialog
  Depends: wget
 |Depends: debconf
  Depends: <debconf-2.0>
    debconf