GNU/Linux >> Tutoriels Linux >  >> Linux

Comment vérifier le niveau d'exécution sous Linux

Ce bref guide explique ce qu'est un niveau d'exécution, combien de niveaux d'exécution existe-t-il sous Linux et comment vérifier le niveau d'exécution dans les systèmes d'exploitation Linux.

Qu'est-ce que le niveau d'exécution ?

Un niveau d'exécution est l'un des modes d'exécution d'un système d'exploitation basé sur Unix. En d'autres termes, un niveau d'exécution est un état init et l'ensemble du système qui définit les services système qui fonctionnent.

Dans le noyau Linux, il existe 7 niveaux d'exécution, de 0 à 6. Le système ne peut être démarré que sur un seul niveau d'exécution à la fois.

Par défaut, un système démarre au niveau d'exécution 3 ou au niveau d'exécution 5. Le niveau d'exécution 3 est CLI et 5 est GUI. Le niveau d'exécution par défaut est spécifié dans /etc/inittab fichier dans la plupart des systèmes d'exploitation Linux.

En utilisant le niveau d'exécution, nous pouvons facilement savoir si X est en cours d'exécution, ou si le réseau est opérationnel, etc.

1. Vérifiez le niveau d'exécution sous Linux (init SysV)

Voici la liste des niveaux d'exécution dans les distributions Linux, qui ont été distribués avec SysV init en tant que gestionnaire de service par défaut.

  • 0 - Arrêt
  • 1 - Mode texte mono-utilisateur
  • 2 - Non utilisé (définissable par l'utilisateur)
  • 3 - Mode texte multi-utilisateur complet
  • 4 - Non utilisé (définissable par l'utilisateur)
  • 5 - Mode graphique multi-utilisateur complet (avec un écran de connexion basé sur X)
  • 6 - Redémarrer

Voyons maintenant comment trouver les niveaux d'exécution.

Pour connaître le niveau d'exécution du système, ouvrez votre Terminal et exécutez la commande suivante :

$ runlevel

Exemple de résultat :

N 3

Dans la sortie ci-dessus, la lettre 'N' indique que le niveau d'exécution n'a pas été modifié depuis le démarrage du système. Et, 3 est le niveau d'exécution actuel, c'est-à-dire que le système est en mode CLI.

Dans les nouvelles versions de init , vous pouvez trouver les détails du niveau d'exécution actuel et précédent à l'aide des variables d'environnement appelées RUNLEVEL et PREVLEVEL .

Supposons, par exemple, que pour connaître le niveau d'exécution actuel, vous devez exécuter :

$ echo $RUNLEVEL

Pour retrouver le niveau d'exécution précédent :

$ echo $PREVLEVEL

Si vous souhaitez changer le RunLevel en autre chose, modifiez /etc/inittab fichier :

$ sudo vi /etc/inittab

Rechercher et modifier l'entrée initdefault au niveau d'exécution de votre choix. Supposons, par exemple, que pour définir le niveau d'exécution sur le mode graphique multi-utilisateur (niveau d'exécution 5), modifiez-le comme indiqué ci-dessous.

id:5:initdefault:

Enregistrez et fermez le fichier. Redémarrez votre système pour vous connecter à votre nouveau niveau d'exécution.

Pour plus de détails sur les niveaux d'exécution, consultez les pages de manuel.

$ man runlevel

2. Vérifier le niveau d'exécution sous Linux (Systemd)

Dans les versions récentes des systèmes Linux (à partir de RHEL 7, Ubuntu 16.04 LTS), le concept de niveaux d'exécution a été remplacé par systemd cibles.

Voici la liste des Systemd cibles dans les distributions Linux, qui ont été distribuées avec Systemd en tant que gestionnaire de service par défaut.

  1. runlevel0.target, poweroff.target - Arrêter
  2. runlevel1.target, rescue.target – Mode texte mono-utilisateur
  3. runlevel2.target, multi-user.target - Non utilisé (définissable par l'utilisateur)
  4. runlevel3.target, multi-user.target - Mode texte multi-utilisateur intégral
  5. runlevel4.target, multi-user.target - Non utilisé (définissable par l'utilisateur)
  6. runlevel5.target,graphical.target - Mode graphique multi-utilisateur complet (avec un écran de connexion basé sur X)
  7. runlevel6.target,reboot.target - Redémarrer

Dans les systèmes Linux qui utilisent Systemd en tant que gestionnaire de service par défaut, vous pouvez trouver la cible actuelle à l'aide de la commande :

$ systemctl get-default

Exemple de résultat :

graphical.target

Comme vous le voyez dans la sortie ci-dessus, mon niveau d'exécution actuel (cible en d'autres termes) est 5 , qui est le mode graphique.

Pour afficher toutes les cibles actuellement chargées, exécutez :

$ systemctl list-units --type target

Exemple de résultat :

   UNIT                   LOAD   ACTIVE SUB    DESCRIPTION                             
   basic.target           loaded active active Basic System
   bluetooth.target       loaded active active Bluetooth
   cryptsetup.target      loaded active active Local 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-pre.target     loaded active active Network (Pre)
   network.target         loaded active active Network
   nfs-client.target      loaded active active NFS client services
   nss-lookup.target      loaded active active Host and Network Name Lookups
   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
   rpc_pipefs.target      loaded active active rpc_pipefs.target
   rpcbind.target         loaded active active RPC Port Mapper
   slices.target          loaded active active Slices
   sockets.target         loaded active active Sockets
   sound.target           loaded active active Sound Card
   swap.target            loaded active active Swap
   sysinit.target         loaded active active System Initialization
   timers.target          loaded active active Timers
   veritysetup.target     loaded active active Local Verity Integrity Protected Volumes
 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. Pass --all to see loaded but inactive units, too.
 To show all installed unit files use 'systemctl list-unit-files'.

La commande ci-dessus affichera uniquement les cibles actives.

Pour afficher toutes les cibles chargées (actives et inactives), exécutez :

$ systemctl list-units --type target --all

Si vous souhaitez remplacer RunLevel par autre chose, par exemple runlevel3.target , définissez-le comme indiqué ci-dessous :

$ sudo systemctl set-default runlevel3.target

Pour passer à une autre unité cible dans la session en cours uniquement, exécutez la commande suivante :

$ sudo systemctl isolate runlevel3.target

Pour plus de détails, reportez-vous à Systemd pages de manuel.

$ man systemd

Vérifiez le niveau d'exécution de Linux à l'aide de la commande "who"

Comme l'un des lecteurs l'a suggéré dans la section des commentaires ci-dessous, nous pouvons également trouver le niveau d'exécution en utilisant who commande comme ci-dessous :

$ who -r

Exemple de résultat :

     run-level 5  2021-06-09 10:21

J'espère que cela vous aidera.

Lire connexe :

  • Comment répertorier les services de démarrage au démarrage sous Linux

Linux
  1. Comment Linux est arrivé sur le mainframe

  2. Comment vérifier la version de Redhat

  3. Comment changer un niveau d'exécution sur le système RHEL 7 Linux

  4. Comment vérifier le fuseau horaire sous Linux

  5. Comment vérifier la version du système d'exploitation et de Linux

Comment utiliser le scanner de sécurité NMAP sous Linux

Comment vérifier tous les services en cours d'exécution sous Linux

Comment vérifier la complexité du mot de passe sous Linux

Vérifier le fuseau horaire sous Linux

Comment vérifier l'espace d'échange sous Linux

Comment vérifier la version de PHP sous Linux