Paso 1: preparar tus repositorios
Preparar tus repositorios APT para incorporar los repositorios de DEVUAN (Fork de Debian, contienen una versión de bsdutils y de udev no compatibles con systemd) y el apt-pinning para evitar que algún paquete con dependencia a systemd lo instale.
1: agregar el repositorio
cat </etc/apt/sources.list.d/devuan.list # Devuan deb http://packages.devuan.org/devuan/ jessie main E_O_APT
2: Agregar el apt-pinning necesario
cat </etc/apt/preferences.d/systemd.pref Package: systemd-sysv Pin: release o=Debian Pin-Priority: -1 Package: systemd Pin: origin "" Pin-Priority: -1 Package: *systemd* Pin: origin "" Pin-Priority: -1 EOF
Con esto, ningún paquete “systemd” tendría prioridad para instalación.
Entonces actualizamos y agregamos el keyring de devuan
apt-get update
apt-get install devuan-keyring
Con esto, tenemos el sistema preparado para instalar sysvinit (y desinstalar systemd)
Paso 2: Instalar sysvinit
Hay que instalar el init-replacement de systemd:
1: Instalar sysvinit
apt-get install sysvinit-core sysvinit sysvinit-utils
El detalle es que systemd y sus procesos alternos, corren en el PID-1, es necesario reiniciar el equipo para poder remover systemd, no sin antes
2: indicarle al sistema, vía GRUB, que deberá usar sysvinit
Archivo: /etc/default/grub
sed -i -e "s/GRUB_CMDLINE_LINUX=\"\"/GRUB_CMDLINE_LINUX=\"init=\/sbin\/init\"/" /etc/default/grub
Tenemos que agregar a la regla GRUB_CMDLINE_LINUX la opción “init=/sbin/init” para evitar que se siga usando systemd y en el próximo reinicio, usar sysvinit.
3: actualizamos GRUB
update-grub
4: Reiniciamos el equipo
reboot
Al finalizar, el equipo contará con sysvinit y se habrá desactivado systemd, ahora hay que desinstalarlo.
Paso 3: Remover systemd
La remoción de systemd es a dos pasos, primero el metapaquete, luego la librería:
1: remover systemd
apt-get remove --purge --auto-remove systemd systemd-sysv
2: remover libsystemd0
apt-get remove --purge libsystemd-daemon0 libsystemd0
NOTA: este último paso solicitará que asuman la decisión de, o quedarse con libsystemd0 (por problemas de dependencias) o en segunda selección, hacer un “downgrade” de bsdutils de la versión de Debian Jessie a la versión que está en Devuan, realizaremos dicha selección del paquete bsdutils.
Y listo!, sistema con sysvinit y sin systemd.
ACTUALIZACIÓN: Si ya han incorporado los repositorios de devuan, pueden previamente a la remoción de libsystemd0 preguntarle a apt cual es la versión de los bsdutils existentes, para ello usamos “apt-cache policy”
apt-cache policy bsdutils bsdutils: Installed: 1:2.26.2-6+devuan1 Candidate: 1:2.26.2-6+devuan1 Version table: *** 1:2.26.2-6+devuan1 0 700 http://packages.devuan.org/devuan/ jessie/main amd64 Packages 100 /var/lib/dpkg/status 1:2.25.2-6 0 500 http://cloudfront.debian.net/debian/ jessie/main amd64 Packages
Hay 2 versiones, la de Devuan y la de Debian, ejecuten la instalación específica de la versión de Devuan:
apt-get install bsdutils=1:2.26.2-6+devuan1
Y ya pueden desinstalar sin problemas libsystemd0.
Disfruten su Debian jessie sin systemd
Advertencias
- Systemd está altamente integrado a algunas soluciones, la más notable es Gnome, si usan gnome ya no pueden escapar de systemd, pero con XFCE, KDE u otros, es opcional; si intentan desinstalar systemd en un sistema con gnome, quedarán virtualmente sin entorno gráfico.
- Systemd además está integrado a udev y bsdutils (en la actual versión de systemd, udev forma parte integral del núcleo de systemd), por lo que la razón de usar el repositorio de DEVUAN es para obtener udev y bsdutils desde el fork de Debian sin systemd que DEVUAN lleva.
- Habrá aplicaciones que simplemente no podrán ser instaladas en Debian sin systemd porque fueron migradas hace ya algún tiempo, como esta receta es para un sistema Debian desde netinstall para servidores, me es indiferente no poder instalar pulseaudio o gnome-core.