Optimierungen
Desweiteren sollte man so ein System dann noch ein wenig optimieren da solche CF Karten leider nicht ewig halten (~100k schreibzyklen)
Fangen wir mit der
/etc/fstab an.
Linux speichert pro bearbeitete Datei/Ordner die letzte Zugriffszeit. Darauf kann man verzichten da dies unnötige Schreibvorgänge sind. Des weiteren kann man Dateien die sich oft ändern in eine Ramdisk (tmpfs) verlegen.
Klar, diese Dateien überleben keinen Reboot. Bei einem System was nicht kritisch ist, kann man jedoch evtl. auf die Log-Dateien verzichten. Da aktuelle Log Einträge kann man ja immer noch einsehen. Ebenso kann das apt-get Update Verzeichniss in eine Ramdisk wandern, die *.deb Dateien benötigt man nach dem Update/einer Installation meißt nicht mehr.
Code:
proc /proc proc defaults 0 0
/dev/hdc1 / ext3
nodiratime,noatime,rw,errors=remount-ro 0 1
tmpfs /var/spool/squid tmpfs defaults,size=32m 1 2
tmpfs /var/log tmpfs defaults,size=32m,noatime,mode=0755 1 2
tmpfs /tmp tmpfs defaults,size=32m,noatime,mode=1777 1 2
tmpfs /var/tmp tmpfs defaults,size=32m,noatime,mode=1777 1 2
tmpfs /var/cache/apt/archives tmpfs defaults,size=64m,noatime,mode=0177 1 2
Soweit so gut!
Das Problem mit Ramdisks ist jedoch, dass diese beim booten relativ spät erstellt werden und einige Dienste vorher bereits versuchen auf die Dateien zuzugreifen bzw. die Ordnerstruktur nach jedem Reboot neu angelegt werden muss. Dies lässt sich jedoch über die Date /etc/rc.local lösen.
Hier kann man in der Date /etc/rc.local vor exit 0 die entsprechenden Einträge einfügen. Beispiel:
Code:
for dir in apparmor apt news cups dist-upgrade fsck gdm installer news samba squid unattended-upgrades spool ; do
mkdir -p /var/log/$dir
done
chown proxy
roxy /var/log/squid
mkdir /var/cache/apt/archives/partial/
mkdir -p /var/spool
mkdir -p /var/spool/squid
exit 0
Nun kommt noch das logging an die Reihe.
Der syslog Daemon schreibt einige Log-Dateien sofort und andere wiederrum Zeitverzögert. Der Sinn ist, dass Systemrelevante Informationen sofort in Stein gemeißelt werden (Debugging Informationen) während unwichtigere Infos ruhig verzögert geschrieben werden können. Welche Log-Datei wie behandelt wird erkennt man in der /etc/syslog.conf an dem führenden – vor der Log-Datei. Alle Dateien mit – werden verzögert geschrieben. Diese Änderung macht jedoch nur Sinn, wenn die Logs nicht sowieso schon in einer Ramdisk liegen ;-)
Code:
auth,authpriv.* -/var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* -/var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
(r)Syslogd generiert auch regelmässig 'MARK' timestamp Einträge in den Logs was man auch abschalten kann/sollte und zwar über die Datei
/etc/default/syslogd (oder
/etc/default/rsyslog) indem man den einen Eintrag ergängzt zu:
RSYSLOGD_OPTIONS="-c3
-m 0"
Nun könnte man noch die Datei
/etc/default/rcS bearbeiten und RAMRUN sowie RAMLOCK auf "yes" abändern
>RAMRUN=yes --> /etc/default/rcS
>RAMLOCK=yes --> /etc/default/rcS
RAMRUN bewirkt dass beim Bootvorgang alles in /var/run/ belassen wird und
nicht aufgeräumt und wiederum ins TEMPFS ablegt wird
Das gleiche gilt auch für RAMLOCK bezüglich /var/lock/
EDIT:
AUTOR (unter anderen): Christian Scholz