MOUNT(8) | System-Administration | MOUNT(8) |
mount - ein Dateisystem einhängen
mount [-l|-h|-V]
mount -a [-fFnrsvw] [-t Dateisystemtyp] [-O Optionsliste]
mount [-fnrsvw] [-o Optionen] Gerät|Verzeichnis
mount [-fnrsvw] [-t Dateisystemtyp] [-o Optionen] Gerät Verzeichnis
Alle in einem Unix-System erreichbaren Dateien sind in einem einzigen großen Baum organisiert, der Dateihierarchie, deren Wurzel / ist. Diese Dateien können über verschiedene Geräte verteilt sein. Der Befehl mount dient dazu, das auf einem Gerät befindliche Dateisystem in den großen Dateibaum einzuhängen. Umgekehrt hängt der Befehl umount(8) das Dateisystem wieder aus. Das Dateisystem steuert, wie Daten auf dem Gerät gespeichert oder auf virtuelle Weise über das Netzwerk oder andere Dienste bereitgestellt werden.
Die Standardform des Befehls mount lautet wie folgt:
mount -t Typ Gerät Verzeichnis
In dem Fall, in dem nur das Verzeichnis oder das Gerät angegeben ist, beispielsweise:
mount /Verzeichnis
mount --target /Einhängepunkt
Ein Dateisystem kann mehrfach eingehängt werden, in einigen Fällen (zum Beispiel Netzwerkdateisysteme) sogar mehrfach im gleichen Einhängepunkt. Der »mount«-Befehl implementiert keinerlei Regeln, die dieses Verhalten steuern. Sämtliches Verhalten wird durch den Kernel gesteuert und ist üblicherweise vom Dateisystemtreiber abhängig. Eine Ausnahme bildet --all, wodurch bereits eingehängte Dateisysteme ignoriert werden (siehe --all unten für weitere Details).
Der Listenmodus wird nur noch zwecks Abwärtskompatibilität gepflegt.
Für eine robustere und besser anpassbare Ausgabe verwenden Sie findmnt(8), speziell in Ihren Skripten. Beachten Sie, dass Steuerzeichen im Namen des Einhängepunkts durch »?« ersetzt werden.
Der folgende Befehl listet alle eingehängten Dateisysteme (des angegebenen Typs) auf:
mount [-l] [-t Typ]
Die meisten Geräte werden durch einen Dateinamen (eines blockorientierten Spezialgerätes) bezeichnet, beispielsweise /dev/sda1, aber es gibt noch weitere Möglichkeiten. Zum Beispiel kann das Gerät im Fall einer NFS-Einhängung aussehen wie knuth.cwi.nl:/dir. Es ist auch möglich, ein blockorientiertes Spezialgerät anhand dessen Dateisystembezeichnung oder UUID anzugeben (siehe die Optionen -L und -U unten), oder dessen Partitionsbezeichnung oder UUID. Partitionsbezeichner werden beispielsweise für GUID-Partitionstabellen (GPT) unterstützt.
Der Gerätename der Plattenpartitionen ist instabil; der Name kann sich durch die Hardwarekonfiguration oder Hinzufügen bzw. Entfernen eines Gerätes ändern. Aus diesem Grund wird nachdrücklich empfohlen, Dateisystem- oder Partitionsbezeichnungen wie UUID oder BEZEICHNUNG zu verwenden.
Der Befehl lsblk --fs bietet einen Überblick über Dateisysteme, BEZEICHNUNGEN und UUIDs auf verfügbaren blockorientierten Geräten. Der Befehl blkid -p <Gerät> zeigt Details zu einem Dateisystem auf dem angegebenen Gerät an.
Vergessen Sie nicht, dass es keine Garantie dafür gibt, dass UUIDs und Bezeichnungen wirklich eindeutig sind, insbesondere wenn Sie ein Gerät verschieben, freigeben oder kopieren. Mit lsblk -o +UUID,PARTITIONS-UUID können Sie sicherstellen, dass die UUIDs in Ihrem System wirklich eindeutig sind.
Wir empfehlen die Verwendung von Markierungen (z.B. UUID=UUID) anstelle Udev-Symlinks der Form /dev/disk/by-{Bezeichnung,UUID,Partitions-UUID,Partitionsbezeichnung} in der Datei /etc/fstab. Markierungen sind besser lesbar, robuster und besser portierbar. Der Befehl mount(8) verwendet intern Udev-Symlinks, daher hat die Verwendung von Symlinks in der Datei /etc/fstab keinerlei Vorteile gegenüber Markierungen. Für weitere Details siehe libblkid(3).
Beachten Sie, dass mount(8) UUIDs als Zeichenketten verwendet. Die UUIDs aus der Befehlszeile oder von fstab(5) werden nicht in die interne Binärdarstellung umgewandelt. Die Zeichenkettendarstellung der UUID sollte Kleinbuchstaben verwenden.
Das Dateisystem proc ist keinem speziellen Gerät zugeordnet. Wenn Sie es einhängen, kann ein willkürlich gewähltes Schlüsselwort wie proc anstelle der Angabe eines Gerätes verwendet werden. Die gebräuchliche Wahl none ist weniger sinnvoll: Die Fehlermeldung »none ist bereits eingehängt« kann verwirrend sein.
Die Datei /etc/fstab (siehe fstab(5)) kann Zeilen enthalten, die beschreiben, welche Geräte üblicherweise wo und mit welchen Optionen eingehängt werden. Der Standardort der Datei fstab(5) kann mit der Befehlszeilenoption --fstab Pfad außer Kraft gesetzt werden (siehe unten für weitere Details).
Der Befehl
mount -a [-t Typ] [-O Optionsliste]
Beim Einhängen eines in fstab oder mtab aufgelisteten Dateisystems genügt es, in der Befehlszeile nur das Gerät oder auch nur den Einhängepunkt anzugeben.
Die Programme mount und umount haben traditionell eine Liste der aktuell eingehängten Dateisysteme in der Datei /etc/mtab verwaltet. Die Unterstützung für die reguläre klassische Mtab-Datei ist bei der Kompilierung standardmäßig deaktiviert, da es auf aktuellen Linux-Systemen besser ist, stattdessen einen Symlink auf /proc/mounts zu legen. Die reguläre, auf Anwendungsebene verwaltete Mtab-Datei kann nicht zuverlässig mit Namensräumen, Containern und weiteren anspruchsvollen Linux-Funktionen umgehen. Falls die reguläre Mtab-Unterstützung aktiviert ist, dann ist es möglich, die Datei auch als Symlink zu verwenden.
Wenn an mount keine Argumente übergeben werden, wird die Liste der eingehängten Dateisysteme ausgegeben.
Falls Sie Einhängeoptionen aus der Datei /etc/fstab außer Kraft setzen wollen, müssen Sie die Option -o verwenden:
mount Gerät|Verzeichnis -o Optionen
Das Programm mount liest die Datei /etc/fstab nicht, wenn sowohl das Gerät (oder LABEL, UUID, PARTUUID oder PARTLABEL) als auch das Verzeichnis angegeben sind. Zum Beispiel können Sie das Gerät foo in das /Verzeichnis folgendermaßen einhängen:
mount /dev/foo /Verzeichnis
Normalerweise kann nur der Systemverwalter Dateisysteme einhängen. Dennoch kann das jeder tun, wenn in der Datei fstab die entsprechende Zeile des Dateisystems die Option user enthält.
Dadurch kann aufgrund der Zeile
/dev/cdrom /cd iso9660 ro,user,noauto,unhide
Weitere Details finden Sie in fstab(5). Nur der Benutzer, der ein Dateisystem eingehängt hat, kann es auch wieder aushängen. Wenn jeder Benutzer in der Lage sein soll, es auszuhängen, schreiben Sie users statt user in die fstab-Zeile. Die Option owner ähnelt user, allerdings mit der Einschränkung, dass der Benutzer Eigentümer der speziellen Datei sein muss. Dies kann zum Beispiel für /dev/fd nützlich sein, wenn ein Anmeldeskript den Konsolenbenutzer zum Eigentümer dieses Gerätes macht. Die Option group ist ähnlich, wobei der Benutzer Mitglied der Gruppe der speziellen Datei sein muss.
Hängt Teile der Dateihierarchie an einer anderen Stelle erneut ein. Der Aufruf lautet:
oder mit diesem Fstab-Eintrag:
Nach diesem Aufruf ist der gleiche Inhalt an zwei Stellen verfügbar.
Es ist wichtig zu verstehen, dass Bind keinerlei zweitklassige oder Spezial-Knoten im Kernel-VFS erstellt. Das »Binden« ist lediglich eine andere Aktion zum Einbinden eines Dateisystems. Darüber, dass das Dateisystem durch die »Bind«-Aktion eingehängt wurde, werden nirgends Informationen gespeichert. Das und das neue_Verzeichnis sind unabhängig und das alte_Verzeichnis könnte ausgehängt sein.
Sie können auch eine einzelne Datei (in einer einzelnen Datei) einhängen. Es ist auch möglich, eine Bind-Einhängung zu verwenden, um einen Einhängepunkt aus einem regulären Verzeichnis zu erzeugen, zum Beispiel:
Der Bind-Einhängeaufruf hängt nur (Teile eines) einzelnen Dateisystems an, nicht eventuelle Untereinhängungen. Die gesamte Dateihierarchie einschließlich Untereinhängungen wird folgendermaßen an einem zweiten Ort eingehängt:
Beachten Sie, dass die vom Kernel verwalteten Einhängeoptionen des Dateisystems die gleichen wie im ursprünglichen Einhängepunkt sind. Die Einhängeoptionen auf Anwendungsebene (z.B. _netdev) werden von mount(8) nicht kopiert, daher ist es nötig, die Optionen explizit in der Befehlszeile an Mount zu übergeben.
Seit Version 2.27 erlaubt mount(8) die Änderung der Einhängeoptionen durch Übergeben der relevanten Optionen mit --bind. Zum Beispiel:
Diese Funktion wird vom Linux-Kernel nicht unterstützt. Sie ist auf Anwendungsebene durch einen zusätzlichen mount(2)-Systemaufruf zum erneuten Einhängen implementiert. Diese Lösung ist nicht atomar.
Der alternative (klassische) Weg zur Erzeugung einer schreibgeschützten Bind-Einhängung ist eine Aktion zum erneuten Einhängen, zum Beispiel:
Beachten Sie, dass eine schreibgeschützte Bind-Einhängung zwar einen schreibgeschützten Einhängepunkt erzeugt, der Superblock des Originaldateisystems aber schreibbar bleibt, was bedeutet, dass in das alte_Verzeichnis weiterhin geschrieben werden kann, in das neue_Verzeichnis dagegen nicht.
Es ist ebenfalls möglich, die Schalter »nosuid«, »nodev«, »noexec«, »noatime«, »nodiratime« und »relatime« des VFS-Eintrags durch die Aktion »remount,bind« zu ändern. Die anderen (zum Beispiel die dateisystemspezifischen Schalter) werden stillschweigend ignoriert. Dagegen ist es nicht möglich, Einhängeoptionen rekursiv zu ändern (zum Beispiel mit -o rbind,ro).
mount(8) ignoriert seit Version 2.31 den bind-Schalter in der Datei /etc/fstab bei der remount-Aktion (falls »-o remount« in der Befehlszeile angegeben wird). Dies ist notwendig, um die Einhängeoptionen beim erneuten Einhängen in der Befehlszeile vollständig steuern zu können. In früheren Versionen wurde der Bind-Schalter immer angewendet, wodurch ohne Interaktion mit der Bind-Semantik keine Einhängeoptionen neu definiert werden konnten. Dieses Verhalten von mount(8) beeinflusst nicht die Fälle, in denen »remount,bind« in der Datei /etc/fstab angegeben ist.
Verschiebt einen eingehängten Baum (atomar) an einen anderen Ort. Der Aufruf lautet:
Dadurch wird der Inhalt, der vorher unter Altes_Verzeichnis erschien, unter Neues_Verzeichnis sichtbar. Der physische Ort der Dateien ändert sich dadurch nicht. Beachten Sie, dass Altes_Verzeichnis ein Einhängepunkt sein muss.
Beachten Sie auch, dass die Verschiebung einer Einhängung unter einer freigegebenen Einhängung unzulässig ist und nicht unterstützt wird. Mit findmnt -o ZIEL,AUSBREITUNG können Sie die aktuellen Ausbreitungs-Schalter anzeigen lassen.
Seit Linux 2.6.15 ist es möglich, eine Einhängung und deren Untereinhängungen als »shared«, »private«, »slave« oder »unbindable« zu markieren. Eine Mehrfacheinhängung ermöglicht es, »Spiegeleinhängungen« zu erstellen, bei denen Änderungen, wie Einhängungen und Aushägungen innerhalb einer der »Spiegel« (d.h. einer der Einhängungen) auch in der anderen Einhängung automatisch vorgenommen werden. Bein einer Slave-Einhängung breitet sich die Änderung vom Master aus, aber nicht umgekehrt. Bei einer privaten Einhängung erfolgt keine Ausbreitung. Eine »Unbindable«-Einhängung ist eine private Einhängung, die nicht mit einer Bind-Aktion geklont werden kann. Die Semantik ist in der Datei Documentation/filesystems/sharedsubtree.txt im Quellbaum des Kernels detailliert dokumentiert.
Die folgenden Aktionen werden unterstützt:
mount --make-shared Einhängepunkt mount --make-slave Einhängepunkt mount --make-private Einhängepunkt mount --make-unbindable Einhängepunkt
Die folgenden Befehle erlauben Ihnen, den Typ aller Einhängungen unter einem angegebenen Einhängepunkt rekursiv zu ändern.
mount --make-rshared Einhängepunkt mount --make-rslave Einhängepunkt mount --make-rprivate Einhängepunkt mount --make-runbindable Einhängepunkt
mount(8) liest nicht die Datei fstab(5), wenn eine --make-*-Aktion angefordert wird. Alle notwendigen Informationen müssen in der Befehlszeile angegeben werden.
Beachten Sie, dass der Linux-Kernel keine Änderungen mehrerer Ausbreitungs-Schalter mit einem einzelnen mount(2)-Systemaufruf erlaubt und die Schalter nicht mit anderen Einhängeoptionen und Aktionen kombiniert werden können.
Seit der Version 2.23 von Util-linux ermöglicht der Befehl mount weitere Ausbreitungs-(topologische) Änderungen mit einem mount(8)-Aufruf und erledigt das auch zusammen mit anderen Einhängeaktionen. Diese Funktion ist EXPERIMENTELL. Die Ausbreitungs-Schalter werden durch zusätzliche mount(2)-Systemaufrufe angewendet, wenn die vorangehenden Einhängeaktionen erfolgreich waren. Beachten Sie, dass dieser Anwendungsfall nicht atomar ist. Es ist möglich, Ausbreitungs-Schalter in der Datei fstab(5) als Einhängeoptionen anzugeben (private, slave, shared, unbindable, rprivate, rslave, rshared, runbindable).
Beispiel:
mount --make-private --make-unbindable /dev/sda1 /foo
gleichbedeutend mit:
mount /dev/sda1 /foox mount --make-private /foo mount --make-unbindable /foo
Die vollständige Gruppe der bei einem Aufruf von mount verwendeten Befehlszeilenoptionen wird zuerst anhand der Einhängeoptionen für das Dateisystem in der fstab-Tabelle ermittelt, danach durch Übergabe der im Argument -o angegebenen Optionen und zum Schluss durch Anwendung der Optionen -r oder -w, sofern vorhanden.
Der Befehl mount übergibt nicht alle Befehlszeilenoptionen an die Einhänge-Hilfsprogramme /sbin/mount.suffix. Die Schnittstelle zwischen mount und den Hilfsprogrammen ist unten im Abschnitt EXTERNAL HILFSPROGRAMME beschrieben.
Die folgenden Befehlszeilenoptionen sind für den Befehl mount verfügbar:
Beachten Sie, dass es eine schlechte Idee ist, mount -a zur Überprüfung der Datei fstab zu verwenden. Wir empfehlen stattdessen findmnt --verify.
Beachten Sie, dass mount(8) diese Option nicht an die Hilfsprogramme /sbin/mount.Typ übergibt.
mount(8) wechselt in den Namensraum, wenn es die Datei /etc/fstab liest, in die Datei /etc/mtab (oder /run/mount) schreibt und ruft den Systemaufruf mount(2) auf, anderenfalls läuft es im ursprünglichen Namensraum. Das bedeutet, dass der Ziel-Namensraum keine Bibliotheken oder anderes enthalten muss, um den Befehl mount(2) aufzurufen.
Siehe namespaces(7) für weitere Informationen.
mount -a -O no_netdev
Dies unterscheidet sich von -t darin, dass jede Option exakt übereinstimmen muss; ein no am Anfang einer Option führt nicht zur Negierung der anderen Optionen.
Die Optionen -t und -O wirken kumulativ, das heißt, der Befehl
mount -a -t ext2 -O _netdev
mount LABEL=mydisk -o noatime,nodev,nosuid
Weitere Details finden Sie in den Abschnitten VOM DATEISYSTEM UNABHÄNGIGE EINHÄNGEOPTIONEN und DATEISYSTEMSPEZIFISCHE EINHÄNGEOPTIONEN.
Beachten Sie, dass abhängig vom Dateisystemtyp, dessen Status und dem Verhalten des Kernels das System noch immer auf das Gerät schreiben könnte. Zum Beispiel erneuern Ext3 und Ext4 das Journal, falls das Dateisystem verändert wurde. Um Schreibzugriffe dieser Art zu verhindern, könnten Sie ein Ext3- oder Ext4-Dateisystem mit den Optionen ro,noload einhängen oder das blockorientierte Gerät selbst in den schreibgeschützten Modus versetzen, siehe den Befehl blockdev(8).
Beachten Sie, dass mount(8) die Option --fstab nicht an die /sbin/mount.Typ-Hilfsprogramme übergibt, was zur Folge hat, dass alternative Fstab-Dateien für die Hilfsprogramme nicht sichtbar sind. Für normale Einhängungen ist das kein Problem, aber Einhängungen durch Benutzer (nicht als »root«) benötigen stets die Fstab, um die Rechte des Benutzers zu überprüfen.
Die Programme mount und umount unterstützen Untertypen der Dateisysteme. Der Untertyp wird duch die Endung der Form ».Untertyp« definiert, zum Beispiel »fuse.sshfs«. Es wird empfohlen, diese Untertyp-Notation zu verwenden, anstatt den untertyp der Einhängequelle voranzustellen (zum Beispiel ist »sshfs#example.com« veraltet).
Falls die Option -t nicht oder der Typ als auto angegeben ist, versucht Mount den gewünschten Typ zu erraten. Mount verwendet die Blkid-Bibliothek zur Ermittlung des Dateisystemtyps; falls dies nichts Brauchbares ergibt, wird versucht, die Datei /etc/filesystems zu lesen. Sollte diese nicht existieren, dann /proc/filesystems. Alle der dort aufgelisteten Dateisystemtypen werden versucht, außer jene, die mit »nodev« bezeichnet sind (zum Beispiel devpts, proc und nfs). Falls /etc/filesystems mit einer Zeile mit einem einzelnen »*« endet, liest Mount danach die Datei /proc/filesystems. Während der Versuche werden alle Dateisystemtypen mit der Option silent eingehängt.
Der Typ auto kann für Disketten nützlich sein, die vom Benutzer eingehängt werden. Die Erstellung einer Datei /etc/filesystems ist sinnvoll, um die Reihenfolge der Versuche anzupassen (zum Beispiel wenn VFAT vor MSDOS oder Ext3 vor Ext2 versucht werden soll) oder wenn Sie Kernelmodule automatisch laden.
Für die Option -t und bei Einträgen in der Datei /etc/fstab können mehrere Typen in einer durch Kommata getrennten Liste angegeben werden. Der Liste der Dateisystemtypen für die Option -t kann ein no vorangestellt werden, um die Dateisystemtypen zu kennzeichnen, für die keine Aktion ausgeführt werden soll. Das Präfix no ist wirkungslos, wenn es in einem Eintrag der Datei /etc/fstab angegeben wird.
Das Präfix no kann mit der Option -a von Bedeutung sein. Zum Beispiel hängt der Befehl
mount -a -t nomsdos,smbfs
Für die meisten Typen ist alles, was das Programm mount zu tun hat, ein einfacher mount(2)-Systemaufruf, wofür keine detaillierten Kenntnisse des Dateisystemtyps nötig ist. Jedoch wird für einige Typen (wie nfs, nfs4, cifs, smbfs oder ncpfs) ein Ad-Hoc-Code benötigt. Die Dateisysteme nfs, nfs4, cifs, smbfs und ncpfs haben ein separates Mount-Programm. Um zu ermöglichen, dass alle Typen in gleicher Weise behandelt werden, führt mount das Program /sbin/mount.Typ aus (sofern es existiert), wenn es mit dem entsprechenden Typ aufgerufen wird. Das verschiedene Versionen des Programms smbmount auch verschiedene Aufrufkonventionen haben, muss /sbin/mount.smbfs möglicherweise ein Shell-Skript sein, das den gewünschten Aufruf erstellt.
Beachten Sie, dass mount durch die Angabe von -w in der Befehlszeile niemals versucht, schreibgeschützte Geräte schreibgeschützt einzuhängen. Die Vorgabe ist, es schreibgeschützt zu versuchen, wenn der vorherige Systemaufruf zum Einhängen mit den Lese-/Schreib-Schaltern fehlgeschlagen ist.
Einige dieser Optionen sind nur sinnvoll, wenn sie in der Datei /etc/fstab eingetragen sind.
Einige dieser Optionen könnten im Systemkernel standardmäßig aktiviert oder deaktiviert sein. Die aktuelle Einstellung finden Sie in /proc/mounts. Beachten Sie, dass Dateisysteme auch dateisystemspezifische Standard-Einhängeoptionen haben (siehe zum Beispiel die Ausgabe von tune2fs -l für ExtN-Dateisysteme).
Die folgenden Optionen gelten für jedes eingehängte Dateisystem (aber nicht jedes Dateisystem erkennt sie an, zum Beispiel ist die Option sync gegenwärtig nur bei den Dateisystemen Ext2, Ext3, FAT, VFAT und UFS wirksam):
ohne SELinux. Sie können context= auch bei nicht vertrauenswürdigen Dateisystemen verwenden, zum Beispiel einer Diskette. Es hilft auch bei der Kompatibilität zu Dateisystemen, die Xattr unterstützen, in früheren 2.4.<x>-Kernelversionen. Selbst wenn Xattrs unterstützt wird, können Sie dadurch Zeit sparen, weil Sie nicht jede Datei bezeichnen müssen, indem Sie die gesamte Platte einem Sicherheitskontext zuordnen.
Eine häufig für Wechselmedien verwendete Option ist context="system_u:object_r:removable_t".
Zwei weitere Optionen sind fscontext= und defcontext=; sie schließen die »context«-Option aus. Das bedeutet, dass Sie zwar »fscontext« und »defcontext« zusammen verwenden können, aber niemals mit »context«.
Die Option fscontext= funktioniert mit allen Dateisystemen, ganz gleich, ob diese Xattr unterstützen oder nicht. Die Option »fscontext« setzt die übergreifende Dateisystembezeichnung auf einen spezifischen Sicherheitskontext. Diese Dateisystembezeichnung ist von den individuellen Bezeichnungen der Dateien getrennt. Sie repräsentiert das gesamte Dateisystem für bestimmte Arten von Sicherheitsüberprüfungen, zum Beispiel während des Einhängens oder Anlegens von Dateien. Individuelle Dateibezeichnungen werden aus den Xattrs der Dateien selbst bezogen. Die Option »context« setzt tatsächlich den Gesamtkontext, den »fscontext« bereitstellt, zusätzlich zum Anwenden der gleichen Bezeichnung auf individuelle Dateien.
Sie können den standardmäßigen Sicherheitskontext für nicht bezeichnete Dateien mit der Option defcontext= setzen. Dies setzt den für nicht bezeichnete Dateien in der Richtlinie gesetzten Wert außer Kraft und erfordert ein Dateisystem, das Xattr-Bezeichnungen unterstützt.
Die Option rootcontext= ermöglicht die explizite Bezeichnung des Wurzel-Inodes eines einzuhängenden Dateisystems, bevor das Dateisystem oder Inode für den Benutzer sichtbar wird. Nützlich ist dies zum Beispiel für ein zustandsloses Linux.
Beachten Sie, dass der Kernel jegliche Anfragen zum Wiedereinhängen abweist, die eine »context«-Option enthalten, sogar wenn sich diese vom aktuellen Kontext nicht unterscheidet.
Warnung: Der Wert von context könnte Kommata enthalten. In einem solchen Fall muss der Wert sauber in Anführungszeichen gesetzt werden, anderenfalls interpretiert mount(8) das Komma als Trenner zwischen Einhängeoptionen. Denken Sie daran, dass die Shell einfache Anführungszeichen entfernt und daher doppelte erforderlich sind. Zum Beispiel:
mount -t tmpfs none /mnt -o \ 'context="system_u:object_r:tmp_t:s0:c127,c456",noexec'
Beachten Sie, dass der reale Satz aller vorgegebenen Einhängeoptionen vom Kernel und Dateisystemtyp abhängt. Am Anfang dieses Abschnitts finden Sie weitere Details.
Seit Linux 2.6.30 verhält sich der Kernel standardmäßig nach den Angaben dieser Option (außer wenn noatime angegeben wurde) und erfordert die Option strictatime für die traditionelle Semantik. Außerdem wird seit Linux 2.6.30 die letzte Zugriffszeit immer aktualisiert, wenn diese länger als einen Tag zurückliegt.
This mount option significantly reduces writes to the inode table for workloads that perform frequent random writes to preallocated files.
Die Zeitstempel auf der Platte werden nur aktualisiert, wenn:
- die Anwendung fsync(2), syncfs(2) oder sync(2) einsetzt
- ein wiederhergestellter Inode aus dem Speicher entfernt wurde
- mehr als 24 Stunden vergangen sind, seit der Inode auf die Platte geschrieben wurde.
Die Remount-Aktion in Kombination mit dem bind-Schalter folgt einer speziellen Semantik. Siehe oben im Unterabschnitt Bind-Einhängungen.
Die Remount-Funktionalität folgt dem Standardweg, wie der Befehl »mount« mit den Optionen aus der Fstab-Datei umgeht. Das bedeutet, dass mount die Fstab- oder Mtab-Datei nicht liest, wenn sowohl Gerät als auch Verzeichnis angegeben sind.
mount -o remount,rw /dev/foo /Verzeichnis
Nach diesem Aufruf werden alle alten Einhängeoptionen ersetzt und jegliche Angaben aus Fstab oder Mtab ignoriert, außer die Option »loop=«, die intern erzeugt und vom Befehl »mount« verwaltet wird.
mount -o remount,rw /Verzeichnis
Nach diesem Aufruf liest Mount die Fstab-Datei und führt diese Optionen mit den Befehlszeilenoptionen zusammen (-o). Wenn in der Fstab kein Einhängepunkt gefunden wird, dann ist erneutes Einhängen ohne angegebene Quelle erlaubt.
Beachten Sie, dass vor der Version 2.30 von Util-linux die »x-*«-Optionen nicht von Libmount verwaltet und auf Anwendungsebene gespeichert wurden (die Funktionalität war die gleiche wie die von X-* jetzt), aber durch die wachsende Zahl an Anwendungsfällen (in Initrd, Systemd usw.) wurde die Funktionalität erweitert, um vorhandene Fstab-Konfigurationen ohne Änderung benutzbar zu halten.
Sie sollten zuerst die entsprechende Handbuchseite des Dateisystems zu Rate ziehen. Wenn Sie wissen wollen, welche Optionen das Ext4-Dateisystem unterstützt, dann lesen Sie die Handbuchseite ext4(5). Falls diese nicht existiert, können Sie auch nach einer entsprechenden Mount-Handbuchseite wie mount.cifs(8) suchen. Beachten Sie, dass Sie unter Umständen zuerst die entsprechenden Benutzerwerkzeuge installieren müssen.
Die folgenden Optionen sind nur auf bestimmte Dateisysteme anwendbar. Sie sind nach Dateisystem sortiert ud folgen alle dem Schalter -o.
Welche Optionen unterstützt werden, hängt auch vom laufenden Kernel ab. Weitere Informationen finden Sie in den Kernel-Quellen unter Documentation/filesystems.
Das Debugfs-Dateisystem ist ein Pseudo-Dateisystem, das traditionell in /sys/kernel/debug eingehängt wird. Ab der Kernelversion 3.4 hat Debugfs folgende Optionen:
Das Devpts-Dateisystem ist ein Pseudo-Dateisystem, das traditionell in /sys/dev/pts eingehängt wird. Um an ein Pseudo-Terminal zu gelangen, öffnet ein Prozess /dev/ptmx; die Nummer des Pseudo-Terminals steht dann dem Prozess zur Verfügung und auf den Pseudo-Terminal-Slave kann über /dev/pts/<Nummer> zugegriffen werden.
Allen Devpts-Einhängungen ohne diese newinstance-Option sind die gleichen PTY-Indizes gemein (d.h. alter Modus). Jede Einhängung von Devpts mit der Option newinstance hat eine private Gruppe von PTY-Indizes.
Diese Option wird hauptsächlich zur Unterstützung von Containern im Linux-Kernel genutzt. Sie ist in Kernelversionen ab 2.6.29 implementiert. Weiterhin ist diese Einhängeoption nur dann zulässig, wenn CONFIG_DEVPTS_MULTIPLE_INSTANCES in der Kernel-Konfiguration aktiviert ist.
Um diese Option effektiv zu nutzen, muss /dev/ptmx ein symbolischer Link auf pts/ptmx sein. Siehe Documentation/filesystems/devpts.txt im Kernel-Quellbaum für Details.
legt den Modus für den neuen ptmx-Geräteknoten im Devpts-Dateisystem fest.
Mit der Unterstützung für mehrere Instanzen von Devpts (siehe die Option newinstance oben) hat jede Instanz einen privaten ptmx-Knoten in der Wurzel des Devpts-Dateisystems (typischerweise /dev/pts/ptmx).
Für die Kompatibilität zu älteren Kernelversionen ist 0000 der Standardmodus des neuen ptmx-Knotens. ptmxmode=Wert gibt einen sinnvolleren Modus für den ptmx-Knoten an und wird ausdrücklich empfohlen, wenn die Option newinstance angegeben wird.
Diese Option ist im Linux-Kernel erst ab Version ab 2.6.29 implementiert. Außerdem ist sie nur gültig, wenn CONFIG_DEVPTS_MULTIPLE_INSTANCES in der Kernel-Konfiguration aktiviert ist.
(Hinweis: fat ist kein separates Dateisystem, sondern ein gemeinsamer Teil der Dateisysteme msdos, umsdos und vfat.)
Die Standardeinstellung wird aus der Option »dmask« entnommen (falls das Verzeichnis nicht schreibgeschützt ist, dann ist auch utime(2) erlaubt, d.h. ~dmask & 022).
Normalerweise prüft utime(2), ob der aktuelle Prozess Eigentümer der Datei ist oder über die Capability CAP_FOWNER verfügt. Allerdings haben FAT-Dateisysteme keine Benutzer- oder Gruppenkennung, so dass eine gewöhnliche Überprüfung zu unflexibel ist. Mit dieser Option können Sie sie lockern.
stale_rw: This option maintains an index (cache) of directory inodes which is used by the nfs-related code to improve look-ups. Full file operations (read/write) over NFS are supported but with cache eviction at NFS server, this could result in spurious ESTALE errors.
nostale_ro: Bei dieser Option basiert die Inode-Nummer und der Datei-Handler auf dem Ort auf der Platte im FAT-Verzeichniseintrag. Dies stellt sicher, dass ESTALE nicht zurückgegeben wird, nachdem eine Datei aus dem Inode-Zwischenspeicher entfernt wurde. Jedoch bedeutet das, dass Aktionen wie Umbenennen, Anlegen und Löschen mit »Unlink« Datei-Handles zur Folge haben könnten, die vorher auf eine Datei, und anschließend auf eine andere Datei zeigen, was potenziell Datenverlust verursachen könnte. Aus diesem Grund hängt die Option das Dateisystem schreibgeschützt ein.
Zwecks Abwärtskompatibilität wird auch »-o nfs« unterstützt, standardmäßig stale_rw.
Wenn Sie das ATTR_RO-Attribut als Schreibschutzmarkierung für das Verzeichnis verwenden wollen, setzen Sie diese Option.
ISO 9660 ist eine Norm, die eine Dateisystemstruktur beschreibt, die auf CD-ROMs verwendet wird (dieser Dateisystemtyp findet sich auch auf einigen DVDs, siehe auch das Dateisystem udf).
Normale iso9660-Dateinamen erscheinen im Format 8.3 (d.h. DOS-typische Einschränkungen bei der Länge der Dateinamen) und zusätzlich sind alle Zeichen groß geschrieben. Außerdem gibt es kein Feld für Dateieigentümer, Schutz, Anzahl der Links, Vorkehrung für blockorientierte/zeichenorientierte Geräte usw.
Rock Ridge ist eine Erweiterung für iso9660, die alle diese UNIX-typischen Funktionsmerkmale bereitstellt. Im Wesentlichen gibt es Erweiterungen für jeden Verzeichniseintrag, die alle zusätzlichen Informationen bereitstellen. Wenn Rock Ridge verwendet wird, ist das Dateisystem nicht mehr von einem normalen UNIX-Dateisystem zu unterscheiden (außer natürlich, dass es schreibgeschützt ist).
Die folgenden Optionen sind die gleichen wie für VFAT. Deren Angabe ergibt nur bei Platten Sinn, die mit den Joliet-Erweiterungen vom Microsoft kodiert sind.
Siehe die Einhängeoptionen für FAT. Wenn das msdos-Dateisystem eine Inkonsistenz erkennt, meldet es einen Fehler und setzt das Dateisystem auf schreibgeschützt. Das Dateisystem kann wieder schreibbar gemacht werden, indem es erneut eingehängt wird.
Wie bei nfs erwartet die ncpfs-Implementation ein binäres Argument (ein struct ncp_mount_data) zum Systemaufruf »mount«. Dieses Argument wird von ncpmount(8) konstruiert, aber die aktuelle Version von mount (2.12) weiß nichts über Ncpfs.
Seit Linux 3.18 implementiert das Überlagerungs-Pseudo-Dateisystem eine vereinigte Einhängung für andere Dateisysteme.
Ein Überlagerungs-Dateisystem kombiniert zwei Dateisysteme - ein oberes und ein unteres Dateisystem. Wenn ein Name in beiden Dateisystemen existiert, ist das Objekt im oberen Dateisystem sichtbar, während das Objekt im unteren Dateisystem entweder verborgen ist oder (bei Verzeichnissen) mit dem oberen Objekt zusammengeführt wird.
Das untere Dateisystem kann jedes von Linux unterstützte Dateisystem sein; es muss nicht schreibbar sein. Das untere Dateisystem kann sogar ein weiteres Überlagerungs-Dateisystem sein. Das obere Dateisystem wird normalerweise schreibbar sein, und falls das so ist, muss es die Erzeugung von erweiterten Attributen der Form »trusted.*« unterstützen und einen gültigen d_type in readdir-Antworten bereitstellen, daher ist NFS nicht geeignet.
Eine schreibgeschützte Überlagerung zweier schreibgeschützter Dateisysteme kann jeden Dateisystemtyp verwenden. Die Optionen lowerdir und upperdir werden folgendermaßen in einem zusammengeführten Verzeichnis kombiniert:
mount -t overlay overlay \ -olowerdir=/lower,upperdir=/upper,workdir=/work /merged
Reiserfs ist ein Journaling-Dateisystem.
UBIFS ist ein Dateisystem für Flash-Speicher, das auf UBI-Datenträgern arbeitet. Beachten Sie, dass atime nicht unterstützt wird und immer abgeschaltet ist.
UDF ist ein von OSTA, der »Optical Storage Technology Association« definiertes »Universal Disk Format«-Dateisystem. Es wird oft für DVD-ROMs verwendet, häufig in der Form eines hybriden UDF/ISO-9660-Dateisystems. Es ist jedoch auch für sich allein perfekt auf Plattenlaufwerken, Flash-Speichern und anderen blockorientierten Geräten nutzbar. Siehe auch iso9660.
Für weitere Details siehe die Handbuchseite zu mkudffs(8) 2.0+, Abschnitte COMPATIBILITY und BLOCK SIZE.
Siehe die Einhängeoptionen für MSDOS. Die Option dotsOK wird durch umsdos explizit unwirksam.
Zuerst werden die Einhängeoptionen für fat berücksichtigt. Die Option dotsOK wird bei vfat explizit unwirksam. Weiterhin gibt es
Ein weiterer Typ ist das Einhängen per Loop-Gerät. Zum Beispiel richtet der Befehl
mount /tmp/disk.img /mnt -t vfat -o loop=/dev/loop3
Wenn kein Loop-Gerät explizit angegeben ist (sondern nur eine Option -o loop), dann wird mount versuchen, ungenutzte Loop-Geräte zu finden und diese zu verwenden, zum Beispiel
mount /tmp/disk.img /mnt -o loop
mount /tmp/disk.img /mnt
mount -t ext4 /tmp/disk.img /mnt
Seit Linux 2.6.25 wird die automatische Zerstörung von Loop-Geräten unterstützt, was bedeutet, dass jedes von mount zugewiesene Loop-Gerät unabhängig von der Datei /etc/mtab von umount freigegeben wird.
Sie können ein Loop-Gerät auch manuell mittels losetup -d oder umount -d freigeben.
Seit Util-linux 2.29 wird das Loop-Gerät von Mount wiederverwendet, anstatt ein neues Gerät zu initialisieren, sofern die gleiche zugrundeliegende Datei bereits mit dem gleichen Versatz und der gleichen Größenbeschränkung für ein Loop-Gerät verwendet wird. Dies ist notwendig, um eine Beschädigung des Dateisystems zu vermeiden.
mount hat die folgenden Rückgabecodes (die Bits können mit ODER verknüpft werden):
Der Befehl mount -a gibt 0 (alles erfolgreich), 32 (alles fehlgeschlagen) oder 64 (teils fehlgeschlagen, teils erfolgreich) zurück.
Die Syntax der externen Einhänge-Hilfsprogramme ist:
/sbin/mount.Suffix Spez-Verzeichnis [-sfnv]
[-N Namensraum] [-o Optionen] [-t
Typ.Subtyp]
wobei Suffix den Dateisystemtyp bezeichnet und die Optionen -sfnvoN die gleiche Bedeutung wie bei normalen Einhängeoptionen haben. Die Option -t wird für Dateisysteme verwendet, die Subtypen unterstützen (zum Beispiel /sbin/mount.fuse -t fuse.sshfs).
Der Befehl mount übergibt die Einhängeoptionen unbindable, runbindable, private, rprivate, slave, rslave, shared, rshared, auto, noauto, comment, x-*, loop, offset und sizelimit nicht an die Hilfsprogramme mount.<suffix>. Alle anderen Optionen werden in einer durch Kommata getrennten Liste als Argument der Option -o verwendet.
Siehe auch den Abschnitt »Die Dateien /etc/fstab, /etc/mtab und /proc/mounts« oben.
mount(2), umount(2), umount(8), fstab(5), nfs(5), xfs(5), e2label(8), findmnt(8), losetup(8), mke2fs(8), mountd(8), nfsd(8), swapon(8), tune2fs(8), xfs_admin(8)
Ein beschädigtes Dateisystem könnte einen Absturz verursachen.
Einige Linux-Dateisysteme unterstützen weder -o sync noch -o dirsync (die Dateisysteme Ext2, Ext3, FAT und VFAT unterstützen synchrone Aktualisierungen - wie BSD - wenn sie mit der Option sync eingehängt werden).
Die Option -o remount könnte nicht in der Lage sein, Einhängeparameter zu ändern (alle ext2fs-spezifischen Parameter außer sb können durch erneutes Einhängen geändert werden, beispielsweise können Sie gid oder umask für fatfs nicht ändern).
Es ist möglich, dass die Dateien /etc/mtab und /proc/mounts auf Systemen mit einer regulären Mtab-Datei nicht übereinstimmen. Die erste Datei basiert lediglich auf den Befehlszeilenoptionen von mount, während der Inhalt der zweiten Datei auch vom Kernel und weiteren Einstellungen abhängt (zum Beispiel auf einem fernen NFS-Server – in bestimmten Fällen könnte der Mount-Befehl unzuverlässige Informationen zu einem NFS-Einhängepunkt liefern, während die Datei /proc/mounts üblicherweise zuverlässigere Informationen enthält). Dies ist ein weiterer Grund, die Mtab-Datei durch einen Symlink auf die Datei /proc/mounts zu ersetzen.
Die auf Dateideskriptoren basierende Überprüfung von Dateien auf NFS-Dateisystemen (d.h. die Funktionsfamilien fcntl und ioctl) könnte zu inkonsistenten Ergebnissen führen, weil im Kernel eine Konsistenzprüfung selbst dann fehlt, wenn »noac« verwendet wird.
Die Option loop könnte mit den Optionen offset oder sizelimit mit älteren Kerneln fehlschlagen, wenn der Befehl mount nicht sicherstellen kann, dass die Größe des blockorientierten Geräts nicht wie angefordert eingerichtet wurde. Diese Situation kann umgangen werden, indem Sie den Befehl losetup manuell aufrufen, bevor Sie mount mit dem konfigurierten Loop-Gerät aufrufen.
Ein mount existierte in Version 5 von AT&T UNIX.
Karel Zak <kzak@redhat.com>
Der Befehl »mount« ist Teil des Pakets util-linux, welches auf https://www.kernel.org/pub/linux/utils/util-linux/ verfügbar ist.
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.
August 2015 | util-linux |