Búsqueda de sitios web

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 tipo Unix como Linux, el estado operativo actual del sistema operativo se conoce como runlevell; 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.

Lectura sugerida: Gestión del proceso y servicios de inicio del sistema (SysVinit, Systemd y Upstart)

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 a reboot.target ).
  • Emergencia coincide con emergency.target.

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

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

Para ver el objetivo predeterminado, escriba el siguiente comando.

#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 se ejecutarán en el sistema los servicios y las unidades definidas bajo ese objetivo.

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 siguiente comando.

systemctl isolate graphical.target

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

  1. Cómo administrar servicios y unidades 'Systemd' usando 'Systemctl' en Linux
  2. Cómo crear y ejecutar nuevas unidades de servicio en Systemd usando Shell Script
  3. Gestión del proceso y servicios de inicio del sistema (SysVinit, Systemd y Upstart)
  4. Administrar mensajes de registro en Systemd usando 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 idea sobre este artículo.