GNU/Linux >> Tutoriels Linux >  >> Cent OS

CentOS / RHEL 7 :Guide du débutant sur les cibles systemd (remplacement des niveaux d'exécution SysV init)

Les versions précédentes de CentOS/RHEL Linux utilisent les niveaux d'exécution SysV init . Ces niveaux d'exécution offraient la possibilité d'utiliser des systèmes à des fins différentes et de démarrer uniquement les services nécessaires à un objectif spécifique, à un niveau d'exécution spécifique. Dans RHEL 7, les niveaux d'exécution ont été remplacés par des unités cibles systemd . Les unités cibles ont un .target extension et similaires aux niveaux d'exécution, les unités cibles vous permettent de démarrer un système avec uniquement les services requis pour un objectif spécifique.

RHEL 7 est distribué avec un ensemble de cibles prédéfinies similaires aux niveaux d'exécution des versions précédentes de RedHat Linux. La commande suivante renvoie le chemin d'accès absolu de ces unités cibles de niveau d'exécution systemd prédéfinies :

# 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

Comparaison des niveaux d'exécution SysV et des unités cibles

Niveau d'exécution Unités cibles Description
0 runlevel0.target, poweroff.target Arrêter et éteindre
1 runlevel1.target, rescue.target Configurer un shell de secours
2,3,4 runlevel[234].target, multi-user.target Configurer un shell multi-utilisateur non graphique
5 runlevel5.target, graphique.target Configurer un shell multi-utilisateur graphique
6 runlevel6.target, reboot.target Arrêter et redémarrer le système

Chaque fichier runlevel[0123456].target est un lien symbolique vers les équivalents cibles de démarrage du système. Par exemple :

# 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. Afficher l'unité cible par défaut/actuelle

Utilisez la commande suivante pour voir quelle unité cible est utilisée par défaut :

# systemctl get-default
graphical.target

La cible.graphique L'unité cible indique que le système fonctionne dans un état graphique multi-utilisateurs. Ceci est similaire au niveau d'exécution 5 dans un système d'initialisation SysV. Vous pouvez le vérifier en utilisant l'ancienne commande runlevel :

# runlevel
N 5

L'unité cible par défaut est représentée par /etc/systemd/system/default.target dossier. Ce fichier est un lien symbolique vers l'unité cible par défaut actuelle. Par exemple :

# 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. lister les cibles actuellement actives

Pour afficher les unités cibles actuellement actives sur votre système, utilisez la commande ci-dessous.

# 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. Modifier l'unité cible par défaut

Utilisez la commande suivante pour modifier l'unité cible par défaut (par exemple, pour remplacer la valeur par défaut par l'unité multi-user.target) :

# 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.

Notez que le lien symbolique default.target a changé et pointe maintenant vers l'unité 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. Modifier l'unité cible du système actuellement actif

Le set-default La commande ne modifie pas l'état actuel du système. Pour changer la cible système actuellement active (par exemple, pour changer la cible système actuellement active en multi-user.target) :

# systemctl isolate multi-user.target

Cette commande est similaire à l'utilisation de telinit [runlevel] pour modifier le niveau d'exécution actuel. Cette commande telinit existe toujours mais n'est incluse que pour des raisons de compatibilité.

Vous pouvez également utiliser la commande suivante pour saisir l'unité cible par défaut :

# systemctl default

Cela équivaut à la commande suivante :

# systemctl isolate default.target
CentOS / RHEL 7 :référence de la ligne de commande systemd (aide-mémoire)
CentOS / RHEL 7 :comment modifier les niveaux d'exécution (cibles) avec systemd
CentOS / RHEL 7 :guide du débutant sur les unités de service systemd
CentOS / RHEL 7 :Guide du débutant sur systemd


Cent OS
  1. CentOS / RHEL :Guide du débutant pour vsftpd (installation et configuration)

  2. Guide du débutant pour le montage automatique des systèmes de fichiers dans CentOS / RHEL

  3. Guide du débutant sur NFS dans CentOS / RHEL

  4. Comment ajouter un script personnalisé à systemd dans CentOS/RHEL 7

  5. CentOS / RHEL :Guide du débutant sur cron

Comment installer/mettre à niveau Systemd sur RHEL/CentOS 7

Comment exécuter Google Chrome en tant que root sur CentOS 7 / RHEL 7

Comment configurer un Chef 12 sur CentOS 7 / RHEL 7

Comment changer le niveau d'exécution actuel/par défaut dans CentOS 8 / RHEL 8

Comment changer le niveau d'exécution actuel dans RHEL 8 / CentOS 8

CentOS / RHEL 7 :Guide du débutant sur les unités de service systemd