mount

Autres langues

Langue: de

Version: 16. Januar 1996 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

BEZEICHNUNG

mount, umount - Aufsetzen und Entfernen von Dateisystemen.

SYNTAX

#include <sys/mount.h>
#include <linux/fs.h>

int mount(const char *specialfile, const char * dir , const char * filesystemtype, unsigned long rwflag , const void * data);

int umount(const char *specialfile);

int umount(const char *dir);

BESCHREIBUNG

mount setzt das durch specialfile angegebene Dateisystem (welches oft eine Geräte-Datei ist), auf das Verzeichnis dir auf.

umount entfernt die Dateisystemanbindung specialfile oder dir.

Nur der Superuser darf Dateisysteme aufsetzen und entfernen.

Das Argument filesystemtype darf nur einen der Werte aus /proc/filesystems (wie "minix", "ext2", "msdos", "proc", "nfs", "iso9660" etc.) annehmen.

Das Argument rwflag hat die magic number 0xC0ED in den oberen 16 bit und diverse Mountflags (wie definiert in <linux/fs.h>) in den unteren 16 bit:


#define MS_RDONLY    1 /* setze read-only auf */

#define MS_NOSUID    2 /* ignoriere suid- und sgid-bits */

#define MS_NODEV     4 /* verbiete Zugriff auf Gerätedateien */

#define MS_NOEXEC    8 /* verbiete Programmausführung */

#define MS_SYNC     16 /* Schreibzugriffe werden sofort auf das Medium geschrieben */

#define MS_REMOUNT  32 /* verändere Flags eines aufgesetzen Dateisystems */

#define MS_MGC_VAL 0xC0ED0000

Wenn die magic number nicht vorhanden ist werden die letzten zwei Argumente nicht benutzt.

Das Argument data wird von den verschiedenen Dateisystemen interpretiert.

RÜCKGABEWERT

Bei Erfolg wird Null zurückgegeben. Bei Fehler wird -1 zurückgegeben und errno entsprechend gesetzt.

FEHLER

Die Fehlerwerte unten resultieren aus Dateisystemunabhängigen Fehlern. Jeder Dateisystemtyp kann seine eigenen speziellen Fehlerwerter und seine eigenes spezielles verhalten aufweisen. Siehe Kernel-Quellcode für Details.
EPERM
The Anwender ist nicht der Superuser.
ENODEV
Filesystemtype wird nicht vom Kernel unterstützt.
ENOTBLK
Specialfile ist kein block device (wenn ein device erforderlich war).
EBUSY
Specialfile ist bereits aufgesetzt. Oder es kann kann nicht auf read-only umgesetzt werden, weil noch Dateien darauf für Schreibzugriff geöffnet sind. Oder es kann nicht nach dir aufgesetzt werden, weil dir es besetzt ist (es ist Arbeitsverzeichnis eines Prozesses, Aufsatzpunkt eines anderen Gerätes, hat geöffnete Dateien, etc.).
EINVAL
Specialfile hat einen ungültigen Superblock. Oder es wurde eine Umsetzung versucht, während specialfile noch gar nicht aufgesetzt war auf dir. Oder es wurde ein Absetzen versucht, wobei dir gar nicht aufgesetzt war.
EFAULT
Eines der Zeiger-Argumente zeigt auf Speicherbereich außerhalb des Adressraums des Benutzers.
ENOMEM
Der Kernel konnte keine freie Seite belegen um Dateinamen oder Daten darin abzuspeichern.
ENAMETOOLONG
Ein Pfadname war länger als MAXPATHLEN.
ENOENT
Ein Pfadname war leer oder hatte eine nicht existierende Komponente.
ENOTDIR
Das zweite Argument oder ein prefix des ersten Arguments ist kein Verzeichnis.
EACCES
Eine Komponente eines Pfades war nicht durchsuchbar.
Oder es wurde versucht ein read-only-Dateisystem ohne Angabe des MS_RDONLY-flag aufzusetzen.
Oder das block device Specialfile befindet sich auf einem Dateisystem, welches mit der Option MS_NODEV aufgesetzt ist.
ENXIO
Die major number des block device specialfile ist außerhalb des gültigen Bereichs.
EMFILE
(Falls kein block device erforderlich ist:) Die Tabelle der dummy devices ist voll.

KONFORM ZU

Diese Funktionen sind ziemlich Linux-spezifisch.

SIEHE AUCH

mount(8), umount(8).