Mejorar el tiempo de arranque de Manjaro

Mejorar el tiempo de arranque de Manjaro

Ayer estaba leyendo esta nota en la Mirada del Replicante: Canonical quiere que Ubuntu arranque más rápido ¡Y yo también!, pero existe el problema de que yo no utilizo Ubuntu desde hace varios años. En su lugar tengo instalado Manjaro como mi distro linuxera de cabecera para mis equipos de uso personal.

No es que mi equipo arranque lento, generalmente enciendo el equipo, me voy a preparar un café y cuando llego ya esta la pantalla que me pide iniciar sesión. Unos minutos después ya estoy listo para empezar a trabajar.

De hecho vino a mi memoria un momento en el que Ubuntu arrancaba endemoniadamente rápido, pero no era con systemd así que ese dato no me era útil.

updatedb y man-db.

Investigando di con otro artículo de La mirada del replicante: Analizar el tiempo de arranque de tu sistema con systemd-analize . Ahí fue donde conocí el comando systemd-analyze.

Al ejecutar el comando systemd-analyze blame en la terminal me di cuenta de dos procesos que en conjunto ocupaban ¡más de 5 minutos del arranque!.

Estos son los culpables:

  • updatedb.service
  • man-db.service

El servicio updatedb se encarga actualizar una base de datos que sirve para localizar archivos (es parte del paquete mlocate).

man-db se utiliza para inicializar o actualizar las cachés de la base de datos que normalmente son mantenidas por man (que muestra las ayudas de los comandos de la terminal).

Updatedb le agregaba en mi caso más de 4 minutos al proceso de arranque, man-db sólo 1, pero comparado con los demás procesos que se inician durante el arranque que duran segundos simplemente era demasiado.

Tuneando systemd.

Me di cuenta que no era el único con este problema. Después de buscar un poco en Google di con una solución sencilla que fue indicarle a systemd que ejecutara esos servicios a cierta hora o mucho después de iniciado el proceso de arranque.

Para eso es necesario crear estos archivos.

Nota: Las carpetas man-db.timer.d y updatedb.timer.d no existen hay que crearlos desde la terminal.

# /etc/systemd/system/man-db.timer.d/man-db.timer.conf

[Timer]
OnCalender=
OnCalendar=13:00
OnBootSec=120
# /etc/systemd/system/updatedb.timer.d/updatedb.timer.conf

[Timer]
OnCalender=
OnCalendar=13:05
OnBootSec=180

Claro que estos valores son ajustables. De esta forma logré disminuir mi tiempo de arranque a tan solo 1 minuto y medio, que no esta nada mal cuando se requiere un arranque veloz.

Espero que este artículo les sea de utilidad.

Enlaces de interés.