viernes, 17 de enero de 2020

Actualizar Grub en Ubuntu

Hoy vengo a contar un problema que hemos tenido en una aula en la que los equipos tienen instalado Ubuntu 18.04.
De repente y sin venir a cuento dos equipos se han quedado colgados y al reiniciar el equipo han arrancado con una resolución muy baja, probablemente VGA (640x480). Lo cual hacía el equipo inmanejable.


Para averiguar que había pasado ejecutamos el comando dmesg, que permite ver todos los mensajes que el sistema produce en el arranque. Así pudimos comprobar que estaba arrancando una versión del kernel antigua.
Para comprobar con cual versión de kernel ha iniciado tu sistema ejecuta:
dmesg | grep vmlinuz
Nos salió la versión 5.3.0-26 , cuando la versión que tenemos es la 5.0.0-37.
Nota: Una forma mas sencilla es el comando uname -a

¿Por qué ha pasado esto?
Pues ni idea, misterios de los sistemas informáticos. No se han actualizado los equipos ni nada parecido. Seguiré observando el comportamiento de los mismos para averiguar qué ha ocurrido.


Actualización: Ya sé que ha pasado. Resulta que Ubuntu tiene las actualizaciones automáticas y eso incluye el kernel o núcleo. Es este núcleo el que revienta la configuración gráfica. También se carga el Virtualbox.

Ahora la cuestión es ¿cómo arreglarlo?

En principio vamos a arrancar el equipo con el núcleo correcto para lo cual basta con seleccionarlo en el menú de arranque. El problema es que Ubuntu lo oculta, le pone un tiempo de espera de 0 segundos y no puedes seleccionar nada.

Toca editar el archivo de configuración del gestor de arranque (Grub2) desde la terminal (pulsando Ctrl+Alt+T).
Para ello ejecutamos:
sudo nano /etc/default/grub
después editamos el archivo y modificamos esta línea, las demás las dejamos como están.
(Nota: en rojo las modificaciones)
GRUB_TIMEOUT=8 
#GRUB_TIMEOUT_STYLE=hidden
Hemos puesto 8 segundos y comentado (#) la línea que ocultaba el menú. Guardamos y salimos de nano (Ctrl+o y Ctl+x)
Ahora hay que actualizar el gestor de arranque, para ello ejecutamos:
sudo update-grub2
Y reiniciamos el equipo
Ahora al arrancar vemos un menú similar a este:

Iniciar Ubuntu 5.0.0-26
Opciones Avanzadas
Memtest
...

Si seleccionas Opciones Avanzadas verás otro sub menú con todos los kernels que tengas instalados. 
- Opciones Avanzadas
   - Ubuntu 5.0.0-26
   - Ubuntu 5.0.0-26 safe
   - Ubuntu 5.0.0-37
   - Ubuntu 5.0.0-37 safe...
Elegimos el Ubuntu 5.0.0-37 (en nuestro caso).
Y el equipo inicia normalmente, con la configuración correcta tal y como estaba antes de estropearse.

Ya estaría solucionado


Pero si lo que queremos es que arranque por defecto el kernel correcto hay que volver a configurar el gestor de arranque y elegir la opción Ubuntu 5.0.0-37 como opción por defecto.
El problema reside en como poner una opción del sub menú, para ello vemos la sintaxis del GRUB_DEFAULT
En nuestro caso tenemos este menú:

Iniciar Ubuntu 5.0.0-26
Opciones Avanzadas
   - Ubuntu 5.0.0-26
   - Ubuntu 5.0.0-26 safe
   - Ubuntu 5.0.0-37
   - Ubuntu 5.0.0-37 safe
   ...
Memtest
...
hay que elegir la opción Opciones Avanzadas (que es la opción 1, empiezan en 0) y después la opción Ubuntu 5.0.0-37 (que es la opción 2 del sub menú)
Así tendemos que poner esta línea en el archivo  /etc/default/grub :
GRUB_DEFAULT="1>2"
Todo con los comandos anteriores:
sudo nano /etc/default/grub
y
sudo update-grub2

Y ahora al reiniciar el equipo automáticamente arrancará la opción con el kernel correcto.

Si queréis poneros en contacto conmigo @mosqueteroweb


miércoles, 8 de enero de 2020

Instalar docker en Linux Mint

He necesitado instalar docker para un proyecto y me he encontrado algunas dificultades para resolver dicha tarea.
Al final os pongo la manera en la que lo he resuelto en un Linux Mint 19.2
Os descargáis el script de esta página: Install docker LM 19
Para ello le dais al botón Download zip


Lo descomprimís en la carpeta de descarga (botón derecho extraer aquí).
En una terminal dentro de la carpeta descomprimida le dais permisos de ejecución al archivo install-docker.sh
chmod u+x install-docker.sh
Y lo ejecutáis
./install-docker.sh
¡Ojo! Al parecer ha cambiado el paquete de instalación pero no me ha funcionado el script tal cual y ahora hay que ejecutar:
sudo apt install docker.io
Nota: este último comando se puede incorporar al script, que quedaría así: scriptmodificado.
Ahora vamos a probar si funciona, en esa misma terminal ejecuta:
sudo docker run hello-world
y si vemos algo como esto


Ya podemos usar docker en nuestro Linux Mint 19.


Para contactar conmigo @mosqueteroweb

lunes, 6 de enero de 2020

Usar Chrome como cliente SSH

Una de las tareas más habituales que realizan los administradores de sistemas es conectarse por SSH a máquinas remotas para así poder gestionarlas.
Para esta tarea os voy a contar que sólo necesitáis un navegador web, en este caso os hablo de Chrome que para eso lo tenemos en nuestros Chromebooks.