Provided by:
manpages-es_1.55-8_all 
NOMBRE
mount, umount - monta y desmonta sistemas de ficheros.
SINOPSIS
#include <sys/mount.h>
int mount(const char *fuente, const char *destino, const char *tipo_sf,
unsigned long opciones, const void *datos);
int umount(const char *destino);
int umount2(const char *destino, int opciones);
DESCRIPCIÓN
mount une el sistema de ficheros especificado por fuente (que
frecuentemente es un nombre de dispositivo, pero que puede ser también
un nombre de directorio o un dispositivo virtual) al directorio
especificado por destino.
umount y umount2 eliminan la unión del sistema de ficheros (el que
hay arriba del todo) que se encuentra montado en destino.
Sólo el super-usuario puede montar y desmontar sistemas de ficheros. A
partir de la versión 2.4 de Linux, un mismo sistema de ficheros puede
ser visible en multiples puntos de montaje y se pueden realizar varios
montajes en el mismo punto de montaje, apilando unos sobre otros.
Los valores para el argumento tipo_sf que soporta el núcleo se listan
en el fichero /proc/filesystems (como "minix", "ext2", "msdos", "proc",
"nfs", "iso9660", etc.). Es posible que aparezcan tipos adicionales
cuando se carguen los módulos apropiados.
El argumento opciones puede tener el número mágico 0xC0ED (MS_MGC_VAL)
en los 16 bits más significativos (esto era necesario en las versiones
del núcleo anteriores a la 2.4, pero ya no se necesita y se ignora si
se especifica) y varias opciones de montaje (como las definidas en
<linux/fs.h> para libc4 y libc5 y en <sys/mount.h> para glibc2) en los
16 bits menos significativos:
MS_BIND
(Linux 2.4 y siguientes) Realiza un montaje «de ligadura»
(bind), lo que hace que un subárbol de ficheros o de directorios
sea visible en otro punto dentro de un sistema de ficheros. Los
montajes de ligadura pueden cruzar los límites de los sistemas
de ficheros y atravesar «jaulas» chroot(2). Los argumentos
tipo_sf, opciones y datos se ignoran.
MS_DIRSYNC
(Desde Linux 2.5.19.) Hace que los cambios en los directorios
de este sistema de ficheros sean síncronos. (Esta propiedad la
pueden obtener los directorios o subárboles individuales usando
chattr(8).)
MS_MANDLOCK
Permite bloqueos obligatorios sobre los ficheros de este sistema
de ficheros. (Los bloqueos obligatorios todavía deben
habilitarse fichero a fichero, de la forma que se describe en
fcntl(2).)
MS_MOVE
Mueve un subárbol. fuente especifica un punto de montaje
existente y destino especifica la nueva posición. El movimiento
es atómico: en ningún momento se desmonta el subárbol. Los
argumentos tipo_sf, opciones y datos se ignoran.
MS_NOATIME
No actualiza el tiempo de acceso para los ficheros (de cualquier
tipo) en este sistema de ficheros.
MS_NODEV
No permite el acceso a los dispositivos (ficheros especiales) en
este sistema de ficheros.
MS_NODIRATIME
No actualiza el tiempo de acceso para los directorios en este
sistema de ficheros.
MS_NOEXEC
No permite que los programas se ejecuten desde este sistema de
ficheros.
MS_NOSUID
No hace caso a los bits set-UID y set-GID cuando se ejecutan
programas desde este sistema de ficheros.
MS_RDONLY
Monta el sistema de ficheros para sólo lectura.
MS_REMOUNT
Remonta un montaje existente. Esto le permite cambiar el valor
de opciones y datos de un montaje existente sin tener que
desmontar y remontar el sistema de ficheros. fuente y destino
deben ser los mismos valores que los especificados en la llamada
mount() inicial; tipo_sf se ignora.
MS_SYNCHRONOUS
Hace que las escrituras en este sistema de ficheros sean
síncronos (como si se hubiera especificado la opción O_SYNC en
open(2) para todos los ficheros abiertos en este sistema de
ficheros).
A partir de la versión 2.4 de Linux, las opciones MS_NODEV, MS_NOEXEC y
MS_NOSUID se pueden configurar individualmente para cada punto de
montaje.
El argumento datos es interpretado por los diferentes sistemas de
ficheros. Normalmente es una cadena de opciones separadas por comas que
entiende este sistema de ficheros. Consulte mount(8) para ver más
detalles de las opciones disponibles para cada tipo de sistema de
ficheros.
La versión 2.1.116 de Linux añadió la llamada al sistema umount2() que,
como umount(), desmonta un destino pero permite especificar opciones
adicionales que controlen el comportamiento de la operación:
MNT_FORCE
Fuerza el desmontaje aunque el sistema de ficheros esté ocupado.
(Desde 2.1.116. Sólo para montajes NFS.)
MNT_DETACH
Realiza un desmontaje «perezoso»: hace que el punto de montaje
deje de estar disponible para nuevos accesos y realmente realiza
el desmontaje cuando el punto de montaje deja de estar ocupado.
(Desde 2.4.11.)
VALOR DEVUELTO
En caso de éxito se devuelve 0. En caso de error, -1, y se da a errno
un valor apropiado.
ERRORES
Los valores de error dados más abajo son independientes del tipo de
sistema de ficheros. Cada tipo de sistemas de ficheros puede tener sus
propios errores especiales y comportamiento. Consulte los fuentes del
núcleo para los detalles.
EPERM El usuario no es el super-usuario.
ENODEV tipo_sf no configurado en el núcleo.
ENOTBLK
fuente no es un dispositivo de bloques (y se necesitaba un
dispositivo).
EBUSY fuente ya está montado. O no puede remontarse para lectura
exclusiva, porque ya contiene ficheros abiertos para escritura.
O no puede montarse en destino porque destino ya está ocupado
(es el directorio de trabajo de alguna tarea, el punto de
montaje de otro dispositivo, tiene ficheros abiertos, etc.). O
no puede desmontarse porque está ocupado.
EINVAL fuente tiene un superbloque inválido. O se ha intentado volver
a montar, pero fuente no estaba ya montado en destino. O se ha
intentando mover fuente cuando ésta no es un punto de montaje o
es ’/’. O se ha intentado desmontar, pero destino no era un
punto de montaje.
ENOTDIR
El segundo argumento, o un prefijo del primero, no es un
directorio.
EFAULT Uno de los argumentos de tipo puntero apunta fuera del espacio
de direcciones de usuario.
ENOMEM El núcleo no pudo obtener una página libre para copiar en ella
nombres de ficheros o datos.
ENAMETOOLONG
Un nombre de ruta era más largo que MAXPATHLEN.
ENOENT Un nombre de camino estaba vacío o tenía un componente
inexistente.
ELOOP Se han encontrado demasiados enlaces durante la resolución de la
ruta. O se ha intentado un movimiento cuando destino es un
descendiente de fuente.
EACCES No se pudo acceder a un componente de una ruta.
O se intentó montar un sistema de ficheros para lectura
exclusiva sin dar la opción MS_RDONLY.
O el dispositivo de bloques fuente estaba en un sistema de
ficheros montado con la opción MS_NODEV.
ENXIO El número mayor del dispositivo de bloques fuente está fuera de
rango.
EMFILE (En caso de que no se necesite un dispositivo de bloques:) La
tabla de dispositivos ficticios está llena.
CONFORME A
Estas funciones son específicas de Linux y no deberían emplearse en
programas pretendidamente transportables.
HISTORIA
La función umount original se invocaba como umount(dispositivo) y
devolvía ENOTBLK cuando se invocaba con algo distinto a un dispositivo
de bloques. En la versión 0.98p4 de Linux se añadió la llamada
umount(dir) para dar soporte a los dispositivos anónimos. En Linux
2.3.99-pre7 se eliminó la llamada umount(dispositivo), dejando sólo
umount(dir) (ya que ahora los dispositivos se pueden montar en más de
un lugar, por lo que especificar el dispositivo no es suficiente).
La opción MS_SYNC original se renombró a MS_SYNCHRONOUS en la versión
1.1.69 cuando se añadió un MS_SYNC diferente a <mman.h>.
Antes de la versión 2.4 de Linux, cualquier intento por ejecutar un
programa set-UID o set-GID sobre un sistema de ficheros montado con
MS_NOSUID fallaba dando el error EPERM. Desde la versión 2.4, los bits
set-UID y set-GID simplemente se ignoran de forma silenciosa en este
caso.
VÉASE TAMBIÉN
mount(8), umount(8)