ubuntuusers.de

fstab

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

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

  • fsck

  • FUSE

  • 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.

  • UDisks

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 oder

    • LABEL des Dateisystems

    • beim GPT-Partitionsschema: PARTUUID (d.h. die UUID der Partition) oder

    • PARTLABEL (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:

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 Option user 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 Option user erforderlich, da sonst ein sudo 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.

  • Datenträger: Identifikation und Zugriff auf Datenträger

  • Dateisystem: Übersicht und Eigenschaften verschiedener Dateisysteme

  • Dateisystemcheck

  • 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

Diese Revision wurde am 26. August 2024 18:07 von JLParker erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System