Provided by: manpages-es_1.55-10_all bug

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)