Cómo montar Debian Jessie sin systemd en 3 simples pasos


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.
Para que ste blog siga creciendo:


Visitenos en:

Instagram