Servidoras Raspberry Pi con Debian

Las Raspberry Pi son computadoras pequeñitas de bajo consumo. Sirven muy bien para hacer prototipos, o para hacer servidoras locales para el sur global :fist:. También se pueden conectar a un tele o monitor, teclado y mouse, y sirven rebien como una computadora sencillita para navegar y algunas otras tareas comunes que requieren pocos recursos.

Estas son las que estoy reinstalando. La de la izquierda es la versión dos, la de la derecha la versión tres. Las diferencias entre ellas son pocas, pero el case que las protege las hace verse muy diferentes. Es solo la pinta.

De cariño les decimos raspi or rpi.

Las pueden comprar en CRCibernética, solas o como parte de kits y con accesorios. La Raspberry Pi version 4 cuesta $59.

Las mías estaban funcionando bien, pero ahora me dieron ganas de ponerles Debian. Una la quiero para piratear, y la otra para que sea un nodo de la economía anticapitalista descentralizada.

El sistema operativo se le instala a las rpi en una tarjeta SD. Cuando la compren revisen que la tarjeta venga incluida con el kit, o la van a tener que conseguir aparte. Con una de 4GB creo que ya funciona bien, pero si es de 16GB o más, pues mejor. Si tienen una tarjeta de poca memoria, le pueden conectar una memoria USB para almacenar sus datos.

Ya con el chunche comprado, la tarjeta SD, y un adaptador para conectar la SD a la compu, lo más fácil es instalarle uno de los sistemas operativos recomendados. Yo estoy en esto por la aventura, entonces quiero ponerle Debian, y usar este tema como bitácora de lo que aprendo.

Gracias al maestro Gunnar, tenemos disponibles versiones ya probadas listas para nuestras raspis en https://raspi.debian.net/tested-images/

En esa página tienen que descargar el archivo .img.xz correspondiente a su versión de raspi. Un archivo img es una imagen, un montón de bits que se van a copiar o flashear directamente a la tarjeta SD. Un archivo .xz es un archivo comprimido, parecido a un .zip.

Para descargar archivos grandes con mi conexión inestable, yo uso este comando en la terminal:

$ wget --continue <dirección-del-archivo>

Si se me corta la conexión, solo ejecuto el mismo comando y el --continue hace que continúe la descarga desde donde quedó.

Ustedes con sus finas fibras ópticas, pueden solo darle clic y descargarlo desde el navegador. Yo lo que hago es darle clic derecho al enlace del archivo .img.xz, copiar enlace, y pegarlo en la terminal con Ctrl+Shift+v. Por ejemplo, para mi raspi anaranjado sería:

$ wget --continue https://raspi.debian.net/verified/20200831_raspi_2.img.xz

Es importante verificar que estamos descargando la imagen correcta. Más si lo vamos a usar para algo de legalidad medio gris, porque podríamos estar siendo engañados y descargar un sistema operativo que nos espíe. Para eso Gunnar nos pone los archivos de sha256sum, que son un hash o identificador del archivo. Descarguemos ese también:

$ wget --continue https://raspi.debian.net/verified/20200831_raspi_2.xz.sha256

(recuerden que la dirección será diferente si su versión de raspi es diferente)

Para verificar que la descarga sea correcta, ejecutamos:

$ sha256sum --check 20200831_raspi_2.xz.sha256

(de nuevo, cambiando por el nombre del archivo que descargaron).

Para hacerlo realmente seguro deberíamos verificar la firma GPG de los archivos, pero ese tema aún no lo hemos tocado por aquí. Si les interesa, dejen un comentario y lo vamos hablando.

Para grabar la imagen podemos hacerlo como en -> Grabar un instalador de Linux en una memoria USB <- O podemos seguir en la terminal. Escojan su camino, yo voy a poner aquí como lo hice desde la terminal.

Necesitamos saber la ruta de la tarjeta SD. Para eso podemos usar el comando:

$ lsblk

que va a imprimir todos los dispositivos de almacenamiento, y su tamaño. Buscamos el que tenga el tamaño de nuestra tarjeta. Por ejemplo, la mía es sda:

sda                          8:0    1 119.3G  0 disk  
└─sda1                       8:1    1 119.2G  0 part  /media/elopio/tmp

Este paso es muy importante, porque lo que sigue va a borrar todo el contenido del dispositivo que le pasemos al comando. Si no les queda claro cuál es, pregunten por aquí antes de continuar.

Ya con eso tengo toda la info que necesito y puedo ejecutar:

$ xzcat 20200831_raspi_2.img.xz | sudo dd of=/dev/sda bs=64k oflag=dsync status=progress

(ustedes deben cambiar el 20200831_raspi_2.img.xz por el archivo que descargaron, y el sda por la ruta que encontraron con lsblk)

Este comando xzcat se encarga de descomprimir el archivo. | es un operador de redireccion, o sea que va a enviar la salida de xzcat al comando dd, ejecutandolo con permisos de sudo o administradora. dd hace una copia de los bits del archivo img a la tarjeta sd. Recuerden no ejecutarlo si no lo tienen claro y no están segur+s de la ruta. Siempre es mejor respaldar todo lo importante, preguntar mucho, y buscar quien les acompañe por si tienen dudas.

Cuando termina ponemos la tarjeta SD en el raspi, lo conectamos a la electricidad y a un monitor, y vamos a ver la terminal de Debian. Listo. Para iniciar sesión, la usuaria es root, con un password vacío.

Lo que sigue es configurarla para que sea más segura, y para poder entrar remoto desde la red, así no necesitamos ni un teclado ni un monitor para nuestra pequeña servidora.

Configuración…

@rngkll @efe hay un montón de raspis en el data center. ¿Para qué son? ¿Puedo tomar algunos?

Me gustaría dejar ahí una biblioteca librevirus

hola, yo quisiera pedir una prestada para usarla como blockchain para la moneda libre.

Me dice @efe que son 2, y los están usando :man_shrugging:

Configuración

Red inalámbrica

La raspberry pi 3 (en mi foto, la del case negro y gris) tiene una tarjeta para conectarla a la red wifi.

Con el comando $ ip address muestra todas las tarjetas de red. Primero aparece lo, o loopback, que es un dispositivo virtual para que se mande mensajes a sí misma. Luego eth0, o ethernet, que es la tarjeta para la red cableada. Y de último wlan0, o wireless, que es la que quiero empezar a usar.

Para hacerlo hay que editar el archivo /etc/network/interfaces.d/wlan0 y descomentar las últimas 4 líneas quitando el # del inicio. Que quede:

allow-hotplug wlan0
iface wlan0 inet dhcp
     wpa-ssid {nombre-de-la-red}
     wpa-psk {contraseña}

Cambiando {nombre-de-la-red} y {contraseña}. Al reiniciar la raspi, ya va a estar conectada a esta red.