https://paquita.masto.host/polkillas

Nextcloud en la Raspberry Pi con PHP 7 y MariaDB (4). Preparando un disco duro externo

Después de las entradas anteriores, ya podríamos instalar Nextcloud en la Raspberry, pero tendríamos un problema. SI un problema tiene la Raspberry es que no tiene disco duro y las tarjetas SD tienen una capacidad bastante limitada, si lo que pretendemos es usar este pequeño ordenador como nube. La solución está en conectar un disco duro y configurarlo para que nos haga el servicio que queremos.

En este caso vamos a seguir las instrucciones de manuti, creador del blog en español de referencia sobre las Raspberry, Raspberry para torpes.

Si todavía  no hemos conectado ningún disco duro a la Rasberry, es el momento de hacerlo, a ser posible con un concentrador que evite problemas de alimentación.

Un posible problema que podemos tener es que desconectemos el disco duro y, al volverlo a conectar, no se reconozca de la misma manera. Si estuviéramos en Windows, cuando insertamos un pincho USB se le da una letra (G;, H; etc.) y si lo sacamos y volvemos a meter cabe la posibilidad de que la letra cambie, y eso puede ser un problema para nuestra nube. Para ello, vamos a asegurarnos de que esto no pasa.

Cuando hemos conectado el disco duro a la Rasbperry, podemos comprobar si se ha reconocido bien, escribiendo ls -laF /dev/disk/by-uuid/

fotos-onedrive7

Reconozco que no sé a qué se refieren exactamente las dos primeras líneas pero, afortunadamente, no hace falta saberlo. Las importantes son el resto. Las que tienen al final la expresión ../../mmcblkXX se refieren a la tarjeta SD, mientras que la otra es la que nos interesa realmente.

En Ubuntu Linux, los discos duros no reciben una letra como en Windows, sino una expresión que tiene tres letras y puede tener un número. En mi caso, el disco duro es sda1. La «s» significa disco duro moderno, los antiguos llevarían una «h»; la «d» es de disco, la letra es algo parecida a la de Windows, pero siempre en minúscula (podría haber sda, sdb, sdc, etc.); y el número se referirá a las particiones que pueda tener el disco duro.

Manuti recomienda formatear el disco duro en formato ext4. Tiene la ventaja de trabajar mejor y más rápido, y el inconveniente de que, si lo hacemos, Windows no reconocerá el disco duro. Puesto que el principal problema de la Raspberry Pi 2 es la velocidad de transferencia de archivos por la red, problema creado porque el diseño que tiene (todas las versiones, de la 1 a la 3 y también la Zero) presenta un cuello de botella, me parece que no es muy necesario hacerlo, sobre todo si no manejamos normalmente Linux. Si estás interesado en hacerlo, puedes seguir las (muy claras) instrucciones de manuti.

También podemos comprobar la presencia del disco duro con la orden sudo blkid, que nos dará un resultado diferente pero con la información que necesitamos.

pipolkillas-pi-_029

Vemos que el UUID del disco duro es el mismo en los dos casos. Bien, pues vamos a crear una carpeta donde «se monte» el disco duro siempre. O sea, vamos a decirle a la Raspberry que siempre le dé el mismo nombre, como si en Windows le diéramos la misma letra siempre. Para ello creamos un directorio. Puede ser el que queramos, pero es recomendable usar /media/lo-que-sea. Además, para evitarnos problemas de permisos y que siempre podamos abrir cualquier archivo del disco duro, lo dejamos libre, sin protección

Por ejemplo, puesto que uso un disco duro prestado de mi novia que está etiquetado como «Vir», hago lo siguiente:

sudo mkdir /media/Vir
sudo chmod 777 /media/Vir

Ahora, el siguiente paso es delicado. Alguna vez me he cargado la Raspberry, dejándola sin posibilidad de arrancar bien. Afortunadamente, manuti no solo nos recomienda hacer una copia de seguridad sino que nos explica cómo hacerla. Hacemos una copia de seguridad del archivo que guarda la configuración de los discos:, que se llama /etc/fstab:

ls /etc (comprobamos que el archivo existe)
sudo cp /etc/fstab /etc/fstab.old (lo copiamos con otro nombre en el mismo sitio)
ls /etc (comprobamos que lo hemos hecho bien)
sudo apt-get install ntfs-3g (instalamos el driver para ntfs)

 

pipolkillas-pi030 pipolkillas-p031

Ahora vamos a editar el archivo «fstab» con un programa llamado «nano»: sudo nano /etc/fstab.

Nano es un editor de textos muy sencillo, es el equivalente al Bloc de notas. Ojo que, aunque tengamos ratón porque estamos accediendo por SSH, hay que tener en cuenta que no podemos manejar nano con el ratón; solo podemos hacerlo con el teclado.

Ahora tenemos dos opciones. La primera es algo más sencilla. En el fichero fstab, debemos añadir una línea como la siguiente

/dev/hdaX /media/Vir ntfs-3g defaults,locale=es_ES.UTF8 0 0

Pero esto tiene un problema: si desconectamos este disco duro y conectamos otro, Rasbpian no tendría forma de saber que es otro diferente. Casi seguro, las carpetas y archivos serían diferentes y esto nos puede dar muchos problemas con Nextcoud. Por eso, es más seguro, como recomienda manuti, identificar el disco duro por su «DNI», el UUID. La línea del archivo fstab sería esta:

UUID=el-largo-código-de-números-y-letras /media/Vir ntfs-3g defaults,locale=es_ES.UTF8 0 0

Y si hemos optado por hacerlo con el formato de Linux, sería esta otra:

UUID=el-largo-código-de-números-y-letras /media/Vir ext4 defaults 0 0

La explicación es esta:

/dev/hdaX (también puede ser /dev/sdaX)

UUID=lo-que-sea

El nombre del disco duro

El disco duro

/media/Vir La carpeta que hemos creado
ntfs-3g El sistema de archivos del disco duro (si pusiéramos solo ntfs, sería de solo escritura y no nos serviría para Nextcloud)
defaults,locale=es_ES.UTF8 la configuración: normal (defaults) y en español de España (es_ES). Esta parte no hace falta en ext4.
0 opción para copias de seguridad que la Raspberry no tiene por defecto, así que lo dejamos en 0
0 opción para que fsck (algo parecido a scandisk pero en Linux) escanee esta unidad. Alargaría mucho el tiempo de arranque, así que le decimos que no con el 0

 

4 comentarios

1 ping

Saltar al formulario de comentarios

  1. Mismo problema que en anteriores comentarios. A ver si nos arrojas algo del luz sobre el tema.

  2. Me salta error al instalar el driver de NTFS –>

    sudo apt-get install ntfs-3g
    Leyendo lista de paquetes… Hecho
    Creando árbol de dependencias
    Leyendo la información de estado… Hecho
    Tal vez quiera ejecutar «apt –fix-broken install» para corregirlo.
    Los siguientes paquetes tienen dependencias incumplidas:
    sonic-pi : Depende: libQt5printsupport5 pero no es instalable
    E: Dependencias incumplidas. Intente «apt –fix-broken install» sin paquetes (o especifique una solución).

    1. Es un error que a mí no me ha salido. Puedes intentar sudo apt--fix-broken install, como sugiere APT y, si no funciona, me da que puede ser problema de los repositorios stretch, que no se hayan actualizado o algo así, así que prueba con sudo apt update && sudo apt install ntfs-3g.
      Si no, la verdad es que no sé a qué se puede deber.

      1. Al final lo he arreglado. Arreglando loas dependencias… Encontré un post con un problema parecido de dependencias y se arreglo… La verdad que has hecho un gran trabajo con este tutorial por pasos…. Muchas gracias!!!

  1. […] « Nextcloud en la Raspberry Pi con PHP 7 y MariaDB (4). Preparando un disco duro externo […]

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.