xenial (8) init.8.gz

Provided by: manpages-fr-extra_20151231_all bug

NOM

       init, telinit - Initialisation du contrôle des processus

SYNOPSIS

       /sbin/init [ -a ] [ -s ] [ -b ] [ -z xxx ] [ 0123456Ss ]
       /sbin/telinit [ -t SECONDES ] [ 0123456sSQqabcUu ]
       /sbin/telinit [ -e VAR[=VAL] ]

DESCRIPTION

   Init
       init  est  le  parent  de tous les processus. Son rôle principal est de créer des processus à partir d'un
       script stocké dans /etc/inittab (consultez inittab(5)). Ce fichier comporte généralement des entrées  qui
       forcent  init  à  lancer  des  getty  sur  chacune  des lignes sur lesquelles des utilisateurs peuvent se
       connecter. Il contrôle également des processus autonomes nécessaires pour chaque système particulier.

NIVEAUX D'EXÉCUTION

       Un niveau d'exécution est une configuration logicielle du système  qui  permet  à  seulement  un  certain
       groupe  de processus d'exister. Les processus lancés par init pour chacun de ces niveaux d'exécution sont
       définis dans le fichier /etc/inittab. init peut être dans un des huit  niveaux  d'exécution :  0–6  et  S
       (alias  s).  Le  niveau  d'exécution  peut être modifié par un superutilisateur en exécutant telinit, qui
       envoie les signaux appropriés à init, lui indiquant dans quel niveau d'exécution se placer.

       Les niveaux d'exécution S, 0, 1 et 6 sont réservés. Le niveau d'exécution S est utilisé pour  initialiser
       le  système au démarrage. Lors du lancement du niveau d'exécution S (au démarrage) ou 1 (depuis un niveau
       d'exécution multiutilisateur), le système entre en « mode  mono-utilisateur »,  après  lequel  le  niveau
       d'exécution  est S. Le niveau d'exécution 0 est utilisé pour arrêter le système ; le niveau d'exécution 6
       sert au redémarrage du système.

       Après  avoir  démarré  dans  le  niveau  S,  le  système  entre  automatiquement  dans  un  des   niveaux
       multiutilisateurs 2 à 5, à moins qu'il n'y ait eu des problèmes qui nécessitent une correction de la part
       d'un administrateur en mode mono-utilisateur. Normalement, après être entré en mode mono-utilisateur,  un
       administrateur effectue la maintenance puis redémarre le système.

       Pour plus d'informations, voir les pages de manuel de shutdown(8) et inittab(5).

       Les  niveaux d'exécution 7 à 9 sont également valables, mais pas vraiment documentés. La raison pour cela
       est que les UNIX « traditionnels » ne les utilisent pas.

       Les niveaux d'exécution S et s sont équivalents. Ils sont considérés en interne comme des alias vers  les
       mêmes niveaux.

DÉMARRAGE

       Après  qu'init  ait été appelé comme dernière étape de la séquence de démarrage du noyau, il regarde dans
       le fichier /etc/inittab pour voir s'il y  a  une  entrée  du  type  initdefault  (consultez  inittab(5)).
       L'entrée  initdefault  détermine le niveau d'exécution initial du système. S'il n'y a pas de telle entrée
       (ou pas de /etc/inittab du tout), un niveau d'exécution doit être entré sur la console système.

       Les niveaux d'exécution S ou s initialisent le système et ne nécessitent pas de fichier /etc/inittab.

       En mode mono-utilisateur, /sbin/sulogin est invoqué sur /dev/console.

       Quand il entre en mode mono-utilisateur, init initialise les paramètres des consoles stty à  des  valeurs
       saines.  Le  mode clocal est configuré. La vitesse matérielle et le mode d'établissement d'une liaison ne
       sont pas changés.

       Quand il entre en mode multi-utilisateurs pour la  première  fois,  init  exécute  les  entrées  boot  et
       bootwait  pour  permettre  aux  systèmes  de fichiers de se monter avant que les utilisateurs puissent se
       connecter. Ensuite, toutes les entrées correspondant au niveau d'exécution sont exécutées.

       Lorsqu'il démarre un nouveau processus, init vérifie d'abord si le fichier /etc/initscript  existe.  S'il
       existe, il utilise ce fichier pour démarrer le processus.

       Chaque  fois  qu'un  fils  se  termine,  init enregistre cela et la raison pour laquelle il est mort dans
       /var/run/utmp et /var/log/wtmp, si ces fichiers existent.

CHANGEMENT DE NIVEAU D'EXÉCUTION

       Après qu'il ait exécuté tous les processus indiqués, init attend qu'un de ses fils  meure,  qu'un  signal
       indiquant  une  perte  de  puissance  arrive ou qu'un signal de telinit lui indique qu'il faut changer le
       niveau d'exécution du système. Quand une de ces trois conditions se  produit,  il  réexamine  le  fichier
       /etc/inittab. De nouvelles entrées peuvent être ajoutées à ce fichier à n'importe quel moment. Cependant,
       init attend qu'une de ces conditions se produise. Pour que le fichier soit pris en compte  immédiatement,
       la commande telinit Q ou q permet de réveiller init pour qu'il réexamine le fichier /etc/inittab.

       Si init n'est pas en mode mono-utilisateur et reçoit un signal indiquant une perte de puissance (SIGPWR),
       il lit le fichier /etc/powerstatus. Il démarre  ensuite  une  commande  en  fonction  du  contenu  de  ce
       fichier :

       F(AIL) (échec)
              Plus d'alimentation, l'UPS fournit la puissance. Exécuter les entrées powerwait et powerfail.

       O(K)   L'alimentation a été rétablie, exécuter les entrées powerokwait.

       L(OW) (bas)
              Plus  d'alimentation  et  le  niveau  de  la  batterie  de  l'UPS est faible. Exécuter les entrées
              powerfailnow.

       Si le fichier /etc/powerstatus n'existe pas ou contient autre chose que les lettres F, O ou  L,  init  se
       comportera comme si la lettre F y avait été lue.

       L'utilisation  de  SIGPWR  et  de /etc/powerstatus n'est pas conseillée. Pour interagir avec init il vaut
       mieux utiliser le canal de contrôle /run/initctl ; consultez le code source  de  sysvinit  pour  plus  de
       documentation à ce sujet.

       Quand  on  demande à init de changer de niveau d'exécution, il envoie le signal d'avertissement SIGTERM à
       tous les processus qui ne sont pas  définis  dans  le  nouveau  niveau  d'exécution.  Il  attend  ensuite
       5 secondes avant de forcer l'arrêt de ces processus avec le signal -1SIGKILL . Notez que init suppose que
       tous ces processus (et leurs fils) restent dans le même groupe de processus que init a créé pour eux.  Si
       un  processus  change  son  affiliation  à  un  groupe  de  processus, il ne recevra pas ces signaux. Ces
       processus doivent être arrêtés séparément.

TELINIT

       /sbin/telinit est un lien vers /bin/init. Il  prend  un  paramètre  d'un  caractère  et  signale  à  init
       d'effectuer l'action appropriée. Les paramètres suivants servent de directive à telinit :

       0,1,2,3,4,5 ou 6
              Demander à init de passer au niveau d'exécution spécifié.

       a,b,c  Demander  à  init de ne traiter que les entrées du fichier /etc/inittab du niveau d'exécution a, b
              ou c.

       Q ou q Demander à init de réexaminer le fichier /etc/inittab.

       S ou s Demander à init de passer en mode mono-utilisateur

       U ou u Demander à init de se relancer lui-même (en préservant son état). Le  fichier  /etc/inittab  n'est
              pas  réexaminé.  Le  niveau  d'exécution  doit être un des niveaux Ss0123456, sinon la requête est
              ignorée silencieusement.

       telinit peut demander à init combien de temps il devrait attendre entre l'envoi des  signaux  SIGTERM  et
       SIGKILL aux processus. La valeur par défaut est de 5 secondes, mais peut être changée avec l'option -t.

       telinit  -e  demande  à init de changer l'environnement des processus qu'il lance. Le paramètre de -e est
       soit de la forme VAR=VAL, qui positionne la variable VAR à la valeur VAL, ou de la forme VAR (sans  signe
       égal), qui retire la variable VAR.

       telinit ne peut être appelé que par les utilisateurs avec les droits appropriés.

       Le  binaire  init vérifie s'il s'agit d'init ou de telinit en fonction de l'identifiant du processus ; le
       véritable init a toujours un identifiant égal à 1. Grâce à cela, init peut également être appelé au  lieu
       de telinit, comme raccourci.

ENVIRONNEMENT

       init configure les variables d'environnement suivantes pour tous ses fils :

       PATH   /bin:/usr/bin:/sbin:/usr/sbin

       INIT_VERSION
              Comme le nom l'indique. Utile pour déterminer si un script est exécuté directement par init.

       RUNLEVEL
              Le niveau d'exécution actuel du système.

       PREVLEVEL
              Le niveau d'exécution précédent (utile après un changement de niveau d'exécution).

       CONSOLE
              La  console système. Cela provient du noyau ; cependant si elle n'existe pas, init la positionne à
              /dev/console par défaut.

ATTRIBUTS D'AMORÇAGE

       Un certain nombre d'options peuvent être fournies à init à  partir  du  gestionnaire  de  démarrage  (par
       exemple LILO). init accepte les options suivantes :

       -s, S, single
            Démarrage  en  mode  mono-utilisateur.  Dans  ce mode, /etc/inittab est examiné et les scripts rc de
            démarrage sont généralement lancés avant que  l'interpréteur  de  commande  du  mono-utilisateur  ne
            commence.

       1-5  Niveau d'exécution dans lequel il faut démarrer.

       -b, emergency
            Démarrage  direct  d'un  interpréteur  de  commande en mode mono-utilisateur sans lancer aucun autre
            script de démarrage.

       -a, auto
            Le gestionnaire de démarrage LILO ajoute  le  mot  « auto »  sur  la  ligne  de  commande  pour  les
            démarrages  utilisant  la ligne de commande par défaut (sans intervention d'un utilisateur). Dans ce
            cas, init positionne la variable d'environnement AUTOBOOT à la valeur « yes ».  Notez  que  vous  ne
            pouvez  utiliser cela à des fins sécuritaires ; un utilisateur pouvant bien sûr indiquer « auto » ou
            ajouter l'option -a lui-même sur la ligne de commande.

       -z xxx
            Le paramètre de -z est ignoré. Vous pouvez  utiliser  cela  pour  étendre  légèrement  la  ligne  de
            commande,  pour  qu'elle  prenne  plus de place sur la pile. init peut ensuite manipuler la ligne de
            commande de telle sorte que ps(1) affiche le niveau d'exécution actuel.

INTERFACE

       init écoute sur une fifo dans /run, /run/initctl dans l'attente de messages. telinit  utilise  cela  pour
       communiquer  avec  init.  L'interface  n'est  pas très documentée ou finalisée. Les personnes intéressées
       devraient étudier le fichier initreq.h dans le sous-répertoire src/ de l'archive tar des sources d'init.

SIGNAUX

       init réagit à plusieurs signaux :

       SIGHUP
            Identique à telinit q.

       SIGUSR1
            Lors de la réception de ces signaux, init ferme et réouvre sa fifo de contrôle, /run/initctl.

       SIGINT
            Normalement le noyau envoie ce signal à init à la combinaison de touches Ctrl-Alt-Suppr. Cela active
            l'action ctrlaltdel.

       SIGWINCH
            Le  noyau  envoie  ce  signal  quand  la  touche  KeyboardSignal  est  pressée. Cela active l'action
            kbrequest.

CONFORMITÉ

       init est compatible avec l'init de Système V. Il collabore étroitement avec les scripts  des  répertoires
       /etc/init.d et /etc/rc{niveau_exécution}.d. Si votre système utilise cette convention, il devrait y avoir
       un fichier README dans le répertoire /etc/init.d qui explique comment ces scripts fonctionnent.

FICHIERS

       /etc/inittab
       /etc/initscript
       /dev/console
       /var/run/utmp
       /var/log/wtmp
       /run/initctl

AVERTISSEMENTS

       init suppose que les processus et leurs descendants  restent  dans  le  même  groupe  de  processus  créé
       initialement  pour  eux.  Si  les  processus changent leur groupe, init ne peut pas les tuer et cela peut
       conduire à avoir deux processus qui lisent la même ligne de terminal.

       Sur un système Debian, entrer dans le niveau d'exécution 1  force  tous  les  processus  à  être  tués  à
       l'exception  des  threads  du  noyau et du script qui s'occupe de tuer les autres processus ainsi que les
       autres processus de sa session. En conséquence, il n'est pas sûr de passer du niveau d'exécution  1  vers
       un niveau d'exécution multi-utilisateur : les démons qui étaient démarrés dans le niveau d'exécution S et
       qui sont nécessaires au bon fonctionnement ne tournent plus. Le système devrait être redémarré.

DIAGNOSTIC

       Si init trouve qu'il n'arrête pas de relancer une entrée (plus de dix fois en deux minutes), il supposera
       qu'il y a une erreur dans la commande, générera une erreur sur la console système et refusera de relancer
       cette entrée à moins que cinq minutes se soient écoulées  ou  qu'il  ait  reçu  un  signal.  Cela  permet
       d'éviter  de  consommer des ressources système quand quelqu'un a fait une faute de frappe dans le fichier
       /etc/inittab ou que le programme de l'entrée a été supprimé.

AUTEUR

       Miquel  van  Smoorenburg  (miquels@cistron.nl),   page   de   manuel   originelle   de   Michael   Haardt
       (u31b3hs@pool.informatik.rwth-aachen.de).

VOIR AUSSI

       getty(1), login(1), sh(1), runlevel(8), shutdown(8), kill(1), inittab(5), initscript(5), utmp(5)

TRADUCTION

       La  traduction  de  cette page de manuel est maintenue par les membres de la liste <debian-l10n-french AT
       lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de  bogue  sur  le
       paquet manpages-fr-extra.

                                                 29 juillet 2004                                         INIT(8)