3. Los comandos mount y umount

Ahora que se ha creado el sistema de archivos, puede montar la partición. Inicialmente, la misma estará vacía, debido a que el sistema no ha tenido acceso al sistema de archivos para añadir archivos al mismo. El comando para montar sistemas de archivos es mount, y su sintaxis es la siguiente:

mount [opciones] <-t tipo> [-o opciones_de_montado] <dispositivo> <punto_de_montaje>

En este caso, queremos montar temporalmente nuestra partición sobre /mnt/nuevo (o cualquier otro punto de montaje que Usted haya elegido: recuerde que dicho punto de montaje debe existir); el comando para montar nuestra partición creada recientemente es el siguiente:

$ mount -t ext3 /dev/hdb1 /mnt/nuevo

La opción -t se usa para especificar el tipo de sistema de archivos que se supone albergará la partición. Entre los sistemas de archivos que encontrará con mayor frecuencia, están ext2FS (el sistema de archivos de GNU/Linux) o ext3FS (una versión mejorada de ext2FS con características transaccionales), VFAT (para todas las particiones DOS/Windows®: FAT 12, 16 o 32), NTFS (para las versiones nuevas de Windows®) e ISO9660 (sistema de archivos de CD-ROM). Si no especifica tipo alguno, mount probará y adivinará el sistema de archivos que alberga la partición leyendo el superbloque de la misma.

La opción -o se usa para especificar una o más opciones de montaje. Estas opciones dependen del sistema de archivos usado. Consulte la página Man mount(8) para más detalles.

Ahora que montó su partición nueva, debe copiar todo el directorio /usr en la misma:

$ (cd /usr && tar cf - .) | (cd /mnt && tar xpvf -)

Ahora que se copiaron los archivos, podemos desmontar nuestra partición. Para hacerlo, utilice el comando umount. La sintaxis es simple:

umount <punto_de_montaje|dispositivo>

Entonces, para desmontar nuestra partición, podemos ingresar:

$ umount /mnt

o bien:

$ umount /dev/hdb1
[Sugerencia]Sugerencia

A veces, puede ocurrir que un dispositivo (por lo general, el CD-ROM) esté ocupado. De ser así, la mayoría de los usuarios resolverían este problema volviendo a arrancar su computadora. Por ejemplo, si umount /dev/hdc falla, entonces podrían intentar el “lazyumount. La sintaxis es bastante simple:

umount -l <punto_de_montaje|dispositivo>

Este comando desconecta el dispositivo y cierra todos los archivos relacionados con el dispositivo cuando sea posible. Por lo general, puede expulsar el disco usando el comando eject <punto_de_montaje|dispositivo>. Por lo tanto... si el comando eject no resulta y no desea volver a arrancar el sistema, utilice el desmontado “lazy”.

Como esta partición se va a “convertir” en nuestro directorio /usr, necesitamos informarle esto al sistema. Para hacerlo, editamos el archivo /etc/fstab. Este hace posible la automatización del montaje de ciertos sistemas de archivos, especialmente al arrancar el sistema. El mismo contiene una cantidad de líneas que describen a los sistemas de archivos, los puntos de montaje y otras opciones. Aquí tiene un ejemplo de ese archivo:

/dev/hda2 / ext3 defaults 1 1
/dev/hdd /mnt/cdrom auto umask=0,iocharset=utf8,sync,nosuid,ro,nodev,users 0 0
/dev/fd0 /mnt/floppy auto umask=0,iocharset=utf8,sync 0 0
/dev/hda1 /mnt/windows ntfs umask=0,nls=utf8,ro 0 0
none /proc proc defaults 0 0
/dev/hda3 swap swap defaults 0 0

Cada línea consiste de:

Siempre hay una entrada para el sistema de archivos raíz. Las particiones swap son especiales ya que no son visibles en la estructura de árbol, y el campo de punto de montaje para estas particiones contiene la palabra clave swap. Estudiaremos el sistema de archivos /proc con mayor detalle en Capítulo 10, El sistema de archivos /proc. Otro sistema de archivos especial es /dev/pts.

También note que su sistema puede tener entradas añadidas o quitadas automáticamente en este archivo. Esto lo hace fstab-sync, un comando que recibe eventos especiales del sistema de Hardware Abstraction Layer (Capa de abstracción de hardware, HAL), y manipula el archivo /etc/fstab. Consulte la página Man fstab-sync(8) para más detalles.

Volviendo al tema del cambio en el sistema de archivos, en este punto hemos movido toda la jerarquía /usr a /dev/hdb1 y queremos que esta partición se monte como /usr en el arranque. Para esto, debe agregar una entrada como la siguiente en algún lugar del archivo etc/fstab:

/dev/hdb1        /usr         ext3    defaults  1 2

Ahora la partición será montada en cada arranque. También se verificará la misma, si es necesario.

[Nota]Nota

Si su partición no es del tipo ext3FS deberá colocar el tipo correcto. Las opciones comunes son ext2 y reiserfs. Note también que el último campo tiene un valor de 2. esto significa que será verificado luego de todas las demás entradas con un valor de 1, y después de cualquier otro sistema de archivos con la misma prioridad que aparezca antes en /etc/fstab. Sólo la partición raíz (/) debería tener un valor de 1.

Hay dos opciones especiales: noauto y users. La opción noauto especifica que el sistema de archivos no debe montarse en el arranque sino que debe montarse explícitamente. La opción users especifica que cualquier usuario puede montar y desmontar el sistema de archivos. Estas opciones se usan típicamente para el CD-ROM y para la disquetera. Hay otras opciones, y /etc/fstab incluso tiene su propia página Man (fstab(5)).

La última, pero no menos importante, de las ventajas de este archivo es que simplifica la sintaxis del comando mount. Para montar un sistema de archivos señalado en este archivo, puede hacer referencia al punto de montaje o el dispositivo. Así, para montar un disquete, puede ingresar:

$ mount /mnt/floppy

o bien:

$ mount /dev/fd0

Para finalizar con nuestro ejemplo de mover una partición, revisemos lo hecho hasta ahora. Copiamos la jerarquía /usr y modificado /etc/fstab de forma tal que la partición nueva se monte en el arranque. Pero por el momento, todavía los archivos antiguos de /usr están en su lugar original en el disco, por lo que debemos borrarlos para liberar espacio (que era, después de todo, nuestro objetivo primario).

Y eso es todo. Ahora, regrese al modo multiusuario (telinit 3 para modo de texto estándar, o telinit 5 para X Window System), y si no tiene otra tarea administrativa por hacer, debería terminar la sesión de root.