Linux – Friheden til systemadministration: Version 2.8.20060113 – 2021-01-07 | ||
---|---|---|
forrige | Kapitel 2. Systemadministration | næste |
Jeg har en gammel bærbar i mit soveværelse. Den bliver brugt som printserver og gateway til et trådløst (802.11) netværk. Den skal være stille; især når jeg sover.
Jeg har også en computer på arbejdet. Den er bl.a. FTP- og webserver. Mine kollegaer bryder sig ikke om at den larmer, når jeg ikke er der.
Det er acceptabelt og stort set uundgåeligt at en maskine larmer når man bruger selv den, for eksempel skriver ud til printeren, retter i dokumenter osv, men så er man jo også vågen.
Målet er at få den til at være stille når den ikke laver noget, eller kun laver simple ting (rutning, FTP af små filer osv.).
Det, man kan gøre noget ved, er larmen fra harddisken.
Først skal man have sat spin-down tiden på harddisken (eller harddiskene hvis der er mere end en). På nogle maskiner kan man gøre det i BIOS'en.
Fra Linux kan man gøre det med hdparm-programmet. Følgende kommando sætter den første IDE-harddisk (/dev/hda) til at lukke ned efter et minut:
[root@linus ~]# hdparm -S 12 /dev/hda
For at køre kommandoen hver gang computeren startes, kan man komme den i en opstartsfil, se Afsnit 2.5.
Her er nogle af de programmer, der kan finde på at starte disken uden at det er nødvendigt.
syslog Skriver som default "-- MARK --" i log filerne hvert 20. minut.
Løsning Start syslogd med -m 0 optionen. Rettes i /etc/init.d/syslog
modprobe Kan finde på at lede i /lib/modules/kernerver/ efter et ikke-eksisterende modul hvert minut.
Løsning 1 Se i /var/log/ksymoops/20020702.log (brug den rigtige dato). F.eks. fandt jeg: 20020702 161032 start /sbin/modprobe -s -k -- char-major-6 safemode=1
Det var fordi jeg kørte lpd dæmonen uden en driver for parallelporten.
Løsning 2 Oversæt en kerne med alt hvad du skal bruge og lad være med at køre modprobe (modutils).
ntp Skriver som default i /var/lib/ntp/ntp.drift og /var/log/ntpstats/loopstats med få minutters mellemrum.
Løsning 1 Man kan minimere problemet ved at sætte tiden mellem opdateringer af uret til det maksimale.
I /etc/ntp.conf sæt for hver server: server clock.server.com minpoll 16 maxpoll 17
Løsning 2 Det er som regel ikke nødvendigt at bruge ntp. Brug ntpdate i stedet.
CUPS Skriver et SSL-certifikat i /etc/cups/ssl/server.crt hvert 5. minut. Den læser /etc/groups hver gang, så det er ikke nok at lave /etc/cups/certs til et link på en RAM-disk.
Løsning 1 Hent kildeteksten. I scheduler/main.c ret de 300 i if ((time(NULL) - RootCertTime) >= 300) til noget meget større, eller fjern helt if-sætningen.
Løsning 2 Fra og med CUPS version 1.1.16 kan man undgå skrivningen af certifikater at at indsætte kommandoen: "RootCertDuration 0" i filen /etc/cups/cupsd.conf
cron Kører en masse jobs som ikke er nødvendige.
Løsning Fjern alt hvad du ikke behøver fra /etc/cron.d, /etc/crontab og /etc/cron.daily. Se også om mail senere.
ftpd FTP-servere tilgår typisk /etc/{passwd,hosts,group}, hjemmekataloger osv.
Løsning: muddleftp og tmpfs Lav en tmpfs partition, og brug muddleftpd. Sæt muddleftp op med /etc/muddleftpd.com på flg. måde:
Sæt "logfile" og "scratch file" til filer i roden tmpfs partitionen. Sæt "rdnstimeout 0" i sektionen "main" for at slå "reverse DNS lookup" fra. Sæt "uid" og "gid" i sektionen "localusers" for at undgå brug af /etc/passwd og /etc/group. Sæt "authmethod internal" og "internal_passfile /fileontmpfs/" i sektionen "localusers". Brug mudpasswd til at lave password filen. Sæt root directory til noget på tmpfs partitionen. Password filen skal kopieres til tmpfs filsystemet hver gang muddleftp startes. Det gøres i /etc/init.d/muddelftpd (Debian):
case "$1" in start) cp -a /home/bruger/mpw /tfs/ ...
muddleftpd.conf findes under kataloget eksempler til denne bog.
browsere Netscape 4.7 skriver sit cache-indeks, selv når den ikke bliver brugt. Den gratis version af Opera læser fra disken ca. hvert 5. minut for at udskifte reklamen.
Løsning Luk din browser, når du ikke bruger den.
Eller brug browsere, der ikke skriver på disken, når de ikke bruges. Som erstatning for Opera på små computere kan "Dillo" anbefales.
mail MTA'er (sendmail, exim, postfix, etc) køres ofte ca. hvert 15. minut fra /etc/cron.d/MTA, hvor MTA er navnet på din MTA
Tjek /etc/init.d/MTA for at se om en MTA, der tjekker spool-filerne, startes med et fast interval. Det gøres som regel med en -q time (fx -q 1h22m) option.
Løsning Det er sjældent nødvendigt at tjekke spool-filerne med faste intervaller. Brugere kan sende og modtage post uden dette.
Fjern /etc/cron.d/MTA filen og -q parameteren i /etc/init.d/MTA.
updatedb kører find mm. hver dag for at resultaterne af locate kommandoen er up-to-date.
Løsning 1 Afinstallér updatedb.
Løsning 2 Fjern /etc/cron.daily/find
Hvis man har brug for locate kommandoen kan man altid manuelt køre updatedb som root.
Montér filsystemer med "noatime" optionen Hvis man monterer et filsystem med "noatime", bliver inode-access-tiden ikke opdateret. Det betyder at hvis en fil eller et katalog, der er cached, bliver læst, så startes disken ikke for at skrive filen eller katalogets access-tid tilbage.
Skriv følgende i din /etc/fstab fil:
/dev/hda3 /home ext2 defaults,noatime 0 0
Nogen gange starter disken bare, uden at man ved hvorfor. Det kan være ret frustrerende.
Som en del af DIKU Linux kerne kurset blev en patch til 2.4.18 kernen udviklet.
Denne patch får kernen til at logge alle filoperationer. Det logger PID, tid, programnavn, filnavn osv.
Få patchen her.
Dette brugerprogram slår logging til og fra. Oversæt det med cc -o do_noisy_logging -I /usr/src/linux/include do_noisy_logging.c.
Programmet køres som ./do_noisy_logging 0 eller ./do_noisy_logging 1 for at slå logging fra hhv. til.