En este tutorial, usaremos una Raspberry Pi para montar una unidad USB. Te enseño cómo montar unidad USB en la Raspberry Pi, Te enseño como Raspbian monta automáticamente una unidad como a hacerlo manualmente.
Si quieres tener esta unidad accesible a través de tu red, entonces el servidor samba de Raspberry Pi es más adecuado para tus necesidades.
Es importante saber que Raspbian lite actualmente no monta automáticamente sus unidades. Así que tendrás que configurarlo manualmente o instalar el paquete de software para que se monte automáticamente.
El montaje de unidades es una habilidad importante cuando se trata de trabajar con discos duros y estructuras de archivos en Linux. Una vez que tengas una comprensión general, se convierte en una tarea bastante fácil.
Tener una buena comprensión de los permisos de archivos de Linux hará que este tutorial sea mucho más fácil. Si no lo haces, entonces deberías ser capaz de completar este tutorial sin problemas.
Lista de equipos para montar unidad USB en la Raspberry Pi
Necesitarás un equipo básico para configurar una unidad USB montada en Raspberry Pi.
Recomendado
- Raspberry Pi
- Micro SD Card (8 GB+ Recommended)
- Ethernet Cable or Wi-Fi
- External Hard drive or USB Drive
Optional
- Raspberry Pi Case
- USB Keyboard
- USB Mouse
Nota: Si planeas utilizar un disco duro externo, entonces es muy probable que necesites un hub USB con alimentación. Esta recomendación se debe a que la Raspberry Pi no puede emitir suficiente energía a través de los puertos USB para alimentar la unidad.
Si quieres ver cómo hacer este proyecto visualmente, entonces asegúrate de ver mi video a continuación. Le llevará a través de todos los pasos necesarios para conseguir su unidad USB montado correctamente.
Si te gusta el vídeo, asegúrate de suscribirte o seguirnos en las redes sociales para estar al día de todos mis proyectos, guías y mucho más.
Montar una unidad USB en la Raspberry Pi automáticamente
En la última versión de Raspbian (Stretch), sus unidades USB deberían montarse automáticamente cuando se conectan a la Pi. Es importante saber que si actualizas a Stretch desde Jessie puede haber problemas de compatibilidad con proyectos y tutoriales antiguos.
Si desea comprobar dónde se ha montado su unidad, puede utilizar simplemente el siguiente comando.
sudo cat /proc/mounts
Esto dará lugar a una gran cantidad de texto. Las unidades USB suelen estar en la parte inferior del texto, como se muestra en la imagen siguiente.
Como puedes ver mi disco ubicado en /dev/sda1 se ha montado automáticamente en /media/pi/CA1C-06BC.
El montaje automático realizado por Raspbian estará bien para la mayoría de los proyectos y el uso regular. Mantendrá su ubicación de montaje cada vez que quites y vuelvas a insertar la unidad, ya que utiliza el UUID de la unidad para el nombre de la carpeta de montaje. También puedes encontrar el UUID usando el siguiente comando:
ls -l /dev/disk/by-uuid.
Puedes encontrarte con problemas si quieres permitir el acceso a la unidad a un usuario específico que no es el usuario por defecto. En nuestro siguiente paso, montaremos la unidad utilizando el archivo fstab y forzaremos los permisos de un usuario y grupo determinados.
Montar una unidad USB en la Raspberry Pi manualmente
Si quieres montar la unidad en tu Raspberry Pi de forma permanente, entonces tendremos que configurar la unidad en el archivo fstab.
En esta sección, aprenderás a identificar y montar cualquier unidad de disco conectada.
Identificación de los discos que quieres montar
Primero tenemos que averiguar el nombre del sistema de archivos de la unidad que queremos montar en nuestra Raspberry Pi.
Para ello, utilizaremos el comando df.
df -h
df significa “disk-free” (disco libre), y se utiliza normalmente para mostrar el espacio disponible en el disco para los sistemas de archivos, pero también muestra el nombre del sistema de archivos.
A partir de este comando, deberías ver un resultado como el que tenemos a continuación
Filesystem Size Used Avail Use% Mounted on /dev/root 29G 3.1G 25G 12% / devtmpfs 1.8G 0 1.8G 0% /dev tmpfs 2.0G 8.0K 2.0G 1% /dev/shm tmpfs 2.0G 8.6M 1.9G 1% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/mmcblk0p1 253M 53M 200M 21% /boot tmpfs 391M 0 391M 0% /run/user/1000 /dev/sda1 932G 595G 337G 64% /media/pi/My Passport
Este resultado enumera todos los dispositivos de almacenamiento conectados, el nombre de su sistema de archivos y dónde están montados actualmente
Utilice este resultado para identificar la unidad que desea montar.
Por ejemplo, queremos montar nuestra unidad “My Passport” de 1TB en nuestra Raspberry Pi. La mayoría de las unidades externas serán referencias bajo el nombre del sistema de archivos /dev/sd**.
Así que al revisar la lista, podemos ver que esta entrada coincide con lo que buscamos.
/dev/sda1 932G 595G 337G 64% /media/pi/My Passport
A partir de esta fila, podemos encontrar que el nombre del sistema de archivos que necesitamos utilizar para los próximos pasos es el siguiente.
/dev/sda1
Recuperación del UUID y del tipo de disco
En esta sección, necesitaremos tomar el nombre del sistema de archivos que recuperamos en la sección anterior para encontrar tanto el UUID (Universal Unique Identifier) como el tipo de unidad.
Para conocer más información sobre el sistema de archivos de nuestras unidades, podemos hacer uso de la herramienta blkid.
Ejecuta el siguiente comando para obtener información sobre tu unidad.
sudo blkid /dev/sda1
Ten en cuenta que debes sustituir /dev/sda1/ por el nombre del sistema de archivos que has recuperado en la sección anterior.
A partir de este comando, deberías haber obtenido un resultado como el que tenemos a continuación
/dev/sda1: LABEL="My Passport" UUID="8A2CF4F62CF4DE5F" TYPE="ntfs" PTTYPE="atari" PARTUUID="00042ada-01"
Por favor, anota el valor tanto del UUID como del TIPO.
Dependiendo del “tipo” de tu sistema de archivos, es posible que necesites instalar controladores adicionales.
Si estás utilizando una unidad que tiene un tipo de ntfs o exFAT, tendrás que seguir los pasos apropiados a continuación. De lo contrario, puedes continuar con la siguiente sección.
NTFS Para poder utilizar el formato NTFS en tu Raspberry Pi, necesitarás instalar el controlador NTFS-3g.
Puedes hacerlo ejecutando el siguiente comando.
sudo apt install ntfs-3g
exFATT Para añadir soporte al sistema de archivos exFAT, necesitaremos instalar dos paquetes.
sudo apt install exfat-fuse
sudo apt install exfat-utils
Estos dos paquetes permitirán a la Raspberry Pi leer e interpretar las unidades exFAT.
Montaje de la unidad en la Raspberry Pi
Con todo preparado y con el UUID y el tipo de la unidad a mano, podemos proceder a montar la unidad.
Para empezar, tenemos que crear un directorio en el que montaremos nuestra unidad.
Podemos hacerlo ejecutando el siguiente comando. Puedes nombrar la carpeta que estamos montando como quieras, pero para este tutorial, usaremos el nombre usb1.
sudo mkdir -p /mnt/usb1
Ahora vamos a dar a nuestro usuario pi la propiedad de esta carpeta ejecutando el siguiente comando.
sudo chown -R pi:pi /mnt/usb1
A continuación, tenemos que modificar el archivo fstab ejecutando el siguiente comando.
sudo nano /etc/fstab
Este archivo controla cómo se montan las unidades en su Raspberry Pi.
Las líneas que añadimos a este archivo le dirán al sistema operativo cómo cargar y manejar nuestras unidades.
Para este paso, necesitará conocer el UUID ([UUID]) y el TIPO ([TYPE]) de sus unidades.
Añade la siguiente línea al final del archivo, sustituyendo [UUID] y [TYPE] por sus valores requeridos.
UUID=[UUID] /mnt/usb1 [TYPE] defaults,auto,users,rw,nofail,noatime 0 0
Una vez hecho esto, guarda el archivo pulsando CTRL + X, seguido de Y, y luego la tecla ENTER.
Ahora bien, como es probable que la Pi haya montado automáticamente la unidad, tendremos que desmontarla.
Una forma sencilla de hacerlo es utilizar el siguiente comando ( Reemplaza /dev/sda1 con el nombre del sistema de archivos que encontraste anteriormente en esta guía).
sudo umount /dev/sda1
Una vez que la unidad ha sido desmontada, podemos seguir adelante y montarla de nuevo.
Para volver a montar la unidad, puede utilizar el siguiente comando.
sudo mount -a
La unidad debería montarse ahora usando los cambios que hicimos en el archivo fstab.
Si quieres asegurarte de que los discos se restauran después de que la Pi se haya apagado, ejecuta el siguiente comando:
sudo reboot
Las unidades deberían montarse automáticamente después de que la Raspberry Pi haya terminado de reiniciarse.
Con suerte, ya tienes tu disco montado en la Raspberry Pi. Si tienes algún problema, entonces asegúrate de revisar la guía de solución de problemas a continuación.
Solución de problemas
Lo más probable es que los siguientes problemas sólo surjan cuando se monte la unidad manualmente.
Solución de problemas de permisos de archivos
Uno de los mayores problemas que te encontrarás al montar una unidad son los permisos.
Hay varias maneras de tratar de resolver este problema, a continuación veremos un par de ellas.
Dar la propiedad a su usuario
Una de las formas más sencillas de garantizar que tu usuario pueda leer y escribir en los archivos es darle la propiedad de los mismos.
Para ello, debes ejecutar el siguiente comando. Si estás utilizando una posición de montaje diferente, sustituya /mnt/usb1 por su posición de montaje.
Además, si estás utilizando un usuario diferente, asegúrate de sustituir “pi:pi” por tu usuario. Por ejemplo, para plex, utilizarías “plex:plex”.
sudo chown -R pi:pi /mnt/usb1
Corregir los permisos
Si estás utilizando una unidad con un tipo de ext4 u otro formato nativo de Linux, también puedes corregir los permisos de los archivos.
Este método no funcionará para NTFS o exFAT ya que no soportan el mismo sistema de permisos que utiliza Linux.
Para este paso, asegúrate de tener a mano el directorio de montaje que has establecido, para nuestro ejemplo, usaremos el directorio /mnt/usb1.
Empieza por cambiar al superusuario.
sudo su
Ahora ejecuta los dos siguientes comandos.
Estos comandos se ejecutarán a través del directorio estableciendo permisos tanto para los archivos como para los directorios.
find /mnt/usb1/ -type d -exec chmod 755 {} \;
find /mnt/usb1/ -type f -exec chmod 644 {} \;
Si estás utilizando una ruta de montaje diferente, asegúrate de sustituir “/mnt/usb1/” por la tuya.
Puedes salir del superusuario utilizando el siguiente comando
exit
Las unidades no se montan en el arranque
Otro problema que puedes encontrar es que la unidad no se monte en el arranque. Ha habido algunos cambios en Raspbian y en la Raspberry Pi que pueden causar problemas con el montaje de la unidad en el tiempo.
La mejor manera de solucionar esto sería añadir las siguientes líneas antes de la línea exit 0 en el archivo /etc/rc.local.
sleep 20
sudo mount -a
Espero que ahora seas capaz de montar una unidad USB en tu Rasberry Pi. Si estás teniendo problemas con el montaje de tu unidad USB o tienes algún comentario, entonces no dudes en dejar un comentario a continuación.
¡Que tengas un Ingenioso día!
¡que tengas un ingenioso día!
Contrata tu plan Ingenios@ de Sistemas por 5€ al mes y responderé a todas tus preguntas sobre tecnología en el menor tiempo posible. Pasa a formar parte de la comunidad Ingenios@s de Sistemas y disfruta de contenido exclusivo y aprende sobre sistemas Open Source, Blockchain, SmarContract, Web3, Inteligencia Artificial y Reaidad Virtual, súbete al tren de la Revolución 4.0
Si quieres estar al día y no perderte nada Suscribete al Podcast Ingenios@s de Sistemas, un episodio diario que te mantendrá informado y formado en esta vertiginosa carrera.