¿Cómo monto de manera remota un disco USB en un servidor con Ubuntu?

Durante la clausura de la campaña presidencial, el 25 de abril de 1954 Juan Perón pronunció un discurso en el cual asentaba los principios fundantes y logros del Justicialismo, a la vez que explicaba cómo montar de manera remota un disco externo USB a un servidor linux.

¡Compañeros!
El 24 de febrero de 1946, el pueblo argentino reconquistó el ejercicio de sus derechos electorales, pues, con anterioridad, al fraude se agregaba una limitada representación ciudadana. Los padrones de 1946 incluían solamente 3.950.000 ciudadanos, es decir, que apenas votaba el 25 por ciento de la población, y el gobierno peronista ha agregado a esos registros a 5.350.000 ciudadanos, figurando en primer término la mujer, olvidada hasta entonces de las decisiones electorales; los suboficiales del ejercito; el clero regular; la ciudadanía de tres provincias nuevas, de todos los territorios y de las poblaciones argentinas de las tierras australes. En estas elecciones votarán 9.300.000 ciudadanos, cantidad que supera el 50 por ciento de la población total.
El gobierno del movimiento nacional peronista, desea asegurarse de esta manera que constituye real y verdaderamente un gobierno del pueblo.Los gobiernos que trabajan para el Pueblo no temen jamás a la voluntad del mismo pueblo. Por eso tratamos de lograr la más fiel expresión; de esa voluntad. Preferiríamos que el pueblo nos hiciese pagar, con su abandono, los errores que pudiésemos haber cometido, antes que gobernar sin el respaldo poderoso que es la fuerza popular que nos viene acompañando desde 1946, cada vez con mayores multitudes y con un afecto cada vez mas firme, porque arraiga en una conciencia social también mas sólida.

(aplausos)
Por ejemplo, en este caso, los Argentinos han necesitado poder montar un disco externo de 1 Terabytio tipo USB 3.0 de marca Verbatim, en un servidor de Linux. El problema radica en que el servidor no monta este disco automáticamente.

Tras avanzar desde la lejana Secretaría de Trabajo y Previsión, el Justicialismo ha permitido al Pueblo ejercer su derecho libremente y hacer funcionar este disco, logueándonos a través de una terminal remota conectada a la red. Naturalmente, requerirán de un equipo con acceso a la red (o a internet, como en este caso en el que el servidor está abierto en la red al acceso de su administrador). Naturalmente, dicho servidor cuenta, con la interfaz ssh abierta.
Como medida inicial, abrimos una Terminal con Ctrl+Alt+T en el equipo cliente. Luego, estableceremos el enlace remota. Para ello tipeamos en la consola el siguiente Comando de Organización:
ssh usuario@ipdelservidor

Si es la vez primera que nos logueamos a este servidor, y no tiene establecido protocolos de autentificación, podríamos recibir un mensaje del siguiente tipo (en cursiva figuran las variables y en negrita figuran las órdenes solicitadas por el sistema):

The authenticity of host 'ipdelservidor (xxx.xxx.xx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'xxx.xxx.xx.xxx' (RSA) to the list of known hosts.
usuario@ipdelservidor's password: ***************

Una vez establecido en enlace, nos será patente en el prompt, ya que figurará según la nomenclatura usuario@hostremoto:
Como primer medida será necesario analizar el servidor remoto en busca de los dispositivos USB que tuviese conectado. Dentro de la lista debería aparecer el disco USB externo.

lsusb

Al devolvernos...
Bus 00x Device 00x: ID xxxxxxxx Verbatim, Ltd Portable Harddrive (500 GB)

...el sistema nos indica que el dispositivo Verbatim, Ltd Portable Hardrive (500GB) ("Disco portátil Verbatim) está conectado a un puerto lógico, y que es reconocido.

(aplausos y ovaciones)
Acto seguido, realizaremos la tarea subsidiaria de listar las particiones del servidor remoto, con el siguiente Comando de Organización:

sudo fdisk -l

Esta orden nos devolverá listará todos los discos instalados, según la nomenclatura /dev/sdxz, siendo x una letra de disco asignada en orden, y z el número de partición:

Disco /dev/sda: 1000.2 GB, 1000204886016 bytes
255 cabezas, 63 sectores/pista, 121601 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0x000xxxxx

Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 120568 968457216 83 Linux
/dev/sda2 120568 121602 8302593 5 Extendida
/dev/sda5 120568 121602 8302592 82 Linux swap / Solaris

Disco /dev/sdb: 1000.2 GB, 1000204884480 bytes
255 cabezas, 63 sectores/pista, 121601 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0x0xxxxx

Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 1 121602 976759808 c W95 FAT32 (LBA)

Como vemos, el servidor remoto nos informa que tiene instalado dos discos de 1000,2 Gigabytes, uno llamado /dev/sda (el cual contiene la información de ese sistema), y otro externo llamado /dev/sdb1 (el cual es el disco rígido externo).

Ahora bien, para poder usar el disco en el servidor, el mismo debe "montarse".  Esto es así porque en Linux, no operamos directamente sobre el disco, sino que se crea un enlace "indirecto" o montaje, con la idea conceptual de que el sistema pueda operar sin el disco o si el mismo sufre una rotura, desconexión, etc, sin que ello afecte catastróficamente al entorno. El punto de montaje suele darse en la carpeta de sistema /mnt

Para montar el la partición /dev/sdb1, primero habrán de crear una carpeta dentro del directorio /mnt, desde donde podremos acceder al contenido del disco externo. Para crear la carpeta usamos el comando mkdir de la siguiente manera:

sudo mkdir /mnt/sdb1

En segundo lugar, montarán el dispositivo /dev/sdb1 (el disco USB externo) en el directorio recién creado:

sudo mount -t vfat /dev/sdb1 /mnt/sdb1

Montar un disco es como montar un caballo o como conducir al Justicialismo. Una vez que dominamos su arte, lograremos dominar la conciencia de ese bruto.

Ya es hora de ingresar en el directorio de montaje y comprobar que hay en su interior.

cd /mnt/sdb1
ls 

El servidor remoto nos informará si existen archivos en el disco rígido externo. En este caso particular, el disco es nuevo, por lo tanto cuenta con los típicos archivos del software privativo incluido en los discos externos Verbatim:

/MAC
/PC
autorun.inf
icon.ico
Start
MAC.app
PC.exe

Una vez que nos hemos asegurado que el disco está montado, y podemos leer el contenido del disco y grabar en el (podemos para ello crear un archivo de texto con Nano y guardarlo), sabemos positivamente que el disco funciona, y los permisos extendidos son los adecuados.

Esta será ocasión ideal para hacer que el disco USB se automonte toda vez que se inicia el equipo servidor. Para ello es necesario editar el archivo de sistema /etc/fstab del servidor. Con ello en mente, ingresamos el siguiente comando:

sudo nano /etc/fstab

Esta orden inicará el editor de texto GNU Nano, cargándole el archivo en cuestión. Normalmente el mismo ya debería contener información, la cual no debe modificarse. Simplemente, debemos agregar la siguiente línea:

/dev/sdb1 /mnt/sdb1 vfat defaults 0 0

Por ejemplo, el archivo podría quedar así (en amarillo, se indica lo agregado):

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
#
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda1 during installation
UUID=xxxxxxxx-xxxx-xxxx-xxxxx-xxxxxxxxxxx / ext4 errors=remoun$
# swap was on /dev/sda5 during installation
UUID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none swap sw $
# Automontar disco Verbatim de 1TB (agregado remotament el dd/mm/yy)
/dev/sdb1 /mnt/sdb1 vfat defaults 0 0

Conforme hemos concluido el agregado de la línea correspondiente, guardamos el archivo con Ctrl+O y abandonamos del editor remoto Nano con Ctrl+X

Acto seguido, podemos reiniciar el servidor de manera remota, para asegurarnos que el disco externo USB se monte automáticamente. Lo hacemos con el comando:

sudo reboot

Normalmente, tras dejar pasar un el tiempo necesario para el inicio del servidor remoto, ya podremos loguearnos nuevamente y comprobar que el disco rígido externo se ha automontado. Para ello debemos ingresar el comando:

cd /mnt/sdb1

Ya podríamos hacer nuevamente un list para ver el contenido del disco rígido externo montado:

ls

A partir de ahora, podremos hacer lo que querramos con el disco externo, siempre referenciado a /mnt/sdb1. ¡Recuerden trabajadores! Mientras que otros han pagado en oro o en sangre estos logros, el Justicialismo lo da gratis para todo aquel que quiera descargarse la ISO de Ubuntu!

(cerrados aplausos)