Bewertung 4


Die Kandidaten sollten in der Lage sein, ein Linux Dateisystem mit systemeigenen Werkzeugen richtig zu warten. Dieses Prüfungsziel beinhaltet die Manipulation eines Standard Ext2-Dateisystems.

Schlüsseldateien, Begriffe und Hilfsmittel beinhalten:

  • fsck (fsck.ext2)
  • badblocks
  • mke2fs
  • dumpe2fs
  • debugfs
  • tune2fs

Es gibt zwar für Linux inzwischen verschiedene Dateisysteme, das zweite erweiterte Dateisystem (EXT2) ist aber immer noch der Standard und verdient daher eine genauere Betrachtung. Den prinzipiellen Aufbau von Unix-Inode Systemen und im speziellen des EXT2-Dateisystems haben wir schon in der Vorbereitung auf das LPI101 Examen kennengelernt. Auch die Anwendung von fsck haben wir dort schon besprochen.

Um ein EXT2-Dateisystem aber ganz im Griff zu haben, gibt es noch weitere Möglichkeiten der Einflußnahme, die ein fortgeschrittener Linux-Systemverwalter kennen muß.

Das Programm badblocks

Um eine Plattenpartition vor dem Anlegen eines Dateisystems auf schlechte oder fehlerhafte Blocks zu überprüfen gibt es das Programm badblocks(8). Es überprüft jeden einzelnen Block des Gerätes (wenn nichts anderes angegeben wurde) mit Hilfe unterschiedlicher Tests. Dabei existieren die folgenden unterschiedlichen Testmöglichkeiten: Read-Only Test Dieser Test überprüft alle Blocks, ob von ihnen gelesen werden kann. Das ist die voreingestellte Methode, die immer dann verwendet wird, wenn nichts anderes angegeben wurde. Diese Methode kann sowohl auf Partitionen mit, als auch ohne Dateisystem angewand werden, sie macht keinerlei Veränderungen am System. Sie ist sogar geeignet, bereits gemountete Dateisysteme zu überprüfen (auch wenn das nicht ratsam ist). Read-Write Test Dieser Test wird durch die Kommandozeilenoption -w aufgerufen. Er ist zerstörerisch, das bedeutet, dass die Daten, die vorher auf der Platte waren nach Ablauf des Tests nicht mehr existieren. Der Test schreibt ein bestimmtes Bytemuster auf jeden Block des zu überprüfenden Gerätes und versucht ihn danach wieder zu lesen. Dieser Test darf niemals auf gemountete Dateisysteme angewandt werden! Idealerweise wird diese Testform vor dem Anlegen eines Dateisystems ausgeführt, um Aufschluß über die Verlässlichkeit der Oberfläche zu bekommen. Wird er auf eine Partition angewandt, die schon ein Dateisystem aufweist sind nach Ablauf des Tests nicht nur die Daten gelöscht, sondern auch das Dateisystem selbst, es muß also neu angelegt werden. Nicht destruktiver Read-Write Test Damit auch Partitionen mit bestehendem Inhalt lesend und schreibend überprüft werden können, gibt es den nicht zerstörerischen Read-Write Test. Dieser Test wird über die Kommandozeilenoption -n aufgerufen. Es werden zwar Daten überschrieben, aber jeder Block, der überprüft wurde, bekommt anschließend seinen ursprünglichen Inhalt zurück. Damit ist dieser Test auch geeignet, bestehende Dateisysteme zu überprüfen. Auch dieser Test darf nur auf nicht gemountete Dateisysteme angewandt werden.

Das Programm badblocks kann auch eine Ausgabe aller gefundenen fehlerhaften Blöcke erstellen, die geeignet ist, durch Programme wie e2fsck(8) oder mke2fs(8) weiterverarbeitet zu werden. badblocks selbst nimmt keine Veränderung der Liste fehlerhafter Blöcke vor, weil das Programm ja auch für Partitionen ohne Dateisystem gedacht ist.

Das Programm mke2fs

Um auf eine Partition (oder ein anderes blockorientiertes Gerät) ein EXT2 Dateisystem anzulegen, gibt es das Programm mke2fs(8). Es entspricht in seiner Funktionalität dem Formatieren unter DOS/Windows. Auf der angegebenen Plattenpartition wird die Dateisystemstruktur aufgebracht, die später notwendig ist, um das Dateisystem zu bearbeiten. Natürlich ist auch dieser Befehl nur auf Geräte anwendbar, die noch nicht gemountet sind.

Im Gegensatz zu den DOS/Windows Varianten können wir mit mke2fs alle möglichen Angaben über die verwendete Blockgröße, die Anzahl der Inodes usw. machen. Die genauen Parameter entnehmen Sie der Handbuchseite.

Das Programm dumpe2fs

Das Programm dumpe2fs(8) dient dazu, Ausgaben über Dateisysteminformationen eines beliebigen Gerätes mit EXT2-Dateisystem auszugeben. Die meisten dieser Ausgaben sind in der Praxis selten gebraucht, es ist aber z.B. mit der Kommandozeilenoption -h möglich, nur die Angaben des Superblocks ausgeben zu lassen. Hier können wir dann die verschiedenen Angaben über die Anzahl der maximalen Mountvorgänge usw. nachlesen.

Das Programm debugfs

Das mächtigste Werkzeug zum Manipulieren eines EXT2 Dateisystems ist der Dateisystemdebugger debugfs(8). Mit seiner Hilfe ist es möglich praktisch alle denkbaren Manipulationen am Dateisystem vorzunehmen oder auch beliebige Informationen aus dem Dateisystem zu lesen. Selbst auf den Inhalt einzelner Inodes und Blöcke kann zugegriffen werden. Aber das Programm ist mit Vorsicht zu genießen. Es ist in seiner Mächtigkeit natürlich auch sehr gefährlich.

debugfs ist ein interaktiver Debugger. Das heißt, er wird nicht nur über Kommandozeilenoptionen gesteuert, sondern auch über interaktive Kommandos, die vom User eingegeben werden. Eine Liste aller Kommandos ist auf der Handbuchseite nachlesbar.

Das Programm tune2fs

Damit nicht jede kleine Änderung im Dateisystem von Hand mit dem debugfs-Programm erledigt werden muß, gibt es noch ein kleines Hilfsprogramm mit Namen tune2fs(8). Dieses Programm erlaubt die Manipulation bestimmter einstellbarer Dateisystemparameter, ohne gleich über die Struktur des Systems Bescheid wissen zu müssen. Zu den mit tune2fs einstellbaren Parametern zählen insbesondere:

  • Die Anzahl der maximalen Mountvorgänge, nach denen ein Dateisystem überprüft werden muß (-c).
  • Die Anzahl der seit der letzten Überprüfung stattgefundenen Mountvorgänge (-C).
  • Die Tage/Wochen/Monate, die zwischen zwei Mountvorgämgen maximal vergehen dürfen (-i)
  • Gruppen- und UserID der Gruppe bzw. des Users für die die reservierten Blöcke gedacht sind. (-g und -u).
  • Die Prozentzahl der Blöcke, die reserviert werden sollen (-m).
  • Das Volume-Label (-L).