Provided by: manpages-es_1.55-10_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)
Linux 2.5 11 junio 2002 MOUNT(2)