Service Systemd - qu'est-ce que `multi-user.target`

41

J'ai rencontré un .servicequi contient les éléments suivants:

[Install]
WantedBy=multi-user.target

Le .servicefichier original peut être trouvé ICI .

Je suis sur Ubuntu 16.04LTS.

eddyP23
la source
2
Ce n'est pas un duplicata approprié, car (au-delà du titre), cette question concerne la [Install]section d'un fichier unité. Ironiquement, il s’agit de la table la plus proche de celle qui a un lien hypertexte dans la question.
JdeBP
Cette nouvelle question connexe a beaucoup plus de détails dans la réponse et mérite vraiment d'être lue.
Wildcard

Réponses:

15

C'est le mécanisme de gestion des dépendances dans systemd. multi-user.target est l'alternative pour le niveau d'exécution 3 dans le monde systemV. Cela dit, atteindre multi -user.target inclut le démarrage du service "Confluent ZooKeeper". C'est probablement ce dont vous avez besoin.

George Ivanov
la source
19

multi-user.target signifie que le service systemd démarrera lorsque le système atteindra le niveau d'exécution 2.

Pour compléter la réponse, voici un tableau des cibles et de leurs niveaux d'exécution:

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
la source
Mais c'est WantedBy = multi-user.target, cela signifie donc que le service va démarrer et avant le niveau d'exécution 2, n'est-ce pas? pas nécessairement lorsque le système atteint le niveau d'exécution 2, est-ce que je me trompe?
Tristan
Qu'est-ce qu'un gfxshell multi-utilisateur? Toute référence?
Giuseppe Crinò
Un shell multi-utilisateurs gfx fait référence à un système multi-utilisateurs avec une interface graphique.
Tobias Holm
3

J'ai trouvé ce tutoriel le plus simple à comprendre. Vous pouvez exécuter la commande suivante vous-même pour voir ce qu'il y a là:

$ 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

Mais vous devriez probablement simplement lire la question liée liée à la réponse acceptée concernant les cibles.

icc97
la source