Mount, umount und /etc/fstab

Aus Xinux Wiki
Version vom 16. Oktober 2026, 15:28 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=mount= <code>mount</code> fügt die Dateisysteme der verschiedenen Massenspeicher zu einem einzigen Verzeichnisbaum zusammen. Die Partitionen und Laufwerke s…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

mount

mount fügt die Dateisysteme der verschiedenen Massenspeicher zu einem einzigen Verzeichnisbaum zusammen. Die Partitionen und Laufwerke sind als Gerätedateien unter /dev abgebildet; mount setzt das Dateisystem einer Partition auf ein leeres Verzeichnis, den Mountpunkt.

Die Liste der eingehängten Dateisysteme führt der Kernel unter /proc/mounts. /etc/mtab ist auf aktuellen Systemen nur noch ein Symlink darauf. Wird ein mount-Aufruf unvollständig angegeben, ergänzt das Kommando die fehlenden Angaben aus /etc/fstab.

Schema

mount [Optionen] Gerät Mountpunkt

Wichtige Optionen

Option Wirkung
-a alle in /etc/fstab mit auto markierten Dateisysteme einhängen
-t TYP Dateisystemtyp angeben (ext4, xfs, iso9660 …); meist automatisch erkannt
-o LISTE durch Kommata getrennte Liste von Mount-Optionen
-r nur lesend einhängen (wie -o ro)
-v ausführliche Ausgabe

Eine Partition einhängen

  • mount /dev/sdb1 /mnt

Mit ausdrücklichem Typ:

  • mount -t ext4 /dev/sdb1 /mnt

Eine CD/DVD nur lesend:

  • mount -t iso9660 -o ro /dev/sr0 /media/cdrom

Eingehängte Dateisysteme anzeigen

Ohne Argumente listet mount die aktuelle Liste auf.

  • mount
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro)
/dev/sdb1 on /mnt type ext4 (rw,relatime)
/dev/sr0 on /media/cdrom type iso9660 (ro,nosuid,nodev)

Übersichtlicher – als Baum, wahlweise gefiltert nach Ziel:

  • findmnt /mnt

Allgemeine Mount-Optionen

Hinter -o stehen die Optionen für die Partition. Diese gelten für alle Dateisystemtypen:

Option Erklärung
defaults Kurzform für rw,suid,dev,exec,auto,nouser,async
rw / ro les-/schreibbar bzw. nur lesbar
auto / noauto bei mount -a (und beim Booten) mit einhängen oder nicht
exec / noexec Ausführen von Programmen erlauben oder verbieten
suid / nosuid SUID-/SGID-Bits beachten oder ignorieren
dev / nodev Gerätedateien interpretieren oder nicht
user / nouser auch normalen Nutzern das Einhängen erlauben oder nur root
atime / noatime Zugriffszeit bei jedem Lesen aktualisieren oder nicht (noatime bringt Tempo)
remount bereits eingehängtes Dateisystem mit neuen Optionen neu einhängen
loop eine Image-Datei über ein Loop-Gerät einhängen
bind ein Verzeichnis zusätzlich an einer zweiten Stelle einblenden
acl POSIX-ACLs aktivieren

Optionen im laufenden Betrieb ändern

Mit remount lässt sich eine Option setzen, ohne vorher auszuhängen. Beispiel: eine Partition nachträglich auf noexec stellen.

  • mount -o remount,noexec /mnt

Ein Verzeichnis an zweiter Stelle einblenden

bind zeigt denselben Verzeichnisinhalt an zwei Pfaden – nützlich, um einem Dienst nur einen Teilbaum sichtbar zu machen.

  • mount --bind /daten/web /var/www/html

umount

umount hängt ein Dateisystem wieder aus. Dabei läuft automatisch ein sync, damit alle im Cache gehaltenen Daten geschrieben werden – deshalb einen USB-Stick immer erst aushängen, bevor man ihn abzieht.

Ausgehängt werden kann nur ein inaktives Dateisystem: kein Prozess darf eine Datei darin geöffnet haben oder ein Verzeichnis darin als Arbeitsverzeichnis benutzen, und es darf kein weiteres Dateisystem darüber eingehängt sein. Sonst kommt device is busy.

Optionen

Option Wirkung
-a alle in /etc/fstab aufgeführten Dateisysteme aushängen
-t TYP nur Dateisysteme des angegebenen Typs aushängen
-l lazy: den Mount sofort aus dem Baum nehmen, den Datenträger aber erst freigeben, wenn der letzte Zugriff endet
-v ausführliche Ausgabe

Aushängen – über Gerät oder Mountpunkt

Beides ist möglich und tut dasselbe. Über das Gerät:

  • umount /dev/sdb1

Oder über den Mountpunkt:

  • umount /mnt

Wenn das Aushängen hängt: „device is busy"

Belegt ein Prozess das Dateisystem, verweigert umount den Dienst:

umount: /mnt: target is busy.

Den Blockierer finden

lsof zeigt offene Dateien unterhalb des Mountpunkts, fuser die Prozesse mitsamt PID.

  • lsof /mnt
  • fuser -vm /mnt

Danach den Prozess sauber beenden oder aus dem Verzeichnis herausgehen – oft ist es nur eine Shell, die noch im Mountpunkt steht.

Notausgang: lazy unmount

Lässt sich der Blockierer nicht beseitigen, nimmt -l den Mount sofort aus dem Baum. Der Datenträger wird freigegeben, sobald der letzte Zugriff endet.

  • umount -l /mnt

Als grobes Mittel kann fuser die Blockierer auch direkt abschießen (mit Bedacht einsetzen):

  • fuser -km /mnt

Aufgaben

Vorbereitung: drei Datenpartitionen auf /dev/sdb (/dev/sdb1 bis /dev/sdb3), jeweils mit einem Dateisystem. /dev/sda bleibt unberührt. Die Mountpunkte vorher anlegen.

  • Legen Sie die Mountpunkte /mnt/1part, /mnt/2part und /mnt/3part an.
  • Mounten Sie die erste Partition unter /mnt/1part.
  • Mounten Sie die zweite Partition unter /mnt/2part mit der Option noatime.
  • Hängen Sie die erste Partition mit remount zusätzlich auf noexec um, ohne sie auszuhängen.
  • Prüfen Sie mit findmnt, ob die Optionen gesetzt sind.
  • Mounten Sie die dritte Partition unter /mnt/3part nur lesend.
  • Wechseln Sie mit cd nach /mnt/2part und versuchen Sie, die Partition auszuhängen. Was passiert, und wie finden Sie den Blockierer?
  • Hängen Sie die zweite Partition aus – über den Mountpunkt.
  • Blenden Sie das Verzeichnis /mnt/1part/docs zusätzlich unter /mnt/gemeinsam ein (bind mount) und prüfen Sie das Ergebnis mit findmnt.

/etc/fstab

Zweck

Die Datei /etc/fstab (file system table) legt fest, welche Dateisysteme beim Booten automatisch eingehängt werden, an welchem Mountpunkt und mit welchen Optionen. Sie ist außerdem die Vorlage für unvollständige mount-Aufrufe: steht ein Gerät oder Mountpunkt in der fstab, genügt mount /mnt/docs und der Rest wird ergänzt.

Aufbau

Jede Zeile beschreibt ein Dateisystem mit sechs durch Leerzeichen getrennten Feldern. Kommentare beginnen mit #.

# Gerät              Mountpunkt   Typ    Optionen                  Dump  Check
UUID=581cc4b6-...    /            ext4   errors=remount-ro          0     1
UUID=5b8ed1c7-...    none         swap   sw                         0     0
/dev/sdb1            /mnt/docs    ext4   defaults                   0     2
/dev/sr0             /media/cdrom udf,iso9660  user,noauto,exec     0     0
192.168.240.1:/export/share  /export  nfs  defaults                0     0
Feld Name Bedeutung
1 Gerät Gerätedatei, UUID, Label oder Netzwerkfreigabe. UUID ist am robustesten, weil sie sich beim Umstecken nicht ändert – Gerätenamen wie /dev/sdb1 können wandern.
2 Mountpunkt Verzeichnis, auf das eingehängt wird. Bei Swap steht hier none oder swap.
3 Typ Dateisystemtyp: ext4, xfs, btrfs, swap, nfs. auto lässt den Kernel raten.
4 Optionen Kommagetrennte Mount-Optionen, dieselben wie bei mount -o (siehe Linux mount und umount).
5 Dump Markierung für das alte Backup-Programm dump. Heute praktisch bedeutungslos – steht fast immer auf 0.
6 Check Reihenfolge der fsck-Prüfung beim Booten.

Das Check-Feld richtig setzen

  • 1 – nur für das Root-Dateisystem. Es wird zuerst und allein geprüft.
  • 2 – für alle anderen ext-Dateisysteme. Sie werden nach Root und untereinander parallel geprüft.
  • 0 – keine Prüfung beim Booten. Für btrfs und xfs immer 0, denn diese bringen kein fsck beim Start mit; auch Swap und Netzlaufwerke stehen auf 0.

Die UUID herausfinden

Der Gerätename in Feld 1 sollte eine UUID sein. Beide Werkzeuge zeigen sie:

  • blkid /dev/sdb1
  • lsblk -f

Nach dem Ändern: testen, nicht raten

Ein fehlerhafter fstab-Eintrag kann das Booten verhindern – das System bleibt dann im Notfall-Prompt hängen. Deshalb vor dem Neustart prüfen, ob alle Einträge sauber einhängen:

  • mount -a

Kommt keine Fehlermeldung, sind die Einträge in Ordnung. Erst dann neu starten.

Auf systemd-Systemen (Debian 12, Rocky) liest der Automounter die Datei nicht sofort neu. Nach einer Änderung einlesen lassen:

  • systemctl daemon-reload

Einen Eintrag entschärfen

Soll ein Dateisystem vorerst nicht automatisch gemountet werden, aber der Eintrag bleiben, hilft die Option noauto in Feld 4. Dann wird es beim Booten übersprungen und lässt sich später von Hand über den Mountpunkt einhängen.

/dev/sdb3   /mnt/video   ext4   noauto   0   0

Aufgaben

Vorbereitung: eine leere Datenplatte /dev/sdc. /dev/sda bleibt unberührt.

  • Erstellen Sie auf /dev/sdc vier Partitionen (mit fdisk oder gdisk).
  • Formatieren Sie die vier Partitionen mit ext4 in Standardeinstellungen.
  • Legen Sie die Mountpunkte /mnt/media, /mnt/misc, /mnt/video und /mnt/docs an.
  • Ermitteln Sie die UUIDs der vier Partitionen.
  • Tragen Sie die 1. Partition (media) so ein, dass kein Ausführen erlaubt ist und ACLs aktiv sind.
  • Tragen Sie die 2. Partition (misc) so ein: kein SUID, kein dev, nur lesend.
  • Tragen Sie die 3. Partition (video) so ein, dass sie nicht automatisch gemountet wird.
  • Tragen Sie die 4. Partition (docs) so ein: automatisches Mounten, normale Nutzer dürfen mounten.
  • Testen Sie alle Einträge, ohne neu zu starten.
  • Prüfen Sie mit findmnt, ob media wirklich noexec und misc wirklich ro gemountet ist.

Fleißaufgabe: Datei als Dateisystem (Loop)

Statt einer echten Partition lässt sich auch eine Datei als Dateisystem einhängen – über ein Loop-Gerät.

  • Erstellen Sie eine leere Datei von 2 GB.
  • Formatieren Sie die Datei mit ext4.
  • Legen Sie den Mountpunkt /mnt/share an und tragen Sie die Datei mit der Option loop in die /etc/fstab ein.
  • Testen Sie den Eintrag.