El comando mount y umount en Linux: montar y desmontar unidades

Introducción

En sistemas tipo Unix, el núcleo trata a los discos y particiones como archivos especiales que deben hacerse visibles dentro del árbol de directorios antes de poder leer o escribir en ellos. Este proceso se conoce como montaje y su inversa, la eliminación de ese vínculo, se llama desmontaje. Los comandos mount y umount son la interfaz de línea de órdenes más utilizada para realizar estas operaciones en Linux. Conocer su funcionamiento permite administrar unidades USB, discos duros externos, particiones de red y sistemas de archivos temporales de forma segura y eficiente.

¿Qué hace el comando mount?

El comando mount toma un dispositivo de bloque (por ejemplo, /dev/sdb1) o una ubicación remota y lo asocia a un punto de montaje, que es un directorio existente en el sistema de archivos. Una vez montado, el contenido del dispositivo aparece bajo ese directorio y puede ser accesado como cualquier otro archivo o carpeta. Además, mount permite especificar el tipo de sistema de archivos, opciones de acceso y permisos mediante flags que modifican su comportamiento.

Sintaxis básica de mount

La forma más simple es:

mount dispositivo punto_de_montaje

Si se omite alguno de los argumentos, mount consulta el archivo /etc/fstab para obtener la información faltante. Cuando se necesita indicar explícitamente el tipo de sistema de archivos, se usa la opción -t seguida del nombre (por ejemplo, ext4, ntfs o vfat).

  • -t tipo: especifica el sistema de archivos.
  • -o opciones: permite pasar una lista de opciones separadas por comas (como ro para solo lectura o rw para lectura y escritura).
  • -a: monta todos los sistemas de archivos listados en /etc/fstab que tengan la opción auto.

Ejemplos comunes de mount

A continuación se muestran algunos casos de uso frecuentes:

  • Montar una partición ext4 en /mnt/data:
    mount /dev/sda1 /mnt/data
  • Montar una unidad USB con sistema de archivos vfat en /media/usb:
    mount -t vfat /dev/sdb1 /media/usb
  • Montar un recurso NFS en /mnt/nfs:
    mount -t nfs servidor:/ruta/compartida /mnt/nfs
  • Montar una imagen ISO como solo lectura en /mnt/iso:
    mount -o loop -t iso9660 imagen.iso /mnt/iso

Opciones útiles de mount

Algunas opciones que resultan particularmente prácticas en el día a día:

  • ro: monta el sistema de archivos en modo solo lectura, ideal para medios que no se desean modificar.
  • rw: permite lectura y escritura (valor por defecto en la mayoría de los casos).
  • nosuid: bloquea la ejecución de programas con bits SUID o SGID desde el punto de montaje, aumentando la seguridad.
  • noexec: impide la ejecución de cualquier binario ubicado en el sistema de archivos montado.
  • nodev: evita que se interpreten archivos de dispositivo especial, útil para montajes de usuarios.
  • sync: realiza las operaciones de escritura de forma síncrona, garantizando que los datos se escriban inmediatamente en el dispositivo.
  • async: operación asíncrona (por defecto en muchos sistemas), mejora el rendimiento pero puede riesgo de pérdida de datos si se retira el medio sin desmontar.

¿Qué hace el comando umount?

El comando umount elimina la asociación entre un punto de montaje y su dispositivo o recurso subyacente. Antes de retirar un medio extraíble o apagar un sistema, es necesario desmontar para asegurar que todas las operaciones de I/O hayan finalizado y los datos estén consistentes. Si se intenta desmontar un sistema de archivos que aún está en uso, umount devolverá un error indicando que el recurso está ocupado.

Sintaxis y ejemplos de umount

La forma básica es:

umount punto_de_montaje

También se puede especificar el dispositivo directamente:

umount dispositivo

Algunas opciones útiles:

  • -f: fuerza el desmontaje, útil en casos de sistemas de archivos bloqueados (debe usarse con precaución).
  • -l: realiza un desmontaje lazy, liberando el punto de montaje inmediatamente y limpiando la referencia cuando deje de estar en uso.
  • -a: desmonta todos los sistemas de archivos listados en /etc/fstab excepto los marcados como nodev o noauto.

Ejemplos:

  • Desmontar una unidad USB montada en /media/usb:
    umount /media/usb
  • Forzar el desmontaje de una partición que parece estar colgada:
    umount -f /dev/sdc1
  • Desmontar todos los sistemas de archivos automáticos:
    umount -a

Buenas prácticas y troubleshooting

Para evitar problemas al trabajar con mount y umount, sigue estas recomendaciones:

  • Siempre verifica que el punto de montaje exista antes de intentar el montaje; créalo con mkdir -p si es necesario.
  • Revisa el archivo /etc/fstab para configuraciones permanentes y evita montajes manuales que puedan entrar en conflicto.
  • Después de montar, usa df -h o mount sin argumentos para confirmar que el dispositivo apareció correctamente.
  • Antes de retirar un medio extraíble, ejecuta sync para vaciar los búferes de escritura y luego umount.
  • Si recibes el mensaje ‘device is busy’, usa lsof o fuser para identificar procesos que están accediendo al punto de montaje y finalízalos o cambia su directorio de trabajo.
  • En sistemas con SELinux o AppArmor, asegúrate de que las políticas permitan el acceso al punto de montaje; de lo contrario, podrás ver errores de permiso incluso con los flags correctos.
  • Para montajes de red (NFS, CIFS), prueba la conectividad con ping y verifica las opciones de versión y seguridad para evitar fallos de autenticación.

Con estos conocimientos podrás gestionar de forma segura cualquier unidad de almacenamiento en tu entorno Linux, ya sea un disco local, una unidad USB o un recurso de red.

Esta obra está bajo una Licencia Creative Commons Atribución 4.0 Internacional para Francesc Roig francesc@vivaldi.net .

EspañolesEspañolEspañol