El atareao atareao  

Alpine y Arch en la Raspberry

Con todo esto que te vengo contando en las últimas semanas sobre los contenedores, he tenido una revelación o casi. Creo que fue anoche, cuando me desperté entre sueños, con una idea en mente, que seguro ya se le había ocurrido a millones de personas mucho antes, pero que por alguna extraña razón, a mi, no se me había ocurrido hasta el momento. Si con Alpine Linux se consiguen imágenes de contenedores tan livianas, ¿porque no aprovechar ese potencial en la Raspberry?. Así que esto me ha llevado a instalar tanto Alpine como Arch en la Raspberry.

Claro, que te preguntarás ¿porque Alpine y Arch? ¿Porque no te has decantado por una de ellas? Pues si, finalmente me he decidido por Arch en la Raspberry, pero esto te lo contaré a lo largo del podcast. Sinceramente, creo que ha sido una buena decisión esto de instalar Arch en la Raspberry.

Es posible, que esté cayendo en el distrohopping en la Raspberry. Pero ¿para que está la Raspberry si no es para probar?

Arch en la Raspberry

Alpine y Arch en la Raspberry

Instalando Alpine

Como te decía en la introducción, el primer paso, después de esa visión, fue instalar Alpine Linux, algo que fue tremendamente sencillo, y que te invito a que pruebes si quieres, siguiendo, escrupulosamente los pasos que indican en su página web.

Sin embargo, ni el montaje de las particiones queda como debería, y además cada vez que realizas una modificación además de guardarlo es necesario consolidarlo.

Probablemente, y con toda seguridad, exista la posibilidad de hacerlo de otra forma, pero, tampoco investigué mas, y preferí optar por otras soluciones.

Instalando Arch en la Raspberry

Al ver los inconvenientes que he comentado en el apartado anterior, decidí probar con otra distro, que viniera tan pelada como Alpine Linux, o al menos, parecido. De esta forma me decidí por Arch, y la verdad es que ha sido todo un acierto y un bonito encuentro.

La instalación no ha sido nada compleja, todo lo contrario, ha sido realmente sencilla. Tan sencilla, que lo instalé varias veces, hasta que conseguí tener mi propio script de instalación probado y funcionando.

El script lo puedes encontrar en el repositorio de GitHub donde estoy alojando los scripts en Bash que tengo por ahí desperdigados para que se encuentren todos en el mismo sitio.

El primer paso, actualizar

Acceder a la Raspberry, como alarm y modificar el archivo de configuración de sshd para acceder como root. En algún que otro sitio, habla de acceder como root, pero lo cierto es que en la configuración de sshd_config no lo tiene habilitado.

Pero para esto tienes que acceder con el usuario alarm y ganar derechos de administrador, para lo que tienes que ejecutar la siguiente instrucción,

su - root

Vamos a actualizar,

pacman-key init
pacman-key-populate archlinuxarm
pacman -Syyu

Ganar derechos de administrador y modificar nuestro usuario

Instalamos sudo para poder realizar operaciones administrativas con nuestro usuario,

pacman -S sudo

Ahora vamos a modificar el archivo /etc/sudoers. Para ello tienes que utilizar visudo. Tienes diferentes opciones, pero yo me he decantado en este caso por descomentar la línea,

%wheel ALL=(ALL) NOPASSWD: ALL

Llámame loco, pero así no tengo que poner tanta contraseña, que al final, para esto no tiene mucho sentido. Al menos en mi caso. Por otro lado, asegurate de que tu usuario pertenece al grupo wheel. Para ello simplemente tienes que ejecutar con tu usuario groups o si estás con el usuario root, ejecutas groups <nombre-de-usuario>. En mi caso

groups lorenzo

Configurando tu usuario

Voy a permitir acceder a root de forma temporal vía ssh. Esto es para modificar la configuración de mi usuario. Cuando termine dejaré la configuración como estaba inicialmente.

vi /etc/ssh/sshd_config

Y añades la siguiente línea,

PermitRootLogin yes

Una vez realizado este paso, simplemente reinicia el servicio,

systemctl restart sshd

Y sales de la Raspberry, y vuelves a acceder esta vez ya como root. Esto te va a permitir cambiar tu nombre de usuario, tu contraseña, el directorio de trabajo, e instalar sudo, siguiendo los pasos que te indico a continuación,

usermod -l lorenzo alarm
passwd lorenzo
usermod -d /home/lorenzo -m lorenzo
groupmod -n lorenzo alarm

De esta manera ya tienes tu usuario con tu nombre, alias o lo que quieras. Ahora simplemente tienes que restaurar el archivo de configuración a su estado inicial.

Otra cuestión que puedes hacer es cambiar el hostname, en mi caso,

hostnamectl set-hostname raspiarch

Personalizando Arch en la Raspberry

Creo que en algún punto de las instrucciones que he dejado a continuación me olvidé de instalar git, pero para mi es una herramienta fundamental, con lo que voy a ponerla la primera de todas para que no se me olvide.

sudo pacman -S git

Instalar NeoVim

Tan sencillo como ejecutar,

sudo pacman -S neovim python-neovim

Instalando bash-it para Arch en la Raspberry

Tan sencillo como ejecutar

git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it
~/.bash_it/install.sh
source ~/.bashrc

A mi me gusta utilizar el tema powerline-multiline. Para hacer esto, es tan sencillo, como editar el archivo ~/.bashrc y editar la línea,

export BASH_IT_THEME=powerline-multiline

De nuevo, ejecutar source ~/.bashrc y ya lo tienes perfectamente configurado

Configuración de dotfiles

Como comenté en un reciente podcast, actualmente estoy utilizando dotdrop como mi gestor de dotfiles así que ha llegado el momento de instalarlo. Para esto, directamente he clonado mi repositorio de GitHub y después he instalado Python y pip,

sudo pacman -S python3 pip

Después tan sencillo como instalar las dependencias necesarias,

pip install --user -r requirements.txt

Aquí tuve que añadir una nueva variable para personalizar la instalación en el caso de la Raspberry con Arch, porque los instalé en otra ubicación. Sin embargo, esto es lo de menos.

Instalar WireGuard

Tan sencillo como ejecutar la siguiente instrucción,

sudo pacman -S wireguard-tools

Posteriormente reinicié la Raspberry. Para la configuración, detuve WireGuard en el servidor. Añadí la configuración de esta Raspberry en el mismo, y para terminar reinicié el servicio.

Posteriormente configuré la Raspberry con la clave pública del servidor y privada del cliente, añadí el keepalive, y levanté el servicio. Todo funcionando

Instalando Docker

Por supuesto que no podía pasar sin instalar Docker aquí también. Así que vamos al tema

sudo pacman -S docker docker-compose

Por supuesto no podía instalar Docker sin instalar a su fiel vasallo docker-compose.

Una vez instalado,

sudo systemctl start docker
sudo systemctl enable docker

Luego tienes que hacer los típicos pasos para tener Docker funcionando. Añadir tu usuario al grupo docker, y probar con un,

docker -v
docker run hello-world

Algunas herramientas interesantes

Llegados a este punto, ya lo tengo todo completamente instalado y funcionando. Simplemente he querido instalar un par de herramientas para simplemente ver los consumos y alguna que otra cuestión extra en la raspiarch, como la he bautizado. Así, por ejemplo, he instalado algunas herramientas como

  • neofetch
  • bpytop
  • fzf
  • jump

Más información

It’s FOSS
ArchLinuxArm
How-To Geek
ArchWiki

Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.

Imagen de portada de Emily Campbell

La entrada Alpine y Arch en la Raspberry aparece primero en Atareao.

Leave A Comment

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