Linuxin huolto

Linux eroaa Windowsista myös tässä suhteessa huomattavasti.

Linuxiin tulee ohjelmapäivityksiä jatkuvasti, joten ainakin tietoturvapäivitysten hakemisen voidaan katsoa kuuluvan tarvittaviin huoltotoimenpiteisiin.

Myös /etc-hakemiston varmuuskopiointi alihakemistoineen (sisältää systeemin asetustiedostot) sekä oman /home-hakemiston (omat asetukset) kopiointi on suositeltavaa. Voit pakata /etc-hakemiston esim. seuraavasti: tar jcfv etc.tar.bz2 /etc/.

Windowsissa tapahtuvaa levyn pirstoutumista ei Linuxissa ole siinä käytettyjen Windowsin FATia kehittyneempien tiedostojärjestelmien takia (esim. ext3), joten levyn eheyttäminen (defragmentointi) on yleensä tarpeetonta. Syynä ei siis ole itse käyttöjärjestelmä vaan käytetty tiedostojärjestelmä. Levyn fragmentoitumisaste (pirstotuminen) näkyy fsck:n tulostuksesta. Jos joskus kuitenkin haluat eheyttää levyn, niiin voit sen tehdä Defrag-ohjelmalla.

Samoin tmp-tiedostoa ei tarvitse tyhjentää (tyhjennetään yleensä automaattisesti käynnistyksen yhteydessä).

Roskakorin voi tietysti halutessaan tyhjentää ja eri ohjelmien cache-tiedostot voi tyhjentää ohjelmien omilla työkaluilla tarvittaessa.

Joskus lokitiedostot (/var/log) voivat kasvaa Linuxissakin huomattavan suureksi, jos kone ei ole pitkään päällä. Ne voi tyhjentää myös käsin, mutta kehittyneempi tapa on käyttää Linuxin omia ajastettuja toimintoja - cron- tai anacron-ohjelmia - joilla ajetaan logrotate-skripti. Cron- tai anacron-ohjelmat ajavat monia muitakin huoltoskriptejä tiettyyn ennalta valittuun aikaan.

Cron- ja / tai Anacron-ohjelmat ovat valmiina Linuxissa, joten tehtäväksi jääkin vain niiden hienosäätö omia tarpeitaan vastaavaksi.

Anacron

Anacron-ohjelman konfiguraatiotiedosto on /etc/anacrontab, jonka mukaisesti tietyt skriptit ajetaan yleensä päivittäin, viikottain ja kuukausittain:

# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 1 65  cron.daily    run-parts /etc/cron.daily
 7 70  cron.weekly   run-parts /etc/cron.weekly
30 75  cron.monthly  run-parts /etc/cron.monthly

Tutustutaan päivittäin ajettaviin komentoihin tarkemmin:

1 65  cron.daily    run-parts /etc/cron.daily

Esimerkissä siis päivittäiset skrpitit hakemistosta /etc/cron.daily ajetaan 65 minuutin kuluttua (delay) koneen käynnistyksen jälkeen. Ajan voi säätää mieleisekseen, mutta jos sen säätää hyvin lyhyeksi, niin kannattaa muistaa, että esim. tietokannan päivitys hidastaa vanhoja koneita huomattavasti. Aika kannattaakin säätää tarpeeksi pitkäksi (Red Hat 9:ssa oletuksena 65 min.), että ehtii tehdä suurimman osan haluamistaan töistä ennen huoltoskriptien ajoa.

Seuraavassa vielä malliksi Anacronin päivittäin ajamat skriptit /etc/cron.daily-hakemistosta (Red Hat 9), jotka siis ajetaan esimerkissämme 65 minuutin kuluttua (delay) koneen käynnistyksen jälkeen:

00webalizer
0anacron
logrotate
makewhatis.cron
rpm
slocate.cron
tmpwatch

Voit katsoa em. RH 9:n /etc/cron.daily-hakemiston skriptejä tarkemmin sivuiltani cron.daily. Malliksi vielä tiedosto logrotate.conf, jonka mukaan logrotate-skripti ajetaan.

Cron

Cron-ohjelman konfiguraatiotiedosto on /etc/crontab, jonka mukaisesti tietyt skriptit ajetaan yleensä päivittäin, viikottain ja kuukausittain:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Ensimmäiset rivit ovat ympäristömuuttujia, joista esim. 'MAILTO=root' tarkoittaa, että cronin käynnistämien ohjelmien tulosteet lähetetään pääkäyttäjälle (root) sähköpostitse (mail).

Tutustutaan vielä viikottain ajettaviin komentoihin tarkemmin:

22 4 * * 0 root run-parts /etc/cron.weekly

Nämä tarkoittavat vasemmalta oikealle luettaessa seuraavaa:

   22:  minuutti (0-59)
    4:  tunti (0-23)
    *:  kuukauden päivä (1-31)
    *:  kuukausi (1-12)
    0:  viikonpäivä (0-7, sunnuntai=7)
 root:  käyttäjätunnus
run-parts /etc/cron.weekly: komento

Edellä olevassa esimerkissä siis viikottain suoritettavat /etc/cron.weekly-hakemiston skriptit (komento) suoritetaan maanantaisin (viikonpäivä = 0) klo 4:22 (tunti = 4, minuutti = 22).

Seuraavassa vielä malliksi Cronin päivittäin ajamat skriptit /etc/cron.daily-hakemistosta (SuSE 8.2):

clean_catman
do_mandb
logrotate
medusa.cron
suse.de-backup-rc.config
suse.de-backup-rpmdb
suse.de-check-battery
suse.de-clean-tmp
suse.de-clean-vi
suse.de-cron-local

Tutustu myös lokitiedostoihin /var/spool/cron-hakemistossa.

Päivitetty viimeksi: 4.3.2004