Cómo cambiar los niveles de ejecución (objetivos) en SystemD


Systemd es un sistema de inicio moderno para Linux: un administrador de sistemas y servicios que es compatible con el popular sistema de inicio SysV y los scripts de inicio LSB. Su objetivo era superar las deficiencias de SysV init como se explica en el siguiente artículo.

  1. La historia detrás de "init" y "systemd": por qué era necesario reemplazar "init" por "systemd" en Linux

En sistemas similares a Unix como Linux, el estado operativo actual del sistema operativo se conoce como nivel de ejecución; define qué servicios del sistema se están ejecutando. En sistemas de inicio populares como SysV init, los niveles de ejecución se identifican mediante números. Sin embargo, en systemd, los niveles de ejecución se denominan objetivos.

En este artículo, explicaremos cómo cambiar los niveles de ejecución (objetivos) con systemd. Antes de continuar, veamos brevemente la relación entre los números de niveles de ejecución y los objetivos.

  • El nivel de ejecución 0 coincide con poweroff.target (y runlevel0.target es un enlace simbólico a poweroff.target).
  • El nivel de ejecución 1 coincide con rescue.target (y runlevel1.target es un enlace simbólico a rescue.target).
  • El nivel de ejecución 3 es emulado por multi-user.target (y runlevel3.target es un enlace simbólico a multi-user.target).
  • El nivel de ejecución 5 es emulado por graphical.target (y runlevel5.target es un enlace simbólico a graphical.target).
  • El nivel de ejecución 6 es emulado por reboot.target (y runlevel6.target es un enlace simbólico para reboot.target).
  • Emergency.target coincide con Emergency.target.

Cómo ver el objetivo actual (nivel de ejecución) en Systemd

Cuando el sistema arranca, systemd activa de forma predeterminada la unidad default.target. Su trabajo principal es activar servicios y otras unidades atrayéndolos a través de dependencias.

Para ver el objetivo predeterminado, escriba el comando a continuación.

#systemctl get-default 

graphical.target

Para establecer el objetivo predeterminado, ejecute el siguiente comando.

# systemctl set-default multi-user.target  

Cómo cambiar el objetivo (nivel de ejecución) en Systemd

Mientras el sistema se está ejecutando, puede cambiar el objetivo (nivel de ejecución), lo que significa que ahora solo los servicios y las unidades definidas en ese objetivo se ejecutarán en el sistema.

Para cambiar al nivel de ejecución 3, ejecute el siguiente comando.

# systemctl isolate multi-user.target 

Para cambiar el sistema al nivel de ejecución 5, escriba el comando a continuación.

# systemctl isolate graphical.target

Para obtener más información sobre systemd, lea estos útiles artículos:

  1. Cómo administrar los servicios y las unidades de "Systemd" mediante "Systemctl" en Linux
  2. Cómo crear y ejecutar nuevas unidades de servicio en Systemd usando Shell Script
  3. Gestión de servicios y procesos de inicio del sistema (SysVinit, Systemd y Upstart)
  4. Administre los mensajes de registro en Systemd con Journalctl [Guía completa]

En esta guía, mostramos cómo cambiar los niveles de ejecución (objetivos) con systemd. Utilice el formulario de comentarios a continuación para enviarnos cualquier pregunta o pensamiento sobre este artículo.