mount und fstab

Verwaltung des Linux-Dateisystems, Teil 2

18.01.2005 von Michael Kofler
Unsere neue Reihe führt in die Administration des Linux-Dateisystems ein. Der zweite Teil behandelt die Verwaltung mit mount und /etc/fstab und erläutert zudem die Besonderheiten beim Einbinden von Windows-Partitionen.

Unsere neue Linux-Serie beschreibt die verschiedenen Facetten der Administration des Dateisystems. Mit Ausnahme der ersten beiden Abschnitte richtet sich das Kapitel explizit an Linux-Profis. Die achtteilige Serie behandelt dabei folgende Themen:

Die Artikelserie basiert auf dem Kapitel 25 des Standardwerks "Linux - Installation, Konfiguration, Anwendung" von Michael Kofler aus dem Verlag Addison-Wesley. Sie können dieses über 1200 Seiten starke Buch auch in unserem Buchshop bestellen oder als eBook herunterladen.

Serie: Administration des Linux-Dateisystems

Teil 1

Dateisystemtypen

Teil 2

mount und fstab

Teil 3

CD-ROMs, Disketten, externe Massenspeicher

Teil 4

ext3 und reiserfs

Teil 5

Partitionierung der Festplatte

Teil 6

RAID mit Linux

Teil 7

LVM, Logical Volume Manager

Teil 8

DMA mit IDE-Festplatten

Aktuellen Zustand des Dateisystems ermitteln

Der Begriff "Dateisystem" ist leider nicht eindeutig. Einerseits bezeichnet er ein einzelnes Dateisystem, etwa das einer Festplattenpartition, einer Diskette oder einer CD-ROM. Andererseits bezeichnet er aber auch die Gesamtheit aller Dateisysteme, die unter Linux zu einem einzigen Verzeichnisbaum vereint werden.

Auf das Grundsystem greifen Sie über den Pfad / zu, auf den Inhalt des CD-ROM-Laufwerks beispielsweise über /mnt/cdrom oder /media/cdrom, auf die Diskette über /mnt/disk oder /media/floppy. Diese Verzeichnisse, deren Namen beliebig gewählt werden können, entsprechen den Laufwerksbuchstaben A:, C:, D: et cetera von Windows.

In diesem Beitrag geht es darum, verschiedene einzelne Dateisysteme wahlweise manuell (Kommando mount) oder automatisch (Datei /etc/fstab) in das Gesamtdateisystem einzubinden.

Wenn Sie wissen möchten, wie Ihr Linux-System zurzeit organisiert ist, führen Sie am einfachsten das Kommando df aus. Dieses Kommando zeigt an, an welcher Stelle im Dateisystem Festplatten, Datenträger et cetera eingebunden sind und wie viel Platz auf den einzelnen Festplatten noch frei ist.

Detailanzeige mit df

Das Bild zeigt das Dateisystem auf einem Testrechner: Es gibt drei Linux-Partitionen: die Systempartition /, die Datenpartition /kofler sowie die Partition der ebenfalls auf dem Rechner installierten Fedora-Distribution. Alle drei Partitionen verwenden das ext3-Dateisystem.

/win2000 gibt Zugriff auf die Dateien des auf demselben Rechner installierten Windows 2000. /media/dvdrec gibt Zugriff auf eine Daten-DVD. Schließlich kann der Rechner über die NFS-Partition /data eine riesige Datenpartition auf einem anderen Linux-Rechner im lokalen Netz nutzen. /dev/shm ist ein unechtes Dateisystem, das den Datenaustausch zwischen Prozessen ermöglicht.

Die Datei /etc/mtab enthält noch detaillierter Informationen über die eingebundenen Dateisysteme. In ihr sind auch alle virtuellen Dateisysteme enthalten. Außerdem enthält /etc/mtab alle bei mount verwendeten Optionen. Das Format von /etc/mtab ist identisch mit dem von /etc/fstab.(mount und /etc/fstab werden auf den folgenden Seiten beschrieben.)

root# cat /etc/mtab
/dev/hda12 / ext3 rw 0 0
/dev/hda11 /kofler ext3 rw 0 0
/dev/hda13 /fedora ext3 rw 0 0
mars:/data /data nfs rw,noexec,nosuid,nodev,
addr=192.168.0.10 0 0
/dev/hda9 /win2000 ntfs ro,noexec,nosuid,
nodev 0 0
/dev/sr0 /media/dvdrec iso9660 ro,nosuid,
nodev 0 0

tmpfs /dev/shm tmpfs rw 0 0
devpts /dev/pts devpts rw,mode=0620,gid=5 0 0
usbdevfs /proc/bus/usb usbdevfs rw 0 0
proc /proc proc rw 0 0

mount - Dateisysteme manuell einbinden

Nach der Installation einer aktuellen Linux-Distribution ist das System normalerweise so konfiguriert, dass Sie mount nie oder zumindest nur sehr selten benötigen: Alle Linux-Dateisysteme sind in den Verzeichnisbaum eingebunden. Der Zugriff auf externe Datenträger (CD-ROMs, Disketten) erfolgt über Icons am KDE-bzw. Gnome-Desktop scheinbar automatisch. Es mag vielleicht so aussehen, als würde das Ganze wie von Zauberhand funktionieren, in Wirklichkeit wird hinter den Kulissen aber das Kommando mount ausgeführt. Damit können einzelne Dateisysteme in den Verzeichnisbaum eingebunden werden.

Die Syntax von mount sieht folgendermaßen aus:

mount [optionen] device verzeichnis

Mit den Optionen wird unter anderem das Dateisystem angegeben (-t xxx). Der Device-Name bezeichnet die Partition beziehungsweise das Laufwerk. Als Verzeichnis kann ein beliebiges Verzeichnis des aktuellen Dateisystems angegeben werden. (Das Verzeichnis muss existieren. Erzeugen Sie es gegebenenfalls mit mkdir!)

mount kann im Regelfall nur von root ausgeführt werden (es sei denn, die Datei /etc/fstab erlaubt es allen Benutzern, mount für einzelne Partitionen oder Laufwerke zu verwenden).

Beispiele für mount

Am einfachsten ist mount anhand einiger Beispiele zu verstehen: Das erste Beispiel ermöglicht den Zugriff auf die Daten einer Windows-9x/ME-Partition über das Verzeichnis /windows:

root# mkdir /windows
root# mount -t vfat /dev/hda1 /windows

Das folgende Kommando bindet das CD-ROM-Laufwerk mit einer Daten-CD (ISO-9660-Dateisystem) beim Verzeichnis /mnt/cdrom in das Dateisystem ein. Das Device /dev/hdb bedeutet, dass das Beispiellaufwerk ein IDE-Laufwerk ist, das am ersten IDE-Kanal als Slave-Laufwerk angeschlossen ist:

root# mount -t iso9660 /dev/hdb /mnt/cdrom

Wenn die Parameter für das CD-ROM-Laufwerk (Dateisystemtyp, Device-Name, Verzeichnis) in /etc/fstab eingetragen sind, reicht auch das folgende Kommando zum Einbinden des Laufwerks in den Verzeichnisbaum:

root# mount /mnt/cdrom

Bevor Sie die CD-ROM wieder aus dem Laufwerk nehmen können, müssen Sie sie aus dem Verzeichnisbaum entfernen. Dazu führen Sie umount aus:

root# umount /mnt/cdrom

/etc/fstab - Dateisysteme automatisch einbinden

Es wäre mühsam, wenn Sie nach jedem Systemstart diverse Partitionen neu einbinden müssten oder wenn Sie bei jedem CD-Wechsel mount mit allen Optionen angeben müssten. Der Schlüssel zur Arbeitserleichterung heißt /etc/fstab.

Diese Datei gibt an, welche Datenträger beim Systemstart in das Dateisystem aufgenommen werden. Auf jeden Fall muss fstab die Systempartition sowie alle zur internen Verwaltung notwendigen Dateisysteme enthalten. Je nach Distribution kann eine minimale fstab-Datei wie folgt aussehen:

# zwei beispielhafte Zeilen in /etc/fstab
/dev/hda2 / ext2 defaults 1 1
none /proc proc defaults 0 0
... weitere virtuelle Dateisysteme (/dev/pts, /dev/shm etc.)

Durch die erste Zeile wird die zweite Festplattenpartition der ersten IDE-Platte als Systemverzeichnis genutzt. Je nachdem, auf welcher Festplattenpartition Sie Linux installiert haben, müssen Sie statt hda2 den Device-Namen Ihrer Linux-Partition angeben.

Statt des Device-Namens kann die erste Spalte auch den Partitionsnamen (LABEL=...) enthalten. Diese Variante nutzen etwa Red Hat und Fedora für die Systempartition. Das funktioniert nur, weil Red Hat und Fedora beim Formatieren der Systempartition eine entsprechende Zeichenkette (beim folgenden Beispiel "/") als Partitionsname speichern:

# /etc/fstab bei Red Hat und Fedora
LABEL=/ / ext2 defaults 1 1
none /proc proc defaults 0 0

Vorsicht Falle

Die Datei /etc/fstab kann sich im laufenden Betrieb ändern! Manche Distributionen überwachen durch einen Hardware- oder Hotplug-Dämon den USB- und Firewire-Bus beziehungsweise die PCMCIA-Slots eines Notebooks. Sobald neue Datenträger angesteckt werden, fügt das Hintergrundprogramm eine entsprechende Zeile in /etc/fstab ein. Wenn der Datenträger entfernt wird, wird eventuell auch die entsprechende Zeile in /etc/fstab entfernt.

Diese automatischen Veränderungen an /etc/fstab können lästig sein, wenn dadurch eigene Einträge überschrieben oder gelöscht werden. Leider gibt es momentan keinen Standard, der festlegt, welches Programm unter welchen Umständen welche Änderungen an /etc/fstab durchführt. Red Hat beziehungsweise Fedora kennzeichnet dynamische Einträge immerhin durch die zusätzliche Option kudzu (dazu später mehr). Bei SuSE fehlt eine entsprechende Markierung.

Einen ähnlichen Inhalt wie /etc/fstab hat die Datei /etc/mtab: Sie enthält eine Liste aller Datenträger, die momentan eingebunden sind, zusammen mit dem Dateisystemtyp und den verwendeten mount-Optionen. mtab ändert sich also dynamisch mit jedem mount- oder umount-Befehl.

Aufbau der fstab-Datei

Aus den obigen Beispielen geht bereits das prinzipielle Format von fstab hervor: Jede Zeile beschreibt in sechs Spalten einen Datenträger (eine Partition, ein Dateisystem).

In der ersten Spalte muss der Device-Name des Datenträgers angegeben werden. Neben Festplattenpartitionen sind beispielsweise auch CD-ROM-Laufwerke und NFS-Verzeichnisse möglich, die später noch beschrieben werden.

Statt des Device-Namens können Sie auch den Partitionsnamen (filesystem volume name oder die ID-Nummer der Partition angeben. Die korrekte Syntax lautet in diesem Fall LABEL=zeichenkette oder UUID=nnn-nnn. Je nach Dateisystemtyp gibt es eigene Werkzeuge, um den Partitionsnamen bzw. die UUID zu lesen oder zu verändern. Beispielsweise können Sie den Partitionsnamen von ext3-Partitionen mit e2label /dev/xxxermitteln und die UUID mittune2fs -l /dev/xxx.

Der Vorteil von Partitionsnamen im Vergleich zu Device-Namen besteht darin, dass die Angabe selbst dann noch korrekt ist, wenn sich der Device-Name geändert hat. Das kann etwa bei SCSI-Festplatten relativ leicht passieren, wenn ein zusätzliches Laufwerk eingefügt wird. Aus /dev/sdb3 kann dann durchaus /dev/sdc3 werden.

Die zweite Spalte gibt an, bei welchem Verzeichnis der Datenträger in den Dateibaum eingebunden wird. Die in der zweiten Spalte angegebenen Verzeichnisse müssen bereits existieren. Die Verzeichnisse müssen nicht leer sein, allerdings können Sie nach dem Einbinden des Dateisystems auf die darin enthaltenen Dateien nicht mehr zugreifen, sondern nur auf die Dateien des eingebundenen Datenträgers.

Die dritte Spalte gibt das Dateisystem an. Die folgende Tabelle listet in alphabetischer Reihenfolge die wichtigsten Dateisysteme auf:

Einige von Linux unterstützte Dateisysteme (dritte Spalte in /etc/fstab)

Bezeichnung

Dateisystem

auto

Dateisystem automatisch erkennen (CD-ROMs, Disketten)

devpts

Pseudo-Terminals gemäß Unix-98-Spezifikation

ext2

Linux-Standard (ext2-Dateisystem)

ext3

ext3-Dateisystem

iso9660

CD-ROMs, DVDs

nfs

Unix-Netzwerkverzeichnis (NFS)

ntfs

Windows-NT/2000/XP-Dateisystem (nur Lesezugriff)

proc

Prozessverwaltung (/proc)

reiserfs

Reiser-Dateisystem

smbfs

Windows-Netzwerkverzeichnis (Samba)

swap

Swap-Partitionen oder -Dateien

sysfs

Systemverwaltung (/sys, Kernel 2.6)

udf

Universal Disk Format (DVDs, CD-RWs)

usbdevfs

Verwaltung von USB-Geräten (Kernel 2.4)

usbfs

Verwaltung von USB-Geräten (Kernel 2.6)

vfat

Windows-9x/ME-Dateisystem

Es ist auch zulässig, mehrere Dateisysteme gleichzeitig anzugeben (durch Kommata getrennt). Beispielsweise bietet sich iso9660,udf für CD-und DVD-Laufwerke an, weil für CDs und DVDs in der Regel nur diese beiden Dateisysteme in Frage kommen. mount entscheidet sich zwischen den zur Auswahl stehenden Systemen automatisch für das richtige.

Weiterer Aufbau der fstab-Datei

Die vierte Spalte bestimmt Optionen für den Zugriff auf den Datenträger. Mehrere Optionen werden durch Kommata getrennt. Dabei dürfen keine Leerzeichen eingefügt werden! Die folgende Tabelle zählt die wichtigsten universellen mount-Optionen auf. Eine Beschreibung folgt in den weiteren Abschnitten.

Die wichtigsten mount-Optionen (vierte Spalte in /etc/fstab)

Option

Bedeutung

defaults

Default-Optionen verwenden

dev

Kennzeichnung von Character- oder Block-Devices auswerten

exec

Programmausführung zulassen (für CD-ROM-Laufwerke)

kudzu

Red-Hat- beziehungsweise Fedora-spezifisch, siehe unten

noauto

Datenträger nicht beim Systemstart einbinden

nodev

Kennzeichnung von Character- oder Block-Devices ignorieren

noexec

keine Programmausführung erlaubt

nosuid

sid- und gid-Zugriffsbits nicht auswerten

ro

Read only (Schreibschutz)

sw

Swap (Swap-Datei oder -Partition)

suid

sid- und gid-Zugriffsbits auswerten

sync

Schreibzugriffe nicht puffern (sicherer, aber langsamer)

owner

jeder Benutzer darf (u)mount ausführen, wenn er Zugriffsrechte auf das Device besitzt

user

jeder Benutzer darf mount ausführen und eigene unmounten

users

jeder Benutzer darf mount ausführen und auch fremde unmounten

Die fünfte Spalte enthält Informationen für das Programm dump und wird zurzeit ignoriert. Es ist üblich, für die Systempartition 1 und für alle anderen Partitionen oder Datenträger 0 einzutragen.

Die sechste Spalte gibt an, ob und in welcher Reihenfolge die Dateisysteme beim Systemstart überprüft werden sollen. Bei den meisten Distributionen wird 1 für die Systempartition und 0 für alle anderen Partitionen eingetragen. Das bedeutet, dass beim Rechnerstart nur die Systempartition auf Fehler überprüft und gegebenenfalls repariert wird.

Falls Sie möchten, dass weitere Partitionen automatisch überprüft werden, geben Sie bei diesen Partitionen die Ziffer 2 an. Bei allen Dateisystemen beziehungsweise Datenträgern, die nicht überprüft werden können oder sollen (Windows-Partitionen, CD-ROMs, DVDs, Disketten, virtuelle Dateisysteme, swap et cetera), müssen Sie die Ziffer 0 angeben.

Wenn Einträge in der fünften und sechsten Spalte in /etc/fstab fehlen, wird 0 angenommen.

mount-Optionen

Hier finden Sie einige Erläuterungen zu den vorher aufgeführten mount-Optionen. Spezifisch für jedes Dateisystem gibt es weitere Optionen, die in den folgenden Abschnitten beschrieben werden. Informationen zu allen verfügbaren Optionen erhalten Sie mit man mount.

defaults: Das Schlüsselwort defaults geben Sie immer dann an, wenn Sie keine andere Option benötigen. (Die Spalte darf nicht leer bleiben.)

dev, nodev: Unter Linux können Dateien als Block-oder Character-Devices gekennzeichnet werden. Derartige Dateien werden zum Zugriff auf Hardware-Komponenten verwendet. Die Option nodev verhindert, dass Device-Dateien als solche interpretiert werden. Die Option ist aus Sicherheitsgründen insbesondere für CD-ROM-, DVD- und Diskettenlaufwerke sinnvoll.

exec, noexec: Die Optionen exec beziehungsweise noexec legen fest, ob auf dem Dateisystem befindliche Programme unter Linux ausgeführt werden dürfen oder nicht. Bei den meisten Dateisystemen gilt per Default die Einstellung exec. Sicherheitsbewusste Administratoren werden für CD-ROM-, DVD- und Diskettenlaufwerke aber die Option noexec angeben. Wenn Sie die Option user verwenden, gilt per Default noexec. Das kann durch eine exec-Option wieder geändert werden.

kudzu: kudzu ist keine reguläre mount-Option. Bei Red-Hat- und Fedora-Distributionen taucht das Schlüsselwort aber dennoch oft in fstab auf und kennzeichnet auf diese Weise Einträge, die vom Hardware-Dämon kudzu in fstab eingefügt wurden. Mit kudzu markierte Zeilen sollten nicht manuell verändert werden, weil diese Änderungen durch das Programm kudzu später eventuell wieder überschrieben werden. Wenn Sie eigenmächtige Veränderungen in fstab vermeiden möchten, löschen Sie kudzu aus der betreffenden Zeile.

noauto: Die Option noauto bewirkt, dass der in dieser Zeile genannte Datenträger beim Systemstart nicht automatisch eingebunden wird. Dennoch ist es sinnvoll, den Datenträger in fstab einzutragen, weil die Anwender nun bequem mount name durchführen können, ohne dabei alle weiteren mount-Optionen explizit anzugeben. noauto ist beispielsweise für CD-ROM-Laufwerke oder für selten benötigte Datenpartitionen sinnvoll.

Weitere mount-Optionen

owner: Diese Option ist eine Variante zu user (siehe unten). Sie erlaubt es jedem Benutzer, das betreffende Dateisystem selbst einzubinden bzw. wieder zu lösen. Der Unterschied zu user besteht darin, dass mount beziehungsweise umount nur dann ausgeführt werden darf, wenn der Benutzer Zugriffsrechte auf die betreffende Device-Datei hat (zum Beispiel /dev/fd0). Die Option ist nur dann eine sinnvolle Alternative zu user, wenn die Distribution einen Mechanismus vorsieht, der die Zugriffsrechte bei jedem Login entsprechend anpasst.

ro, rw: ro (read-only) bedeutet, dass Dateien nur gelesen, aber nicht verändert werden dürfen. Per Default gilt für die meisten Dateisystemtypen rw (also read-write).

suid, nosuid: Wenn die sid-oder gid-Zugriffsbits gesetzt sind, werden Programme mit anderen Benutzer- beziehungsweise Gruppenrechten ausgeführt. Dies ist häufig ein Sicherheitsrisiko. Die Option nosuid verhindert die Auswertung derartiger Zugriffsbits.

sync: Diese Option bewirkt, dass Änderungen sofort gespeichert werden, anstatt sie für einige Sekunden im RAM zwischenzuspeichern und erst später auf den Datenträger zu übertragen. sync minimiert die Gefahr des Datenverlusts, wenn Sie einen Datenträger (Diskette, USB Memory Stick) irrtümlich ohne umount entnehmen beziehungsweise die Kabelverbindung lösen.

sync hat allerdings den Nachteil, dass das Schreiben von Daten je nach Datenträger viel ineffizienter (langsamer) erfolgt. Insbesondere bei manchen USB-Sticks kann sich die Geschwindigkeit um den Faktor zehn und mehr reduzieren.

user: Die Option user ermöglicht es normalen Benutzern, das betreffende Dateisystem mit umount ab- und mit mount wieder anzumelden. Dazu ist ansonsten nur root in der Lage. Die user-Option ist vor allem für Medien sinnvoll, die oft gewechselt werden (Disketten, CD-ROMs). Wenn Sie user verwenden, gelten automatisch auch noexec, nosuid und nodev, sofern diese Einstellungen nicht durch die zusätzlichen Optionen exec, suid beziehungsweise dev geändert werden.

Datenträger dürfen nur von dem Benutzer wieder aus dem Dateisystem gelöst werden, der mount veranlasst hat.

users: Diese Option hat dieselbe Bedeutung wie user, aber mit einem kleinen Unterschied: Jeder Benutzer darf mit users gekennzeichnete Datenträger wieder aus dem Dateisystem entfernen (umount). Mit anderen Worten: users erlaubt es, dass der Benutzer A mount ausführt und der Benutzer B später umount aufruft.

Linux-Partitionen

Der Umgang mit Linux-Partitionen in /etc/fstab fällt am leichtesten. Im Regelfall sind keinerlei Optionen erforderlich (also defaults in der vierten Spalte). Für die Systempartition sollte in der fünften und sechsten Spalte jeweils 1 angegeben werden, für die anderen Partitionen in der fünften Spalte 0 und in der sechsten Spalte 0 oder 2:

# /etc/fstab: Linux-Dateisysteme

/dev/hdb8 / ext3 defaults 1 1
/dev/hdb9 /data ext3 defaults 0 0
/dev/hdb11 /test reiserfs defaults 0 0

Viele weitere Informationen zum Umgang mit ext3-Partitionen folgen in Teil 4 unserer Serie. Dort werden unter anderem spezifische mount-Optionen und diverse Administrationswerkzeuge vorgestellt, mit denen Sie ext3-Partitionen selbst formatieren, vergrößern und verkleinern können. In Teil 4 erfahren Sie zudem zahlreiche Details zum reiserfs-Dateisystem.

Windows-Partitionen

Linux kann DOS-und Windows-3.1/9x/ME-Partitionen (VFAT) lesen und schreiben, Windows-NT/2000/XP-Partitionen (ntfs) hingegen nur lesen. Die folgenden Zeilen aus /etc/fstab zeigen typische Einstellungen für Windows-Partitionen. /windows/J wird im Beispiel nicht automatisch in den Verzeichnisbaum eingebunden (Option noauto), aber jeder Benutzer hat dazu das Recht (user). Außerdem darf jeder Benutzer alle Dateien lesen und ändern (umask).

/audio wird automatisch eingebunden, allerdings im Read-only-Modus. Damit sind Änderungen im Dateisystem ausgeschlossen.

/windata wird ebenfalls automatisch eingebunden. Read-only ist hier eine Selbstverständlichkeit (siehe oben). umask bewirkt, dass alle Benutzer Dateien lesen dürfen (aber nur root darf schreiben).

# /etc/fstab: Windows-Dateisysteme

/dev/hdb7 /windows/J vfat noauto,user,umask=0 0 0
/dev/hdb7 /audio vfat ro 0 0
/dev/hdb6 /windata ntfs ro,umask=022 0 0

Unter Linux gibt es zwei alternative NTFS-Kernel-Module: Das Ältere basiert auf Code von Martin von Löwis und ist in den meisten Kernel-Versionen bis einschließlich 2.4.n enthalten. Beginnend mit Kernel 2.6 wurde der alte NTFS-Treiber durch eine stark verbesserte Neuimplementierung ersetzt. Ein wesentlicher Vorteil des neuen Treibers besteht darin, dass er SMP-sicher ist, also auch auf Rechnern mit mehreren CPUs beziehungsweise mit Hyper-Threading verwendet werden kann. Bei manchen Distributionen steht eine rückportierte Version des neuen NTFS-Treibers auch schon unter Kernel 2.4.n zur Verfügung.

NTFS mit Linux

Wenn Sie wissen möchten, welcher NTFS-Treiber bei Ihnen zum Einsatz kommt, führen Sie zuerst mount für eine NTFS-Partition aus und werfen dann einen Blick in die Kernel-Meldungen. Falls das nicht zu einem Ergebnis führt, müssen Sie die Datei /var/log/messages durchsuchen. Wenn die driver-Versionsnummer wie im vorliegenden Beispiel größer-gleich 2 ist, wird der neue NTFS-Treiber verwendet:

root# dmesg | grep 'NTFS driver'
NTFS driver 2.1.4a [Flags: R/O MODULE]

Beide Treiber weisen die Einschränkung auf, dass verschlüsselte Dateien nicht gelesen und alle anderen Dateien nur gelesen, aber nicht verändert werden können. Mit dem neuen Treiber ist es anscheinend sicher, bestehende Dateien zu ändern, so lange deren Größe unverändert bleibt. Generell empfiehlt es sich jedoch, NTFS-Partitionen solange ausschließlich mit der ro-Option zu nutzen, bis die NTFS-Treiberentwickler angeben, dass das Verändern von Daten in allen Fällen ohne Datenverlust funktioniert. Weitere Informationen dazu finden Sie unter http://linux-ntfs.sourceforge.net/

Wegen unklarer Lizenz- und Patentfragen fehlt bei Red Hat beziehungsweise Fedora das NTFS-Modul. Wenn Sie dennoch auf NTFS-Partitionen zugreifen möchten, können Sie den Kernel neu kompilieren. Einfacher ist es, ein speziell für Red Hat und Fedora vorkompiliertes Kernel-Modul herunterzuladen. Für die meisten aktuellen Red-Hat- und Fedora-Versionen finden Sie diese Module unter http://linux-ntfs.sourceforge.net/rpm/index.html

Wenn Sie Dateien in einem NTFS-Dateisystem nicht nur lesen, sondern auch verändern möchten, gibt es momentan zwei Alternativen: Zum einen ermöglicht das relativ neue Open-Source-Projekt Captive, den originalen NTFS-Treiber von Windows ntfs.sys unter Linux zu nutzen. Zum anderen bietet die Firma Paragon einen kommerziellen NTFS-Treiber für Linux an.

Windows-mount-Optionen

Die vfat-und ntfs-Treiber für Windows-Partitionen unterstützen bis auf wenige Ausnahmen dieselben mount-Optionen. Hier werden nur die wichtigsten für beide Treiber gemeinsam beschrieben. Eine Menge weiterer Optionen sind in man mount dokumentiert.

gid, uid, umask: Da die Linux-Zugriffsinformationen (Benutzer, Gruppen et cetera) für die Windows-Dateisysteme nicht angewendet werden, verhalten sich die Dateisystemtreiber so, als würden alle Dateien root gehören. Dateien von VFAT-Partitionen können von allen Benutzern gelesen, aber nur von root verändert werden. Bei NTFS-Dateien gelten noch restriktivere Regeln - diese Dateien können nur von root gelesen werden.

Durch die Einstellung von uid und gid können Sie die Dateien einem bestimmten Benutzer oder einer Gruppe geben. Darüber hinaus können Sie mit umask einen oktalen Zahlenwert für eine Bitmaske mit den invertierten Zugriffsbits übergeben. umask=0 bedeutet daher, dass jeder alle Dateien lesen, schreiben und ausführen darf (rwxrwxrwx). umask=022entspricht rwxr-xr-x und erlaubt allen Benutzern, alle Dateien zu lesen (aber nur root darf Dateien ändern).

iocharset: Sowohl beim VFAT- als auch beim NTFS-Dateisystem werden lange Dateinamen als Unicode-Zeichenketten gespeichert. Da unter Linux zumeist noch mit 8-Bit-Zeichensätzen gearbeitet wird, können Sie mit iocharset angeben, welcher Zeichensatz zur Konvertierung verwendet werden soll (Default: iso8859-1). Beim NTFS-Treiber werden Dateien, deren Name nicht konvertierbare Zeichen enthält, nicht angezeigt.

utf8: Die Option bewirkt, dass der Treiber Dateinamen als UTF8-Zeichenketten zurückgibt. Das ist nur sinnvoll, wenn unter Linux mit Unicode-kompatiblen Werkzeugen gearbeitet wird.

Besonderheiten beim Zugriff auf Windows-Partitionen

Beim Zugriff mit Linux auf Windows-Partitionen sind einige Besonderheiten zu beachten. Typische Probleme sind:

Textdateien: Der Datenaustausch zwischen Linux und Windows bereitet bei Textdateien manchmal Probleme, weil das Zeilenende in Textdateien unterschiedlich gekennzeichnet ist. Eine Lösung dieses Problems bietet das Kommando recode.

Windows-Hibernate: Wenn Sie Windows mit Hibernate beenden (also ein Abbild des laufenden Systems auf der Festplatte speichern), danach Linux mit einer Diskette starten und Veränderungen am Windows-Dateisystem durchführen, riskieren Sie massive Probleme und womöglich Datenverluste. Da Windows mit Hibernate auch den aktuellen Zustand des Dateisystems gleichsam einfriert, erwartet es denselben Zustand auch beim nächsten Start wieder.

Windows-Partitionen formatieren: Mit mkdosfs /dev/xxx formatieren Sie eine Windows-Partition im VFAT-Format (Windows 9x/ME). In modernen Distributionen steht auch das NTFS-Gegenstück mkntfs zur Verfügung (Paket ntfsprogs).

Ausblick

Nachdem in diesem Teil die wichtigsten mount-Optionen für Festplatten vorgestellt wurden, geht es in Teil 3 um die Besonderheiten beim Mounten von CD-ROMs, USB-Sticks und externen Firewire-Festplatten. Auch das Einbinden systemnaher Partitionen wie virtuelle Dateisysteme und Swap-Partitionen wird erläutert.

Die Artikelserie basiert auf dem Kapitel 25 des Standardwerks "Linux - Installation, Konfiguration Anwendung" von Michael Kofler aus dem Verlag Addison-Wesley. Sie können dieses über 1200 Seiten starke Buch auch in unserem Buchshop bestellen oder als eBook herunterladen. (ala)

Serie: Administration des Linux-Dateisystems

Teil 1

Dateisystemtypen

Teil 2

mount und fstab

Teil 3

CD-ROMs, Disketten, externe Massenspeicher

Teil 4

ext3 und reiserfs

Teil 5

Partitionierung der Festplatte

Teil 6

RAID mit Linux

Teil 7

LVM, Logical Volume Manager

Teil 8

DMA mit IDE-Festplatten