fstab
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Die wichtige Systemdatei /etc/fstab beschreibt, wie die gesamte Dateihierarchie aus einzelnen dem System bekannten Dateisystemen zusammengebaut werden soll. Dies geschieht durch Einbinden[3] (Fachbegriffe: mounting, mount, mounten) an bestimmte Stellen (Einbindepunkt, mount point) in der Dateihierarchie.
Die Systemdatei beschreibt nur, wie das Ergebnis aussehen soll und führt den Zusammenbau nicht selbst aus.
Achtung!
Syntaktische oder inhaltliche Fehler in der Systemdatei /etc/fstab können den Start des Betriebssystems verhindern. Änderungen an dieser Datei dürfen nur durch root erfolgen und erfordern vom Administrator stets besondere Vorsicht.
Auch jede fehlerfreie Zeile kann den Start des Betriebssystems verhindern, wenn das beschriebene Dateisystem nicht eingebunden werden kann. Man sollte bei automatisch einzubindenden Dateisystemen immer eine Fehlerbehandlung vorsehen, dies kann durch Optionen wie z.B. nofail
oder bei manchen Dateisystemtypen errors=
erfolgen.
Grundlagen¶
Die Konfigurations-Datei /etc/fstab ist technisch eine ganz normale Textdatei, Sie sollte root
gehören und nur dieser sollte in sie schreiben können, aber jeder darf sie lesen. Der Modus 644
ist zweckmäßig. Kontrolle im Terminal[1]:
ls -l /etc/fstab
-rw-r--r-- 1 root root 2893 Mai 27 23:20 /etc/fstab
Die Datei wird bei der Installation von Ubuntu gemäß den im Installationsprogramm vorgenommenen Einstellungen angelegt. Sie enthält außer Kommentaren und Leerzeilen eine Datenzeile für das Root-Dateisystem und nur für die bei der Installation angegebenen Partitionen wie z.B. EFI-Systempartition und ggf. Swap-Partition und weiteren individuell angegebenen Partitionen ggf. weitere Datenzeilen. Nur für die Dateisysteme aus den bei der Installation relevanten Partitionen wurden auch Einbindepunkte angelegt.
Im Betrieb können notwendige Anpassungen von einem Administrator mittels Texteditor[2] mit Root-Rechten[4] und besonderer Sorgfalt erfolgen. Siehe: Datei /etc/fstab bearbeiten
Die Datei kann man auch mit less lesen:
less /etc/fstab
⚓︎Beispielausgabe:
1 2 3 4 5 6 7 8 9 10 | # file_system mount_point type options dump pass UUID=03b77228-ed4c-4218-910e-11b9f77c4b46 / ext4 errors=remount-ro 0 1 UUID=8883dbc8-80f8-49b8-8c5f-13a32baefe98 none swap nofail UUID=65D1-EDBF /boot/efi vfat noauto,user,umask=022 0 2 /dev/sda2 /media/sda1 ntfs3 nofail,nodev,noexec,windows_names /dev/sdb /media/Daten vfat noauto,user,umask=222 LABEL=Backup-3 /media/Backup ext4 noauto,user /dev/cdrom /media/cdrom0 udf,iso9660 noauto,ro,user # |
Neben den für den Betrieb unbedingt erforderlichen Dateisystemen kann fstab auch Einträge für das temporäre Einbinden von zusätzlichen Datenträgern (siehe mount)[3] und/oder für entfernte Dateisysteme oder Netzwerk-Freigaben enthalten.
Die Datei wird von etlichen Programmen gelesen, aber in der Regel erfolgt kein schreibender Zugriff (Ausnahme siehe unten). Beispiele:
mount bzw. libmount und umount
dump (Ein urtümliches, nur noch namentlich bekanntes und verschollenes Programm, sicherte ohne Betriebssystem Datenträger auf Magnetband.)
swapon, siehe Swap
systemd: Bei Systemen mit systemd als Init-System (bei Ubuntu seit Version 15.04), werden auf Basis der Datei /etc/fstab entsprechende mount Units erstellt.
Format¶
Die Datei besteht aus Zeilen, die mit einem Zeilenvorschubzeichen (ASCII 10, \012
) enden. Mögliche Zeilen sind:
Leerzeilen enthalten gar nichts oder höchstens Leerzeichen und/oder Tabulatorzeichen. Leerzeilen werden von der Software ignoriert und dienen nur dem Leser zu verbesserter Lesbarkeit.
Kommentarzeilen beginnen mit einer Raute # (ASCII 35,
\043
) und können beliebigen Text enthalten. Kommentarzeilen werden von der Software ignoriert und dienen nur dem Leser zum Verständnis. Beispiele für Kommentarzeilen sind Zeilen 1 und 10 in obigem Beispiel. Manchmal ist sinnvoll, zeitweise nicht benötigte Datenzeilen in Kommentarzeilen umzuwandeln.Datenzeilen enthalten 4 Felder und möglicherweise 2 weitere Felder gemäß Tabelle 1. Die Felder werden voneinander getrennt mit Leerzeichen oder Tabulatoren oder Kombinationen aus solchen. Jede Datenzeile enthält die für die Einbindung eines Dateisystems benötigten vollständigen Informationen. Beispiele für Datenzeilen sind Zeilen 2-5 und 7-9 in obigem Beispiel.
Tabelle 1: Felder in Datenzeilen von /etc/fstab | ||
Nr. | Feldname | Beschreibung |
1 | file_system | Identifiziert den Speicherort (die Quelle, SOURCE bei Programm mount) des einzubindenden Dateisystems. |
2 | mount_point | Beschreibt den Ort im der Dateihierarchie (TARGET beim Programm mount), an dem das einzubindende Dateisystem angeordnet werden soll. |
3 | type | Enthält den für die Einbindung zu verwendenden Treiber. Entspricht dem Wert für den Parameter -t beim Programm mount . |
4 | options | Hier stehen alle Randbedingungen, die bei der Einbindung beachtet werden sollen, in Form einer mit Komma getrennten Liste von Schlüsselwerten. Diese Liste entspricht dem Wert für den Parameter -o beim Programm mount . |
5 | dump (optional) | Gibt an, ob vor Systemstart mit dem heute nicht mehr gebräuchlichen Programm dump gesichert werden soll. Zulässige Werte sind 0 und 1 . Die Voreinstellung 0 steht für keine Sicherung. Man muss in diesem Feld nur dann etwas eintragen, wenn im 6. Feld etwas anderes als 0 stehen soll. |
6 | pass (optional) | Gibt an, ob und in welcher Reihenfolge fsck die Datenquelle beim Systemstart auf Inkonsistenz überprüft. Zulässige Werte sind 0 , 1 und 2 . Die Vorgabe 0 bedeutet keine Überprüfung und muss nicht angegeben werden. Beim Root-Dateisystem, welches auf die Wurzel des Dateisystems / eingebunden wird, gibt man 1 (d.h. zuerst prüfen) an und bei allen anderen für den Betrieb kritischen Dateisystemen 2 (danach prüfen). Für Dateisysteme des Typs NTFS sollte man diese automatische Prüfung abschalten. |
Die Reihenfolge der Datenzeilen ist nicht vollständig willkürlich, da die Datei sequentiell gelesen wird. Eine Datenzeile kann nur Orte als Quelle bzw. Ziel referenzieren, die durch bereits ausgeführte andere Datenzeilen bereitgestellt werden, die in der Datei vor ihr selbst liegen. Das Root-Dateisystem muss daher in der ersten Datenzeile stehen.
Jede Datenzeile, und damit auch die letzte Datenzeile, muss mit einem Zeilenvorschubzeichen enden, sonst sind Fehlfunktionen möglich. Da man dies vergessen kann, ist es eine gute Praxis, die Datei mit einer Kommentarzeile wie im Beispiel zu beenden.
Hinweis:
Jedes Feld kann nur Werte ohne Leerzeichen oder Tabulator enthalten, weil diese als Trennzeichen zwischen Feldern interpretiert würden. Jedes Leerzeichen in Gerätenamen, Labels oder Einhängepunkten muss deshalb durch die Zeichenfolge \040
umschrieben werden; jeder Tabulator durch \011
.
Beispiel: Eine Netzwerkfreigabe mit dem Namen "A B"
(mit Leerzeichen zwischen den Buchstaben) kann dem Einbindepunkt "/media/X Y/" (mit Leerzeichen zwischen den Buchstaben) so zugeordnet werden:
Server/A\040B /media/X\040Y/ cifs _netdev
Nur diese Art der Quotierung ist zulässig.
Besser ist, auf Leerzeichen in Freigabe- und Ordnernamen zu verzichten.
Feld 1: Datenquelle¶
Das erste Feld einer Datenzeile identifiziert den Speicherort des einzubindenden Dateisystems. Das kann eine Partition auf einem lokalen Datenträger, wie z.B. /dev/sda8 oder ein CD-Lesegerät /dev/cdrom, eine bereits eingebundene Datei oder eine über das Netzwerk erreichbare Freigabe eines Dateiservers sein.
Ein Dateisystem kann nach den Methoden in folgender Liste identifiziert werden:
Spezielles Merkmal wie UUID, Label oder weiteres Merkmal des Dateisystems oder der Partition:
UUID
oderLABEL
des Dateisystemsbeim GPT-Partitionsschema:
PARTUUID
(d.h. die UUID der Partition) oderPARTLABEL
(d.h. Label der Partition), in der sich das Dateisystem befindet
Gerätedatei der Partition im Verzeichnis /dev/ (z.B./dev/sda1
oder
/dev/nvme0n1p1)Symbolischer Link zur Gerätedatei, generiert aus einem weiteren Merkmal des Dateisystems oder der Partition in einem Unterverzeichnis von /dev/disk/. Alle verwendbaren solche Bezeichner für die erste Partition auf einer NVME-SSD zeigt z.B. dieser Befehl an:
ls -l /dev/disk/*/* | grep p1$
Dateiname mit absolutem Pfad zur Datei, welche das einzubindende Dateisystem enthält.
URI zur Freigabe
Wo möglich sollte man permanente Bezeichner wie UUID oder Label statt der nur temporär gültigen Gerätedateien verwenden. So wird die Partition sicher identifiziert, während eine Gerätedatei unter Umständen z.B. beim nächsten Start einer anderen Datenquelle zugeordnet werden kann.
Das folgende Beispiel zeigt die Zuordnung eines ext4-Dateisystems auf den Einhängepunkt /media/riese. (Zu beachten: Nur eine der beschriebenen Methoden darf aktiv sein, im Beispiel ist es WWN über Symlink.)
1 2 3 4 5 | /dev/disk/by-id/wwn-0x5110cca01372b542-part6 /media/riese ext4 noauto,users #UUID=ff287672-4f21-4a44-b21d-076a6acb2ee3 /media/riese ext4 noauto,users #LABEL=Disco\040Dingo /media/riese ext4 noauto,users #PARTUUID=417c0f9d-2ac1-43b5-8dfc-1cf2745df2ef /media/riese ext4 noauto,users #PARTLABEL=Disco\040Dingo\04019.04 /media/riese ext4 noauto,users |
Die Artikel UUID und Labels beschreiben Methoden zur Anzeige und zur Vergabe dieser Merkmale.
Einzubindende Netzwerk-Freigaben werden in der Regel über die IP-Adresse des Servers und den Namen der Freigabe identifiziert. Die Syntax für NFS und SMB unterscheidet sich etwas:
1 2 | # NFS-Freigabe: 192.168.1.100:/media/photos /media/Fotos nfs _netdev,WEITERE-OPTIONEN |
1 2 | # SMB-Freigabe (Samba- oder Windows): //192.168.1.100/music /media/Musik cifs _netdev,WEITERE-OPTIONEN |
Statt der numerischen IP-Adresse können bei funktionierender Namensauflösung per DNS, mDNS (Avahi) oder NETBIOS auch symbolische Rechnernamen verwendet werden.
Zu den Optionen siehe Abschnitt Optionen und die speziellen Artikel zu NFS, SMB und weiteren möglichen Netzwerkprotokollen:
SMB: mount.cifs (Abschnitt „Optionen“) und mount.cifs (Abschnitt „VFS-Optionen“)
SFTP: sshfs
WebDAV: davfs2
Bei Dateisystemen, die selbst keine Daten speichern, sondern nur die Arbeitsweise von bereits eingebundenen Dateisystemen modifizieren, kann man statt der fehlenden Quelle eine beliebige Zeichenfolge angeben, mit der dann dieses Dateisystem in Listen bezeichnet wird.
Feld 2: Einhängepunkt¶
Das zweite Feld beschreibt den Ort in der Dateihierarchie, an dem das einzubindende Dateisystem angeordnet werden soll. In der Regel (Ausnahme: Swap) ist dies ein bereits existierender Ordner mit seinem absoluten Pfad. Der Ordner muss in der Regel unabhängig von der Bearbeitung der Datei /etc/fstab von Hand angelegt werden. Bei den Einträgen in fstab, die bei der Installation von Ubuntu automatisch vorgenommen werden, wurden auch die Einhängepunkte schon automatisch bei der Installation erstellt. Beim Einbinden per udisksctl werden ggf. Einbindepunkte automatisch erstellt, bei Benutzung von mount aber nicht.
Das Einhängen ist prinzipiell an jeder Stelle in der Dateihierarchie möglich. Es ist üblich, dafür Unterordner in /media oder /mnt zu erstellen:
/media – Nebeneffekt: Es erscheint ein Symbol auf dem Desktop und/oder anderer Stelle der GUI.
/mnt – Nebeneffekt: Das eingebundene Dateisystem wird in der GUI nicht dargestellt, kann aber natürlich durch Navigation im Dateimanager erreicht werden. Unterordner in /mnt/ widersprechen zwar dem ursprünglich gedachten Zweck für diesen Systemordner, verursachen aber keine Probleme.
Der als Einbindepunkt vorgesehene Ordner soll leer sein. Obwohl technisch nicht erforderlich, verlangen manche Programme dies. Auf jeden Fall sind für die Dauer einer Einbindung ursprünglich im Einbindepunkt enthaltene Dateien nicht zugänglich.
⚓︎Bei einer Swap-Partition gibt man selbst keinen Einhängepunkt an, sondern notiert den speziellen Wert none
im zweiten Feld.
Feld 3: Typ des Dateisystems¶
Das dritte Feld identifiziert den für die Einbindung zu verwendenden Treiber. Das kann der Name eines Kernel Moduls oder ein FUSE-Programm sein, welches über ein Hilfsprogramm mit Namensschema /sbin/mount.* aktiviert wird. Der konkrete Name erinnert jedenfalls an den Typ des Dateisystems.
Tabelle 2: Auswahl wichtiger Bezeichner für Dateisysteme | |||
Bezeichner | Art | Dateisystem | Spezielle Optionen / Bemerkungen |
Für alle Dateisystemtypen sind die allgemeinen Optionen lt. Tabelle 3 und Tabelle 4 möglich. | |||
ext4 | Kernel | ext2/3/4 | Mögliche Optionen für Feld 4 siehe: ext (Abschnitt „Mount-Optionen“) |
swap | Kernel | Swap | Mögliche Optionen für Feld 4 für Swap (sowohl Partition wie Auslagerungsdatei) sind pri= , discard= und nofail , die in der Manpage zu swapon beschrieben sind und selten angewendet werden. Üblich ist auch die Angabe sw als einzige Option, was gar nichts bedeutet, aber das Feld füllt. |
vfat | Kernel | FAT12/16/32 | Mögliche Optionen für Feld 4 siehe: Mount-Optionen vfat und Windows-Partitionen unter Linux |
exfat | Kernel | exFAT | Mögliche Optionen für Feld 4 siehe: exFAT und Windows-Partitionen unter Linux |
exfat-fuse | FUSE | ||
ntfs3 | Kernel | NTFS | Mögliche Optionen für Feld 4 siehe: NTFS3 und Windows-Partitionen unter Linux |
ntfs-3g | FUSE | Mögliche Optionen für Feld 4 siehe: NTFS-3G und Windows-Partitionen unter Linux | |
nfs | NFS | Mögliche Optionen für Feld 4 siehe: NFS (Abschnitt „Auf-Freigaben-zugreifen“) | |
cifs | Kernel | SMB | Mögliche Optionen für Feld 4 siehe: mount.cifs (Abschnitt „Optionen“) |
auto | Es werden alle dem Kernel bekannten Dateisystemtypen ausprobiert bis die Einbindung gelingt und das sollte nach Möglichkeit vermieden werden, da so keine reproduzierbaren Ergebnisse garantiert werden können. | ||
none | VFS | Wichtig für bind , move und weitere Optionen zur Reorganisation von Einbindungen. |
Viele weitere Typangaben sind möglich, beispielsweise xfs, btrfs, f2fs, hfsplus, tmpfs, sysfs, proc, iso9660, udf, squashfs
und weitere. Die Manpage zu mount
enthält Details:
man mount
Feld 4: Optionen¶
Im vierten Feld stehen alle Randbedingungen, die bei der Einbindung beachtet werden sollen, in Form einer mit Komma getrennten Liste von Schlüsselwerten. Diese Liste ist ein Sammelsurium ganz unterschiedlicher Angaben:
Angaben für das die Einbindung tatsächlich ausführende Programm, siehe Tabelle 3.
Angaben, wie das Dateisystem auf der abstrahierenden Ebene des Virtuellen Dateisystems (VFS, Virtual File System) im Linux Kernel behandelt werden soll, siehe Tabelle 4. Dies sind generelle Optionen, die allgemein für jeden Dateisystemtyp gelten.
Optionen, welche das Verhalten des speziellen Treibers lt. drittem Feld modifizieren. Siehe dazu die speziellen Artikel zum jeweiligen Dateisystemtyp und Manpage lt. Tabelle 2.
Angaben für den Desktop, wie das Dateisystem in der GUI dargestellt werden soll. Siehe unten.
Eigens erfundene Angaben für individuelle Zwecke
Tabelle 3: Auswahl gängiger Optionen für das einbindende Programm | |||
Option | Vorgabe | Programm | Wirkung |
noauto | auto | mount | Angabe, ob das Dateisystem in dieser Datenzeile beim Systemstart automatisch eingebunden (auto oder fehlendes noauto ) werden soll oder nicht (noauto ). |
user users | nouser | Angabe, ob ein normaler Benutzer (≠ root) mit dem Programm mount diese Datenzeile benutzen darf oder nicht. Die Optionen user und users erlauben jedem normalen Benutzer einhängen und aushängen, bei users muss es nicht derselbe Benutzer sein.Zusätzlich sind dies Abkürzungen für die VFS-Optionen: nodev,noexec,nosuid | |
_netdev | systemd | Bei Netzlaufwerken ist diese Kennzeichnung eine gute Praxis. Systemd versucht dann beim Hochlauf eine Einbindung erst nach der Verfügbarkeit des Netzwerks. | |
x-systemd.* | Optionen für bestimmte Komponenten von Systemd; siehe Automounter für Beispiele. | ||
x-gvfs-show | Desktop GUIs | Das Dateisystem wird in der grafischen Oberfläche als Symbol und/oder Element in Listen angezeigt. |
Tabelle 4: Auswahl wichtiger Optionen für VFS (gelten für jeden Dateisystemtyp) | ||
Option | Vorgabe | Bedeutung |
ro | rw | Angabe, ob das Dateisystem schreibgeschützt (ro ) oder beschreibbar (rw ) eingehängt werden soll. |
nodev | dev | Angabe, ob vom eingebundenen Dateisystem Gerätedateien nach /dev/ importiert werden sollen oder nicht. Diese früher wichtige Prozedur ist ein Sicherheitsproblem und in der Regel nicht mehr erforderlich, weil Gerätedateien nun beim Systemstart in der Dateihierarchie stets erzeugt werden. Nach Möglichkeit immer nodev wählen. |
noexec | exec | Angabe, ob Dateien aus dem Dateisystem als Programm ausgeführt werden können oder nicht. Bevorzugt die sichere Option noexec wählen. |
nosuid | suid | Angabe, ob ausführbare Dateien aus dem Dateisystem auch über das das SUID-Bit mit den Rechten des Eigentümers der Datei, z.B. root ausgeführt werden dürfen. Das stellt ein Sicherheitsrisiko dar. Deshalb besser noexec wählen oder wenn dies unmöglich, wenigstens nosuid . |
nofail | Bei einem fatalen Fehler bei der Einbindung nicht in Panik fallen, sondern fortfahren. | |
atime noatime | relatime | Angabe, wie oft und in welchen Situationen der Zeitstempel access time aktualisiert werden soll. In den meisten Fällen ist die Vorgabe relatime zweckmäßig; hierbei wird der Zeitstempel nur in besimmten Situationen geschrieben. Mit atime odernoatime kann die Aktualisierung vollständig ein- bzw. ausgeschaltet werden. |
nodiratime | diratime | Mit diesen Optionen kann die Aktualisierungshäufigkeit des Zeitstempels access time fein gesteuert werden. Details dazu siehe Manpage von mount . |
strictatime | nostrictatime | |
lazytime | nolazytime | |
sync dirsync | async | Angabe, ob Schreibzugriffe stets unverzüglich (sync ) erfolgen sollen oder gepuffert. In der Regel liefert die Vorgabe async bessere Performanz als sync , kann aber bei vom System leicht trennbaren Datenträgern wie z.B. USB-Sticks bei Fehlbedienung Datenverluste ermöglichen.Option sync betrifft alle Ein-/Ausgaben, dirsync beschränkt synchrone Zugriffe auf Ordner. |
defaults | Abkürzung für die Optionen: rw,suid,dev,exec,auto,nouser,async . Besser nicht verwenden, da dies in den meisten Fällen keine gute Vorauswahl darstellt und die Vorgabewerte ja auch ohne diese Angabe zunächst gelten. | |
bind | Siehe Reorganisation von Einbindungen |
Diese und weitere Optionen sind beschrieben in der Manpage zu mount
im Abschnitt "FILESYSTEM-INDEPENDENT MOUNT OPTIONS".
Die Reihenfolge der Angaben in der Optionsliste ist wichtig! Wenn man einander widersprechende Optionen angibt, gewinnt die letzte Angabe. Das gilt auch für Abkürzungen wie defaults
oder user
. Da die Option defaults
u.a. auto
und nouser
impliziert, müssen explizit angegebene Optionen noauto
und user
sowie auch alle anderen, die sonst durch defaults
wieder aufgehoben würden, in der Reihenfolge nach defaults
stehen.
Datei /etc/fstab bearbeiten¶
Hinweis:
Wie jede Systemdatei sollte man auch diese möglichst nicht mit einem grafischen Editor bearbeiten oder jedenfalls den Artikel mit Root-Rechten arbeiten beachten.
Das Programm Laufwerksverwaltung (alias Laufwerke, gnome-disks
) enthält einen speziellen Editor (siehe Laufwerksverwaltung (Abschnitt „Einhaengeoptionen-bearbeiten“)), mit dem man als Administrator (man wird nach dem Passwort eines solchen gefragt) die Datei bearbeiten kann. Hiermit kann man auch die Sichtbarkeit eines eingebundenen Dateisystems in der GUI steuern:
Man muss im Programm Laufwerke einen Datenträger und eine Partition auf diesem auswählen und dann das Menü zur Bearbeitung der Partition aufrufen; dies macht man mit einem Klick auf das Symbol mit einem Zahnrad oder Getriebe.
Im aufklappendem Menü wählt man den Punkt „Einhängeoptionen bearbeiten …“
Im nun erscheinenden Dialogfenster muss man ggf. „Vorgaben zur Benutzersitzung“ ausschalten und kann dann die Felder bearbeiten.
Zum Schluss übernimmt man die Einstellungen mit einem Klick auf OK in die Datei /etc/fstab.
Änderungen an der /etc/fstab werden beim erneuten Start wirksam oder beim erneuten Lesen durch ein geeignetes Programm. Man sollte Systemd über erfolgte Änderungen informieren, indem man die Konfigurationsdateien neu einlesen lässt.
Dateisystem einhängen¶
Alle Datenzeilen in der Datei fstab, die in der Optionsliste keine wirksame Option noauto
enthalten, werden beim Systemstart in der angegebenen Reihenfolge vom Initsystem automatisch abgearbeitet, d.h. diese Dateisysteme werden eingebunden. Wenn man die Datei ändert, kann man anschließend diese Arbeitsweise mit dem Befehl
sudo mount -v -a
ohne erneuten Start wiederholen.
Jeder mit der Option noauto
markierte Eintrag kann im laufenden Betrieb fallweise aktiviert werden:
Bei externen Datenträgern reicht dazu in der Regel aus, sie an einem USB-Port anzuschließen, worauf sich der Diskmanager UDisks automatisch darum kümmert.
Bei internen (fest angeschlossenen) Datenträgern geschieht dies bei einem Desktop-System auch durch Klicken auf ein Bedienelement in der GUI.
Im Terminal kann man udisksctl benutzen, z.B. für Zeile 7 im obigen Beispiel:
udisksctl mount -b /dev/sdb
Man benötigt hierfür kein vorangestelltes
sudo
und muss auch die Optionuser
nicht angeben. Statt der expliziten Gerätedatei darf man in der Datei fstab die Datenquelle auch über UUID, Label oder Symlink identifizieren; im Befehl muss es aber die Gerätedatei oder ein Symlink darauf sein.Im Terminal kann man auch das klassische Programm mount einsetzen:
mount -v /media/Daten
Für die Benutzung des Programms
mount
durch einen normalen Benutzer ist die Optionuser
erforderlich, da sonst einsudo
vorangestellt werden müsste. Die Datenzeile kann man – wie hier gezeigt – über den Einbindepunkt identifizieren oder alternativ über die Gerätedatei oder einen Symlink darauf.
Einbindungen reorganisieren¶
In manchen Fällen ist es sinnvoll, einzelne Ordner (oder auch einzelne Dateien) zusätzlich noch an anderer Stelle in die Dateihierarchie einzuhängen. Mit der Option bind
kann man sowohl das ganze Dateisystem oder einen Teil daraus zusätzlich noch an anderer Stelle in die Dateihierarchie ggf. mit abweichenden Optionen einhängen. Als Typ des Dateisystems muss none
angegeben werden.
Beispiel:
LABEL=Medien /mnt/Datengrab ext4 nodev,noexec /mnt/Datengrab/Musik /home/gast/Musik none noauto,user,bind,ro
Ähnlich wie die Option bind
verhält sich die Option move
, nur dass dann der betreffende Ordner nur noch am neuen Einbindepunkt erscheint.
Einbindung beenden¶
Alle eingehängten Geräte und Dateisysteme werden beim Herunterfahren des Systems automatisch korrekt wieder ausgehängt.
Manchmal möchte man jedoch auch im Betrieb ein Dateisystem wieder aushängen, z.B. weil man eine externe Festplatte abschalten oder in ein anderes Netzwerk wechseln möchte. Dafür gelten folgende Regeln:
Alle über einen Eintrag in fstab beim Systemstart automatisch eingebundenen Dateisysteme können nur mit Root-Rechten[4] wieder ausgehängt werden:
sudo umount SOURCE-oder-TARGET
Insbesondere funktioniert das Aushängen mit einem Mausklick auf „Datenträger aushängen“ in der GUI in diesen Fällen nicht.
Alle im Betrieb automatisch oder manuell eingebundenen Datenträger, z.B. zugesteckte USB-Sticks) mit und ohne einen Eintrag in der Datei fstab können durch denselben Benutzer wieder ausgehängt werden, der die Einbindung veranlasst hat (z.B. weil er gerade eingeloggt war). Hierfür wird eine Bedienung über die GUI empfohlen oder im Terminal über einen Befehl wie:
udisksctl unmount -b SOURCE
In der Situation des vorstehenden Punktes gelingt oft auch eine Beendigung der Einbindung durch einen anderen Benutzer als bei der Einbindung, namentlich, wenn eine Datenzeile mit der Option
users
verwendet wird. Wenn man verschiedene Programme (mount/umount
,udisksctl
, GUI etc.) wechselweise verwendet, funktioniert dies aber nicht immer.
Anwendungen¶
Externe Datenträger¶
Externe Datenträger wie z.B. USB-Laufwerke oder USB-Sticks werden von Desktop-Umgebungen wie GNOME oder KDE beim Systemstart oder beim Einstecken automatisch erkannt und eingebunden. Das erledigt unter der Haube der Diskmanager UDisks. Für diese Automatik benötigt man keine Datenzeile in der Datei fstab; da Bezeichnung und Einhängepunkt automatisch gewählt werden.
Man kann allerdings mit einer Datenzeile in der Datei fstab dem Diskmanager die Randbedingungen der Einbindung vorschreiben und so einen bestimmten Datenträger z.B. immer an der gleichen Stelle und mit der gleichen Bezeichnung einbinden lassen. Der in fstab festgelegte Einhängepunkt und die dort eingetragenen Optionen haben immer Vorrang vor den Werten, die beim automatischen Einbinden verwendet würden.
Externe Datenträger mit einer leicht lösbaren Verbindung zum Rechner können beim Rechnerstart zu Problemen bis zum völligen Versagen führen, wenn sie in der Datei fstab stehen. Man sollte vorsorglich für diese immer die Option noauto
vorsehen, damit sie beim Start nicht automatisch eingebunden werden oder, wenn dies nicht möglich ist, wenigstens die Option nofail
angeben, damit ein Fehler nicht zur Verweigerung des Starts führt.
Beispiel:
Man verwendet externe USB-Festplatten zur Datensicherung. Die Datensicherung selbst erfolgt über ein hier nicht weiter besprochenes Skript, welches aber tätig werden soll, wenn ein Sicherungsmedium angeschlossen wird.
Zur Lösung der Aufgabe verwendet man einen Eintrag in der Datei fstab ähnlich Zeile 8 im obigen Beispiel.
Schließt man nun die USB-Festplatte mit dem Label Backup-3
an, wird diese unabhängig davon, welchen USB-Anschluss man benutzt und auch unabhängig davon, welche anderen USB-Geräte angeschlossen sind, immer unter /media/Backup eingehängt.
Automounter¶
Ein Automounter ist ein Programm, welches einen Datenträger erst dann, und zwar dann automatisch, einbindet, wenn er benötigt wird, und dass er ggf. auch automatisch ausgebunden wird, wenn er nicht mehr benötigt wird. Die Motivation für dieses Vorgehen kann z.B. vorliegen als Sicherheitsbedürfnis oder auch dem Wunsch nach Energieeinsparung oder auch Verlängerung der Lebensdauer durch Vermeidung unnötigen Betriebs. Siehe Artikel Automount.
Systemd enthält ein solches Programm, welches über Datenzeilen in der Datei fstab konfiguriert werden kann:
Option
noauto,x-systemd.automount
sorgt dafür, dass die Datenquelle nicht schon beim Systemstart, sondern erst bei einem Zugriffsversuch automatisch eingebunden wird.Die Option
x-systemd.idle-timeout=60
ein, so wird Dateisystem nach einer Untätigkeit von 60 Sekunden wieder automatisch ausgehängt. Natürlich kann der Wert für das Timeout beliebig verändert werden.
Ein solcher Eintrag könnte so aussehen:
LABEL=Backup-2 /media/Backup ext4 noauto,nodev,noexec,x-systemd.automount,x-systemd.idle-timeout=60
Klonen von Festplatten¶
Bei einem Klon (Bit-für-Bit-Kopie) einer Festplatte oder einer Partition werden neben UUIDs und Labels auch die Dateien fstab getreu kopiert. Wenn man Original und Klon gleichzeitig an einem Rechner betreiben möchte, muss man diese Informationen anpassen, da sonst Schreibzugriffe auf das falsche Gerät möglich sind.
Es ist zweckmäßig, vor dem Klonen in den Dateien fstab in Kommentaren die Nummern der Partitionen zu vermerken.
Einbindung verbieten¶
Für einzelne Datenträger lässt sich das Einbinden mit einem Eintrag in fstab unterbinden. Sollen die betreffenden Datenträger nicht an anderer Stelle, sondern gar nicht eingebunden werden, kann man sie gemäß folgendem Beispiel mit einem nicht existierenden Dateisystemtyp (z.B. None
, nicht: none
!) notieren:
SOURCE FEHLERMELDUNG None nofail
Für SOURCE kann jede Kennung für das erste Feld verwendet werden, welche das zu sperrende Dateisystem identifiziert. Für FEHLERMELDUNG kann man ein beliebiges Wort (ohne Leerzeichen!) wählen; man sollte hier den Namen der Gerätedatei (z.B. sda
) für eine aussagekräftige Fehlermeldung angeben. Bei Verwendung von udisksctl
wird ggf. FEHLERMELDUNG als Ordner angelegt; man sollte darauf achten, das dies in einem temporären Verzeichnis erfolgt.
Beispiel: sda1
nicht einhängbar:
/dev/sda1 /run/error/sda1 None nofail
Beispiel¶
Ein ausführliches Beispiel der Anwendung von fstab ist im Artikel zu Banshee (Abschnitt „Musiksammlung-auf-externer-Festplatte“) anhand einer Musiksammlung auf der externen Festplatte beschrieben.
Links¶
Datenträger: Identifikation und Zugriff auf Datenträger
Dateisystem: Übersicht und Eigenschaften verschiedener Dateisysteme
mount: Einbinden von Dateisystemen mit und ohne fstab
Autofs: Partitionen und Wechseldatenträger automatisch ein- und aushängen ("Automounter")
systemd: Init-System mit Automounter
UDisks: Disk Manager zum automatischen und manuellen Einbinden von Dateisystemen
mount.cifs: Windows- und Samba-Freigaben statisch und temporär einbinden
NFS und NFSv4: Dateisysteme über Netzwerk ex- und importieren
FUSE/sshfs Entfernte Dateisysteme über SSH einbinden
Externe Laufwerke statisch einbinden: Besonderheiten beim statischen Einbinden externer Datenträger
Windows-Partitionen unter Linux: Windows-Partitionen einbinden