Introducción

Se queremos executar algún contenedor, servizo ou o que sexa. Precisamos ter unha sesión iniciada en Alpine. Polo que no caso de tela nalgún sitio sen pantalla, nin teclado, precisaremos que inicie sesión automáticamente. Para isto, utilizando o setup-alpine, crearemos un usuario. Desta forma non utilizaremos o usuairo root, o que sería un perigo.

Hai que recordar que en Alpine, no caso de facer algún cambio no sistema, como crear o usuario ou editar ficheiros de configuración, como o necesario para que acceda automáticamente, teremos que persistir os cambios. Para isto en Alpine, farémolo co comando lbu commit -d, necesario se estamos a executalo en modo diskless.

Instalar agetty para iniciar sesión automáticamente

Aínda que nalguns sitios vin que chegaría con editar o ficheiro /etc/inittab. Por exemplo, deixando a primeira liña das terminais tty1 como tty1::respawn:/sbin/getty -n -l /bin/login -f usuario 38400 tty1 o certo é que a mín non me funcionou, seguramente será para outras distros.

O que si me funcionou foron os pasos que figuran na wiki de Alpine. O primeiro sería instalar agetty senón o temos, que será o normal xa que Alpine ven cas cousas xustas.

agetty é un programa para xestionar as sesións no sistema. Neste caso que nos ocupa, para que un usuario inicie a sesión sen precisar introducir o contrasinal.

Para instalar paquetes en Alpine Linux usaremos o xestor de paquetes, APK. Polo que podemos actualizar as fontes con apk update, tendo as últimas versións dispoñibles e despois instalar o programa con apk add agetty. Que descargará e instalará o programa.

Configurar inicio de sesión automático

En troques de deixar a liña como indicaba antes, según a wiki temos que deixala como sigue tty1::respawn:/sbin/agetty --autologin usuario tty1 linux

Veremos que no arquivo /etc/inittab hai varias liñas que comezan por tty seguidas dun número. Estas son as distintas terminais que temos á nosa disposición. Para o que queremos, chega con iniciar sesión nunha delas, neste caso a primeira. O seguinte que facemos é dicirlle que cando arranque, a través do programa agetty inicie a sessión automática, co usuario que indiquemos na terminal que queiramos. Ao indicar linux no final, queremos que se configure de xeito que sexa compatible cun sistema linux.

Gardamos os cambios e xa na terminal persistimos a configuración con lbu commit -d

Reiniciamos e vemos que todo fose ben.

Conclusión

Alpine é un sistema que trae o xusto e que por defecto non garda os cambios. Isto pode chocar cando vimos doutros sitemas, pero é máis seguro. Xa que evitamos arrastrar cachés e cousas dunha sesión a outra. O único que temos que lembrar é commitear os cambios.

Por exemplo, se quixésemos probar algunha configuración do sistema, instalando novos paquetes, etc. Isto non comprometerá a estabilidade, xa que se reiniciamos todos eses cambios perderanse. O que sinala a importancia de commitear os cambios, que si queiramos preservar. Doutro xeito poderíamos perder o traballo feito, nun reinicio.

Agora xa teño un inicio de sesión automático, que me permitirá programar tarefas no cron, executar servizos, etc.

Fontes

Wiki de Alpine Linux: https://wiki.alpinelinux.org/wiki/TTY_Autologin