Datenträger, Laufwerke und Dateisysteme mounten/einhängen

Was bedeutet mounten?

Mounten bezeichnet das Einhängen bzw. Einbinden eines Datenträgers ins lokale Dateisystem unter Linux. Dabei spielt es keine Rolle, welche Form der Datenträger hat. Das kann eine Festplatte sein, ein USB-Stick oder eine Verzeichnis-Freigabe eines NAS mit NFS oder Samba im lokalen Netzwerk.

Dabei muss man wissen, dass unter Linux keine Festplatten oder USB-Sticks gemountet werden, sondern Dateisysteme. Egal welche Art von Laufwerk, es werden immer ein oder mehrere Partitionen auf denen ein Dateisystem eingerichtet ist, vom Linux-Kernel in das lokale Dateisystem eingehängt.
Obwohl man beim Mounten Dateisysteme einhängt, spricht man ganz allgemein davon, Laufwerke, Festplatten und NAS einzuhängen. Das ist soweit kein Problem, solange klar ist, dass man nicht den physikalischen Datenträger in Form der Hardware, sondern einen logischen Datenträger in Form eines Dateisystems einhängt.

Mount-Point

Der Mount-Point ist der Ort, an dem das externe Dateisystem ins lokale Dateisystem eingehängt wird. Der Mount-Point ist nichts anderes als ein lokales Verzeichnis, über das das externe Dateisystem nach dem Einhängen erreichbar ist.
Da beim Mounten der Mount-Point in Form eines Verzeichnisses existieren muss, kann es sein, dass sich in diesem Verzeichnis bereits Dateien oder weitere Verzeichnisse befinden. Beim Mounten wird dann das was bereits im Verzeichnis liegt "unsichtbar" gemacht.

Rechteverwaltung

Wenn sich auf einem Laufwerk eine Partition mit einem Dateisystem befindet, welches mit der Linux-Rechteverwaltung kompatibel ist (z. B. ext3, ext4, btrfs oder xfs), dann gelten die Rechte von diesem Dateisystem. Wenn ein Laufwerk mit einen Linux-Dateisystem formatiert wurde, gehört das Wurzelverzeichnis auf diesem Dateisystem dem Benutzer "root".
Das Wurzelverzeichnis dieses Dateisystems wird beim Mounten in ein Verzeichnis (Mount-Point) eines anderen Dateisystems eingehängt. Dabei erhält dieses Verzeichnis (Mount-Point) dann die Berechtigungen des Wurzelverzeichnisses des eingehängten Dateisystems.

Wenn sich auf dem Laufwerk ein Dateisystem befindet, welches NICHT mit der Linux-Rechteverwaltung kompatibel ist (z. B. FAT32 oder NTFS), dann gehören alle Dateien und Verzeichnisse darauf dem Benutzer "root". Das ist immer dann so, wenn die im Dateisystem hinterlegten Berechtigungen nicht unter Linux abgebildet werden können. Allerdings kann man beim Mounten angeben, dass die Dateien einem anderen Benutzer oder Benutzergruppe gehören sollen, als dem Benutzer "root" (Mount-Optionen "uid" und "gid").

Lokale Laufwerke manuell mounten/einhängen

In der Regel werden Laufwerke bzw. Dateisysteme über ihren Device-Namen gemountet. Der Device-Name muss erst ermittelt werden, bevor man das Dateisystem mounten kann.

lsblk

Eine vorhandene Partition kann man über das folgende Kommando mounten:

mount /dev/sda1 /media/usb

Dabei muss man beachten, dass der Ort "/media/usb" existieren muss, damit der Datenträger dort eingehängt werden kann. Im Zweifelsfall muss der Mount-Point als Administrator vorher angelegt werden.

sudo mkdir /media/usb

In der Regel erkennt der Linux-Kernel selbstständig, welches Dateisystem sich auf dem Datenträger befindet. Sollte es notwendig sein, aus irgendeinem Grund beim Mounten ein Dateisystem angeben zu müssen, so kann man das mit dem Parameter "-t" tun.

mount -t vfat /dev/sda1 /media/usb

Samba-Freigabe manuell mounten/einhängen

Mounten von Netzlaufwerken, die als Samba-Verzeichnis-Freigabe bereitgestellt werden, kann man mit folgendem Kommando einhängen:

sudo mount -t cifs //192.168.1.2/freigabe /media/freigabe -o user=pi,pass=raspberry

Zu beachten ist, dass die IP-Adresse der Freigabe, der Mount-Point, sowie Benutzername und Passwort an das jeweilige Szenario angepasst sein muss.

Dateisysteme automatisch mit "/etc/fstab" mounten/einhängen

Das manuelle Mounten hat den Nachteil, dass man es jedes mal nach einem Neustart wiederholen muss. Es gibt allerdings Mittel und Wege, dass Dateisysteme beim Booten automatisch eingehängt werden. Die Mount-Kommandos trägt man dazu in die Datei "/etc/fstab" ein.

Wenn von "fstab" die Rede ist, dann ist damit kein Programm oder Kommando gemeint, sondern eine Datei, in der Laufwerke in Form von Festplatten, Speicherkarten, USB-Sticks und Verzeichnis-Freigaben im Netzwerk eingetragen sind, die beim Systemstart automatisch ins lokale Dateisystem eingehängt werden sollen.

Schauen wir uns die Datei "/etc/fstab" zuerst einmal an. Sie könnte auf einem Raspberry Pi beispielhaft wie folgt aussehen:

proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1

Die Datei ist tabellarisch aufgebaut, auch wenn man das auf dem ersten Blick nicht sieht. Das Zeichen zwischen den Spalten bzw. Einträgen ist ein Tabulator-Zeichen oder 4 Leerzeichen. Das muss immer exakt stimmen, weil sonst die Datei fehlerhaft gelesen und interpretiert wird. Deshalb gilt beim Bearbeiten der Datei Vorsicht walten zu lassen. Ein Fehler wird in der Regel dazu führen, dass das System fehlerhaft oder vielleicht gar nicht mehr startet.

Die erste Spalte zeigt die zu mountenden Geräte an, die zweite Spalte die entsprechenden Mount-Points (none für die Swap-Partition, falls vorhanden), und in der dritten Spalte sehen Sie das Dateisystem.
In der Regel reicht hier "auto". Das bedeutet, der Kernel muss das Dateisystem automatisch erkennen. Alternativ wird hier das Dateisystem eingetragen: z. B. ext2, ext3, ext4, reiserfs, vfat, ntfs oder cifs.

In der vierten Spalte folgen meist mehrere Mount-Optionen, die durch Kommas voneinander getrennt angegeben werden dürfen.
Die wichtigste Option zur Steuerung des Mount-Vorgangs ist "defaults" (steht für die Voreinstellungen rw, nouser und async), was aber nicht immer Sinn macht.
Desweiteren sind folgende Optionen möglich (unvollständig), wobei sich einige Optionen gegenseitig ausschließen.

  • user: Das Laufwerk darf von einem normalen Benutzer ohne Root-Rechte eingehängt werden. Aber nur Root oder der Benutzer, der es eingehängt hat, darf es auch wieder aushängen.
  • users: Jeder Benutzer darf das Gerät einhängen und aushängen.
  • nouser: Diese Voreinstellung verweigert normalen Benutzern das Einhängen. Nur Root darf das.
  • ro: Es ist nur lesender Zugriff möglich (read-only).
  • rw: Es ist sowohl lesender als auch schreibender Zugriff möglich (read-write).
  • auto: Das Dateisystem wird automatisch beim Booten eingehängt.
  • noauto: Das Dateisystem wird nicht automatisch beim Booten eingehängt. Bei Netzwerk-Freigaben oder -Laufwerken kann das sinnvoll sein.
  • nofail: Falls das Gerät nicht existiert, wird der Systemstart ohne Unterbrechung, aber auch ohne Fehlermeldung fortgeführt.
  • exec: Programme auf diesem Dateisystem dürfen ausgeführt werden.
  • noexec: Programme dürfen nicht ausgeführt werden.
  • sync: Alle Schreiboperationen werden direkt auf dem Datenträger ausgeführt, ohne den Cache zu nutzen. Bei USB-Datenträgern ist das sinnvoll.
  • async: Alle Schreiboperationen werden gecached, was vor allem bei hohem Datenaufkommen schneller ist.
  • ...,user,rw,umask=000: Alle Benutzer dürfen auf das Laufwerk lesen und schreiben. Bei FAT-Dateisystemen auf USB-Sticks sinnvoll.

Die fünfte Spalte definiert, ob das Dateisystem von "dump" (zur Erstellung von Backups) bearbeitet wird. Da dieses Programm nur noch selten verwendet wird, trägt man hier in der Regel immer "0" ein.
Die sechsten und letzten Spalte definiert, in welcher Reihenfolge die Dateisystemprüfung mit "fsck" beim Booten überprüft. Eine "0" bedeutet, dass das Dateisystem nicht geprüft wird. Das ist bei Swap-Partitionen, CDs/DVDs und Netzlaufwerken sinnvoll. Die Root-Partition sollte eine "1" haben, damit sie zuerst überprüft wird. Alle anderen Dateisysteme bekommen standardmäßig eine "2".

fstab: auto oder noauto?

Grundsätzlich gilt, die Mount-Option "noauto" verhindert das Mounten beim Booten. Das heißt, man müsste dieses Laufwerk nach dem Systemstart durch ein Programm oder durch einen Nutzer manuell mounten lassen. Wenn man will, dass ein Laufwerk beim Booten immer gemountet wird, dann muss man die Option "noauto" durch "auto" ersetzen.
"noauto" macht nur dann Sinn, wenn man ein bestimmtes Laufwerk an einen bestimmten Mount-Point binden will, und es einen Prozess gibt, der sich zum gegebenen Zeitpunkt um das Mounten kümmert.
Durch "systemd" (ab Raspbian Jessie) kann man beim ersten Zugriff ein solches Laufwerk automatisch einhängen lassen. Das erreicht man mit der Mount-Option "noauto,x-systemd.automount". Das eignet sich für Dateisysteme, die das Booten verzögern können. Zum Beispiel Verzeichnis-Freigaben übers Netzwerk mit Samba oder NFS.

USB-Stick mit "usbmount" automatisch mounten/einhängen

Wenn es darum geht, USB-Sticks automatisch während der Laufzeit automatisch einzuhängen, dann eignet sich dafür das Tool "usbmount" am besten.

USB-Stick und USB-Festplatten mit "fstab" automatisch mounten/einhängen

Möchte man Datenträger, Laufwerke und Freigaben dauerhaft bzw. automatisch beim Systemstart einbinden, dann muss man für jedes Dateisystem einen Eintrag in der Datei "/etc/fstab" anlegen. Hier sind alle Dateisysteme definiert, die beim Systemstart eingehängt werden.

Samba-Freigaben mit "fstab" automatisch mounten/einhängen

Prinzipiell besteht eine Samba-Freigabe immer aus zwei Seiten. Die Server-Seite und die Client-Seite. Der Samba-Server wurde im Optimalfall erfolgreich konfiguriert. Jetzt geht es um die Einrichtung bzw. das automatische Einhängen (Mount) des freigegebenen Verzeichnisses in das lokale Dateisystem eines Clients oder eines anderen Servers.

NFS-Freigaben mit "autofs" automatisch mounten/einhängen

Es muss nicht immer die Datei "/etc/fstab" sein. Das Tool "autofs" ist ein Automounter.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!