La manière conventionnelle utilisée pour changer de niveau d'exécution en utilisant /etc/inittab
est devenu obsolète avec Redhat Enterprise Linux version 7. Par conséquent, tout système Linux utilisant systemd
le démon de gestion du système repose désormais sur systemctl
commande pour changer le niveau d'exécution ou pour être plus précis pour changer la cible. Par conséquent, toute modification de /etc/inittab
ne prendra pas effet sur RHEL 7. Le terme runlevel
existe toujours sur RHEL 7 et nous vérifions le niveau d'exécution actuel en utilisant runlevel
commande :
[root@rhel7 ~]# runlevel N 3
Cependant, en ce qui concerne RHEL 7, nous parlons plutôt de niveau d'exécution que de cibles. Par exemple, pour lister toutes les cibles actuellement chargées, nous pouvons utiliser la commande linux suivante :
[root@rhel7 ~]# systemctl list-units -t 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 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.target loaded active active Network paths.target loaded active active Paths 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. 14 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
Actuellement, notre système exécute le niveau d'exécution 3 qui est multi-user.target
. Ensuite, nous pouvons répertorier toutes les cibles de niveau d'exécution disponibles à l'aide de la commande ci-dessous :
[root@rhel7 ~]# systemctl list-units -t target -a UNIT LOAD ACTIVE SUB DESCRIPTION basic.target loaded active active Basic System cryptsetup.target loaded active active Encrypted Volumes emergency.target loaded inactive dead Emergency Mode final.target loaded inactive dead Final Step getty.target loaded active active Login Prompts graphical.target loaded inactive dead 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 inactive dead Network is Online network.target loaded active active Network nss-lookup.target loaded inactive dead Host and Network Name Lookups nss-user-lookup.target loaded inactive dead User and Group Name Lookups paths.target loaded active active Paths remote-fs-pre.target loaded inactive dead Remote File Systems (Pre) remote-fs.target loaded active active Remote File Systems rescue.target loaded inactive dead Rescue Mode shutdown.target loaded inactive dead Shutdown 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 syslog.target not-found inactive dead syslog.target time-sync.target loaded inactive dead System Time Synchronized timers.target loaded active active Timers umount.target loaded inactive dead Unmount All Filesystems 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. 26 loaded units listed. To show all installed unit files use 'systemctl list-unit-files'.
L'administrateur système peut activer n'importe laquelle des cibles ci-dessus. Par exemple en activant graphical.target
nous allons effectivement passer du niveau d'exécution 3 au niveau d'exécution GUI 5. Pour ce faire, nous utilisons à nouveau systemctl
commande :
[root@rhel7 ~]# systemctl enable graphical.target --force rm '/etc/systemd/system/default.target' ln -s '/usr/lib/systemd/system/graphical.target' '/etc/systemd/system/default.target'
Comme indiqué sur la sortie ci-dessus, le systemctl
la commande a changé la cible par défaut en créant un lien symbolique dans /etc/systemd/system/default.target
ce qui en fait donc une cible de démarrage par défaut.