Systemd a remplacé sysVinit en tant que gestionnaire de services par défaut dans RHEL 7. Certaines des commandes sysVinit ont été liées symboliquement à leurs homologues RHEL 7, mais cela finira par être obsolète au profit des commandes systemd standard à l'avenir.
Niveaux d'exécution systemd SysVinit V/s
Voici une comparaison entre les niveaux d'exécution SysVinit et les cibles systemd.
Niveau d'exécution Sysvinit | Cible système | Fonction |
---|---|---|
0 | runlevel0.target, poweroff.target | Arrêt/arrêt du système |
1, s, célibataire | runlevel1.target, rescue.target | Mode mono-utilisateur |
2, 4 | runlevel2.target, runlevel4.target, multi-user.target | Niveaux d'exécution définis par l'utilisateur/spécifiques au site. Par défaut, identique à 3. |
3 | runlevel3.target, multi-user.target | Multi-utilisateur, mode non graphique, console texte uniquement |
5 | runlevel5.target, graphique.target | Multi-utilisateur, mode graphique |
6 | runlevel6.target, reboot.target | Redémarrer |
urgence | urgence.cible | Mode d'urgence |
Changer les niveaux d'exécution avec systemd
La cible du niveau d'exécution peut être modifiée à l'aide de la commande systemctl isolate :
# systemctl isolate multi-user.target
Pour voir quelles cibles sont disponibles, vous pouvez émettre l'option list-units avec le type target
# systemctl list-units --type=target
Le niveau d'exécution 3 est émulé par multi-user.target. Cela se fait par lien symbolique et peut être utilisé de manière interchangeable
# systemctl isolate multi-user.target # systemctl isolate runlevel3.target # ls -l /usr/lib/systemd/system/runlevel3.target lrwxrwxrwx 1 root root 17 Oct 18 11:41 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
Le niveau d'exécution 5 est émulé pargraphic.target. Cela se fait également par lien symbolique et peut être utilisé de manière interchangeable
# systemctl isolate graphical.target # systemctl isolate runlevel5.target # ls -l /usr/lib/systemd/system/runlevel5.target lrwxrwxrwx 1 root root 16 Oct 18 11:41 /usr/lib/systemd/system/runlevel5.target -> graphical.target
Modifier le niveau d'exécution par défaut
Le niveau d'exécution par défaut peut être modifié à l'aide de l'option set-default.
# systemctl set-default multi-user.target
Pour obtenir la valeur par défaut actuellement définie, vous pouvez utiliser l'option get-default.
# systemctl get-default
Le niveau d'exécution par défaut dans systemd peut également être défini à l'aide de la méthode ci-dessous (non recommandée).
# ln -sf /lib/systemd/system/[desired].target /etc/systemd/system/default.target
La cible par défaut peut également être définie dans la ligne du noyau lors du démarrage en ajoutant l'option suivante :
systemd.unit=multi-user.target