mount es un comando de sistemas basados en Unix que se utiliza para montar dispositivos y particiones para su uso por el sistema operativo. Montar es hacer que el sistema operativo proyecte el contenido de ese dispositivo o partición en un enlace lógico (un directorio). Cuando se desocupa se rompe el enlace y se sigue trabajando con los mismos archivos básicos.
Descripción general
El comando mount indica al sistema operativo que un sistema de archivos está listo para ser usado, y lo asocia con un punto particular en la jerarquía general del sistema de archivos (su punto de montaje), y establece opciones relacionadas con su acceso.
El montaje hace que los sistemas de archivos, los archivos, los directorios, los dispositivos y los archivos especiales estén disponibles para su uso y para el usuario.
Su homólogo, umount, le indica al sistema operativo que el sistema de archivos debe desasociarse de su punto de montaje, lo que hace que ya no sea accesible y que se pueda eliminar de la computadora.
Es importante umount (desmontar) un dispositivo antes de eliminarlo, ya que es posible que los cambios en los archivos solo se hayan escrito parcialmente y se completen como parte del desmontaje.
Los comandos mount y umount requieren privilegios de usuario raíz para efectuar cambios. Alternativamente, el usuario raíz puede haber otorgado previamente privilegios específicos para realizar la acción correspondiente. El usuario root puede definir un sistema de archivos como montable por el usuario en el archivo /etc/fstab
.
Uso
mount [-t <tipo>] [-o <opciones>] <dispositivo> <punto_de_lectura>
mount -t iso9660 /dev/hdb0 /mnt/cdrom
mount -t iso9660 -o loop /home/usuario/imagen.iso /mnt/imagenes
Dispositivos
Los dispositivos en Unix se encuentran dentro de /dev. Así es como se designan los más comunes en GNU/Linux:
- fd0 Primera unidad de disquetes (a: en sistemas MS-DOS y Windows).
- fd1 Segunda unidad de disquetes (b: en sistemas MS-DOS y Windows).
- hda Primer disco duro IDE (Primary Master).
- hda0 Primera partición del primer disco duro IDE (Primary Master).
- hda1 Segunda partición del primer disco duro IDE (Primary Slave).
- hdb0 Primera partición del segundo disco duro IDE (Secondary Master).
- hdb1 Segunda partición del segundo disco duro IDE (Secondary Slave).
- sda Primer disco duro SCSI.
- sda1 Primera partición del primer disco duro SCSI.
- sdb Primera unidad de llave usb (Memoria USB).
- sdb4 Cuarta partición del segundo disco duro SCSI.
- scd0 Primera unidad de CD-ROM SCSI.
- scd1 Segunda unidad de CD-ROM SCSI.
- sga Primer dispositivo genérico SCSI (scanner, etc.).
- sgb Segundo dispositivo genérico SCSI.
- sg0 Primer dispositivo genérico SCSI en sistemas nuevos.
- sg1 Segundo dispositivo genérico SCSI en sistemas nuevos.
Desde la aparición de las unidades de almacenamiento USB (pendrives) y los discos duros SATA (serial ATA), estos han empezado a usar también la denominación propia de los dispositivos SCSI (sda1, sdb3, etc.). Aun así, algunas veces se pueden encontrar unidades IDE con nombres del tipo sda, sdb, etc. Esto se debe a que ciertas distribuciones utilizan emulación IDE-SCSI. De esta forma se utiliza una capa de software común para el manejo de todos los discos duros, CD-ROM, etc.
Tipos de sistemas de archivos soportados
El tipo del sistema de archivos puede ser:
- auto (intenta descubrir automáticamente el sistema de archivos).
- iso9660 (sistema de archivos de los CD y DVD).
- ext2 (sistema de archivos muy extendido en máquinas Linux).
- ext3 (igual que ext2 pero además añade journaling).
- ext4 (introdujo significativas mejoras respecto a ext3)
- reiserfs (otro sistema muy utilizado en máquinas Linux).
- msdos (para dispositivos que usen FAT12 o FAT16).
- vfat (para dispositivos que usen FAT32).
- ntfs (sistema de archivos NTFS de Windows NT, XP, etc.).
- smbfs (sistema de archivos de Samba).
- nfs (sistema de archivos de red NFS).
- hfs y hfsplus (acceden a sistemas de archivos de Apple Macintosh).
Opciones del comando mount
Opciones comunes para todos los sistemas de archivos
Como los sistemas de archivos de /etc/fstab
serán ocasionalmente montados utilizando mount
no es de extrañar que el campo de opciones contenga simplemente una lista de opciones separadas por comas que serán pasadas directamente al intentar montar un sistema de archivos.
Las opciones comunes a todos los sistemas de archivos son:
auto / noauto
- Con la opción auto, el dispositivo será montado automáticamente durante el inicio o en caso de que el comando
mount -a
sea ejecutado. auto es el valor por defecto. Si no se desea que el dispositivo se monte automáticamente, se deberá substituir por noauto.
dev / nodev
- Interpretar / no interpretar dispositivos especiales de bloques en el sistema de archivos. Los dispositivos especiales de bloques son similares a discos (donde se puede acceder a los datos dado un número de bloque, y p.ej. tiene sentido tener un caché de bloques). Todos los otros dispositivos son ficheros especiales de caracteres. Hace tiempo la distinción era diferente: la E/S a un fichero especial de caracteres sería sin búfer, y a un fichero especial de bloques, con búfer.
exec / noexec
- exec permite ejecutar binarios que están en la partición, mientras que noexec lo impide. noexec puede resultar útil en una partición que contenga binarios que se deseen ejecutar en el sistema, o que no deban ser ejecutados. Este podría ser el caso de la partición de Windows.
ro
- Montar para sólo lectura.
rw
- Montar el sistema de archivos para lectura/escritura. Utilizando esta opción, muchos nuevos usuarios confusos, por no poder escribir en sus discos o particiones de Windows, pueden solucionar el problema.
sync / async
- Esta opción indica la manera en que se debe realizar la entrada y salida del sistema de archivos. sync especifica que se realice de manera síncrona. Para verlo en un ejemplo de un fstab, nótese que esta opción aparece en la unidad de discos flexibles. En particular sirve, si se está escribiendo en una unidad con la opción activada, para que los cambios sean realizados físicamente en el dispositivo a la vez que se invoca el comando correspondiente.
suid / nosuid
- Permite / bloquea la operación sobre los bits suid y sgid.
user / nouser
- Permite a cualquier usuario montar el sistema de archivos. Implica directamente las opciones noexec, nosuid y nodev a menos que se especifiquen otras. Si se utiliza la opción
nouser
, solo el usuario root podrá montar el sistema de archivos.
defaults
- Utiliza las opciones por defecto:
rw,suid,dev,exec,auto,nouser,async
.
nofail
- No devuelve error si no se puede montar el dispositivo.
Opciones específicas para cada sistema de archivos
Hay multitud de opciones específicas para cada sistema de archivos soportado por mount. Las que se listan a continuación son las más habituales. Para una lista completa se puede acudir a la página del manual de Unix sobre mount.
check={none, normal, strict}
- Establece el nivel de comprobación de fsck.
debug
- Imprime información de depuración durante cada re-montaje.
sb=n
- n es el bloque que deber ser utilizado como superbloque para el sistema de archivos.
check={r[elaxed], n[ormal], s[trict]}
- No es igual que en ext2, pero permite utilizar una sintaxis parecida.
conv={b[inary], t[ext], a[uto]}
- Efectúa automáticamente conversiones de archivos de texto entre DOS<->UNIX.
uid=n, gid=n
- Establece el identificador de usuario, uid, y el identificador de grupo, gid, para todos los archivos de la partición.
umask=nnn, dmask=nnn, fmask=nnn
- Establece máscara de usuario para la creación de archivos, umask, y lo mismo para sólo directorios, dmask y sólo archivos, fmask.
norock
- Deshabilita las extensiones Rock Ridge.
Ejemplos de uso
Algunos ejemplos de montaje de dispositivos son:
mount -t vfat /dev/fd0 /mnt/floppy
mount -t iso9660 /dev/hdb0 /mnt/cdrom
Para montar imágenes de disquetes, CD, etc. se utiliza la opción loop.
mount -t iso9660 -o loop /home/usuario/imagen.iso /mnt/imagenes