Quantcast
Channel: Planeta Linux Venezuela
Viewing all articles
Browse latest Browse all 714

Jesús Lara: Cómo montar Debian Jessie sin systemd en 3 simples pasos

$
0
0

¿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 <<E_O_APT > /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 <<EOF > /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.

The post Cómo montar Debian Jessie sin systemd en 3 simples pasos appeared first on Phenobarbital con Soda.


Viewing all articles
Browse latest Browse all 714