Servicio Systemd: ¿qué es `multi-user.target`?

41

Me he encontrado con un .serviceque contiene lo siguiente:

[Install]
WantedBy=multi-user.target

El .servicearchivo original se puede encontrar AQUÍ .

Estoy en Ubuntu 16.04LTS.

eddyP23
fuente
2
No es un duplicado adecuado, ya que (leyendo más allá del título) esta pregunta es acerca de la [Install]sección de un archivo de unidad. Irónicamente, es la tabla siguiente a la hipervinculada en la pregunta.
JdeBP
Esta nueva pregunta relacionada tiene muchos más detalles en la respuesta y vale la pena leerla.
Comodín el

Respuestas:

15

Este es el mecanismo de manejo de dependencias en systemd. multi-user.target es la alternativa para runlevel 3 en systemV world. Dicho esto, llegar a multi-user.target incluye iniciar el servicio "Confluent ZooKeeper". Probablemente eso es lo que realmente necesitas.

George Ivanov
fuente
19

multi-user.target significa que el servicio systemd se iniciará cuando el sistema alcance el nivel de ejecución 2.

Para complementar la respuesta, aquí hay una tabla de los objetivos y sus niveles de ejecución:

Run Lvl Target Units                        Description
0       runlevel0.target, poweroff.target   Shut down and power off
1       runlevel1.target, rescue.target     Set up a rescue shell
2,3,4   runlevel[234].target,               Set up a non-gfx multi-user shell
        multi-user.target
5       runlevel5.target, graphical.target  Set up a gfx multi-user shell
6       runlevel6.target, reboot.target     Shut down and reboot the system
Tobias Holm
fuente
Pero es WantedBy = multi-user.target, por lo que solo significa que el servicio se iniciará y antes del nivel de ejecución 2, ¿verdad? no necesariamente cuando el sistema alcanza el nivel de ejecución 2, ¿estoy equivocado?
Tristán
¿Qué es un gfxshell multiusuario? Alguna referencia?
Giuseppe Crinò
Un shell gfx multiusuario se refiere a un sistema multiusuario con una GUI.
Tobias Holm
3

Encontré este tutorial el más simple de entender. Puede ejecutar el siguiente comando usted mismo para ver qué hay allí:

$ ls -al /lib/systemd/system/runlevel*
lrwxrwxrwx. 1 root root 15 Apr 25 10:31 /lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Apr 25 10:31 /lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Apr 25 10:31 /lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 25 10:31 /lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 25 10:31 /lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Apr 25 10:31 /lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Apr 25 10:31 /lib/systemd/system/runlevel6.target -> reboot.target

Pero probablemente solo debería leer la respuesta de la pregunta vinculada aceptada sobre los objetivos.

icc97
fuente