Im Katalog suchen

Linux - Wegweiser zur Installation & Konfiguration, 3. Auflage

Online-Version

Copyright © 2000 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel

Mit Dateisystemen arbeiten

Auf Unix-Systemen ist ein Dateisystem ein Gerät (device), das für die Aufnahme von Dateien formatiert wurde (zum Beispiel Festplatten, Disketten oder CD-ROMs). Dateisysteme finden Sie auf diesen Geräten ebenso wie auf anderen, die willkürlichen Zugriff (random access) erlauben. (Die wichtigste Ausnahme sind Streamer, auf die nur sequentiell zugegriffen werden kann und die deshalb per se kein Dateisystem enthalten können.)

Das genaue Format und die Methode der Speicherung von Dateien sind nicht wichtig. Das System stellt ein gemeinsames Interface für alle Dateisystemtypen bereit, mit denen es arbeiten kann. Unter Linux gehören das Second Extended Filesystem (oder ext2fs) dazu, unter dem Sie wahrscheinlich Ihre Linux-Dateien ablegen; das MS-DOS-Dateisystem, mit dessen Hilfe Sie auf Dateien in DOS-Partitionen und auf DOS-formatierten Disketten zugreifen; außerdem verschiedene andere wie zum Beispiel das ISO-9660-Dateisystem für CD-ROMs.

Jeder dieser Dateisystemtypen benutzt ein anderes Format für die Speicherung von Daten. Wenn Sie allerdings unter Linux auf ein beliebiges Dateisystem zugreifen, wird das System Ihnen die Daten in der vertrauten Umgebung von Verzeichnishierarchien, zusammen mit den Angaben zu Eigner und Gruppe, den Berechtigungsbits sowie allen anderen bekannten Merkmalen, präsentieren.

Tatsächlich werden die Informationen zu Eignerschaft, Berechtigungen usw. nur von den Dateisystemen verwaltet, die für die Speicherung von Linux-Dateien vorgesehen sind. Bei solchen Dateisystemen, die diese Informationen nicht speichern, »erfinden« die Treiber, mit denen auf die Dateisysteme zugegriffen wird, diese Informationen. Das MS-DOS-Dateisystem zum Beispiel kennt das Konzept der Eignerschaft gar nicht; deshalb werden alle Dateien so dargestellt, als ob sie root gehörten. Auf diese Weise gleichen sich die Dateisysteme oberhalb einer bestimmten Ebene, und jeder Datei werden gewisse Attribute zugeordnet. Ob das darunterliegende Dateisystem diese Attribute nutzt oder nicht, ist eine ganz andere Frage.

Als Systemverwalter müssen Sie wissen, wie Dateisysteme erzeugt werden, falls Sie Linux-Dateien auf Disketten speichern oder zusätzliche Dateisysteme auf der Festplatte einrichten wollen. Sie werden auch verschiedene Tools kennenlernen müssen, mit denen Dateisysteme im Fall von Datenverlusten geprüft und repariert werden. Außerdem müssen Sie wissen, mit welchen Befehlen und Dateien auf Dateisysteme von Diskette oder CD-ROM zugegriffen wird.

Die Dateisystemtypen

Icon

Kapitel 7

In Tabelle 6-1 finden Sie alle Dateisystemtypen aufgelistet, die vom Linux-Kernel in der Version 2.2.2 unterstützt werden. Es werden ständig neue Typen hinzugefügt, und für mehrere hier nicht aufgeführte Dateisysteme gibt es experimentelle Treiber. Im Verzeichnis /usr/src/linux/fs können Sie nachsehen, welche Typen von Dateisystemen Ihr Kernel unterstützt. Beim Kompilieren des Kernels können Sie bestimmen, welche Dateisysteme unterstützt werden sollen. Lesen Sie dazu den Abschnitt »Den Kernel kompilieren« in Kapitel 7, Software und den Kernel aktualisieren.

Dateisystem Typname Beschreibung
Second Extended-Dateisystem ext2 Das Standarddateisystem von Linux
Minix-Dateisystem minix Original-Minix-Dateisystem; selten benutzt
ROM-Dateisystem romfs Ein winziges, nur-lesbares Dateisystem, wird hauptsächlich für RAM-Disks verwendet.
Network File System (NFS) NFS Für den Zugriff auf Dateien im Netzwerk
UMSDOS-Dateisystem umsdos Wird benutzt, um Linux in einer MS-DOS-Partition zu installieren
DOS-Fat-Dateisystem msdos Für den Zugriff auf MS-DOS-Dateien
VFAT-Dateisystem vfat Für den Zugriff auf Windows 95/98-Dateien
NT-Dateisystem ntfs Für den Zugriff auf NT-Dateien
HPFS-Dateisystem hpfs OS/2-Dateisystem
/proc-Dateisystem proc Liefert Zugriffsinformationen für ps
ISO-9660-Dateisystem iso9660 Von den meisten CD-ROMs benutzt
Joliet-Dateisystem iso9660 Eine Erweiterung von ISO 9660, die Unicode-Dateien versteht
Xenix-Dateisystem xenix Für den Zugriff auf Xenix-Dateien
System V-Dateisystem sysv Für den Zugriff auf Dateien von System V-Systemen
Coherent-Dateisystem coherent Für den Zugriff auf Coherent-Dateien
UFS-Dateisystem ufs Für den Zugriff auf UFS-Dateisysteme, wie sie beispielsweise auf SunOS oder BSD zu finden sind
ADFS-Dateisystem adfs Für den Zugriff auf Acorn-Partitionen
AFFS-Dateisystem affs Für den Zugriff auf Standard-Amiga-Dateisystempartitionen
Apple Mac-Dateisystem hfs Für den Zugriff auf Apple Macintosh-Dateien
QNX4-Dateisystem qnx4 Für den Zugriff auf QNX4-Partitionen
Novell-Dateisystem ncpfs Greift auf Dateien von einem Novell--Server zu
SMB-Dateisystem smbfs Greift auf Dateien eines Windows für Workgroups-, Windows 95- oder -Windows NT-Servers zu

Jeder Dateisystemtyp hat individuelle Eigenschaften und Beschränkungen; MS-DOS zum Beispiel erlaubt nur achtstellige Dateinamen mit einer dreistelligen Erweiterung. Sie sollten dieses Dateisystem nur für den Zugriff auf bereits existierende DOS-Partitionen oder -Disketten benutzen. Sie werden für den größten Teil der Arbeit unter Linux das Second Extended-Dateisystem benutzen, das in erster Linie für Linux entwickelt wurde. Es erlaubt Dateinamen bis zu einer Länge von 256 Stellen, Dateisysteme bis zu vier Terabytes Größe und bietet einen Haufen anderer Vorteile. Frühere Linux-Systeme benutzten die inzwischen verdrängten Dateisysteme Extended (nicht mehr unterstützt) und Minix. (Ursprünglich wurde Minix aus mehreren Gründen benutzt. Einerseits wurde Linux am Anfang unter Minix kompiliert. Andererseits kannte sich Linus mit Minix ziemlich gut aus, und es war einfach, Minix in die frühen Original-Kernels einzubinden.) Das Xia-Dateisystem wird nicht mehr unterstützt.

Das ROM-Dateisystem werden Sie nur sehr selten benötigen. Es ist sehr klein, unterstützt keine Schreibvorgänge und ist vor allem zur Verwendung in RAM-Disks bei der Systemkonfiguration, beim Booten oder sogar in EPROMS gedacht.

Das Dateisystem UMSDOS wird für die Installation eines Linux-Systems in einem Verzeichnis innerhalb einer bestehenden DOS-Partition benutzt. Auf diese Weise können Linux-Neulinge mit Linux experimentieren, ohne die Festplatte neu zu partitionieren. Das MS-DOS-Dateisystem dagegen wird für den direkten Zugriff auf DOS-Dateien benutzt. Auf Dateien auf Partitionen, die mit Windows 95 oder Windows 98 angelegt wurden, kann mit dem VFAT-Dateisystem zugegriffen werden, während das NTFS-Dateisystem den Zugriff auf Windows NT-Dateien ermöglicht. Das Dateisystem HPFS dient dem Zugriff auf das OS/2-Dateisystem.

Mit der CVF-FAT-Erweiterung zum DOS-FAT-Dateisystem ist es möglich, auf Partitionen zuzugreifen, die mit DoubleSpace/DriveSpace von Microsoft oder mit Stakker von Stac komprimiert worden sind. Lesen Sie dazu die Datei Documentation/ filesystems/fat_cvf.txt in den Kernel-Quellen.

Icon

Kapitel 5

/proc ist ein virtuelles Dateisystem, das heißt, daß ihm kein Speicherplatz zugeordnet ist. Näheres hierzu finden Sie in Kapitel 5, Grundlagen der Systemverwaltung. Fußnoten 1

Das ISO-9660-Dateisystem (früher als High Sierra Filesystem bekannt und auf anderen Unix-Systemen mit hsfs abgekürzt) wird von den meisten CD-ROMs benutzt. Ähnlich wie unter DOS sind auch hier die Länge der Dateinamen und die Menge der Informationen, die zu jeder Datei gespeichert werden, beschränkt. Die meisten CD-ROMs kennen allerdings die Rock-Ridge-Erweiterungen zum ISO-9660-Standard, so daß der Kernel-Treiber den Dateien lange Namen, Eignerschaft und Berechtigungen zuordnen kann. Als Folge bekommen Sie beim Zugriff auf eine ISO-9660-CD-ROM unter DOS nur Dateinamen im 8.3-Format, während Sie unter Linux die »echten«, kompletten Namen erhalten.

Außerdem unterstützt Linux jetzt auch die Microsoft-Joliet-Erweiterungen von ISO 9660, die mit langen Dateinamen mit Unicode-Zeichen umgehen können. Das wird zur Zeit noch nicht besonders viel verwendet, kann aber in Zukunft wertvoll sein, weil Unicode ein international akzeptierter Standard für die Codierung von Zeichensystemen ist.

Weiter kennt Linux vier Dateisysteme, die in anderen Unix-Systemen für PCs verwendet werden: UFS, Xenix, System V und Coherent. (Die drei letzteren werden in Wirklichkeit von demselben Kernel-Treiber mit jeweils leicht geänderten Parametern bedient.) Falls Sie auf Dateisysteme stoßen, die in einem dieser Formate erzeugt wurden, können Sie auf die Dateien darin auch unter Linux zugreifen.

Schließlich gibt es einen Haufen von Dateisystemen für den Zugriff auf Daten auf Partitionen, die von anderen Dateisystemen als den DOS- und Unix-Familien angelegt worden sind. Diese unterstützen das Acorn Disk Filing System (ADFS), die AmigaOS-Dateisysteme (allerdings werden Disketten nur auf Amigas unterstützt), das HFS des Apple Macintosh und das QNX4-Dateisystem. Die meisten dieser spezialisierten Dateisysteme sind nur auf bestimmten Hardwarearchitekturen nützlich. Beispielsweise werden Sie in einem Intel-Rechner sicherlich keine Festplatten haben, die mit einem Amiga-Dateisystem formatiert sind. Wenn Sie einen dieser Treiber benötigen, lesen Sie bitte die zugehörigen Informationen; manche von ihnen befinden sich noch in einem experimentellen Zustand.

Dateisysteme aufsetzen

Damit Sie unter Linux auf ein beliebiges Dateisystem zugreifen können, müssen Sie es auf ein bestimmtes Verzeichnis aufsetzen (mounten). Dies läßt die Dateien in diesem Dateisystem so erscheinen, als ob sie in diesem Verzeichnis stünden, so daß Sie darauf zugreifen können.

Dies wird mit dem Befehl mount erledigt und muß in der Regel als root ausgeführt werden. (Wir werden noch sehen, daß normale Benutzer mount ausführen können, wenn der betreffende Gerätename in der Datei /etc/fstab aufgelistet ist.) Der Befehl hat folgendes Format:

mount -t typ gerät mount-point

Der typ ist der Name des Dateisystems, wie er in Tabelle 6-1 erscheint; das gerät ist das physikalische Gerät, auf dem das Dateisystem existiert (der Gerätename in /dev); und der mount-point (Aufsetzpunkt) ist das Verzeichnis, auf das dieses Dateisystem aufgesetzt wird. Sie müssen das Verzeichnis vor dem Aufruf von mount anlegen.

Wenn Sie zum Beispiel ein Second Extended-Dateisystem auf /dev/hda2 haben, das Sie auf das Verzeichnis /mnt aufsetzen möchten, geben Sie folgenden Befehl ein:

mount -t ext2 /dev/hda2 /mnt

Wenn alles klappt, sollten Sie auf das Dateisystem unter /mnt zugreifen können. Entsprechend mounten wir mit folgendem Befehl ein Dateisystem, das sich auf einer Diskette befindet, die unter Windows formatiert wurde und daher ein DOS-Dateisystem hat:

mount -t msdos /dev/fd0 /mnt

Anschließend können Sie unter /mnt auf Dateien zugreifen, die auf einer DOS-formatierten Diskette stehen.

Der Befehl mount kennt viele Optionen, die Sie mit dem Schalter -o spezifizieren können. Ein Beispiel: Die Dateisysteme MS-DOS und ISO9660 unterstützen die »automatische Konvertierung« von Textdateien im DOS-Format (in denen am Ende jeder Zeile CR-LF steht) in das Unix-Format (bei dem am Zeilenende nur ein LF steht). Mit dem Befehl:

mount -o conv=auto -t msdos /dev/fd0 /mnt

schalten Sie diese Konvertierung bei solchen Dateien ein, deren Suffix nicht auf eine Binärdatei hinweist (wie .exe, .bin usw.).

Eine häufig benutzte Option beim Aufsetzen ist -o ro (oder, mit demselben Effekt, -r), mit der Sie Dateisysteme im Lesemodus (read-only) aufsetzen. Alle schreibenden Zugriffe auf ein solches Dateisystem haben die Fehlermeldung »permission denied« zur Folge. Medien, die nicht beschrieben werden können (etwa CD-ROMs), müssen »read-only« aufgesetzt werden. Wenn Sie versuchen, eine CD-ROM ohne die Option -r zu mounten, erhalten Sie die nervige Fehlermeldung:

mount: block device /dev/cdrom is write-protected, mounting read-only

Geben Sie in diesem Fall statt dessen ein:

mount -t iso9660 -r /dev/cdrom /mnt

Dies gilt auch, wenn Sie versuchen, eine schreibgeschützte Diskette zu mounten.

In der Manpage zu mount finden Sie alle Optionen für das Aufsetzen von Dateisystemen. Sie werden nicht alle davon sofort benutzen, aber eines Tages müssen Sie vielleicht doch auf einige davon zurückgreifen.

Das Gegenteil zum Aufsetzen eines Dateisystems ist natürlich das Absetzen (unmounting). Das Absetzen bewirkt zweierlei: Der Inhalt des Dateisystems wird aus den Systempuffern aktualisiert, und auf das Dateisystem kann nicht mehr über seinen Aufsetzpunkt zugegriffen werden. Anschließend können Sie auf diesen Mount-Point ein anderes Dateisystem aufsetzen.

Das Absetzen geschieht mit dem Befehl umount (beachten Sie, daß das »n« in der Vorsilbe von »unmount« fehlt). Ein Beispiel:

umount /dev/fd0

setzt das Dateisystem auf /dev/fd0 ab. Mit einem Befehl wie

umount /mnt

setzen Sie ein beliebiges, auf ein bestimmtes Verzeichnis aufgesetztes Dateisystem ab.

Icon

Es ist wichtig, daß Sie Wechselmedien wie Disketten und CD-ROMs nicht aus dem Laufwerk entfernen oder gegen andere austauschen, solange sie aufgesetzt sind. Das hätte zur Folge, daß die Systeminformationen über das Gerät nicht mehr mit dem übereinstimmen, was tatsächlich vorhanden ist; dies kann unendlich viele Probleme bereiten. Wenn Sie eine Diskette oder CD-ROM wechseln wollen, sollten Sie das alte Medium erst absetzen, bevor Sie das neue Medium aufsetzen.

Ebenso wie bei Festplatten wird auch das Lesen und Schreiben von/auf Diskettendateisysteme(n) im Arbeitsspeicher gepuffert. Das bedeutet, daß das Laufwerk beim Lesen und Schreiben nicht sofort aktiv wird. Das System arbeitet die Ein-/ Ausgabe von/auf Disketten asynchron ab und führt Lese- und Schreibvorgänge nur durch, wenn es wirklich notwendig ist. Wenn Sie also eine kleine Datei auf die Diskette kopieren, und die Kontrolleuchte am Laufwerk blinkt nicht sofort auf, brauchen Sie nicht in Panik auszubrechen - die Daten werden schließlich doch noch geschrieben. Mit dem Befehl sync zwingen Sie das System, alle Puffer für das Dateisystem zu leeren, das heißt, daß alle Daten in den Puffern physikalisch auf die Diskette geschrieben werden. Dasselbe geschieht beim Absetzen eines Dateisystems.

Wenn Sie gewöhnlichen Sterblichen erlauben wollen, bestimmte Geräte auf- und abzusetzen, gibt es zwei Möglichkeiten. Die erste davon ist, für ein solches Gerät die Option user in /etc/fstab einzutragen (wir gehen später in diesem Abschnitt darauf ein). Danach sind alle Benutzer in der Lage, mount und umount für dieses Gerät aufzurufen. Die andere Möglichkeit ist die Benutzung eines Programms, das unter Linux das Auf- und Absetzen übernimmt. Diese Programme werden mit setuid root ausgeführt und erlauben normalen Benutzern das Aufsetzen bestimmter Geräte. Im allgemeinen werden Sie nicht zulassen, daß Benutzer eine Festplattenpartition auf- und absetzen, aber die Benutzung eines CD-ROM- oder Diskettenlaufwerks könnte erlaubt sein.

Es gibt eine ganze Reihe von Fehlern, die beim Mounten von Dateisystemen auftreten können. Unglücklicherweise gibt mount auf verschiedene Probleme dieselbe Fehlermeldung aus:

mount: wrong fs type, /dev/cdrom already mounted, /mnt busy, or other error

wrong fs type ist einfach zu verstehen: Es bedeutet, daß Sie dem Befehl mount den verkehrten Typ übergeben haben. Wenn Sie keinen Typ angeben, versucht mount, den richtigen Typ anhand des Superblocks zu erraten (das funktioniert nur mit den Dateisystemen minix, ext, ext2, xia und iso9660). Wenn das nicht funktioniert, probiert mount alle im Kernel enthaltenen Treiber aus (die in /proc/filesystems aufgeführt sind). Hat auch das nicht funktioniert, dann erklärt sich mount für gescheitert. device already mounted bedeutet, daß das Gerät schon auf einem anderen Verzeichnis aufgesetzt ist. Der mount-Befehl ohne Argumente sagt Ihnen, welche Geräte wo aufgesetzt sind:

rutabaga# mount /dev/hda2 on / type ext2 (rw) /dev/hda3 on /msdos type msdos (rw) /dev/cdrom on /cdrom type iso9660 (ro) /proc on /proc type proc (rw,none)

Wir sehen zwei Festplattenpartitionen, eine vom Typ ext2, die andere vom Typ msdos; ein CD-ROM-Laufwerk, das auf /cdrom aufgesetzt ist; und schließlich das Dateisystem /proc. Das letzte Feld in jeder Zeile (zum Beispiel (rw)) zeigt die Optionen, unter denen das Dateisystem aufgesetzt ist. Mehr dazu in Kürze. Beachten Sie, daß das CD-ROM-Laufwerk auf /cdrom aufsetzt. Wenn Sie häufig mit CD-ROMs arbeiten, ist es eine gute Idee, ein Verzeichnis /cdrom anzulegen, um dieses Gerät dort zu mounten. /mnt wird im allgemeinen benutzt, um dort Dateisysteme wie etwa Disketten vorübergehend aufzusetzen.

Die Fehlermeldung mount-point busy ist schwer nachzuvollziehen. Grundsätzlich deutet sie auf irgendeine Art von Aktivität unterhalb des Mount-Point hin, die verhindert, daß Sie dort ein Dateisystem aufsetzen. Meistens ist das eine offene Datei unterhalb dieses Verzeichnisses oder ein Prozeß, der sein aktuelles Arbeitsverzeichnis unterhalb des Aufsetzpunktes hat. Stellen Sie beim Aufruf von mount sicher, daß sich Ihre Root-Shell nicht innerhalb von mount-point befindet; gehen Sie dazu mit cd / in die oberste Verzeichnisebene. Es könnte auch sein, daß bereits ein anderes Dateisystem auf demselben Mount-Point aufsetzt; mit mount ohne Argumente können Sie dies feststellen.

Die Meldung other error ist natürlich nicht sehr hilfreich. Es gibt verschiedene Fälle, in denen mount mißlingen könnte. Falls das betreffende Dateisystem irgendwelche Daten- oder Datenträgerfehler enthält, wird mount eventuell melden, daß es den Superblock des Dateisystems nicht lesen kann. Unter Unix-artigen Betriebssystemen enthält der Superblock den Teil des Dateisystems, der Informationen zu einzelnen Dateien und die Attribute des Dateisystems insgesamt enthält. Wenn Sie versuchen, ein CD-ROM- oder Diskettenlaufwerk aufzusetzen, ohne daß eine CD-ROM oder Diskette vorhanden ist, erhalten Sie eine Meldung wie diese:

mount: /dev/cdrom is not a valid block device

Disketten sind besonders anfällig für physikalische Schäden (mehr als Sie vielleicht glauben). CD-ROMs leiden unter Staub, Kratzern, Fingerabdrücken und werden auch nicht gerne verkehrt herum eingelegt. (Wenn Sie versuchen, Ihre Garth Brooks-CD als ISO9660-Format zu mounten, werden Sie wahrscheinlich ähnliche Probleme bekommen.)

Vergewissern Sie sich auch, daß der Aufsetzpunkt, den Sie benutzen möchten (etwa /mnt), tatsächlich existiert. Falls das nicht der Fall ist, können Sie ihn mit dem Befehl mkdir anlegen.

Falls beim Aufsetzen oder beim Zugriff auf ein Dateisystem Probleme auftauchen, kann es sein, daß Daten beschädigt sind. Unter Linux gibt es verschiedene Tools zum Reparieren bestimmter Dateisystemtypen. Im Abschnitt »Dateisysteme prüfen und reparieren« weiter hinten in diesem Kapitel finden Sie mehr zu diesem Thema.

Beim Booten setzt das System automatisch mehrere Dateisysteme auf. Dies wird von der Datei /etc/fstab gesteuert, die einen Eintrag für jedes Dateisystem enthält, das beim Booten aufgesetzt werden soll. Die Zeilen haben das Format:

gerät mount-point typ optionen

Dabei haben gerät, mount-point und typ dieselbe Bedeutung wie im Befehl mount; optionen ist eine durch Kommata getrennte Liste der Optionen, die Sie bei mount mit dem Schalter -o angeben würden.

So könnte eine Datei /etc/fstab aussehen:

# device directory type options /dev/hda2 / ext2 defaults /dev/hda3 /msdos msdos defaults /dev/cdrom /cdrom iso9660 ro /proc /proc proc none /dev/hda1 none swap sw

Die letzte Zeile in dieser Datei bezeichnet eine Swap-Partition. Im Abschnitt »Swap-Space benutzen« weiter unten in diesem Kapitel gehen wir genauer darauf ein.

Icon

mount(8)

Die Manpage zu mount enthält die möglichen Werte für optionen. Wenn Sie mehr als eine Option angeben wollen, führen Sie sie durch Kommata getrennt, aber ohne Leerstellen dazwischen auf:

/dev/cdrom /cdrom iso9660 ro,user

Die Option user läßt auch andere Benutzer als root Dateisysteme aufsetzen. Wenn diese Option eingetragen ist, kann ein Benutzer zum Beispiel mit

mount /cdrom

ein CD-ROM-Laufwerk aufsetzen. Beachten Sie, daß Sie immer nur ein Gerät oder einen Mount-Point (aber nicht beide) an mount übergeben. Der Befehl wird den Aufsetzpunkt oder das Gerät in /etc/fstab nachschlagen und das Gerät mit den dort eingetragenen Parametern aufsetzen. Auf diese Weise lassen sich Geräte, die in /etc/fstab eingetragen sind, ganz einfach mounten.

Sie sollten für die meisten Dateisysteme die Option defaults (Standardwerte) benutzen; damit schalten Sie eine Reihe weiterer Optionen ein, wie zum Beispiel rw (Schreib- und Lesezugriff), async (asynchrones Leeren der E/A-Puffer) usw. Solange Sie keinen besonderen Grund haben, diese Parameter zu ändern, sollten Sie defaults für fast alle Dateisysteme und ro ausschließlich für Geräte mit Lesezugriff (wie CD-ROMs) verwenden. Eine weitere möglicherweise nützliche Option ist umask, mit der Sie die Default-Maske für die Zugriffsrechte setzen können, was insbesondere bei fremden Dateisystemen interessant sein kann.

Mit dem Befehl mount -a werden alle Dateisysteme aufgesetzt, die in /etc/fstab eingetragen sind. Der Befehl wird beim Booten von einem der Skripten in /etc/rc.d (oder wo auch immer Ihre Distribution ihre Konfigurationsdateien unterbringt) ausgeführt, in der Regel rc.sysinit. Auf diese Weise werden alle in /etc/fstab aufgeführten Dateisysteme beim Systemstart aktiviert; alle Partitionen Ihrer Festplatte, das CD-ROM-Laufwerk usw. werden aufgesetzt.

Icon

Kapitel 5

Hierzu gibt es eine Ausnahme: das Dateisystem root. Dieses Dateisystem, das in der Regel auf / aufgesetzt wird, enthält meistens sowohl die Datei /etc/fstab als auch die Skripten in /etc/rc.d. Damit der Kernel darauf zugreifen kann, muß er beim Booten das Root-Dateisystem selbst aufsetzen. Das Gerät, das das Root-Dateisystem enthält, ist direkt in den Kernel einkompiliert und kann mit dem Befehl rdev geändert werden (lesen Sie hierzu »Von einer Diskette booten« in Kapitel 5, Grundlagen der Systemverwaltung). Während des Bootens versucht der Kernel, dieses Gerät als Root-Dateisystem aufzusetzen, und probiert dazu nacheinander verschiedene Dateisystemtypen aus (zuerst Minix, dann Extended usw.). Wenn Sie beim Booten eine Fehlermeldung wie

VFS: Unable to mount root fs

erhalten, kann das eine der folgenden Ursachen haben:

Icon

Kapitel 7

  • In den Kernel ist keine Unterstützung für den Dateisystemtyp von Root einkompiliert. (Weitere Details finden Sie im Abschnitt »Den Kernel kompilieren« in Kapitel 7, Software und den Kernel aktualisieren. Dies spielt in der Regel nur dann eine Rolle, wenn Sie Ihren eigenen Kernel kompilieren.)

Icon

Kapitel 8

Für jeden dieser Fälle gilt, daß der Kernel nicht weiterarbeiten kann und in »Panik« ausbricht. Lesen Sie im Abschnitt »Die Rettung in der Not« in Kapitel 8, Andere Administrationsaufgaben, nach, was Sie tun können. Falls ein beschädigtes Dateisystem die Ursache ist, läßt sich das in der Regel beheben. Lesen Sie dazu »Dateisysteme prüfen und reparieren«.

Ein Dateisystem muß nicht in /etc/fstab eingetragen sein, damit es aufgesetzt werden kann, aber für das »automatische« Aufsetzen durch mount -a sowie die Benutzung der Option user ist dies Voraussetzung.

Automatisches Mounten von Geräten

Wenn Sie auf viele verschiedene Dateisysteme (und insbesondere solche im Netzwerk) zugreifen müssen, dann ist vielleicht eine noch relativ neue Funktion des Linux-Kernels interessant für Sie: der automounter. Dabei handelt es sich um eine Kombination aus Kernel-Code, einem Dämon und einigen Konfigurationsdateien, die automatisch bemerkt, wenn jemand auf ein Dateisystem zugreifen will, und dieses dann transparent lädt. Wenn das Dateisystem einige Zeit nicht benutzt wurde, dann hängt es der Automounter automatisch aus, um Ressourcen wie Speicher und Netzwerkkapazität zu sparen.

Icon

Kapitel 7

Wenn Sie den Automounter verwenden wollen, müssen Sie dieses Feature zunächst beim Kompilieren des Kernels einschalten (siehe »Einen neuen Kernel erstellen«). Außerdem benötigen Sie die NFS-Option.

Als nächstes müssen Sie den automount-Dämon starten. Weil dieses Feature ziemlich neu ist, ist es auf Ihrer Distribution vielleicht noch nicht enthalten. Suchen Sie nach dem Verzeichnis /usr/lib/autofs; wenn dieses noch nicht vorhanden ist, müssen Sie sich das Paket autofs von einem Linux-Server Ihrer Wahl besorgen und entsprechend den Installationsanweisungen installieren.

Sie können Dateisysteme an beliebigen Stellen automatisch mounten, aber der Einfachheit halber gehen wir hier davon aus, daß Sie alle Dateisysteme unterhalb eines einzigen Verzeichnisses mounten wollen, das wir hier /automount nennen. Wenn Sie die Einhängpunkte (automount points) für das automatische Mounten über Ihr Dateisystem verteilen wollen, dann müssen Sie mehrere automount-Dämonen verwenden.

Wenn Sie das autofs-Paket selbst kompiliert haben, sollten Sie damit anfangen, die Beispiel-Konfigurationsdateien zu kopieren, die Sie im sample-Verzeichnis finden. Diese können Sie dann Ihren Bedürfnissen anpassen. Dazu kopieren Sie die Dateien sample/auto.master und sample/auto.misc in das Verzeichnis /etc und die Datei sample/rc.autofs unter dem Namen autofs dahin, wo Ihre Distribution die Boot-Skripten unterbringt. Wir gehen hier von /sbin/init.d aus.

Die erste Konfigurationsdatei, die Sie editieren müssen, ist /etc/auto.master. Sie enthält alle Verzeichnisse (die sogenannten Mount-Punkte), unter denen der Automounter Partitionen aufsetzen soll. Weil wir uns entschieden haben, für dieses Beispiel nur ein Verzeichnis zu verwenden, müssen wir hier auch nur einen Eintrag vornehmen. Die Datei könnte folgendermaßen aussehen:

/automount /etc/auto.misc

Diese Datei besteht aus Zeilen mit je zwei Einträgen, die durch Leerraum (whitespace) voneinander getrennt sind. Der erste Eintrag gibt den Mount-Punkt an, der zweite die sogenannte Map-Datei, die wiederum angibt, wie und wo die Geräte und Partitionen automatisch zu mounten sind. Sie brauchen für jeden Mount-Punkt eine solche Map-Datei.

In unserem Fall sieht /etc/auto.misc folgendermaßen aus:

cd -fstype=iso9660,ro :/dev/scd0 floppy -fstype=auto :/dev/fd0

Auch diese Datei besteht aus einzeiligen Einträgen, die jeweils ein Gerät oder eine aufzusetzende Partition angeben. Die Zeilen bestehen aus zwei notwendigen und einem optionalen Feld, die durch Leerraum voneinander getrennt werden. Der erste Wert muß angegeben werden und bezeichnet das Verzeichnis, auf das das Gerät oder die Partition dieses Eintrags gemountet werden soll. Dieser Wert wird an den Mount-Punkt angehängt, so daß die CD-ROM automatisch nach /automount/cd gemountet wird.

Der zweite Wert ist optional und gibt die für die mount-Operation zu verwendenden Schalter an. Diese entsprechen den Optionen des mount-Befehls, mit der Ausnahme, daß der Typ mit der Option -fstype= anstelle von -T angegeben wird.

Der dritte Wert schließlich gibt die zu mountende Partition oder das zu mountende Gerät an. Wir haben hier das erste SCSI-CD-ROM-Laufwerk und das erste Diskettenlaufwerk angegeben. Der Doppelpunkt vor dem Eintrag muß da stehen; er trennt den Host-Teil vom Gerät/Verzeichnis-Teil, ganz so wie bei mount. Weil sich diese beiden Geräte auf dem lokalen Rechner befinden, steht links von den Doppelpunkten nichts. Wenn wir beispielsweise das Verzeichnis sources vom NFS-Server Sourcemaster automatisch mounten wollten, würden wir folgendes angeben:

sources -fstype=nfs,soft sourcemaster:/sources

Nachdem Sie die Konfigurationsdateien für Ihr System angepaßt haben, können Sie den Automount-Dämon mit folgendem Befehl starten (ersetzen Sie den Pfad gegebenenfalls durch einen für Ihr System passenden):

tigger# /sbin/init.d/autofs start

Weil dieser Befehl ziemlich schweigsam ist, sollten Sie kontrollieren, ob der Automounter auch wirklich gestartet worden ist. Das geht beispielsweise mit folgendem Befehl:

tigger# /sbin/init.d/autofs status

Aber es ist schwierig, anhand der Ausgaben zu sehen, ob der Automounter wirklich läuft. Besser ist es daher zu überprüfen, ob der automount-Prozeß existiert:

tigger# ps aux | grep automount

Wenn dieser Befehl den Automount-Prozeß anzeigt, dann sollte alles in Ordnung sein. Wenn das nicht der Fall ist, müssen Sie Ihre Konfigurationsdateien noch einmal überprüfen. Es kann natürlich auch sein, daß die notwendige Kernel-Unterstützung nicht vorhanden ist: Entweder ist die Automount-Unterstützung nicht im Kernel, oder Sie haben sie als Modul kompiliert, dieses aber nicht installiert. Wenn das das Problem ist, dann können Sie es mit

tigger# modprobe autofs

lösen.

Wenn der Automounter zu Ihrer Zufriedenheit funktioniert, können Sie den modprobe-Aufruf und den autofs-Aufruf in einer der Boot-Konfigurationsdateien Ihres Systems, wie etwa /etc/rc.local, /sbin/init.d/boot.local oder was auch immer Ihre Distribution verwendet, setzen.

Wenn alles funktioniert, müssen Sie jetzt nur noch auf eines der Verzeichnisse unterhalb des Mount-Punktes zugreifen, woraufhin der Automounter das entsprechende Gerät automatisch für Sie mounten wird. Wenn Sie beispielsweise

tigger$ ls /automount/cd

eingeben, dann wird der Automounter automatisch die CD-ROM mounten, damit ls deren Inhalt anzeigen kann. Der einzige Unterschied zwischen normalem und automatischem Mounten besteht in einer geringen Verzögerung, bis die Ausgabe kommt (beim automatischen Mounten).

Um Ressourcen einzusparen, hängt der Automounter die Partition oder das Gerät aus, wenn es eine gewisse Zeit keinen Zugriff gegeben hat (der Default sind fünf Minuten).

Icon

autofs (5)
automount (8)

Der Automounter verfügt über einige fortgeschrittene Optionen; beispielsweise muß die Map-Tabelle nicht in Form einer Datei vorliegen, sondern kann auch aus einer Systemdatenbank ausgelesen werden. Sie können den Automounter sogar ein Programm ausführen lassen, aus dessen Ausgabe dann die Map-Tabelle bestimmt wird. Alle weiteren Details finden Sie in den Manpages zu autofs und automount.

Dateisysteme erzeugen

Mit dem Befehl mkfs erzeugen Sie ein Dateisystem. Das Anlegen eines Dateisystems entspricht dem »Formatieren« einer Partition oder Diskette als Vorbereitung für das Speichern von Daten.

Zu jedem Dateisystemtyp gehört ein eigener mkfs-Befehl - für MS-DOS ist das zum Beispiel mkfs.msdos, ein Second Extended-Dateisystem wird mit mkfs.ext2 erzeugt usw. Das Programm mkfs selbst ist ein Frontend (Hilfsprogramm), das beliebige Dateisysteme erzeugen kann, indem es die passende Version von mkfs aufruft. Fußnoten 2

Bei der Installation Ihres Linux-Systems haben Sie eventuell mit einem Befehl wie mke2fs ein Dateisystem von Hand erzeugt. (Falls nicht, hat die Installationssoftware das für Sie erledigt.) Tatsächlich ist mke2fs dasselbe wie mkfs.ext2. Die Programme sind identisch (und auf vielen Systemen ist das eine nur ein Link auf das andere), aber man benutzt die Version mkfs.dateisystemtyp, damit es für mkfs einfacher wird, das entsprechende Programm für jedes Dateisystem auszuführen. Wenn Sie das Frontend mkfs nicht auf Ihrem System haben, können Sie auch mke2fs oder mkfs.ext2 direkt aufrufen.

Wir gehen davon aus, daß Sie das Frontend mkfs benutzen; dann erzeugen Sie mit folgendem Befehl ein Dateisystem:

mkfs -t typ gerätedatei blöcke

Dabei ist typ der zu erzeugende Dateisystemtyp, wie er in Tabelle 6-1 erscheint, gerätedatei gibt an, wo das Dateisystem erzeugt werden soll (zum Beispiel /dev/fd0 für eine Diskette), und blöcke geben die Größe des Dateisystems in Blökken zu 1024 Bytes an.

Wenn Sie zum Beispiel ein ext2-Dateisystem auf einer Diskette anlegen möchten, geben Sie ein:

mkfs -t ext2 /dev/fd0 1440

Hier werden 1 440 Blöcke angegeben, womit eine 3,5-Zoll-HD-Diskette mit 1,44 Megabytes bezeichnet wird. Wenn Sie statt dessen -t msdos eingeben würden, könnten Sie eine DOS-formatierte Diskette erzeugen.

Anschließend können wir die Diskette mounten, wie wir das im vorhergehenden Abschnitt beschrieben haben, Dateien dorthin kopieren usw. Vergessen Sie nicht, die Diskette wieder abzusetzen, bevor Sie sie aus dem Laufwerk entfernen.

Icon

Mit dem Erzeugen eines Dateisystems werden alle Daten auf dem betreffenden physikalischen Datenträger (Diskette, Festplattenpartition usw.) gelöscht. mkfs wird normalerweise vor dem Anlegen eines Dateisystems keine Warnung ausgeben - überlegen Sie deshalb genau, was Sie tun wollen.

Icon

Kapitel 3

Auf dieselbe Weise erzeugen Sie auch ein Dateisystem auf einer Festplattenpartition, nur geben Sie dabei den Namen der Partition (etwa /dev/hda2) als Gerätedatei an. Versuchen Sie niemals, auf einem Gerätenamen wie /dev/hda ein Dateisystem zu erzeugen. Dies gilt für die gesamte Festplatte, nicht nur eine einzelne Partition. Mit dem Befehl fdisk können Sie Partitionen einrichten, wie wir das im Abschnitt »Linux-Partitionen anlegen« in Kapitel 3, Installation und erste Konfigurationsarbeiten, beschrieben haben.

Sie sollten beim Erzeugen von Dateisystemen auf Festplattenpartitionen ganz besonders vorsichtig sein. Vergewissern Sie sich, daß die Werte für Gerätedatei und Blöcke korrekt sind. Wenn Sie eine falsche Gerätedatei angeben, kann es passieren, daß Sie Daten in bestehenden Dateisystemen zerstören. Wenn Sie einen falschen Wert für die Blöcke angeben, überschreiben Sie eventuell Daten in anderen Partitionen. Geben Sie für die Blöcke genau den Wert ein, den fdisk von Linux meldet.

Wenn Sie Dateisysteme auf Disketten erzeugen möchten, ist es meistens eine gute Idee, zunächst eine Low-Level-Formatierung vorzunehmen. Damit werden die Sektor- und Spurinformationen auf die Diskette geschrieben, so daß bei der Benutzung der Gerätenamen /dev/fd0 und /dev/fd1 die Diskettenkapazität automatisch erkannt wird. Der FORMAT-Befehl unter DOS ist eine Möglichkeit der Low-Level-Formatierung; eine andere Möglichkeit ist das Programm fdformat unter Linux. Fußnoten 3 Wenn Sie zum Beispiel die Diskette im ersten Diskettenlaufwerk formatieren möchten, geben Sie ein:

rutabaga# fdformat /dev/fd0 Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB. Formatting ... done Verifying ... done

Mit der Option -n zu fdformat überspringen Sie die Verifizierung.

Alle Versionen von mkfs für die einzelnen Dateisystemtypen unterstützen verschiedene nützliche Optionen. Fast alle Versionen kennen die Option -c, mit der beim Erzeugen des Dateisystems eine Überprüfung des physikalischen Mediums auf beschädigte Blöcke eingeschaltet wird. Wenn beschädigte Blöcke gefunden werden, werden diese markiert und bei Schreibvorgängen in diesem Dateisystem ausgespart. Wenn Sie solche spezifischen Optionen benutzen möchten, sollten Sie sie hinter der Option -t typ von mkfs angeben, etwa so:

mkfs -t typ -c gerätedatei blöcke

Sehen Sie in der Manpage der betreffenden Version von mkfs nach, welche speziellen Optionen unterstützt werden. (Für das Second Extended-Dateisystem lesen Sie also in der Manpage zu mke2fs nach.)

Eventuell haben Sie nicht alle speziellen Versionen von mkfs installiert. Falls nicht, kann mkfs nicht ausgeführt werden, wenn Sie versuchen, ein Dateisystem eines Typs zu erzeugen, für den Sie kein mkfs.typ installiert haben. Irgendwo gibt es für fast alle Dateisystemtypen, die von Linux unterstützt werden, auch ein entsprechendes mkfs.typ.

Icon

Kapitel 3

Falls Sie beim Aufruf von mkfs auf Probleme stoßen, kann es sein, daß Linux physikalisch nicht auf das Gerät zugreifen kann. Wenn es sich um eine Diskette handelt, ist es vielleicht nur ein defektes Exemplar. Bei einer Festplatte könnte es sich um einen ernsteren Fehler handeln - eventuell kann der Gerätetreiber für die Festplatte im Kernel nicht auf dieselbe zugreifen. Dabei kann ein Hardwarefehler vorliegen, oder die Plattengeometrie ist einfach falsch spezifiziert worden. Lesen Sie die Manpages der verschiedenen Versionen von mkfs sowie die Abschnitte in Kapitel 3 zum Thema: Probleme bei der Installation. Das dort Gesagte gilt auch hier. Fußnoten 4

Dateisysteme prüfen und reparieren

Von Zeit zu Zeit werden Sie die Linux-Dateisysteme auf ihre Konsistenz untersuchen und gegebenenfalls reparieren müssen, wenn dabei Fehler oder verlorene Daten festgestellt werden. Solche Fehler entstehen in der Regel bei einem Systemcrash oder durch Stromausfall, wenn der Kernel keine Gelegenheit mehr hat, den Inhalt der Schreibpuffer auf die Festplatte zu bringen. Meist sind solche Fehler relativ unbedeutend. Wenn das System allerdings beim Schreiben einer großen Datei unterbrochen wird, könnte diese Datei verlorengehen, wobei die Blöcke, die zu dieser Datei gehören, als »belegt« (in use) markiert werden, obwohl es dafür keinen Dateieintrag gibt. Solche Fehler können auch entstehen, wenn versehentlich Daten direkt auf die Festplatte (etwa /dev/hda) oder eine der Partitionen geschrieben werden.

Das Programm fsck dient der Untersuchung von Dateisystemen und gegebenenfalls der Beseitigung von Fehlern. Wie mkfs ist auch fsck ein Frontend für dateisystemspezifische Versionen von fsck.typ, wie etwa fsck.ext2 für das Second Extended-Dateisystem. (Ähnlich wie bei mkfs.ext2 ist auch fsck.ext2 ein symbolischer Link auf e2fsck. Sie könnten eines der Programme auch direkt aufrufen, falls das Frontend fsck nicht installiert ist.)

Die Anwendung von fsck ist recht einfach; der Befehl hat das Format:

fsck -t typ gerätedatei

wobei typ den Typ des zu reparierenden Dateisystems bezeichnet, wie er in Tabelle 6-1 erscheint, und gerätedatei das Gerät (Partition oder Diskette), auf dem sich das Dateisystem befindet.

Wenn wir beispielsweise das ext2-Dateisystem auf /dev/hda2 überprüfen wollen, geben wir ein:

rutabaga# fsck -t ext2 /dev/hda2 Parallelizing fsck version 1.06 (7-Oct-96) e2fsck 1.06, 7-Oct-96 for EXT2 FS 0.5b, 95/08/09 /dev/hda2 is mounted. Do you really want to continue (y/n)? yes /dev/hda2 was not cleanly unmounted, check forced. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Check reference counts. Pass 5: Checking group summary information. Free blocks count wrong for group 3 (3331, counted=3396). FIXED Free blocks count wrong for group 4 (1983, counted=2597). FIXED Free blocks count wrong (29643, counted=30341). FIXED Inode bitmap differences: -8280. FIXED Free inodes count wrong for group #4 (1405, counted=1406). FIXED Free inodes count wrong (34522, counted=34523). FIXED /dev/hda2: ***** FILE SYSTEM WAS MODIFIED ***** /dev/hda2: ***** REBOOT LINUX ***** /dev/hda2: 13285/47808 files, 160875/191216 blocks

Beachten Sie zunächst, daß die Prüfung eines aufgesetzten Dateisystems ausdrücklich bestätigt werden muß. Falls während der Ausführung von fsck in einem aufgesetzten Dateisystem Fehler gefunden und korrigiert werden, müssen Sie das System neu booten. Das liegt daran, daß die Änderungen, die fsck durchführt, eventuell nicht an das System zurückgemeldet werden, um dem System den aktuellen Aufbau des Dateisystems mitzuteilen. Im allgemeinen ist es keine gute Idee, aufgesetzte Dateisysteme zu prüfen.

Wie Sie sehen, wurden in unserem Beispiel mehrere Probleme entdeckt und korrigiert. Da dieses Dateisystem aufgesetzt war, werden wir aufgefordert, den Rechner neu zu booten.

Icon

Kapitel 8

Wie können Sie aber Dateisysteme prüfen, ohne sie zu mounten? Außer dem Root-Dateisystem können Sie alle Dateisysteme vor dem Aufruf von fsck einfach absetzen (umount). Das Root-Dateisystem läßt sich allerdings nicht absetzen, während das System läuft. Eine Möglichkeit, dieses Dateisystem im abgesetzten Zustand zu prüfen, besteht darin, eine Kombination aus Boot- und Root-Diskette einzusetzen - zum Beispiel die Installationsdisketten aus Ihrer Linux-Distribution. Auf diese Weise ist ein Root-Dateisystem auf der Diskette enthalten, während das Root-Dateisystem auf der Festplatte für die Überprüfung abgesetzt bleibt. In »Die Rettung in der Not« in Kapitel 8 finden Sie weitere Details hierzu.

Icon

Kapitel 5

Eine andere Möglichkeit besteht darin, das Root-Dateisystem im Zustand read-only zu mounten. Dazu benutzen Sie am LILO-Boot-Prompt die Option ro (siehe auch den Abschnitt »Die Boot-Optionen festlegen« in Kapitel 5). Allerdings kann es sein, daß andere Teile Ihrer Systemkonfiguration (zum Beispiel die Programme, die beim Booten von /etc/init aus aufgerufen werden) auch schreibenden Zugriff auf das Root-Dateisystem haben müssen. Mit der Option ro könnten solche Programme nicht ausgeführt werden. Damit Sie das System mit der ro-Option für das Root-Dateisystem booten können, könnten Sie auch im Single-User-Modus booten (mit der Option single). Damit verhindern Sie jegliche weitere Konfiguration des Systems während des Bootens - Sie können dann das Root-Dateisystem überprüfen und anschließend das System ganz normal booten.

Damit das Root-Dateisystem als read-only aufgesetzt wird, können Sie entweder die Boot-Option ro benutzen oder mit dem Befehl rdev das Read-only-Flag direkt im Kernel setzen.

Viele Linux-Systeme prüfen die Dateisysteme selbständig beim Booten. Dazu wird in der Regel fsck von /etc/rc.d/rc.sysinit aus aufgerufen. Wenn dies geschieht, wird Linux das Root-Dateisystem zunächst als read-only mounten, es mit fsck prüfen und dann mit

mount -w -o remount /

wieder aufsetzen. Die Option -o remount bewirkt, daß das betreffende Dateisystem mit den neuen Parametern erneut aufgesetzt wird (remount); in diesem Fall wird durch die Option -w (entspricht -o rw) das Dateisystem als read-write aufgesetzt. Das Ergebnis dieser Operation ist ein Root-Dateisystem mit Lese- und Schreibzugriff.

Wenn fsck während des Bootens aufgerufen wird, prüft es alle Dateisysteme außer Root, bevor diese aufgesetzt werden. Sobald fsck beendet ist, werden mit mount die anderen Dateisysteme aufgesetzt. In den Dateien unter /etc/rc.d, insbesondere rc.sysinit (sofern vorhanden), können Sie sehen, wie das geschieht. Wenn Sie diesen Schritt auf Ihrem System unterbinden wollen, sollten Sie in den entsprechenden Dateien in /etc/rc.d die Zeilen auskommentieren, in denen fsck aufgerufen wird.

Es gibt mehrere Optionen, die Sie mit dem dateisystemspezifischen fsck angeben können. Die meisten Typen kennen die Option -a, die automatisch alle Aufforderungen bestätigt, die von fsck.typ eventuell ausgegeben werden, die Option -c, die die Suche nach defekten Blöcken einschaltet (wie bei mkfs), und die Option -v, die während der Überprüfung ausführliche Meldungen ausgibt. Sie sollten diese Optionen hinter dem Argument -ttyp angeben, etwa so:

fsck -t typ -v gerätedatei

um fsck mit ausführlichen Meldungen aufzurufen.

In den Manpages zu fsck und e2fsck finden Sie weitere Details.

Es gibt nicht für alle Dateisystemtypen, die von Linux unterstützt werden, eine fsck-Version. Wenn Sie MS-DOS-Dateisysteme prüfen und reparieren wollen, sollten Sie dazu eines der DOS-Programme, wie zum Beispiel die Norton Utilities, verwenden. Auf jeden Fall sollte Ihr System Versionen von fsck für die Dateisysteme Second Extended, Minix und Xia enthalten.

Icon

Kapitel 8

Im Abschnitt »Die Rettung in der Not« in Kapitel 8 werden wir noch einmal auf die Themen »Prüfung eines Dateisystems« und »Dateien wiederherstellen« eingehen. fsck kann auf keinen Fall alle Fehler in Ihren Dateisystemen finden und beheben, aber es sollte mit den häufigsten Problemen zurechtkommen. Es gibt zur Zeit keine einfache Methode, eine wichtige Datei wiederherzustellen, die Sie gelöscht haben - fsck ist dazu nicht geeignet. Es wird gerade an einem »undelete«-Utility für das Second Extended-Dateisystem gearbeitet. Sichern Sie also Ihr System, oder benutzen Sie rm -i, damit Linux vor dem Löschen noch einmal nachfragt.

 Fußnoten 1
Beachten Sie, daß das /proc-Dateisystem unter Linux nicht dasselbe Format hat wie ein /proc-Dateisystem unter SVR4 (etwa Solaris 2.x). Unter SVR4 hat jeder aktive Prozeß einen eigenen »Datei«-Eintrag in /proc, der mit bestimmten ioctl()-Aufrufen geöffnet und bearbeitet werden kann, um Prozeßinformationen zu erhalten. Linux dagegen stellt die Informationen in /proc über read()- und write()-Anforderungen bereit.
 Fußnoten 2
In frühen Versionen von Linux wurde mit mkfs ein Minix-Dateisystem erzeugt. In neueren Versionen ist mkfs ein Frontend zur Erzeugung beliebiger Dateisysteme, und Minix-Dateisysteme werden mit mkfs.minix erzeugt.
 Fußnoten 3
Debian-Benutzer sollten statt dessen superformat verwenden.
 Fußnoten 4
Die Prozedur zum Erzeugen eines ISO9660-Dateisystems für eine CD-ROM ist komplizierter als das einfache Formatieren eines Dateisystems und Kopieren von Dateien. Das CD-Writing-HOWTO versorgt Sie mit den genauen Einzelheiten.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen | Kontaktieren Sie uns
International | Über O'Reilly | Tochterfirmen

© 2000, O'Reilly Verlag