jueves, 21 de mayo de 2020

Problemas con Grub2

Un simple reinicio luego de una actualización de kernel y el servidor no arrancaba.

Ejemplo de comandos a usar desde grub:

ls (hd2,2)/ es lo mismo que ls (hd2,msdos2)/ o ls (hd2,gpt2)/

Se debe buscar en cuál unidad está /boot con archivos vmlinuz-* e initramfs-*

set root=(hd0,1)
linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
initrd /boot/initrd.img-3.13.0-29-generic
boot

/dev/sda1 debe corresponder a la unidad que aloja a la raíz. En el caso de discos ssd puede ser algo como /dev/nvme0n1p2, lo mejor es revisar /etc/fstab, por ejemplo (estando en grub): cat (hd2,2)/etc/fstab

Al reiniciar el sistema podría quedarse en modo de mantenimiento. Se debe corregir el problema de grub2 y hacer permanentes los cambios. Lo primero es ver una lista de kernels disponibles:

cat /etc/grub2.cfg | grep ^menuentry

La lista de kernels se cuenta desde 0. El primero de la lista es el 0. Es importante porque se debe elegir cuál se usará:

grub2-set-default 0

Luego:

grub2-mkconfig -o /boot/grub2/grub.cfg

Y finalmente:

grub2-install /dev/sda

Ojo que no es /dev/sda1 porque no se refiere a una partición, sino a una unidad entera.
En el caso de una partición /dev/nvme0n1p2, el nombre de la unidad sería /dev/nvme0n1

lunes, 18 de mayo de 2020

Cuando los programas que usan la librería ncurses, se ven mal

Tratando de usar ncdu (una excelente herramienta para averiguar de qué está lleno el disco), me encuentro con que su interface se ve mal, por caracteres gráficos incorrectamente mostrados.

Este problema ocurre en CentOS 7 con cualquier programa que use la librería ncurses y la solución consiste en crear un archivo /etc/profile.d/ncurses.sh que contenga:

export NCURSES_NO_UTF8_ACS=1

En el siguiente inicio de sesión, la aplicación ya será mostrada correctamente.