Mounten

Dateisystem an einem Mountpunkt verfügbar machen
(Weitergeleitet von Mount (Unix))

Mounten (englisch mount, deutsch montieren, befestigen) bzw. Einhängen,[1][2] Einbinden[1] oder Aktivieren, bezeichnet bei Unix sowie einigen anderen Betriebssystemen den Vorgang, ein Dateisystem an einer bestimmten Stelle – dem Einhängepunkt (englisch Mountpoint), bei DOS und Windows zumeist „Laufwerksbuchstabe“ – verfügbar zu machen, damit der Benutzer auf die Dateien zugreifen kann.

Unmounten

Bearbeiten

Das Gegenteil von Mounten ist Unmounten (Neudeutsch, englisch unmount), Dismounten (englisch dismount) oder Aushängen. Dazu ist es erforderlich, dass kein Prozess mehr auf Dateien auf dem Dateisystem zugreift und dass alle Daten auf das Dateisystem geschrieben sind. Das Betriebssystem versucht daher, alle jene Prozesse geordnet zu beenden, die noch offene bzw. unvollendete Zugriffe aufweisen – kann dies nicht erreicht werden, so schlägt das Aushängen fehl. Kann ein Programm oder Prozess diese Ressourcen nicht freigeben, weil sie zur Ausführung notwendig sind, lässt sich ein Dateisystem daher nicht aushängen: ein prominentes Beispiel dafür ist das Systemlaufwerk (englisch Boot Volume) eines Betriebssystems.

Wird ein Dateisystem ohne Unmounten entfernt (z. B. ein USB-Stick abgezogen), kann es unter Umständen zu Datenverlust oder Zerstörung der Datenintegrität auf dem Dateisystem kommen, wenn noch nicht alle Daten auf das Dateisystem geschrieben wurden.

Automatisiertes Mounten

Bearbeiten

Oft geschieht das Einbinden automatisch ohne Benutzerintervention, vor allem beim Booten. Wechselmedien wie CD, Disketten oder USB-Sticks werden hingegen unter Umständen durch den Zugriff eines Automounters verfügbar gemacht.

Bei Windows geschieht das Automounten üblicherweise automatisch unter Zuhilfenahme eines weiteren Laufwerksbuchstabens wie D: oder E:, während bei macOS (ehemals „Mac OS X“ und „OS X“) Wechselmedien vom Automounter unter /Volumes eingebunden werden und dann auf dem Desktop erscheinen. Unter Linux wird gemäß Filesystem Hierarchy Standard ein Unterverzeichnis in /media oder /run/media bzw. /run/mount verwendet, bzw. bei einem manuellen Einhängen und historisch /mnt.

Unter unixartigen Betriebssystemen wird das Mounten durch einen Aufruf des Unix-Kommandos mount eingeleitet, welches bei Abwesenheit von Kommandozeilenparametern die Liste der aktivierten Dateisysteme ausgibt. Die Syntax des Kommandos ist wegen dessen Nähe zum Betriebssystem stark von diesem abhängig und daher von System zu System verschieden, hat aber meist die Form

# mount [optionen] <device> <dir>

<device> steht dabei für eine Gerätedatei, zum Beispiel /dev/cdrom, wohingegen <dir> als letzter Parameter den Mountpoint angibt, d. h. ein bereits existierendes Verzeichnis. In der Regel ist es nur root erlaubt, Mounts durchzuführen.

Wenn ein Einhängepunkt in /etc/fstab festgelegt ist, reicht die Angabe von entweder dem Gerät oder dem Verzeichnis. Ist dort beispielsweise /dev/sda1 mit /boot/efi verknüpft, so führt sowohl

# mount /dev/sda1

als auch

# mount /boot/efi

zum Eingehängen des definierten Geräts am definierten Pfad. Mit der Mount-Option user in der fstab-Datei ist es auch einfachen (non-root) Benutzern gestattet, den Mount-Befehl für einen definierten Pfad (bzw. Gerät) auszuführen. Auch mit pmount, einem Wrapper um mount, ist ein Mounten für „normale“ Benutzer möglich.[3]

Das analoge Kommando zum Aushängen eines Dateisystems lautet umount (für englisch unmount filesystem; seit Unix System 6 von 1975) und wird in der Regel mit der Syntax

# umount <dir_or_dev>

aufgerufen, wobei <dir_or_dev> für das Gerät oder den Mountpoint steht. Ist also z. B. /dev/sda1 unter /boot/efi eingehängt, so führt sowohl umount /dev/sda1 als auch umount /boot/efi zu dessen Aushängen. Ob dies nur root gestattet ist oder auch regulären Benutzern, hängt wiederum z. B. von der fstab-Datei und den darin definierten Mount-Optionen ab.

Bind-Mount

Bearbeiten

Bei einem „bind mount“ (von englisch bind, etw. verbinden) wird ein bereits eingehängtes Volume in einem weiteren Verzeichnis (mount point) abermals „eingehängt“.[4][5] Dies wird oft bei einem chroot verwendet.[6]

Beispiele

Bearbeiten

Unter unixartigen Betriebssystemen (z. B. GNU/Linux) wird die zweite Partition auf der primären Festplatte am ersten SCSI- oder SATA-Port mit folgendem Kommando manuell gemountet:

$ mount /dev/sda2 /mein/verzeichnis

Dazu muss das Verzeichnis /mein/verzeichnis bereits existieren, der Name ist beliebig. Nach dem Einhängen sind dann die Dateien und Verzeichnisse, die auf dieser Partition liegen, unter Pfadnamen wie /mein/verzeichnis/entwürfe/blabla.txt verwendbar. Die Dateien, die vorher in /mein/verzeichnis (wenn es nicht leer war) zu sehen waren, sind bis zum Aushängen normalerweise nicht mehr zugänglich.

Ein anschließendes Aushängen wird erreicht durch:

$ umount /dev/sda2

oder

$ umount /mein/verzeichnis

Eine Liste aller aktivierten Dateisysteme gibt folgendes Kommando aus:

$ mount

Neben Laufwerken kann auch Speicher eingebunden werden, der nicht lokal verfügbar ist. Beispiele dafür sind Dateisysteme wie NFS, xFS und SHFS.

Auch eine Datei kann über das sogenannte „loop device“ wiederum selbst als Dateisystem eingebunden werden, am häufigsten findet dies bei ISO-Abbildern Verwendung:

$ mount -r -t iso9660 -o loop /pfad/zum/CD_oder_DVD-Abbild.iso /mein/verzeichnis
Bearbeiten

Einzelnachweise

Bearbeiten
  1. a b Mounten unter Linux. Was bedeutet Mounten? Abgerufen am 29. September 2015.
  2. Thorsten Leemhuis: Bitte einhängen – Partitionen und Netzwerkfreigaben automatisch einbinden. In: Heise online. 16. November 2013. Abgerufen am 29. September 2015.
  3. Artikel in linuxwiki.de
  4. Gilles: What is a bind mount? (Posting) In: Unix & Linux. Stack Exchange, 25. April 2015, abgerufen am 30. Dezember 2022 (englisch).
  5. Gilles: Was ist ein Bind Mount? In: QA Stack. Abgerufen am 30. Dezember 2022 (Übersetzung des Postings bei Stack Exchange „Unix & Linux“).
  6. Rüdiger Follmann: Das Raspberry Pi Kompendium. 2., erweiterte und überarbeitete Auflage. Springer Vieweg, 2018, ISBN 978-3-662-58143-8, 1.5 Weniger kann mehr sein, S. 21, Code-Ausschnitt 1.5.13 (eingeschränkte Vorschau in der Google-Buchsuche).