Fonctionnement des niveaux d'exécution
Le niveau d'exécution d'un système (également appelé état d'initialisation) définit quels services et ressources les utilisateurs ont à leur disposition. Un système peut être dans un seul niveau d'exécution à la fois.
Oracle Solaris offre huit niveaux d'exécution, qui sont décrits dans le tableau ci-dessous. Le niveau d'exécution par défaut est spécifié dans le fichier /etc/inittab comme niveau d'exécution 3.
Table 4-1 Niveaux d'exécution d'Oracle Solaris | | | |
0
| Etat de mise hors tension
| Mise hors tension
| Arrêter le système d'exploitation afin de mettre le système hors tension en toute sécurité.
|
|
| Monoutilisateur
| Exécuter le système en tant qu'utilisateur unique avec certains systèmes de fichiers montés et accessibles.
|
1
| Etat d'administration
| Monoutilisateur
| Accéder à tous les systèmes de fichiers disponibles. Les connexions utilisateur sont désactivées.
|
2
| Etat multiutilisateur
| Multiutilisateur
| Pour les opérations courantes. Plusieurs utilisateurs peuvent accéder au système et à tous les systèmes de fichiers. Tous les démons sont en cours d'exécution, à l'exception du serveur NFS.
|
3
| Niveau multiutilisateur avec ressources NFS partagées
| Multiutilisateur
| Pour des opérations courantes avec ressources NFS partagées. Il s'agit du niveau d'exécution par défaut.
|
4
| Etat multiutilisateur de remplacement
| Multiutilisateur
| N'est pas configuré par défaut, mais est disponible pour l'usage par des clients.
|
5
| Etat de mise hors tension
| Mise hors tension
| Arrêter le système d'exploitation afin de mettre le système hors tension en toute sécurité. Si possible, mettre automatiquement hors tension les systèmes prenant en charge cette fonction.
|
6
| Etat de réinitialisation
| Redémarrage
| Pour arrêter le système d'exploitation et réinitialiser l'état défini par l'entrée initdefault du fichier /etc/inittab. Le service SMF svc:/system/boot-config:default est activé par défaut. Lorsque la valeur true est attribuée à la propriété config/fastreboot_default, init 6 contourne certaines étapes d'initialisation et de test du microprogramme en fonction des capacités spécifiques du système. Reportez-vous à la section Accélération du processus de réinitialisation.
|
|
En outre, la commande svcadm peut être utilisée pour modifier le niveau d'exécution d'un système, en sélectionnant un jalon pour l'exécution. Le tableau suivant indique quel niveau d'exécution correspond à chaque jalon.
Table 4-2 Niveaux d'exécution et jalons SMF | |
S
| milestone/single-user:default
|
2
| milestone/multi-user:default
|
3
| milestone/multi-user-server:default
|
|
Que se passe-t-il lorsqu'un système est initialisé à un état multiutilisateur (niveau d'exécution 3)
Le processus init est démarré et lit les propriétés définies dans le service SMF svc:/system/environment:init pour définir les variables d'environnement. Par défaut, seule la variable TIMEZONE est définie.
Ensuite, init lit le fichier inittab et effectue les opérations suivantes :
Exécution des entrées de processus pour lesquelles sysinit figure dans le champ action de sorte que les initialisations spéciales peuvent avoir lieu avant que des utilisateurs ne se connectent au système.
Transmission des activités de démarrage à svc.startd.
Pour obtenir une description détaillée de la façon dont le processus init utilise le fichier inittab, reportez-vous à la page de manuel init(1M).
Cas d'utilisation des niveaux d'exécution et des jalons
En général, il est rare d'avoir à modifier les jalons ou les niveaux d'exécution. Au besoin, la commande init convient pour modifier le niveau d'exécution, et par là même le jalon. La commande init est également valable pour arrêter un système.
Toutefois, l'initialisation d'un système à l'aide du jalon none peut être très utile pour effectuer le débogage des problèmes de démarrage. Il n'existe pas de niveau d'exécution équivalent au jalon none. Pour plus d'informations, reportez-vous à la section Démarrage Services comment Examiner des problèmes lors de l’initialisation du système du manuel Gestion des services système dans Oracle Solaris 11.2
.
Identification du niveau d'exécution actuel d'un système
Pour détermine le niveau d'exécution actuel du système, utilisez la commande who -r.
Exemple 4-11 Identification du niveau d'exécution d'un système
La sortie de la commande who –r affiche des informations sur le niveau d'exécution actuel d'un système, ainsi que sur les niveaux d'exécution précédents.
$ who -r
. run-level 3 Dec 13 10:10 3 0 S
$
| |
run-level 3
| Identifie le niveau d'exécution actuel.
|
Dec 13 10:10
| Indique la date du dernier changement de niveau d'exécution.
|
3
| Identifie également le niveau d'exécution actuel.
|
0
| Identifie le nombre de fois où le système a été à ce niveau d'exécution depuis la dernière réinitialisation.
|
S
| Identifie le niveau d'exécution précédent.
|
|