3. Die rc-Subsysteme und nur-Lese Dateisysteme

Die Initialisierung nach dem Bootvorgang eines eingebetteten FreeBSD-Systems wird von /etc/rc.initdiskless kontrolliert.

/etc/rc.d/var hängt /var als RAM-Disk ein, erstellt eine konfigurierbare Liste von Verzeichnissen in /var mittels des mkdir(1)-Kommandos und ändert die Attribute von ein paar dieser Verzeichnisse. Bei der Ausführung von /etc/rc.d/var kommt eine andere rc.conf-Variable ins Spiel: varsize. Die Datei /etc/rc.d/var erstellt eine /var-Partition basierend auf dem Wert dieser Variable in rc.conf:

varsize=8192

Standardmässig wird dieser Wert in Sektoren angegeben.

Der Fakt, dass es sich bei /var um ein nur-Lese Dateisystem handelt, ist eine wichtige Unterscheidung, da die /-Partition (und jede andere Partition, die Sie auf Ihrem Flash-Medium haben) nur lesend eingehängt wird. Erinnern Sie sich, dass in Abschnitt 1, „Solid State Festplattengeräte“ die Beschränkungen von Flash-Speichern erläutert wurden, speziell deren begrenzte Kapazität zum Schreiben. Die Notwendigkeit, Dateisysteme auf Flash-Speichern nur lesend einzubinden und keine Swap-Dateien zu verwenden, kann nicht oft genug erwähnt werden. Eine Swap-Datei auf einem ausgelasteten System kann in weniger als einem Jahr den gesamten Flash-Speicher aufbrauchen. Häufige Protokollierung oder das Erstellen und Löschen von temporären Dateien kann das gleiche verursachen. Aus diesem Grund sollten Sie zusätzlich zum entfernen des swap-Eintrags aus ihrer /etc/fstab-Datei auch noch die Optionsfelder für jedes Dateisystem auf ro wie folgt stellen:

# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ad0s1a             /               ufs     ro              1       1

Ein paar Anwendungen im normalen System werden sofort nach dieser Änderung ausfallen. Beispielsweise wird Cron nicht richtig funktionieren, aufgrund von fehlenden Cron-Tabellen in /var die von /etc/rc.d/var erstellt wurden. Syslog und DHCP werden ebenfalls Probleme durch das nur-Lese Dateisystem und fehlende Elemente im Verzeichnis /var verursachen, die /etc/rc.d/var erstellt hat. Diese Probleme sind jedoch nur vorübergehend und werden zusammen mit Lösungen zur Ausführung von anderen gebräuchlichen Softwarepaketen in Abschnitt 5, „Systemstrategien für kleine und Nur-Lese-Umgebungen“ angesprochen.

Eine wichtige Sache, an die man sich erinnern sollte, ist, dass ein Dateisystem, welches als nur lesend in /etc/fstab eingebunden wurde, jederzeit als schreibend durch das folgende Kommando eingehängt werden kann:

# /sbin/mount -uw partition

und auch wieder zurück auf nur lesend durch den Befehl:

# /sbin/mount -ur partition

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.