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'ON
mount une el sistema de ficheros especificado por fuente (que
frecuentemente es un nombre de dispositivo, pero que puede ser tambien
un nombre de directorio o un dispositivo virtual) al directorio
especificado por destino.
umount y umount2 eliminan la union del sistema de ficheros (el que
hay arriba del todo) que se encuentra montado en destino.
Solo el super-usuario puede montar y desmontar sistemas de ficheros. A
partir de la version 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 nucleo 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 modulos apropiados.
El argumento opciones puede tener el numero magico 0xC0ED (MS_MGC_VAL)
en los 16 bits mas significativos (esto era necesario en las versiones
del nucleo 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 subarbol de ficheros o de directorios
sea visible en otro punto dentro de un sistema de ficheros. Los
montajes de ligadura pueden cruzar los limites 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 sincronos. (Esta propiedad la
pueden obtener los directorios o subarboles individuales usando
chattr(8).)
MS_MANDLOCK
Permite bloqueos obligatorios sobre los ficheros de este sistema
de ficheros. (Los bloqueos obligatorios todavia deben
habilitarse fichero a fichero, de la forma que se describe en
fcntl(2).)
MS_MOVE
Mueve un subarbol. fuente especifica un punto de montaje
existente y destino especifica la nueva posicion. El movimiento
es atomico: en ningun momento se desmonta el subarbol. 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 solo 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
sincronos (como si se hubiera especificado la opcion O_SYNC en
open(2) para todos los ficheros abiertos en este sistema de
ficheros).
A partir de la version 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 mas
detalles de las opciones disponibles para cada tipo de sistema de
ficheros.
La version 2.1.116 de Linux anadio la llamada al sistema umount2() que,
como umount(), desmonta un destino pero permite especificar opciones
adicionales que controlen el comportamiento de la operacion:
MNT_FORCE
Fuerza el desmontaje aunque el sistema de ficheros este ocupado.
(Desde 2.1.116. Solo 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 exito se devuelve 0. En caso de error, -1, y se da a errno
un valor apropiado.
ERRORES
Los valores de error dados mas 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
nucleo para los detalles.
EPERM El usuario no es el super-usuario.
ENODEV tipo_sf no configurado en el nucleo.
ENOTBLK
fuente no es un dispositivo de bloques (y se necesitaba un
dispositivo).
EBUSY fuente ya esta montado. O no puede remontarse para lectura
exclusiva, porque ya contiene ficheros abiertos para escritura.
O no puede montarse en destino porque destino ya esta 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 esta ocupado.
EINVAL fuente tiene un superbloque invalido. O se ha intentado volver
a montar, pero fuente no estaba ya montado en destino. O se ha
intentando mover fuente cuando esta 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 nucleo no pudo obtener una pagina libre para copiar en ella
nombres de ficheros o datos.
ENAMETOOLONG
Un nombre de ruta era mas largo que MAXPATHLEN.
ENOENT Un nombre de camino estaba vacio o tenia un componente
inexistente.
ELOOP Se han encontrado demasiados enlaces durante la resolucion 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 intento montar un sistema de ficheros para lectura
exclusiva sin dar la opcion MS_RDONLY.
O el dispositivo de bloques fuente estaba en un sistema de
ficheros montado con la opcion MS_NODEV.
ENXIO El numero mayor del dispositivo de bloques fuente esta fuera de
rango.
EMFILE (En caso de que no se necesite un dispositivo de bloques:) La
tabla de dispositivos ficticios esta llena.
CONFORME A
Estas funciones son especificas de Linux y no deberian emplearse en
programas pretendidamente transportables.
HISTORIA
La funcion umount original se invocaba como umount(dispositivo) y
devolvia ENOTBLK cuando se invocaba con algo distinto a un dispositivo
de bloques. En la version 0.98p4 de Linux se anadio la llamada
umount(dir) para dar soporte a los dispositivos anonimos. En Linux
2.3.99-pre7 se elimino la llamada umount(dispositivo), dejando solo
umount(dir) (ya que ahora los dispositivos se pueden montar en mas de
un lugar, por lo que especificar el dispositivo no es suficiente).
La opcion MS_SYNC original se renombro a MS_SYNCHRONOUS en la version
1.1.69 cuando se anadio un MS_SYNC diferente a <mman.h>.
Antes de la version 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 version 2.4, los bits
set-UID y set-GID simplemente se ignoran de forma silenciosa en este
caso.
V'EASE TAMBI'EN
mount(8), umount(8)