1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335
  
     | 
    
      .\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (C) 1993 Rickard E. Faith <faith@cs.unc.edu>
.\" Copyright (C) 1994 Andries E. Brouwer <aeb@cwi.nl>
.\" Copyright (C) 2002 Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\" 
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\" 
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\" "
.\" Modified Mon Nov  4 20:23:39 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 13 Oct 2001 by Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
.\"     Added note on historical behaviour of MS_NOSUID
.\" Modified 16 May 2002 by Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
.\"     Extensive changes and additions
.\" Some corrections, aeb, 27 May 2002
.\" Modified 11 Jun 2002 by Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
.\"     Enhanced descriptions of MS_MOVE, MS_BIND, and MS_REMOUNT
.\"
.\" Translatd into Spanish Jan 08 1998 by Gerardo Aburruzaga García
.\"	<gerardo.aburruzaga at uca.es>
.\" Translation revised Fri Jun 25 1999 by Juan Piernas <piernas at ditec.um.es>
.\" Translation revised Wed May  4 2005 by Juan Piernas <piernas at ditec.um.es>
.\"
.TH MOUNT 2 "11 junio 2002" "Linux 2.5" "Manual del Programador de Linux"
.SH NOMBRE
mount, umount \- monta y desmonta sistemas de ficheros.
.SH SINOPSIS
.B "#include <sys/mount.h>"
.sp
.BI "int mount(const char *" fuente ", const char *" destino ,
.BI "const char *" tipo_sf ", unsigned long " opciones ,
.BI "const void *" datos );
.sp
.BI "int umount(const char *" destino );
.sp
.BI "int umount2(const char *" destino ", int " opciones );
.SH DESCRIPCIÓN
.B mount
une el sistema de ficheros especificado por
.I 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
.IR destino .
.B umount " y " umount2
eliminan la unión del sistema de ficheros (el que hay arriba del todo) que se
encuentra montado en
.IR 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.
.\" Multiple mounts on same mount point: since 2.3.99pre7.
Los valores para el argumento
.IR tipo_sf
que soporta el núcleo se listan en el fichero
.I /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
.IR opciones
puede tener el número mágico 0xC0ED (\fBMS_MGC_VAL\fP) 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:
.TP
.B MS_BIND
(Linux 2.4 y siguientes)
.\" since 2.4.0-test9
Realiza un montaje «de ligadura» (\fIbind\fR), 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»
.BR chroot (2).
Los argumentos
.IR tipo_sf ", " opciones " y " datos
se ignoran.
.\" with the exception of the "hidden" MS_REC mountflags bit
.TP
.B 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
.BR chattr (8).)
.TP
.B 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
.BR fcntl (2).)
.\" FIXME: More can be said about MS_MOVE
.TP
.B MS_MOVE
Mueve un subárbol.
.I fuente
especifica un punto de montaje existente y
.I destino
especifica la nueva posición.
El movimiento es atómico: en ningún momento se desmonta el subárbol.
Los argumentos
.IR tipo_sf ", " opciones " y " datos
se ignoran.
.TP
.B MS_NOATIME
No actualiza el tiempo de acceso para los ficheros (de cualquier tipo)
en este sistema de ficheros.
.TP
.B MS_NODEV
No permite el acceso a los dispositivos (ficheros especiales) en este
sistema de ficheros.
.TP
.B MS_NODIRATIME
No actualiza el tiempo de acceso para los directorios en este sistema
de ficheros.
.TP
.B MS_NOEXEC
No permite que los programas se ejecuten desde este sistema de
ficheros.
.\" (Possibly useful for a file system that contains non-Linux executables.
.\" Often used as a security feature, e.g. to make sure that restricted
.\" users cannot execute files uploaded using ftp or so.)
.TP
.B MS_NOSUID
No hace caso a los bits set-UID y set-GID cuando se ejecutan programas
desde este sistema de ficheros.
.\" (This is a security feature to prevent users executing set-UID and
.\" set-GID programs from removable disk devices.)
.TP
.B MS_RDONLY
Monta el sistema de ficheros para sólo lectura.
.TP
.B MS_REMOUNT
Remonta un montaje existente. Esto le permite cambiar el valor de
.I opciones
y
.I datos
de un montaje existente sin tener que desmontar y remontar el sistema
de ficheros.
.I fuente
y
.I destino
deben ser los mismos valores que los especificados en la llamada
.BR mount ()
inicial;
.I tipo_sf
se ignora.
.TP
.B MS_SYNCHRONOUS
Hace que las escrituras en este sistema de ficheros sean síncronos
(como si se hubiera especificado la opción
.B O_SYNC
en
.BR open (2)
para todos los ficheros abiertos en este sistema de ficheros).
.PP
A partir de la versión 2.4 de Linux, las opciones
.BR MS_NODEV ", " MS_NOEXEC " y " MS_NOSUID
se pueden configurar individualmente para cada punto de montaje.
.PP
El argumento
.IR 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
.BR mount (8)
para ver más detalles de las opciones disponibles para cada tipo de
sistema de ficheros.
.PP
.\" Note: the kernel naming differs from the glibc naming
.\" umount2 is the glibc name for what the kernel now calls umount
.\" and umount is the glibc name for oldumount
La versión 2.1.116 de Linux añadió la llamada al sistema
.BR umount2 ()
que, como
.BR umount (),
desmonta un destino pero permite especificar
.I opciones
adicionales que controlen el comportamiento de la operación:
.TP
.B MNT_FORCE
Fuerza el desmontaje aunque el sistema de ficheros esté ocupado.
(Desde 2.1.116. Sólo para montajes NFS.)
.TP
.B 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.)
.SH "VALOR DEVUELTO"
En caso de éxito se devuelve 0. En caso de error, \-1, y se da a 
.I errno
un valor apropiado.
.SH 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.
.TP
.B EPERM
El usuario no es el super-usuario.
.TP
.B ENODEV
.I tipo_sf
no configurado en el núcleo.
.TP
.B ENOTBLK
.I fuente
no es un dispositivo de bloques (y se necesitaba un dispositivo).
.TP
.B EBUSY
.I fuente
ya está montado. O no puede remontarse para lectura exclusiva, porque
ya contiene ficheros abiertos para escritura.
O no puede montarse en
.I destino
porque
.I 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.
.TP
.B EINVAL
.I fuente
tiene un superbloque inválido.
O se ha intentado volver a montar, pero
.I fuente
no estaba ya montado en
.IR destino .
O se ha intentando mover
.I fuente
cuando ésta no es un punto de montaje o es '/'.
O se ha intentado desmontar, pero
.I destino
no era un punto de montaje.
.TP
.B ENOTDIR
El segundo argumento, o un prefijo del primero, no es un
directorio.
.TP
.B EFAULT
Uno de los argumentos de tipo puntero apunta fuera del espacio de
direcciones de usuario.
.TP
.B ENOMEM
El núcleo no pudo obtener una página libre para copiar en ella
nombres de ficheros o datos.
.TP
.B ENAMETOOLONG
Un nombre de ruta era más largo que MAXPATHLEN.
.TP
.B ENOENT
Un nombre de camino estaba vacío o tenía un componente inexistente.
.TP
.B ELOOP
Se han encontrado demasiados enlaces durante la resolución de la ruta.
O se ha intentado un movimiento
cuando
.I destino
es un descendiente de
.IR fuente.
.TP
.B EACCES
No se pudo acceder a un componente de una ruta.
.br
O se intentó montar un sistema de ficheros para lectura exclusiva sin
dar la opción MS_RDONLY.
.br
O el dispositivo de bloques
.I fuente
estaba en un sistema de ficheros montado con la opción MS_NODEV.
.TP
.B ENXIO
El número mayor del dispositivo de bloques
.I fuente
está fuera de rango.
.TP
.B EMFILE
(En caso de que no se necesite un dispositivo de bloques:)
La tabla de dispositivos ficticios está llena.
.SH "CONFORME A"
Estas funciones son específicas de Linux y no deberían emplearse en
programas pretendidamente transportables.
.SH HISTORIA
La función
.B umount
original se invocaba como \fIumount(dispositivo)\fP 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 \fIumount(dir)\fP
para dar soporte a los dispositivos anónimos.
En Linux 2.3.99-pre7 se eliminó la llamada \fIumount(dispositivo)\fP,
dejando sólo \fIumount(dir)\fP (ya que ahora los dispositivos se
pueden montar en más de un lugar, por lo que especificar el
dispositivo no es suficiente).
.LP
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>.
.LP
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
.B MS_NOSUID
fallaba dando el error
.BR EPERM .
Desde la versión 2.4, los bits set-UID y set-GID simplemente se
ignoran de forma silenciosa en este caso.
.\" The change is in patch-2.4.0-prerelease.
.SH "VÉASE TAMBIÉN"
.BR mount (8),
.BR umount (8)
 
     |