Eliminación de systemd
Systemd y System V (SysV) son dos sistemas de inicio utilizados en distribuciones de Linux para gestionar el arranque del sistema y los servicios. System V (SysV) es un sistema de inicio tradicional que utiliza scripts de shell almacenados en diferentes niveles de ejecución (runlevels) para iniciar y detener servicios de manera secuencial. Fue ampliamente utilizado en muchas distribuciones de Unix y Linux durante décadas. Por otro lado, systemd es un sistema de inicio más moderno y avanzado que reemplaza a SysV. Introducido para mejorar la velocidad y eficiencia del arranque del sistema, systemd utiliza un enfoque basado en unidades y depende de la paralelización para iniciar servicios simultáneamente. Además, incluye características adicionales como la gestión de servicios, sockets, temporizadores, y dependencias, lo que lo convierte en una opción más robusta y flexible en comparación con SysV.
Migración de systemd a systemV
Modifica /etc/apt/sources.list para que apunte a los repositorios de Daedalus que es el equivalente de Debian 12 en Devuan.
root@ASOjaviercruces:~# nano /etc/apt/sources.list
Modifica sources.list para que se parezca al proporcionado. Comenta todas las demás líneas.
root@ASOjaviercruces:~# cat /etc/apt/sources.list
deb http://deb.devuan.org/merged daedalus main
deb http://deb.devuan.org/merged daedalus-updates main
deb http://deb.devuan.org/merged daedalus-security main
deb http://deb.devuan.org/merged daedalus-backports main
Actualiza las listas de paquetes desde los repositorios de Daedalus , permitiendo los orígenes inseguros ya que esta firmado los repositorios .
root@ASOjaviercruces:~# apt-get update --allow-insecure-repositories
Instala el anillo de claves de Devuan para autenticar el repositorio y los paquetes.
root@ASOjaviercruces:~# apt-get install devuan-keyring --allow-unauthenticated
Actualiza las listas de paquetes nuevamente para autenticar los repositorios y paquetes.
root@ASOjaviercruces:~# apt-get update
Actualiza los paquetes instalados a las versiones más recientes. Ten en cuenta que esto no completa la migración a system-v.
root@ASOjaviercruces:~# apt-get upgrade (ten cuidado de NO usar dist-upgrade aquí)
Instalamos los paquetes eudev y sysvinit-core para gestionar eficientemente la detección y configuración de dispositivos a través de eudev, mientras que sysvinit-core se encarga del control del sistema de inicio y procesos .
root@ASOjaviercruces:~# apt-get install eudev sysvinit-core
Es posible que el último comando cause roturas de paquetes, pero se resolverán como parte del proceso de migración.
root@ASOjaviercruces:~# apt-get -f install
Se requiere un reinicio para cambiar aplicar el cambio de systemd a systemV.
root@ASOjaviercruces:~# reboot
Actualizaremos la distribución para que los paquetes pasen de utilizar systemd a systemV.
root@ASOjaviercruces:~# apt-get dist-upgrade
Una vez completada la migración a Devuan, elimina los paquetes relacionados con systemd.
root@ASOjaviercruces:~# apt-get purge systemd libnss-systemd
Elimina cualquier paquete huérfano generado por el proceso de migración y cualquier archivo de caché no utilizable.
root@ASOjaviercruces:~# apt-get autoremove --purge
root@ASOjaviercruces:~# apt-get autoclean
Comprobación y uso de systemV
Comprueba que el proceso 1 es init , esto significa que el sistema ha arrancado haciendo uso de systemV :
root@ASOjaviercruces:~# ps -s1
PID TTY TIME CMD
1 ? 00:00:00 init
Me instalare un servicio que debería de depender de systemd pero como hemos cambiado a systemv , no lo usara ya que ahora usamos los repositorios de Devuan :
debian@ASOjaviercruces:~$ sudo apt install apache2 -y
Entonces para manejar el servicio lo haremos a partir del directorio /etc/init.d/ y buscando el “servicio” de cada demonio :
# Para iniciar el servicio
debian@ASOjaviercruces:~$ sudo /etc/init.d/apache2 start
Starting Apache httpd web server: apache2.
# Para parar el servicio
debian@ASOjaviercruces:~$ sudo /etc/init.d/apache2 stop
Stopping Apache httpd web server: apache2.
# Para reiniciar el servicio
debian@ASOjaviercruces:~$ sudo /etc/init.d/apache2 restart
Restarting Apache httpd web server: apache2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.122.208. Set the 'ServerName' directive globally to suppress this message
.
# Para ver el estado
debian@ASOjaviercruces:~$ sudo /etc/init.d/apache2 status
apache2 is running.