Browsing Category
Linux Sysadmin

Go en Raspberry Pi

Instalando la versión de Go por defecto con APT INSTALL

Instalar Go en Raspberry Pi usualmente es una labor muy sencilla si usamos el sistema de paquetes APT de la Raspberry PI, simplemente ejecutamos:

sudo apt update
sudo apt install golang

Sin embargo la versión de Golang que se nos instala a través del sistema de paquetes APT es una versión bastante rezagada contra la última lanzada en el sitio oficial del lenguaje Golang, por lo que procederemos a desinstalar está versión en caso de que la hubiésemos instalado y vamos a instalar la versión más reciente desde el sitio oficial.

sudo apt remove golang
sudo apt-get autoremove
source .profile

Instalando la versión más reciente de Go en Raspberry pi desde código fuente

Con la secuencia anterior ya hemos eliminado la versión cargada de Golang desde APT. Procedemos a descargar e instalar la versión mas reciente de Go desde el sitio oficial de Golang.

Me ha tocado revisar un servidor que presenta un mysql error al iniciar su motor de bases de datos, más precisamente un bloqueo en el archivo tc.log en el proceso de arranque del motor mariadb / mysql.

[Note] Recovering after a crash using tc.log
[ERROR] Can't init tc log
[ERROR] Aborting
¿El porqué de esté MySql Error?
  • Espacio de disco saturado.
  • Archivo de log tc.log corrupto al no tener espacio para generarse el archivo correctamente.
  • Falta de prevención al no tener un sistema de monitoreo de recursos activado

Como sysadmin lo primero que realizamos siempre es analizar los logs del sistema, en el 90% de los casos nos indicaran el camino para resolver el problema, en este caso nos indica que el problema se presenta al intentar iniciarlizar el sistema de logs del motor Mysql, por un posible bloqueo en el archivo de log tc.log

¿Solución al mysql error tras revisar el servidor?
  • Liberar espacio en disco.
  • Eliminar el archivo tc.log sudo mv /var/lib/mysql/tc.log /var/lib/mysql/tc_bk.log para que mysql lo pueda generar nuevamente en el siguiente arranque.
  • Como prevención para futuros casos, programar alarmas para que se notifique al cliente cuando el servidor se encuentre en situación critica en cuanto a sus servicios.