.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1993 Rickard E. Faith .\" and Copyright (C) 1994 Andries E. Brouwer .\" and Copyright (C) 2002, 2005, 2016 Michael Kerrisk .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" Modified 1996-11-04 by Eric S. Raymond .\" Modified 2001-10-13 by Michael Kerrisk .\" Added note on historical behavior of MS_NOSUID .\" Modified 2002-05-16 by Michael Kerrisk .\" Extensive changes and additions .\" Modified 2002-05-27 by aeb .\" Modified 2002-06-11 by Michael Kerrisk .\" Enhanced descriptions of MS_MOVE, MS_BIND, and MS_REMOUNT .\" Modified 2004-06-17 by Michael Kerrisk .\" 2005-05-18, mtk, Added MNT_EXPIRE, plus a few other tidy-ups. .\" 2008-10-06, mtk: move umount*() material into separate umount.2 page. .\" 2008-10-06, mtk: Add discussion of namespaces. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH MOUNT 2 "2. August 2019" Linux Linux\-Programmierhandbuch .SH BEZEICHNUNG mount \- Dateisystem einhängen .SH ÜBERSICHT .nf \fB#include \fP .PP \fBint mount(const char *\fP\fIQuelle\fP\fB, const char *\fP\fIZiel\fP\fB,\fP \fB const char *\fP\fIDateisystemtyp\fP\fB,\fP \fB unsigned long \fP\fIEinhängeschalter\fP\fB,\fP \fB const void *\fP\fIDaten\fP\fB);\fP .fi .SH BESCHREIBUNG \fBmount\fP() hängt das als \fIQuelle\fP angegebene Dateisystem (was oft ein Pfadname, der sich auf ein Gerät bezieht, ist; es kann aber auch der Pfadname eines Verzeichnisses oder einer Datei oder eine Platzhalterzeichenkette sein) an dem durch den Pfadnamen in \fIZiel\fP angegebenen Ort (einem Verzeichnis oder einer Datei) ein. .PP Zum Einhängen von Dateisystemen sind geeignete Rechte erforderlich (Linux: \fBCAP_SYS_ADMIN\fP\-Capability). .PP Die Werte für das Argument \fIdateisystemtyp\fP, die der Kernel unterstützt, werden in \fI/proc/filesystems\fP aufgelistet (z.B. »btrfs«, »ext4«, »jfs«, »xfs«, »vfat«, »fuse«, »tmpfs«, »cgroup«, »proc«, »mqueue«, »nfs«, »cifs«, »iso9660« ). Weitere Typen könnten verfügbar werden, wenn geeignete Module geladen sind. .PP Das Argument \fIDaten\fP wird von den verschiedenen Dateisystemen interpretiert. Typischerweise ist es eine Zeichenkette aus Optionen, die durch Kommata getrennt sind und die von diesem Dateisystem verstanden werden. Lesen Sie \fBmount\fP(8), um weitere Einzelheiten über die verfügbaren Optionen für jeden Dateisystemtyp zu erfahren. .PP Ein Aufruf von \fBmount\fP() führt eine aus einer Reihe von allgemeinen Aktionsarten durch, abhängig von den in \fIEinhängeschalter\fP angegebenen Bits. Die Wahl der auszuführenden Aktion wird durch Testen der in \fIEinhängeschalter\fP gesetzten Bits bestimmt, wobei die Tests in der hier aufgeführten Reihenfolge abgearbeitet werden: .IP * 3 Eine bestehende Einhängung neu einhängen: \fIEinhängeschalter\fP enthält \fBMS_REMOUNT\fP. .IP * Eine Bind\-Einhängung erstellen: \fIEinhängeschalter\fP enthält \fBMS_BIND\fP. .IP * Den Ausbreitungstyp einer bestehenden Einhängung ändern: \fIEinhängeschalter\fP enthält einen aus \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP, \fBMS_UNBINDABLE\fP. .IP * Eine bestehende Einhängung an einen neuen Ort verschieben: \fIEinhängeschalter\fP enthält \fBMS_MOVE\fP. .IP * Eine neue Einhängung erstellen: \fIEinhängeschalter\fP enthält keinen der obigen Schalter. .PP .\" Jede dieser Aktionen wird später auf dieser Seite genauer beschrieben. Wie weiter unten beschrieben ist, können weitere Schalter in \fIEinhängeschalter\fP angegeben werden, um das Verhalten von \fBmount\fP() zu verändern. .SS "Zusätzliche Einhängeschalter" .\" .\" FIXME 2.6.25 Added MS_I_VERSION, which needs to be documented. .\" commit 7a224228ed79d587ece2304869000aad1b8e97dd .\" (This is a per-superblock flag) .\" Die folgende Liste beschreibt zusätzliche Schalter, die in \fIEinhängeschalter\fP angegeben werden können. Beachten Sie, dass einige Aktionstypen einige oder alle dieser Schalter ignorieren, wie dies später auf dieser Seite beschrieben ist. .TP \fBMS_DIRSYNC\fP (seit Linux 2.5.19) Verzeichniswechsel auf diesem Dateisystem synchron ausführen. (Diese Eigenschaft kann für einzelne Verzeichnisse oder Unterverzeichnisse durch Benutzung von \fBchattr\fP(1) erreicht werden.) .TP \fBMS_LAZYTIME\fP (seit Linux 4.0) .\" commit 0ae45f63d4ef8d8eeec49c7d8b44a1775fff13e8 .\" commit fe032c422c5ba562ba9c2d316f55e258e03259c6 .\" commit a26f49926da938f47561f386be56a83dd37a496d Reduziert die Aktualiserung der Inode\-Zeitstempel (Atime, Mtime, Ctime) auf der Platte, indem diese Änderungen nur im Speicher verwaltet werden. Die Zeitstempel auf der Platte werden nur aktualisiert, wenn: .RS .IP (a) 5 der Inode aus einem anderen Grund (neben den Dateizeitstempeln) aktualisiert werden muss; .IP (b) die Anwendung \fBfsync\fP(2), \fBsyncfs\fP(2) oder \fBsync\fP(2) einsetzt; .IP (c) ein wiederhergestellter Inode aus dem Speicher entfernt wird; oder .IP (d) mehr als 24 Stunden vergangen sind, seitdem der Inode auf Platte geschrieben wurde. .RE .IP Diese Einhängeoption reduziert die Schreibaktionen für die Aktualisierung der Inode\-Zeitstempel signifikant, besonders für Mtime und Atime. Im Falle eines Systemabsturzes könnten die Atime\- und Mtime\-Felder allerdings bis zu 24 Stunden veraltet sein. .IP Zufälliges Schreiben in vorreservierte Dateien sowie andere Fälle, in denen die Einhängeoption \fBMS_STRICTATIME\fP auch aktiviert ist, sind Beispiele für Betriebsbelastungen, bei denen diese Option deutlichen Vorteil bringen könnte. (Der Vorteil der Kombination von \fBMS_STRICTATIME\fP und \fBMS_LAZYTIME\fP besteht darin, dass \fBstat\fP(2) die korrekt aktualisierte Atime zurückliefern wird, aber Atime\-Aktualisierungen nur in den oben aufgeführten Fällen auf Platte rausgeschrieben werden.) .TP \fBMS_MANDLOCK\fP .\" commit 95ace75414f312f9a7b93d873f386987b92a5301 Zwingendes Sperren von Dateien auf diesem Dateisystem erlauben. (Zwingendes Sperren muss immer noch für jede Datei eingeschaltet werden, wie es in \fBfcntl\fP(2) beschrieben ist.) Seit Linux 4.5 benötigt diese Einhängeoption die Capability \fBCAP_SYS_ADMIN\fP und einen Kernel, der mit der Option \fBCONFIG_MANDATORY_FILE_LOCKING\fP konfiguriert wurde. .TP \fBMS_NOATIME\fP Nicht die Zugriffszeiten für (alle Typen von) Dateien auf diesem Dateisystem aktualisieren. .TP \fBMS_NODEV\fP Keinen Zugriff auf Geräte (Spezialdateien) auf diesem Dateisystem erlauben. .TP \fBMS_NODIRATIME\fP Nicht die Zugriffszeiten für Verzeichnisse auf diesem Dateisystem aktualisieren. Dieser Schalter stellt eine Untermenge der Funktionalität von \fBMS_NOATIME\fP bereit; sprich \fBMS_NOATIME\fP impliziert \fBMS_NODIRATIME\fP. .TP \fBMS_NOEXEC\fP .\" (Possibly useful for a filesystem that contains non-Linux executables. .\" Often used as a security feature, e.g., to make sure that restricted .\" users cannot execute files uploaded using ftp or so.) Nicht erlauben, dass Programme von diesem Dateisystem ausgeführt werden. .TP \fBMS_NOSUID\fP .\" (This is a security feature to prevent users executing set-user-ID and .\" set-group-ID programs from removable disk devices.) respektiert die Bits oder Datei\-Capabilities »set\-user\-ID« und »set\-group\-ID« bei der Ausführung von Programmen von diesem Dateisystem nicht. .TP \fBMS_RDONLY\fP Dateisystem nur zum Lesen einhängen. .TP \fBMS_REC\fP (seit Linux 2.4.11) Wird zusammen mit \fBMS_BIND\fP verwandt, um eine rekursive Bind\-Einhängung zu erstellen und im Zusammenhang mit Ausbreitungstypschaltern, um rekursiv den Ausbreitungstyp aller Einhängungen in einem Unterbaum zu ändern. Details sind weiter unten beschrieben. .TP \fBMS_RELATIME\fP (seit Linux 2.6.20) .\" Matthew Garrett notes in the patch that added this behavior .\" that this lets utilities such as tmpreaper (which deletes .\" files based on last access time) work correctly. Wenn auf eine Datei auf diesem Dateisystem zugegriffen wird, nur die letzte Zugriffzeit der Datei (atime) aktualisieren, falls der aktuelle Wert von »atime« kleiner oder gleich der letzten Änderungszeit der Datei (mtime) oder der Zeit der letzten Statusänderung (ctime) ist. Diese Option ist für Programme wie \fBmutt\fP(1) sinnvoll, die wissen müssen, ob eine Datei seit der letzten Änderung gelesen wurde. Seit Linux 2.6.30 verhält sich der Kernel wie es dieser Schalter vorgibt (falls nicht \fBMS_NOATIME\fP angegeben wurde) und der Schalter \fBMS_STRICTATIME\fP wird benötigt, um traditionelle Semantiken zu erhalten. Zusätzlich wird seit Linux 2.6.30 die letzte Zugriffszeit der Datei immer aktualisiert, wenn sie älter als einen Tag ist. .TP \fBMS_SILENT\fP (seit Linux 2.6.17) Die Anzeige bestimmter Warnungen (\fIprintk\fP()) im Kernel\-Protokoll unterdrücken. Dieser Schalter ersetzt den falsch benannten und veralteten Schalter \fBMS_VERBOSE\fP (verfügbar seit Linux 2.4.12), der die gleiche Bedeutung hat. .TP \fBMS_STRICTATIME\fP (seit Linux 2.6.30) Die letzte Zugriffszeit (atime) immer aktualisieren, wenn auf Dateien auf diesem Dateisystem zugegriffen wird (dies war das Standardverhalten vor Linux 2.6.30). Die Angabe dieses Schalters überschreibt den Effekt der Schalter \fBMS_NOATIME\fP und \fBMS_RELATIME\fP. .TP \fBMS_SYNCHRONOUS\fP Schreiben auf diesem Dateisystem synchronisieren (als ob der Schalter \fBO_SYNC\fP für \fBopen\fP(2) für alle offenen Dateien auf diesem Dateisystem angegeben worden wäre). .PP Seit Linux 2.4 können einige der obigen Schalter pro Einhängepunkt gesetzt werden, während andere für den Superblock des eingehängten Dateisystems gelten, was bedeutet, dass alle Einhängungen des gleichen Dateisystems diese Schalter gemeinsam benutzen (vorher waren alle Schalter superblockabhängig). .PP Die einhängepunktabhängigen Schalter haben folgende Bedeutung: .IP * 3 Seit Linux 2.4: Die Schalter \fBMS_NODEV\fP, \fBMS_NOEXEC\fP und \fBMS_NOSUID\fP sind pro Einhängepunkt setzbar. .IP * Seit Linux 2.6.16: \fBMS_NOATIME\fP und \fBMS_NODIRATIME\fP. .IP * Seit Linux 2.6.20: \fBMS_RELATIME\fP. .PP .\" And MS_I_VERSION? Die folgenden Schalter sind pro Superblock: \fBMS_DIRSYNC\fP, \fBMS_LAZYTIME\fP, \fBMS_MANDLOCK\fP, \fBMS_SILENT\fP und \fBMS_SYNCHRONOUS\fP. Die anfänglichen Einstellungen dieser Schalter werden bei der ersten Einhängung des Dateisystems bestimmt und werden von allen nachfolgenden Einhängungen des gleichen Dateisystems mitbenutzt. Als Folge davon können die Einstellungen dieser Schalter mittels einer Neueinhängungsaktion (siehe unten) geändert werden. Solche Änderungen werden auf allen Einhängepunkten, die diesem Dateisystem zugeordnet sind, sichtbar. .PP .\" Seit Linux 2.6.16 kann \fBMS_RDONLY\fP sowohl auf einer einhängepunktabhängigen Basis als auch auf den unterliegenden Dateisystemsuperblock (zurück)gesetzt werden. Das eingehängte Dateisystem wird nur schreibbar sein, falls weder das Dateisystem noch der Einhängepunkt als nur\-lesbar gekennzeichnet sind. .SS "Eine existierende Einhängung erneut einhängen" Die existierende Einhängung kann erneut eingehängt werden, indem \fBMS_REMOUNT\fP in den \fIEinhängeschaltern\fP angegeben wird. Dies erlaubt Ihnen, die \fIEinhängeschalter\fP und \fIDaten\fP von einer existierenden Einhängung zu ändern, ohne das Dateisystem aus\- und wieder einzuhängen. \fIZiel\fP sollte der gleiche Wert sein, wie beim anfänglichen Aufruf von \fBmount\fP() angegeben wurde. .PP Die Argumente \fIQuelle\fP und \fIDateisystemtyp\fP werden ignoriert. .PP Die Argumente \fIEinhängeschalter\fP und \fIDaten\fP sollten den im originalen \fBmount\fP()\-Aufruf verwendeten Werten entsprechen, außer für jene Parameter, die bewusst geändert werden. .PP .\" FIXME .\" MS_LAZYTIME seems to be available only on a few filesystems, .\" and on ext4, it seems (from experiment that this flag .\" can only be enabled (but not disabled) on a remount. .\" The following code in ext4_remount() (kernel 4.17) seems to .\" confirm this: .\" .\" if (*flags & SB_LAZYTIME) .\" sb->s_flags |= SB_LAZYTIME; .\" See the definition of MS_RMT_MASK in include/uapi/linux/fs.h, .\" which excludes MS_DIRSYNC and MS_SILENT, although SB_DIRSYNC .\" and SB_SILENT are split out as per-superblock flags in do_mount() .\" (Linux 4.17 source code) Die folgenden \fIEinhängeschalter\fP können geändert werden: \fBMS_LAZYTIME\fP, \fBMS_MANDLOCK\fP, \fBMS_NOATIME\fP, \fBMS_NODEV\fP, \fBMS_NODIRATIME\fP, \fBMS_NOEXEC\fP, \fBMS_NOSUID\fP, \fBMS_RELATIME\fP, \fBMS_RDONLY\fP, \fBMS_STRICTATIME\fP (der bewirkt, dass die Schalter \fBMS_NOATIME\fP und \fBMS_RELATIME\fP bereinigt werden) und \fBMS_SYNCHRONOUS\fP. Versuche, die Einstellung der Schalter \fBMS_DIRSYNC\fP und \fBMS_SILENT\fP während einer wiederholten Einhängung zu ändern, werden ohne Rückmeldung ignoriert. Beachten Sie, dass Änderungen der superblockbezogenen Schalter über alle Einhängepunkte der zugeordneten Dateisysteme hinweg sichtbar sind (da die superblockbezogenen Schalter von allen Einhängepunkten gemeinsam benutzt werden). .PP .\" commit ffbc6f0ead47fa5a1dc9642b0331cb75c20a640e Seit Linux 3.17 hält die Neueinhänge\-Aktion die bestehenden Werte der Schalter \fBMS_NOATIME\fP, \fBMS_NODIRATIME\fP, \fBMS_RELATIME\fP und \fBMS_STRICTATIME\fP bei, falls keiner davon explizit angegeben wurde, statt als Vorgabe \fBMS_RELATIME\fP zu verwenden. .PP .\" See https://lwn.net/Articles/281157/ Seit Linux 2.6.26 kann der Schalter \fBMS_REMOUNT\fP mit \fBMS_BIND\fP verwandt werden, um nur die einhängepunktabhängigen Schalter zu verändern. Dies ist besonders nützlich, um den »nur\-lesbar«\-Schalter auf einem Einhängepunkt (zurück\-)zusetzen, ohne das unterliegende Dateisystem zu verändern. Wird \fIEinhängeschalter\fP als .PP .in +4n .EX MS_REMOUNT | MS_BIND | MS_RDONLY .EE .in .PP .\" angegeben, dann wird der Zugriff über diesen Einhängepunkt nur\-lesbar, ohne andere Einhängepunkte zu beeinflussen. .SS "Eine Bind\-Einhängung erstellen" .\" since 2.4.0-test9 Falls \fIEinhängeschalter\fP \fBMS_BIND\fP (verfügbar seit Linux 2.4) enthält, dann wird eine Bind\-Einhängung durchgeführt. Eine Bind\-Einhängung macht eine Datei oder ein Verzeichnisunterbaum an einem anderen Punkt innerhalb der einzelnen Verzeichnishierarchie sichtbar. Bind\-Einhängungen können Dateisystemgrenzen überwinden und sich über \fBchroot\fP(2)\-Gefängnisse hinweg erstrecken. .PP Die Argumente \fIDateisystemtyp\fP und \fIDaten\fP werden ignoriert. .PP Die verbleibenden Bits (außer das unten beschriebene \fBMS_REC\fP) im Argument \fIEinhängeschalter\fP werden auch ignoriert. (Die Bind\-Einhängung hat die gleichen Einhängeoptionen wie der unterliegende Einhängepunkt.) Lesen Sie allerdings die Diskussion zum erneuten Einhängen weiter oben für eine Methode, wie Sie eine bestehende Bind\-Einhängung auf nur\-lesend ändern. .PP .\" Wenn ein Verzeichnis bind\-eingehängt ist, ist standardmäßig nur dieses Verzeichnis eingehängt; falls es Untereinhängungen unter dem Verzeichnisbaum gibt, sind diese nicht bind\-eingehängt. Falls auch der Schalter \fBMS_REC\fP angegeben ist, dann wird eine rekursive Bind\-Einhängung durchgeführt: Alle Untereinhängungen unter dem Unterbaum \fIQuelle\fP (außer nicht bind\-einhängbaren Einhängungen) werden auch an dem entsprechenden Ort im \fIZiel\fP\-Unterbaum bind\-eingehängt. .SS "Den Ausbreitungstyp einer bestehenden Einhängung ändern" Falls \fIEinhängeschalter\fP einen aus \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP, \fBMS_UNBINDABLE\fP (alle seit Linux 2.6.15 verfügbar) enthält, dann wird der Ausbreitungstyp einer bestehenden Einhängung geändert. Falls mehr als einer dieser Schalter angegeben wird, entsteht ein Fehler. .PP Die einzigen anderen Schalter, die beim Ändern des Ausbreitungstyps verwandt werden können, sind \fBMS_REC\fP (nachfolgend beschrieben) und \fBMS_SILENT\fP (der stillschweigend ignoriert wird). .PP Die Argumente \fIQuelle\fP, \fIDateisystemtyp\fP und \fIDaten\fP werden ignoriert. .PP Die Ausbreitungstypschalter haben folgende Bedeutung: .TP \fBMS_SHARED\fP Damit wird dies ein Mehrfacheinhängepunkt. Ein\- und Aushängeereignisse, die direkt unter diesem Einhängepunkt sind, werden sich zu allen Einhängepunkten, die Mitglieder der Peer\-Gruppe dieser Einhängung sind. Ausbreitung bedeutet hier, dass die gleiche Ein\- oder Aushängung automatisch unter allen anderen Einhängepunkten in der Peer\-Gruppe erfolgen wird. Umgekehrt werden Ein\- und Aushängeereignisse, die unter den Peer\-Einhängepunkten stattfinden, sich zu diesem Einhängepunkt ausbreiten. .TP \fBMS_PRIVATE\fP Dieser Einhängepunkt wird privat. Ein\- und Aushängeereignisse breiten sich nicht in oder aus diesem Einhängepunkt heraus aus. .TP \fBMS_SLAVE\fP Wenn dies ein gemeinsamer Einhängepunkt ist, der ein Mitglied einer Peer\-Gruppe, die andere Mitglieder enthält, ist, dann wird er in eine Slave\-Einhängung umgewandelt. Falls dies ein gemeinsamer Einhängepunkt ist, der ein Mitglied einer Peer\-Gruppe, die keine anderen Mitglieder enthält, ist, dann wird er in eine private Einhängung umgewandelt. Andernfalls bleibt der Ausbreitungstyp des Einhängepunkts unverändert. .IP Wenn ein Einhängepunkt ein Slave ist, breiten sich Ein\- und Aushängeereignisse in diesen Einhängepunkt von der gemeinsamen (Master\-)Peer\-Gruppe aus, bei der er früher ein Mitglied war. Ein\- und Aushängeereignisse unterhalb dieses Einhängepunktes breiten sich nicht zu einem Peer aus. .IP Ein Einhängepunkt kann ein Slave einer anderen Peer\-Gruppe sein und gleichzeitig die Ein\- und Aushängeereignisse gemeinsam mit einer Peer\-Gruppe nutzen, bei der er Mitglied ist. .TP \fBMS_UNBINDABLE\fP Diesen Einhängepunkt nicht bind\-einhängbar machen. Dies ähnelt einer privaten Einhängung, zusätzlich kann diese Einhängung nicht bind\-eingehängt werden. Wenn eine rekursive Bind\-Einhängung (\fBmount\fP() mit den Schaltern \fBMS_BIND\fP und \fBMS_REC\fP) auf einem Verzeichnisunterbaum durchgeführt wird, werden alle nicht\-bind\-einhängbaren Einhängepunkte innerhalb des Unterbaums automatisch abgeschnitten (d.h. nicht reproduziert), wenn der Unterbaum zum Erstellen des Zielbaumes reproduziert wird. .PP Standardmäßig betrifft die Änderung des Ausbreitungstyps nur den \fIZiel\fP\-Einhängepunkt. Falls auch der Schalter \fBMS_REC\fP in \fIEinhängeschalter\fP angegeben ist, dann wird der Ausbreitungstyp aller Einhängepunkte unter \fIZiel\fP auch geändert. .PP .\" Für weitere Details bezüglich Einhängeausbreitungstypen (einschließlich der neuen Einhängungen zugewiesenen Vorgabeausbreitungstypen) siehe \fBmount_namespaces\fP(7). .SS "Verschieben einer Einhängung" Falls \fIEinhängeschalter\fP den Schalter \fBMS_MOVE\fP enthält (verfügbar seit Linux 2.4.18), dann wird ein Unterbaum verschoben. \fIQuelle\fP gibt einen existierenden Einhängepunkt und \fIZiel\fP den neuen Ort an, zu dem der bestehende Einhängpunkt hin verlegt werden soll. Das Verschieben ist atomar: Das Unterbaum wird zu keinem Zeitpunkt ausgehängt. .PP .\" Die verbliebenen Bits im Argument \fIEinhängeschalter\fP werden ignoriert, wie auch die Argumente \fIDateisystemtyp\fP und \fIDaten\fP. .SS "Erstellung eines neuen Einhängepunktes" Falls kein Schalter aus \fBMS_REMOUNT\fP, \fBMS_BIND\fP, \fBMS_MOVE\fP, \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP und \fBMS_UNBINDABLE\fP in \fIEinhängeschalter\fP angegeben ist, führt \fBmount\fP() seine Vorgabeaktion aus: Erstellung eines neuen Einhängepunktes. \fIQuelle\fP gibt die Quelle für den neuen Einhängepunkt an und \fIZiel\fP gibt das Verzeichnis an, an dem der Einhängepunkt erstellt werden soll. .PP .\" Die Argumente \fIDateisystemtyp\fP und \fIDaten\fP werden eingesetzt und weitere Bits können in \fIEinhängeschalter\fP angegeben werden, um das Verhalten des Aufrufs zu verändern. .SH RÜCKGABEWERT Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird \-1 zurückgegeben und \fIerrno\fP entsprechend gesetzt. .SH FEHLER Die im Folgenden aufgeführten Fehlerwerte resultieren aus vom Dateisystemtyp unabhängigen Fehlern. Jeder Dateisystemtyp kann seine eigenen speziellen Fehler und sein eigenes spezielles Verhalten aufweisen. Lesen Sie den Linux\-Kernel\-Quellcode, um Einzelheiten zu erfahren. .TP \fBEACCES\fP Eine Komponente eines Pfades war nicht durchsuchbar. (Siehe auch \fBpath_resolution\fP(7).) .TP \fBEACCES\fP Es wurde versucht, ein nur\-lesbares Dateisystem einzuhängen, ohne den Schalter \fBMS_RDONLY\fP zu verwenden. .IP Das Dateisystem kann aus verschiedenen Gründen nur lesbar sein. Dazu gehören: es liegt auf einer nur lesbaren optischen Platte, es liegt auf einem Gerät mit einem physischen Schalter, der auf der Einstellung »nur lesbar« steht, die Dateisystemimplementierung wurde ohne Schreibunterstützung kompiliert oder es wurden Fehler erkannt, als das Dateisystem erstmalig eingehängt wurde, so dass es nur lesbar markiert wurde und nicht erneut schreibbar eingehängt werden kann (bis die Fehler behoben wurden). .IP Einige Dateisysteme liefern bei einem Versuch, ein nur lesbares Dateisystem einzuhängen, stattdessen den Fehler \fBEROFS\fP. .TP \fBEACCES\fP .\" mtk: Probably: write permission is required for MS_BIND, with .\" the error EPERM if not present; CAP_DAC_OVERRIDE is required. Das Blockgerät \fIQuelle\fP befindet sich auf einem Dateisystem, das mit der Option \fBMS_NODEV\fP eingehängt wurde. .TP \fBEBUSY\fP Es wurde versucht, eine neue Einhängung auf einen existierenden Einhängepunkt, der in diesem Einhängenamensraum mit den gleichen \fIQuelle\fP und \fIZiel\fP erzeugt worden war, zu stapeln. .TP \fBEBUSY\fP \fIQuelle\fP kann nicht nur\-lesend neu eingehängt werden, da dort immer noch Dateien zum Schreiben offen sind. .TP \fBEFAULT\fP Eines der Zeiger\-Argumente zeigt außerhalb des Adressraums der Benutzer. .TP \fBEINVAL\fP \fIQuelle\fP hat einen ungültigen Superblock. .TP \fBEINVAL\fP Eine Neueinhängungsaktion (\fBMS_REMOUNT\fP) wurde versucht, aber \fIQuelle\fP war nicht bereits auf \fIZiel\fP eingehängt. .TP \fBEINVAL\fP Eine Verschiebeaktion (\fBMS_MOVE\fP) wurde versucht, aber der Einhängebaum unter \fIQuelle\fP enthält nicht bindbare Einhängungen und \fIZiel\fP ist ein Einhängepunkt, der den Ausbreitungstyp \fBMS_SHARED\fP hat. .TP \fBEINVAL\fP Eine Verschiebeaktion (\fBMS_MOVE\fP) wurde versucht, aber die Elterneinhängung von \fIQuelle\fP hat den Ausbreitungstyp \fBMS_SHARED\fP. .TP \fBEINVAL\fP Eine Verschiebeaktion (\fBMS_MOVE\fP) wurde versucht, aber \fIQuelle\fP war kein Einhängepunkt oder war \(aq/\(aq. .TP \fBEINVAL\fP \fImountflags\fP enthält mehr als einen aus \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP und \fBMS_UNBINDABLE\fP. .TP \fBEINVAL\fP \fImountflags\fP enthält \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP oder \fBMS_UNBINDABLE\fP und enthält auch einen von \fBMS_REC\fP oder \fBMS_SILENT\fP verschiedenen Schalter. .TP \fBEINVAL\fP Es wurde versucht, ein nicht\-bind\-einhängbare Einhängung bind\-einzuhängen. .TP \fBEINVAL\fP In einem nicht privilegierten Einhängenamensraum (d.h. einem Einhängenamensraum, der einem Benutzernamensraum gehört, der durch einen nicht privilegierten Benutzer erstellt wurde) wurde eine Bind\-Einhängeaktion (\fBMS_BIND\fP) ohne Angabe von (\fBMS_REC\fP) versucht, womit der Dateisystembaum unterhalb einer der Untereinhängungen des Bind\-eingehängten Verzeichnisses offengelegt worden wäre. .TP \fBELOOP\fP Bei der Auflösung des Pfadnamens wurden zu viele Links gefunden. .TP \fBELOOP\fP Es wurde eine Verschiebeaktion versucht und \fIZiel\fP liegt unterhalb von \fIQuelle\fP. .TP \fBEMFILE\fP (Falls kein blockorientiertes Gerät benötigt wird:) Die Tabelle der Platzhaltergeräte ist voll. .TP \fBENAMETOOLONG\fP Ein Pfadname war länger als \fBMAXPATHLEN\fP. .TP \fBENODEV\fP Der \fIDateisystemtyp\fP ist nicht im Kernel konfiguriert. .TP \fBENOENT\fP Ein Pfadname war leer oder hatte eine nichtvorhandene Komponente. .TP \fBENOMEM\fP Der Kernel konnte keine freie Seite reservieren, um Dateinamen oder Daten hinein zu kopieren. .TP \fBENOTBLK\fP Die \fIQuelle\fP ist kein blockorientiertes Gerät (und ein Gerät war erforderlich). .TP \fBENOTDIR\fP Das \fIZiel\fP oder ein Präfix der \fIQuelle\fP ist kein Verzeichnis. .TP \fBENXIO\fP Die Major\-Nummer des blockorientierten Gerätes \fIQuelle\fP liegt außerhalb des Bereichs. .TP \fBEPERM\fP Der Aufrufende verfügt nicht über die erforderlichen Rechte. .TP \fBEROFS\fP Es wurde versucht, ein nur\-lesbares Dateisystem einzuhängen, ohne den Schalter \fBMS_RDONLY\fP zu verwenden. Siehe \fBEACCES\fP oben. .SH VERSIONEN .\" Die Definitionen von \fBMS_DIRSYNC\fP, \fBMS_MOVE\fP, \fBMS_PRIVATE\fP, \fBMS_REC\fP, \fBMS_RELATIME\fP, \fBMS_SHARED\fP, \fBMS_SLAVE\fP, \fBMS_STRICTATIME\fP und \fBMS_UNBINDABLE\fP wurden in der Version 2.12 in die Glibc\-Header aufgenommen. .SH "KONFORM ZU" Diese Funktion ist Linux\-spezifisch und sollte nicht in Programmen benutzt werden, die portabel gehalten werden sollen. .SH ANMERKUNGEN .\" Multiple mounts on same mount point: since 2.3.99pre7. Seit Linux 2.4 kann ein einzelnes Dateisystem an mehreren Einhängepunkten eingehängt sein und mehrere Einhängungen können auf dem gleichen Einhängepunkt gestapelt werden. .PP Das Argument \fIEinhängeschalter\fP hat die Magische Zahl 0xC0ED (\fBMS_MGC_VAL\fP) in den oberen 16 Bits. (Alle andere in BESCHREIBUNG vorgestellten Schalter liegen in den unteren 16 Bits von \fIEinhängeschalter\fP.). In Kernel\-Versionen vor 2.4 war die Angabe von \fBMS_MGC_VAL\fP notwendig, aber seit Linux 2.4 ist dies nicht mehr notwendig und wird, falls angegeben, ignoriert. .PP Der Originalschalter \fBMS_SYNC\fP wurde in 1.1.69 in \fBMS_SYNCHRONOUS\fP umbenannt, als ein anderer \fBMS_SYNC\fP zu \fI\fP hinzugefügt wurde. .PP .\" The change is in patch-2.4.0-prerelease. .\" Vor Linux 2.4 würde ein Versuch, ein Set\-User\-ID\- oder Set\-Group\-ID\-Programm auf einem Dateisystem auszuführen, das mit \fBMS_NOSUID\fP eingehängt ist, mit \fBEPERM\fP fehlschlagen. Seit Linux 2.4 werden die Bits Set\-User\-ID und Set\-User\-Group\-ID in diesem Fall einfach stillschweigend ignoriert. .SS Einhänge\-Namensräume Seit Kernel 2.4.19 stellt Linux Einhänge\-Namensräume bereit. Ein Einhänge\-Namensraum ist eine Zusammenstellung von eingehängten Dateisystemen, die für einen Prozess sichtbar sind. Einhängepunkt\-Namensräume können (und werden gewöhnlich) gemeinsam von mehreren Prozessen benutzt und Änderungen am Namensraum (d.h. Ein\- und Aushängen) durch einen Prozess sind für alle anderen Prozesse sichtbar, die den gleichen Namensraum mitverwenden. (Die Situation in Linux vor 2.4.19 kann so betrachtet werden, als ob ein einzelner Namensraum von jedem Prozess im System mitbenutzt würde.) .PP Ein Kindprozess, der durch \fBfork\fP(2) erzeugt wurde, nutzt den Einhängenamensraum seines Elternprozesses; der Einhängenamensraum wird über ein \fBexecve\fP(2) beibehalten. .PP Ein Prozess kann einen privat eingehängten Namensraum erhalten, falls er unter Benutzung des Schalters \fBCLONE_NEWNS\fP von \fBclone\fP(2) erstellt wurde. In diesem Fall wird sein neuer Namensraum als eine \fIKopie\fP des Namensraums des Prozesses, der \fBclone\fP(2) aufrief, initialisiert oder er ruft \fBunshare\fP(2) mit dem Schalter \fBCLONE_NEWNS\fP auf, was veranlasst, dass der Einhänge\-Namensraum des Aufrufenden eine private Kopie des Namensraums erhält, der vorher mit anderen Prozessen gemeinsam benutzt wurde, so dass zukünftiges Ein\- und Aushängen durch den Aufrufenden für andere Prozesse unsichtbar ist (außer Kindprozesse, die der Aufrufende hinterher erzeugt) und umgekehrt. .PP .\" Für weitere Details über Einhänge\-Namensräume, siehe \fBmount_namespaces\fP(7). .SS "Elterliche Beziehung zwischen Einhängepunkten" Jeder Einhängepunkt hat einen Eltern\-Einhängepunkt. Die allgemeine elterliche Beziehung aller Einhängepunkte definiert die einzelne Verzeichnishierarchie, wie sie Prozesse innerhalb eines Einhänge\-Namensraums sehen. .PP Der Eltern\-Einhängepunkt eines neuen Einhängepunkts wird definiert, wenn der Einhängepunkt erstellt wird. Üblicherweise ist der Eltern\-Einhängepunkt eines neuen Einhängepunkts der Einhängepunkt des Dateisystems, welches das Verzeichnis oder die Datei enthält, an dem oder der die neue Einhängung geschieht. In dem Fall, in dem der Eltern\-Einhängepunkt einer neuen Einhängung über die oberste Ebene einer existierenden Einhängung gesetzt wird, ist der Eltern\-Einhängepunkt der neuen Einhängung die vorherige Einhängung, die an diesem Ort gesetzt war. .PP .\" Die elterliche Beziehung zwischen Einhängepunkten können Sie in der Datei \fI/proc/[PID]/mountinfo\fP herausfinden (siehe unten). .SS "/proc/[PID]/mounts und /proc/[PID]/mountinfo" Die Linux\-spezifische Datei \fI/proc/[PID]/mounts\fP legt die Liste der Einhängepunkte in dem Einhängenamensraum des Prozesses mit der festgelegten Kennung offen. Die Datei \fI/proc/[PID]/mountinfo\fP legt sogar weitere Informationen über Einhängepunkte offen, einschließlich des Ausbreitungstyps und der Einhängekennungsinformation, die es ermöglichen, die Eltern\-Kind\-Beziehungen zwischen Einhängepunkten zu ermitteln. Siehe \fBproc\fP(5) und \fBmount_namespaces\fP(7) für Details über diese Dateien. .SH "SIEHE AUCH" \fBmountpoint\fP(1), \fBchroot\fP(2), \fBioctl_iflags\fP(2), \fBpivot_root\fP(2), \fBumount\fP(2), \fBmount_namespaces\fP(7), \fBpath_resolution\fP(7), \fBfindmnt\fP(8), \fBlsblk\fP(8), \fBmount\fP(8), \fBumount\fP(8) .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 5.04 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man\-pages/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother , Chris Leick , Mario Blättermann und Helge Kreutzmann erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE 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 die .MT debian-l10n-german@\:lists.\:debian.\:org Mailingliste der Übersetzer .ME .