Popular channels

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

    Para aquellos como @ozzylink que no gustan de systemd.








Jesús Lara


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

¿Por qué lograr un Debian jessie sin systemd?

Si, lo admito, soy un Troll anti-systemd, ya hace algún tiempo había escrito una herramienta que me permitía llevar una instalación desde netinstall a un estado estable y asegurado de Debian GNU/Linux (dicho script, acá) sin embargo, montar un Debian jessie sin systemd implica un par de cambios que, gracias a la gente de Debian, son bastante sencillos.

Acá, una receta de cómo pasar un Debian Jessie de systemd a sysvinit.

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.

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.



 
0
4
0
4Comments
daniartavia

Que hermoso ver posts como estos! Mi respeto a los muchachos de Devuan! Los usuarios anti-systemd como @ozzylink , el maestro de maestros @mabas011 y yo agradecemos este post! La verdad es alto enrollo esto de systemd y el resto de inits... Yo soy de los que siguen creyendo en "haz una cosa y hazla bien" y por eso me quedo con openrc que cumple bien con la función de ser un init y nada más... +10 más que merecidos! Aunque por el post de sytemd debería denunciarte xD nah mentira! Grande fede!

0
BubiHartmann

mucho bardo.... hay formas mas faciles de sacar systemd sin tocar los repos.

0
fedebust

@ozzylink ahí va dedicado...

0
fedebust

Que dios los ayude, si la cagan no me culpen!!!

0