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


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

  1. The Story Behind ‘init’ and ‘systemd’: Why ‘init’ Needed to be Replaced with ‘systemd’ in Linux

En sistemas similares a Unix, como Linux, el estado operativo actual del sistema operativo se conoce como runleve l; define qué servicios del sistema se están ejecutando. En los 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 conocen como objetivos .

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

  • Run level 0 is matched by poweroff.target (and runlevel0.target is a symbolic link to poweroff.target).
  • Run level 1 is matched by rescue.target (and runlevel1.target is a symbolic link to rescue.target).
  • Run level 3 is emulated by multi-user.target (and runlevel3.target is a symbolic link to multi-user.target).
  • Run level 5 is emulated by graphical.target (and runlevel5.target is a symbolic link to graphical.target).
  • Run level 6 is emulated by reboot.target (and runlevel6.target is a symbolic link to reboot.target).
  • Emergency is matched by emergency.target.

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

Cuando se inicia el sistema, de forma predeterminada, systemd activa la unidad default.target . El trabajo principal es activar los servicios y otras unidades tirando de ellos a través de dependencias.

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

#systemctl get-default 

graphical.target

Para establecer el destino predeterminado, ejecute el siguiente comando.

# systemctl set-default multi-user.target  

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

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

Para cambiar a runlevel 3 , ejecute el siguiente comando.

# systemctl isolate multi-user.target 

Para cambiar el sistema a runlevel 5 , escriba el comando a continuación.

# systemctl isolate graphical.target

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

  1. How to Manage ‘Systemd’ Services and Units Using ‘Systemctl’ in Linux
  2. How to Create and Run New Service Units in Systemd Using Shell Script
  3. Managing System Startup Process and Services (SysVinit, Systemd and Upstart)
  4. Manage Log Messages Under Systemd Using Journalctl [Comprehensive Guide]

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 comentario con respecto a este artículo.