
Cet articlene cite pas suffisamment ses sources().
Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant lesréférences utiles à savérifiabilité et en les liant à la section « Notes et références ».
En pratique :Quelles sources sont attendues ?Comment ajouter mes sources ?init (abréviation de initialisation) est le premierprogramme informatique exécuté sur lessystèmes d'exploitation basésUnix. Il est exécuté comme undaemon informatique et possède l'identifiant de processus (PID) 1. init est lancé par lenoyau (kernel en anglais) et reste actif jusqu'à ce que le système soit éteint. Il est le parent direct ou indirect de tous les autres programmes lancés sur le système.
Les fonctionnalités du programmeinit divergent considérablement entreBSD etSystem V.
La plupart desdistributions Linux sont compatibles avec le programmeinit d'Unix System V ; mais il y a des exceptions : certaines distributions comme laSlackware utilisent un programmeinit qui est proche de celui d'Unix BSD, et d'autres comme la distributionGentoo ont un programmeinit personnalisé. Il y a aussi plusieurs schémas alternatifs pour cette phase d'initialisation (par exemple, pourMac OS X 10.4 (TIGER), voir aussi les références externes au bas de cette page). La distributionUbuntu utiliseupstart au lieu deinit jusqu'à la version 14.10, puissystemd à partir de la version 15.04.
Lechargeur d'amorçage charge lenoyau (et un éventuelinitrd), ensuite le noyaumonte lesystème de fichier racine (le « / »), puis il initialise la console initiale. Ensuite, il lance la première tâche : « init ».
Le programmeinit est à la fois la première tâche que le noyau exécute lorsqu'on démarre un ordinateur et la dernière tâche présente avant l'arrêt de l'ordinateur.
Audémarrage, le programme init d'Unix BSD exécute desshells d'initialisation localisés dans/etc/rc, puis met en place les différents terminaux virtuels, en mode texte ou en mode graphique (X ou autre).
La grosse différence entre l'init de BSD et celui de System V, c'est qu'il n'y a pas deniveaux de fonctionnement (runlevel) dans Unix BSD. Sur ces systèmes d'exploitation, ce sont les fichiers de/etc/rc qui déterminent comment cette initialisation s'effectue.
Au démarrage, le programme init du systèmeUnix System V lit le fichier/etc/inittab, le champinitdefault déterminant le niveau de fonctionnement par défaut. En son absence, l'utilisateur indique manuellement sur saconsole système leniveau de fonctionnement souhaité. Les autres lignes du fichier indiquent au programme quelles sont les tâches à lancer, et sur quel terminal virtuel il doit proposer un login en fonction du niveau de fonctionnement demandé.
La commandeinit permet de stopper le système :
# Arrêtinit0# Redémarrageinit6
Il s'agit d'un équivalent aux commandesshutdown etreboot.
Le programme init n'est pas la seule option proposée lorsqu'on boot un ordinateur sous Unix. Sur la plupart deschargeurs d'amorçage (bootloader) modernes (telsLILO ouGRUB), vous pouvez changer le nom du programme qui est lancé à la fin de l'initialisation par le noyau (par défaut, c'est/sbin/init).
En général, cette fonctionnalité est utilisée pour lancer un simpleinterpréteur de commandes (sh,bash ouzsh, etc.) à la place du programme init. Il suffit, par exemple, de taperinit=/bin/sh au prompt du chargeur d'amorçage. Cela permet à unadministrateur système de corriger les problèmes dans certains cas extrêmes.
Il n'est même pas nécessaire de taper un mot de passe. Pour pallier cette lacune, il est possible de paramétrer leBIOS pour qu'un mot de passe soit demandé avant le boot ou de configurer le chargeur d'amorçage avec un mot de passe (s'il le permet) pour protéger le prompt, voire dechiffrer les partitions.
systemd est l’alternative la plus répandue sousGNU/Linux. On peut également citerinitng,upstart sousUbuntu ouGNU Shepherd[1], un ancien projet relancé en 2013 pour le trentième anniversaire du système GNU[2]. Ce programme, écrit en langageScheme, est développé conjointement avecGuix pour servir de gestionnaire de démarrage officiel dudit système. SousMicrosoft Windows, l’application de démarrage baptiséewininit.exe se retrouve notamment sousVista.
| Aide | ||
|---|---|---|
| Environnementutilisateur | ||
| Gestion deprocessus | ||
| Manipulation detexte | ||
| Programmationshell | ||
| Recherche | ||
| Réseau | ||
| Système de fichiers | ||
| Divers | ||