GNU/Linux >> Tutoriales Linux >  >> Cent OS

CentOS/RHEL 7:Guía para principiantes de objetivos de systemd (reemplazo de los niveles de ejecución de inicio de SysV)

Las versiones anteriores de CentOS/RHEL Linux usan niveles de ejecución de inicio de SysV . Estos niveles de ejecución brindaron la capacidad de usar sistemas para diferentes propósitos y solo iniciar los servicios necesarios para un propósito específico, en un nivel de ejecución específico. En RHEL 7, los niveles de ejecución se han reemplazado por unidades de destino systemd . Las unidades objetivo tienen un .objetivo extensión y similares a los niveles de ejecución, las unidades de destino le permiten iniciar un sistema solo con los servicios que se requieren para un propósito específico.

RHEL 7 se distribuye con un conjunto de objetivos predefinidos que son similares a los niveles de ejecución de las versiones anteriores de RedHat Linux. El siguiente comando devuelve el nombre de ruta absoluto de estas unidades de destino de nivel de ejecución systemd predefinidas:

# find / -name "runlevel*.target"
/usr/lib/systemd/system/runlevel5.target
/usr/lib/systemd/system/runlevel0.target
/usr/lib/systemd/system/runlevel6.target
/usr/lib/systemd/system/runlevel1.target
/usr/lib/systemd/system/runlevel2.target
/usr/lib/systemd/system/runlevel3.target
/usr/lib/systemd/system/runlevel4.target

Comparación de niveles de ejecución SysV y unidades objetivo

Nivel de ejecución Unidades objetivo Descripción
0 runlevel0.target, poweroff.target Apagar y apagar
1 runlevel1.objetivo, rescate.objetivo Configurar un shell de rescate
2,3,4 nivel de ejecución[234].objetivo, multiusuario.objetivo Configurar un shell multiusuario no gráfico
5 runlevel5.target, graphical.target Configurar un shell gráfico multiusuario
6 runlevel6.target, reiniciar.target Apague y reinicie el sistema

Cada archivo runlevel[0123456].target es un enlace simbólico a los equivalentes de destino de inicio del sistema. Por ejemplo:

# cd /usr/lib/systemd/system
# ls -l runlevel*
lrwxrwxrwx. 1 root root 15 Sep 23 19:52 runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Sep 23 19:52 runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Sep 23 19:52 runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Sep 23 19:52 runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Sep 23 19:52 runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Sep 23 19:52 runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Sep 23 19:52 runlevel6.target -> reboot.target

1. Ver unidad objetivo predeterminada/actual

Utilice el siguiente comando para ver qué unidad de destino se utiliza de forma predeterminada:

# systemctl get-default
graphical.target

El objetivo.gráfico la unidad de destino indica que el sistema se está ejecutando en un estado gráfico multiusuario. Esto es similar al nivel de ejecución 5 en un sistema de inicio SysV. Puede verificar esto usando el antiguo comando runlevel :

# runlevel
N 5

La unidad objetivo predeterminada está representada por /etc/systemd/system/default.target expediente. Este archivo es un enlace simbólico a la unidad de destino predeterminada actual. Por ejemplo:

# ls -lrt /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 36 Sep 23 20:01 /etc/systemd/system/default.target -> /lib/systemd/system/graphical.target

2. enumere los objetivos actualmente activos

Para ver las unidades objetivo actualmente activas en su sistema, use el siguiente comando.

# systemctl list-units --type target
UNIT                   LOAD   ACTIVE SUB    DESCRIPTION
basic.target           loaded active active Basic System
cryptsetup.target      loaded active active Encrypted Volumes
getty.target           loaded active active Login Prompts
graphical.target       loaded active active Graphical Interface
local-fs-pre.target    loaded active active Local File Systems (Pre)
local-fs.target        loaded active active Local File Systems
multi-user.target      loaded active active Multi-User System
network-online.target  loaded active active Network is Online
network.target         loaded active active Network
nfs-client.target      loaded active active NFS client services
nss-user-lookup.target loaded active active User and Group Name Lookups
paths.target           loaded active active Paths
remote-fs-pre.target   loaded active active Remote File Systems (Pre)
remote-fs.target       loaded active active Remote File Systems
slices.target          loaded active active Slices
sockets.target         loaded active active Sockets
swap.target            loaded active active Swap
sysinit.target         loaded active active System Initialization
timers.target          loaded active active Timers

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

19 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

3. Cambiar la unidad objetivo predeterminada

Utilice el siguiente comando para cambiar la unidad de destino predeterminada (por ejemplo, para cambiar la unidad de destino predeterminada a multiusuario):

# systemctl set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.

Observe que el enlace simbólico default.target ha cambiado y ahora apunta a la unidad multi-user.target:

# ls -lrt /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 41 Sep 24 11:58 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target

4. Cambiar la unidad de destino del sistema actualmente activa

El establecer predeterminado El comando no cambia el estado actual del sistema. Para cambiar el objetivo del sistema actualmente activo (por ejemplo, para cambiar el objetivo del sistema actualmente activo a multi-user.target):

# systemctl isolate multi-user.target

Este comando es similar a usar telinit [nivel de ejecución] para cambiar el nivel de ejecución actual. Este comando telinit todavía existe, pero solo se incluye por razones de compatibilidad.

También puede usar el siguiente comando para ingresar la unidad de destino predeterminada:

# systemctl default

Esto es equivalente al siguiente comando:

# systemctl isolate default.target
CentOS/RHEL 7:referencia de la línea de comandos de systemd (hoja de trucos)
CentOS/RHEL 7:cómo cambiar los niveles de ejecución (objetivos) con systemd
CentOS/RHEL 7:guía para principiantes sobre las unidades de servicio de systemd
CentOS / RHEL 7:Guía para principiantes de systemd


Cent OS
  1. CentOS / RHEL 7:Guía para principiantes de firewalld

  2. CentOS / RHEL 7:Cómo cambiar los niveles de ejecución (objetivos) con systemd

  3. CentOS / RHEL:Guía para principiantes de vsftpd (instalación y configuración)

  4. Guía para principiantes sobre el montaje automático de sistemas de archivos en CentOS/RHEL

  5. Guía para principiantes de NFS en CentOS / RHEL

Cómo instalar/actualizar Systemd en RHEL/CentOS 7

Cómo ejecutar Google Chrome como root en CentOS 7 / RHEL 7

Cómo configurar un Chef 12 en CentOS 7 / RHEL 7

Cómo cambiar el nivel de ejecución actual/predeterminado en CentOS 8/RHEL 8

Cómo cambiar el nivel de ejecución actual en RHEL 8/CentOS 8

CentOS / RHEL 7:Guía para principiantes de unidades de servicio systemd