Así que estás siguiendo un tutorial en Internet y usaste el comando systemd como sudo systemctl start
.
Para su sorpresa, el comando genera un error como este:
System has not been booted with systemd as init system (PID 1). Can't operate.
Razón:Su sistema Linux no usa systemd
La razón es que está tratando de usar el comando systemd para administrar servicios en Linux, pero su sistema no usa systemd y (lo más probable) usa el sistema clásico SysV init (sysvinit).
Pero, ¿cómo es posible? Está utilizando Ubuntu y el tutorial también es para la misma versión de Ubuntu. ¿Cómo es que no te funciona?
Si está usando Ubuntu dentro de Windows usando WSL, tendrá SysV en lugar de systemd y su sistema se quejará cuando ejecute el comando systemctl (destinado a sistemas Linux con systemd init system).
¿Cómo saber qué sistema de inicio está utilizando? Puede usar este comando para conocer el nombre del proceso asociado con PID 1 (el primer proceso que se ejecuta en su sistema):
ps -p 1 -o comm=
Debería mostrar init o sysv (o algo así) en la salida. Si ve init, su sistema no está usando systemd y debe usar los comandos init como se explica en la siguiente sección.
¿Cómo solucionar el error 'El sistema no se ha iniciado con systemd'?
La respuesta simple es no usar el comando systemctl. En su lugar, utilice el comando sysvinit equivalente.
No es demasiado complicado y ambos comandos tienen una sintaxis similar.
Esta tabla debería ayudarte.
Comando Systemd | Comando Sysvinit |
---|---|
systemctl iniciar nombre_servicio | servicio nombre_servicio inicio |
systemctl detener service_name | servicio nombre_servicio parada |
systemctl reiniciar nombre_servicio | servicio service_name reiniciar |
systemctl estado nombre_servicio | servicio nombre_servicio estado |
systemctl habilitar nombre_servicio | chkconfig nombre_servicio en |
systemctl desactivar nombre_servicio | chkconfig nombre_servicio desactivado |