Actualizar Raspbian/Debian Stretch a Buster es posible (también "headless")
Prácticamente durante todo lo que va del año estuve intentando actualizar arandano de Raspbian Stretch a Buster porque Stretch ya es una versión antigua de Debian (old stable) o sea, prácticamente obsoleta (aunque todavía se pueden bajar paquetes y actualizaciones). Así que pasar a Buster era lo mejor. Pero había dos problemas:
El mito de que no es actualizable
No sé de dónde salió esto pero leí en algún momento que simplemente no se podía, y de hecho, sobre todo en el mundo ubuntero o en partes de él (algunas distros derivadas por ejemplo) la idea de que la reinstalación limpia es lo único que puedes hacer. Esto me pareció inapropiado considerando que tenía archivos que quería conservar y un cierto estado dentro de la máquina (incluyendo la confiiguración de la toma de temperaturas). No es lo mismo migrar un servidor medio desatendido que un PC donde a lo mejor NADA es importante o puedes hacer un cp Documentos /mnt/pendrive y listo. No me pareció que fuera el caso. Sin embargo, yo mismo me encontré fracasando un par de veces ya que no podía ver el sistema instalado ni funcionando con mi wifi. Y recuerden que lo uso sólo desde SSH, sin monitor ni nada.
Por el contrario, hay muchos tutoriales de actualización de Stretch a Buster. Casi todos eso sí, enfocados en Debian “normal”. Hay ciertos matices en la actualización de Debian, pero en general, es actualizar los repositorios, instalar actualizaciones de paquetes, instalar paquetes del sistema operativo en sí y luego reiniciar. Recomiendo el procedimiento de nixCraft .(o cyberciti.biz como lo conocía yo) que está simplificado. Un artículo con el mismo procedimiento muy simplificado (que de hecho enlaza a nixCraft) es este artículo de un tal Ralph que fue el que usé realmente.
Pero antes de que se vayan por ese enlace, hay un par de detalles con el Raspberry Pi que no van a encontrar allí:
Raspi-config y su configuración por defecto
Los Raspberry Pi vienen con una aplicación de configuración. Esta aplicación se “resetea” en un cambio de versión del sistema y con el cambio de Stretch a Buster los cambios fueron también bastante bruscos.
Hay dos configuraciones de red que cambian con Buster:
- SSH queda deshabilitado por defecto.
- La red queda deshabilitada en el arranque por defecto.
Si tienes un Raspberry Pi (la versión que sea) y lo usas “descabezado” (sin monitor, sin teclado conectado directamente, sólo por SSH) esto te va a dar bastantes problemas.
Puedes seguir los pasos de la instalación, pero por el amor del monesvol no reinicies de inmediato (el paso 6 del blog de Ralph), entra a:
sudo raspi-config
Y busca en Interfacing Options o Interfaz la opción de SSH. Con horror te darás cuenta que la opción se encuentra deshabilitada por defecto , por lo que si reiniciases en este momento quedarías fuera del servidor. Tienes que seleccionar “Yes” o de lo contrario, ya sabes lo que pasaría.
Pero eso no es todo. También es imprescindible que vayas a System Options (en el menú principal de raspi-config) y habilites Network at boot (Yes). Además, en Wireless LAN debes asegurarte que efectivamente hayan credenciales válidas para conectarte a la red (a menos, claro, que te conectes por cable, en ese caso no hay problema).
Estas medidas se tomaron por seguridad pero para los usuarios que utilizamos dispositivos sin monitor ni teclado, como miniservidores pueden dejar al dispositivo inutilizable si es que no tienes cómo conectarlo a una pantalla y a un teclado.