Fstab

Aus wiki.archlinux.de
Version vom 15. September 2018, 21:51 Uhr von Kr1ss (Diskussion | Beiträge) (→‎Optionen: kleine Ergänzung zu noatime/nodiratime bzgl. der gegenteiligen Optionen sowie Empfehlung zur Nutzung bei Btrfs i.V.m. Snapshots)
Anzeige einer umfangreichen fstab in Vim

In der Datei /etc/fstab werden dauerhafte Mounts definiert. Die Datei wird während der Installation von Arch Linux angelegt, und beinhaltet mindestens die Definition der Rootpartition, gemountet unter /.

Syntax

Die Definitionen werden je Zeile angelegt, und durch Leer- oder Tabulatorzeichen in sechs Abschnitte unterteilt. Folgende Beispiele zeigen die Verwendung. Die einzelnen Abschnitte werden nachfolgend erklärt.

# Verwendung eines Labels
LABEL=root  /  ext4  defaults  0  1

# Verwendung der UUID
UUID=7399c368-7e05-424d-abf6-d3d3021d936f  /  ext4  defaults  0  1

# Verwendung der Gerätedatei
/dev/sda1  /  ext4  defaults  0  1

# Verwendung eines definierten Stichwortes
none  /proc/bus/usb  usbfs  defaults  0  0

# Angabe von Useraccount und Server bei Verwendung von SSHFS
user@example.com:  /media/server  fuse.sshfs  defaults  0  0

In den Beispielen wurde jeweils defaults als Option verwendet, für weitere Informationen siehe Optionen.

Dateisystem

Das Dateisystem ist entweder ein Label, die UUID, die Gerätedatei, oder ein weiteres definiertes Stichwort.

Das Label des Dateisystems kann beim Erstellen, oder nachträglich mit entsprechenden Tools gesetzt werden. Für ext-Dateisysteme (ext2/3/4) zum Beispiel ist dies e2label. Die UUID wird beim Erstellen automatisch generiert, und ist über das Programm blkid abrufbar.

Die Gerätedatei für die jeweilige Partition kann sich unter gewissen Umständen ändern. Eine Partition, die unter /dev/sdb1 erreichbar ist, könnte nach einem Start zum Beispiel unter /dev/sdc1 verfügbar sein. Dies passiert für gewöhnlich allerdings nur, wenn man Partitionen (neu) einrichtet, alte Hardware um-, oder neue Hardware einbaut, sich die Zugriffs-Routinen ändern, oder der verbaute Controller diesbezüglich ein merkwürdiges Verhalten zeigt.

Es ist immer ratsam, UUIDs oder Labels zu verwenden, weil man damit einfach „auf der sicheren Seite“ ist.

Mountpunkt

Der Mountpunkt bestimmt, an welcher Stelle im Verzeichnisbaum das Dateisystem eingebunden werden soll. Hierbei stehen dem User praktisch alle Optionen offen, es hat sich aber ein gewisser Konsens basierend auf dem Filesystem Hierarchy Standard gebildet.

Dateisysteme, die nur temporär eingebunden werden, werden direkt unter /mnt abgelegt. Auch wenn zeitweise propagiert wurde, in /mnt Unterverzeichnisse für dauerhafte Mounts zu erstellen, widerspricht das doch der länger bestehenden Verwendung direkt von /mnt als temporäres Ziel für Mounts.

Auch, wenn /media laut FHS Unterverzeichnisse für Wechseldatenträger beinhaltet, ist dort ein dauerhaftes Mounten von zusätzlichen Festplatten immer noch besser aufgehoben, als in /mnt.

Darüber hinaus besteht natürlich die Möglichkeit, im eigenen home-Verzeichnis Unterverzeichnisse als Mountpunkte zu erstellen und weitere Festplatten dort zu nutzen. Gängig ist, / und /home als getrennte Dateisysteme zu verwenden, und entsprechend in der fstab diese beiden auch so zu definieren.

Typ

Zum Mounten eines Dateisystems muss man dessen Typ angeben. Es besteht zudem die Möglichkeit der automatischen Erkennung. Durch die Verwendung von FUSE (zum Beispiel SSHFS) können weitere Optionen verfügbar werden. Hierzu ist die Dokumentation des jeweiligen FUSE-Moduls konsultieren.

Typ Verwendung/Bezeichnung Info
auto Standardwerte setzen Automatische Erkennung des Dateisystems
ext2/3/4 ext-Dateisysteme Bei Verwendung von ext2, ext3, oder ext4
iso9660 CDs und DVDs Dateisysteme nach ISO 9660-Level 2 und 3
udf Hauptsächlich DVDs Ablösung von ISO 9660
jfs Journaled File System Vor allem für LVM interessant
nfs NFS-Shares einbinden Verwendung für das Network File System
ntfs/ntfs-3g Microsoft NTFS ntfs-3g bietet Schreibzugriff
reiserfs Reiser FS Für das Einbinden von Reiser FS 1 bis 3
swap Swap-Partitionen Kein direkter Dateizugriff möglich, nur Swap
ramfs Ramdisks Sicherheitshinweise im Ramdisk-Artikel beachten
tmpfs Ramdisks nutzt im Gegensatz zu ramfs auch den Swap-Platz
vfat FAT 12/16/32 Meist auf USB-Sticks verwendet
xfs XFS Häufig in NAS-Lösungen oder HDD-Recordern zu finden
btrfs B-tree FS Noch in der Entwicklung/im Betastadium

Der Typ auto sollte nur bei Wechseldatenträgern zur Verwendung kommen, bei denen man nicht sicher sein kann, welches Dateisystem verwendet wird.

Optionen

Über die Optionen wird der Zugriff auf das jeweilige Dateisystem gesteuert. Mehrere Optionen werden durch Kommata ohne Leerzeichen getrennt.

Option Gegenteil Auswirkung
defaults n/a Setzt rw, suid, dev, exec, auto, nouser und async
dev nodev Gerätedateien auf dem Dateisystem werden interpretiert
exec noexec Das Ausführen von Dateien wird erlaubt
gid n/a Definition der Gruppen-ID mittels gid=users
uid n/a Definition der User-ID mittels uid=benutzername
suid nosuid Das SUID-Bit wird berücksichtigt
auto noauto Der Datenträger wird automatisch beim Booten eingehängt (siehe unten)
ro rw Nur Lesezugriff möglich (Gegenteil: Lese- und Schreibzugriff möglich)
sw n/a Verwendung als Swap-Dateisystem
sync async Es wird alles direkt auf den Datenträger geschrieben, anstatt den Cache zu nutzen. sync ist bei USB-Datenträgern sinnvoll, wohingegen async vor allem bei hohem Datenaufkommen schneller ist.
user nouser Jeder Benutzer darf das Gerät einhängen. Aushängen darf nur der Benutzer, der das Gerät gemountet hat
users n/a Jeder Benutzer darf das Gerät einhängen und aushängen
user,rw,umask=000 n/a Spezialfall bei FAT-Dateisystemen. Jeder Benutzer darf auf der Partition lesen und schreiben
noatime atime Keine Zugriffszeiten für Dateien und Verzeichnisse (nodiratime wird durch noatime impliziert und muss nicht zusätzlich gesetzt werden) in der Inodetabelle speichern. Dies reduziert die Datenträger-Schreibzugriffe und wird für SSDs empfohlen sowie, falls Snapshots genutzt werden sollen, für Btrfs.
nodiratime diratime Keine Zugriffszeiten für Verzeichnisse in der Inodetabelle speichern. Dies reduziert die Datenträgerzugriffe.
errors=remount-ro n/a Bei auftretenden Fehler im Betrieb wird das Dateisystem im Nur-Lese-Modus neu eingebunden.
noauto,x-systemd.automount n/a Automatisches Einbinden durch systemd beim ersten Zugriff. Optimal bei Dateisystemen, die das Booten sehr verzögern können (SSHFS, NFS, etc.)
discard n/a Bei Verwendung von SSDs um TRIM zu verwenden

Dump

Die Dump-Anweisung steht heutzutage üblicher Weise auf 0 und wurde ursprünglich zu Backup-Zwecken verwendet. Es mag vereinzelt noch Anwendungsbereiche geben, in denen mittels dump Backups erstellt werden, auf aktuellen Systemen gibt es allerdings zuverlässigere und schnellere Datensicherungsmethoden, so dass dieser Wert auf 0 belassen werden sollte.

Pass

Die Pass-Anweisung wird vom Dateisystem-Test ausgewertet und definiert, in welcher Reihenfolge die Dateisysteme geprüft werden sollen. 0 = Keine Überprüfung, 1 = wird zuerst überprüft, 2 = wird überprüft nachdem alle mit 1 markierten Dateisysteme überprüft wurden.

Wenn man mehrere Datenträger verwendet, und diese alle überprüfen lassen möchte, kann man bei all diesen Datenträgern Pass auf 1 stellen. Diese Datenträger werden dann parallel überprüft. Dies spart einiges an Zeit. Die häufig anzutreffende Empfehlung „Systempartition auf 1, alles andere auf 2“ stammt noch aus der Zeit, als nach einem fsck der Systempartition ein Reboot nötig war, und gilt inzwischen als überholt.

Wenn mehrere Dateisysteme auf demselben Datenträger mit 1 markiert wurden, werden diese nacheinander geordnet nach ihrer Position auf dem Datenträger abgearbeitet. Hier empfiehlt sich rein aus logischen Gründen, z.B zuerst das root-Dateisystem (/) überprüfen zu lassen, und dann das home-Dateisystem, um sicher zu sein, dass /home nur dann überprüft wird, wenn / in Ordnung ist.

Siehe auch

Weblinks