Inhaltsverzeichnis
Bewertung 3
Die Kandidaten sollten in der Lage sein, ein Standard Linux Dateisystem korrekt zu konfigurieren und damit umzugehen. Dieses Prüfungsziel beinhaltet das Konfigurieren und Mounten verschiedener Linux Dateisystemtypen. Auch beinhaltet ist die Manipulation von Dateisystemen um Anforderungen an Speicherplatz oder Geräteeigenschaften zu erfüllen.
Schlüsseldateien, Begriffe und Hilfsmittel beinhalten:
- /etc/fstab
- mount und umount
- /etc/mtab
- sync
- swapon und swapoff
- /proc/mounts
Ausgehend davon, dass die Vorbereitung auf die LPIC 2 Prüfungen voraussetzen, dass die LPIC 1 Zertifizierung schon erreicht ist, werde ich hier zum Thema mounten (inkl. /etc/fstab) nichts mehr sagen sondern verweise im Zweifelsfall auf die entsprechende Seite der LPI 101 Prüfungsvorbereitung.
Die Thematik hier steigt etwas tiefer ein und erfordert das Verständnis der zugrundeliegenden Mechanismen. Also zunächst einmal etwas Grundlagenbetrachtung:
Der Linux-Kernel kann verschiedene Dateisystemtypen bearbeiten, je nach Konfiguration des Kernels kann die Unterstützung dieser verschiedenen Typen als Modul geladen werden oder fest eingebaut sein. Welche Dateisystemtypen tatsächlich unterstützt werden kann über den Befehl
cat /proc/filesystems
herausgefunden werden.
Bevor auf ein Dateisystem zugegriffen werden kann, muß es gemountet werden. Das gilt nur für den Zugriff auf das Dateisystem üner die Mechanismen des Kernels. Es ist problemlos möglich (und oft notwendig), mit anderen Möglichkeiten auf Dateisysteme zuzugreifen, wie etwa die Reparatur mit fsck oder das Kopieren eines ganzen Dateisystems mit dd. Gerade die Reparatur eines Dateisystems verlangt es, dass das zu reparierende System eben nicht gemountet ist.
Synchronisation der Dateisysteme mit sync
Jeder Zugriff auf ein gemountetes Dateisystem wird gebuffert. Das bedeutet, dass ein Schreibzugriff auf eine Festplatte, Diskette oder ein anderes Laufwerk nicht zwangsläufig immer sofort physikalisch auf diese Platte geschrieben wird. Das ist in einem Multi-User System ja auch gar nicht möglich, da mehrere User (oder auch nur mehrere Prozesse) gleichzeitig schreiben können.
In regelmäßigen Abständen wird der Bufferinhalt dann tatsächlich physikalisch auf die Platten geschrieben. Welche Zeit zwischen zwei solcher Schreibvorgänge vergeht, ist abhängig von der Auslastung des Rechners und der Größe des Buffers.
Wenn ein Laufwerk mit umount abgehängt wird, dann wird vor dem entgültigen Abhängen natürlich der entsprechende Buffer noch auf die Platte geschrieben, die abgehängt werden soll. Das kann insbesondere bei langsamen Wechselplatten wie Disketten zu Schwierigkeiten führen, wenn die Disk zu schnell (solange noch geschrieben wird) entnommen wird.
Damit der Systemverwalter die Möglichkeit hat, auch manuell das Entleeren der Bufferspeicher durchzuführen, gibt es den Befehl sync. Dieser Befehl wird ohne Parameter aufgerufen und leert alle Bufferspeicher auf die entsprechenden Laufwerke. Normalerweise wird dieser Befehl selten benötigt, aber im Notfall kann es vorkommen, dass ein manueller Eingriff notwendig wird.
Ein- und Aushängen der Swap-Partitionen
Eine spezielle Partitionsform ist die sogenannte swap-Partition. Bei ihr handelt es sich um eine Festplattenpartition, die kein Dateisystem im strengen Sinn enthält, sondern die als Speichererweiterung eingesetzt wird. Das bedeutet, dass – wenn der echte Arbeitsspeicher zur Neige geht – Daten aus dem Arbeitsspeicher, die gerade nicht benötigt werden, auf diese Partition ausgelagert werden.
Damit eine Partition als Swap-Partition verwendet werden kann, muß sie zweierlei Bedingungen erfüllen:
- Ihr Partitionstyp muß auf 82 (Linux-Swap) eingestellt sein
- Sie muß mit dem Befehl mkswap als Swap-Partition eingerichtet („formatiert“) sein.
Wenn diese beiden Bedingungen erfüllt sind, dann kann die Partition mit dem Befehl
swapon Gerätedatei
als Swap-Partition aktiviert werden. Sind diese Partitionen in der Datei /etc/fstab als Swap-Partitionen eingetragen, so können sie mit dem Befehl
swapon -a
alle gleichzeitig als Swap-Partitionen aktiviert werden.
Jetzt steht dem Kernel der zusätzliche Platz zur Verfügung, er kann jetzt also Daten aus dem Arbeitsspeicher auf diese Partitionen auslagern.
Um eine solche eingehängte (aktivierte) Swap-Partition wieder abzuhängen, wird der Befehl
swapoff Gerätedatei
benutzt. Auch hier gilt, wenn die Swap-Partitionen in /etc/fstab eingetragen sind, dann reicht ein
swapoff -a
um alle gleichzeitig zu deaktivieren.
Im Regelfall werden wir diese Befehle nicht von Hand aufrufen, das passiert beim Booten bzw. Herunterfahren automatisch. Beim Wiederherstellen eines gecrashten Systems im Recovery-Modus kann es aber sehr wohl notwendig werden, hier von Hand eine Swap-Partition einzuhängen, wenn der Rechner sehr wenig echten Arbeitsspeicher hat.
Wo ist was gemountet
Um herauszufinden, wo was gemountet ist, gibt es verschiedene Methoden. Zunächst mal bietet der Befehl df die Ausgabe aller gemounteten Dateisysteme, inclusive der Auslastung des jeweiligen Speicherplatzes.
Eine weitere Möglichkeit ist es, sich den Inhalt der Datei /etc/mtab anzeigen zu lassen, wo ja alle gemounteten Dateisysteme eingetragen sein sollten. Wir wissen aber, dass der mount-Befehl die Option -n kennt, um zu verhindern, dass ein Eintrag in dieser Datei vorgenommen wird.
Um schließlich den Kernel selbst zu fragen, welche Dateisysteme seiner Information nach eingehängt sind, gibt es im Verzeichnis /proc die Datei mounts. Mit dem Befehl
cat /proc/mounts
bekommen wir eine Liste aller Dateisysteme, die der Kernel im Augenblick als gemountet kennt. Jeweils mit der Angabe des verwendeten Dateisystems, und der Optionen ähnlich wie bei /etc/mtab. In diesem Fall werden auch die Dateisysteme angezeigt, die mit dem -n Flag gemountet wurden (auch df zeigt diese Systeme nicht an).