Init
378236
31164119
2008-06-30T16:11:03Z
90.20.219.10
Mini corrections.
{{Minuscule}}
'''init''' (abréviation de initialisation) est le [[programme informatique|programme]] sous [[Unix]] qui lance toutes les autres tâches. Il s'exécute comme un [[Daemon|démon informatique]] et typiquement il a un [[identifiant de processus]] (PID) de 1.
Les fonctionnalités du programme ''init'' divergent considérablement entre [[Berkeley Software Distribution|BSD]] et [[UNIX System V|System V]].
La plupart des [[Distribution Linux|distributions Linux]] sont compatibles avec le programme ''init'' d'Unix System V ; mais il y a des exceptions : certaines distributions comme la [[Slackware]] utilisent un programme ''init'' qui est proche de celui d'Unix BSD, et d'autres comme la distribution [[Gentoo]] ont un programme ''init'' personnalisé. Il y a aussi plusieurs autres schémas alternatifs pour cette phase d'initialisation (par exemple, pour [[Mac OS X 10.4|Mac OS X 10.4 (TIGER)]], voir aussi les références externes au bas de cette page). La distribution [[Ubuntu]] (version 6.10) utilise une tâche appelée ''[[upstart]]'' au lieu de ''init'', mais cette tâche dans sa version actuelle (janvier 2007) est très proche de l'init System V.
==Au boot==
Le [[chargeur d'amorçage]] charge le [[noyau Linux]] (et un éventuel [[initrd]]), ensuite le noyau [[Point de montage|monte]] le [[système de fichier]] racine (le "/"), puis il initialise la console initiale. Ensuite, il lance la première tâche : "'''init'''".
Le programme ''init'' est à la fois la première tâche que le noyau Linux exécute lorsqu'on [[boot]]e un ordinateur et la dernière tâche présente avant l'arrêt de l'[[ordinateur]].
==="init" de Unix [[Berkeley software distribution|BSD]]===
Au [[boot]], le programme init d'Unix BSD exécute des [[shell (informatique)|shell]]s d'initialisation localisés dans <tt>/etc/rc</tt>, puis met en place les différents terminaux virtuels, en mode texte ou en mode graphique ([[X Window System|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 de [[run level|niveaux de fonctionnement (runlevel)]] dans Unix BSD. Sur ces systèmes d'exploitation, ce sont les fichiers de <tt>/etc/rc</tt> qui déterminent comment cette initialisation s'effectue.
==="init" de [[UNIX System V|Unix System V]] (SysVinit) ===
Au boot, le programme init d'Unix System V lit le fichier <tt>/etc/inittab</tt>, Le champ ''<tt>initdefault</tt>'' dans ce fichier détermine quel est le niveau de fonctionnement par défaut. Si ce champ est absent, l'utilisateur doit aller sur la console système pour indiquer manuellement quel est le niveau de fonctionnement ([[run level]]) choisi.
Les autres lignes du fichier <tt>inittab</tt> indiquent au programme ''init'' quelles sont les tâches à lancer et sur quel terminal virtuel, en fonction du niveau de fonctionnement demandé.
==Outrepasser les sécurités d'Unix en évitant de passer par la tâche ''init''==
Le programme init n'est pas la seule option proposée lorsqu'on boote un ordinateur sous Unix. Sur la plupart des [[Chargeur d'amorçage|chargeurs d'amorçage (bootloader)]] modernes (tels [[Linux loader|LILO]] ou [[GRand Unified Bootloader|GRUB]]), 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 simple [[interpréteur de commandes]] ([[sh]], [[Bourne-Again shell|bash]] ou [[zsh]], etc.) à la place du programme init. Il suffit, par exemple, de taper ''init=/bin/sh'' au prompt du chargeur d'amorçage. Cela permet à un administrateur 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 le [[Basic Input Output System|BIOS]] pour qu'un mot de passe soit demandé avant le boot.
== Voir aussi ==
=== Articles connexes ===
* [[initng]], un processus de démarrage plus rapide que ''init''
* [[upstart]] de [[ubuntu]]
=== Références externes===
*[http://man.he.net/man8/init page man pour init]
* Schémas alternatifs pour cette phase d'initialisation :
**[http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ boot-scripts]
**[http://smarden.org/runit/index.html runit]
**[http://code.dogmap.org/svscan-1/ svscan]
**[http://www.fefe.de/minit/ minit]
{{Portail|informatique|logiciels libres}}
[[Catégorie:Unix]]
[[de:Init]]
[[en:Init]]
[[es:Init]]
[[eu:Init]]
[[fi:Init]]
[[it:Init]]
[[ja:Init]]
[[pt:Init]]
[[ru:Init]]