Cambiar el init en Debian 9.

Desde antes de la llegada de Debian 8 se produjo un debate acera del init que debería de usarse, en distribuciones que decidieron dar un paso adelante se decidió usar por init al tan amado/odiado systemd, el cual traería ventaja a los computadores de escritorio, los laptop  y los servidores "de sesión" los cuales se beneficiarían de la gestión de sesiones, de las interfaces multi-asientos unificadas del sistema, así como de la integración con udev, D-Bus y otros servicios del sistema.

Esto gustó a muchos y disgustó a más, el tema de systemd lo reservaré para otra entrada pero por ahora veamos, ¿Cómo podemos cambiar el init en Debian 9?, tenemos 2 procedimientos, uno seguro y el otro medianamente riesgoso cualquiera de los 2 que intentes es válido para desactivar systemd.

No me hago responsable de cualquier tipo de daño que se genere en tu sistema, instalar o desinstalar paquetes a ciegas y sin conocimiento previo es tu responsabilidad.

Una vez aclarado el siguiente punto veamos el método seguro:

Método seguro:
Primero debemos instalar nuestro init en este caso usaré el viejo sysvinit que ha sido usado durante años y cumple su trabajo.
Instalamos los siguientes paquetes:

sudo apt install sysvinit-core sysvinit-utils

Esto debería instalar el antiguo init junto a sus dependencias y eliminará el paquete de systemd que maneja los scripts de sysv

Ahora copiaremos nuestras configuraciones

sudo cp /usr/share/sysvinit/inittab /etc/inittab/

y finalmente editando /etc/default/grub podemos cambiar la siguiente línea:


GRUB_CMDLINE_LINUX_DEFAULT="init=/bin/systemd console=hvc0 console=ttyS0"

Por:

GRUB_CMDLINE_LINUX_DEFAULT="init=/lib/sysvinit/init console=hvc0 console=ttyS0"
Con esto y un update-grub podemos dejar a systemd dormido y usar sysvinit como nuestro init por 
defecto.


Método peligroso:

Si no se maneja con cuidado el siguiente método puede resultar en una instalación rota, para esto debemos repetir los pasos del método de arriba omitiendo el último paso (en el que modificamos las configuraciones del grub) y debemos de prepararnos para trabajar un momento sin interfaz gráfica.

Primero debemos tener instalados los paquetes udisks2 y el policykit. luego tendremos que matar systemd desde la raíz:

 apt remove --purge --auto-remove systemd*

esto tardará un momento pero se llevará varios paquetes consigo, sugiero pensártelo 2 veces antes de dar la confirmación.

A continuación tendremos que prevenir e instruir a APT para que no instale systemd ni alguna de sus dependencias:

echo -e 'Package: *systemd*\nPin: release *\nPin-Priority: -1\n' > /etc/apt/preferences.d/systemd

ahora configuraremos un repo especial que incluye una variedad de paquetes que fueron "purificados" de systemd:

echo -e 'deb http://angband.pl/debian/ nosystemd-stretch main' > /etc/apt/sources.list.d/nosystemd.list

ahora configuramos APT para que le de prioridad a éste repo:

echo -e 'Package: *\nPin: origin angband.pl\nPin-Priority: 1100\n' > /etc/apt/preferences.d/nosystemd
echo -e 'Package: libsystemd0\nPin: version *\nPin-Priority: 500\n' >> /etc/apt/preferences.d/nosystemd
echo -e 'Package: *systemd*\nPin: release *\nPin-Priority: -1\n' >> /etc/apt/preferences.d/nosystemd

Finalmente instalamos el keyring para que APT nos permita utilizar los repositorios con:

wget -qO - http://angband.pl/deb/archive.html | apt-key add -

o como una alternativa:

apt-get install kilobyte-archive-keyring

ahora reinstalamos los paquetes  sysvinit-core y sysvinit-utils.

Ten en cuenta una cosa, esto elimina systemd y muchas de las herramientas que dependen de el, así que no te sorprendas si tu escitorio GNOME3 no funciona, intenta instalar un escritorio que no dependa de systemd como KDE Plasma 5 o en su defecto XFCE.

La entrada del blog llega hasta aquí :) hazme saber si alguno de los 2 métodos te funcionó. Tocaré el tema de systemd más adelante, ¡nos leemos pronto!

Comentarios

Entradas populares