<Précédent | Table des matières | Suivant>
Une description complète de GRUB peut être trouvée en publiant le info ver commande ou sur le site GRUB. Le projet de documentation Linux a un Multiboot avec GRUB Mini-HOWTO.
4.2.4. Initialiser
Le noyau, une fois chargé, trouve init in sbin et l'exécute.
Quand init démarre, il devient le parent ou le grand-parent de tous les processus qui démarrent automatiquement sur votre système Linux. La première chose init fait, lit son fichier d'initialisation, /etc/inittab. Cela indique init pour lire un script de configuration initial pour l'environnement, qui définit le chemin, démarre l'échange, vérifie les systèmes de fichiers, etc. Fondamentalement, cette étape prend en charge tout ce que votre système doit avoir fait lors de l'initialisation du système : réglage de l'horloge, initialisation des ports série, etc.
Ensuite init continue de lire le /etc/inittab qui décrit comment le système doit être configuré à chaque niveau d'exécution et définit la valeur par défaut niveau d'exécution. Un niveau d'exécution est une configuration de processus. Tous les systèmes de type UNIX peuvent être exécutés dans différentes configurations de processus, telles que le mode utilisateur unique, appelé niveau d'exécution 1 ou niveau d'exécution S (ou s). Dans ce mode, seul l'administrateur système peut se connecter au système. Il permet d'effectuer des tâches de maintenance sans risque d'endommager le système ou les données de l'utilisateur. Naturellement, dans cette configuration, nous n'avons pas besoin d'offrir des services aux utilisateurs, ils seront donc tous désactivés. Un autre niveau d'exécution est le niveau d'exécution de redémarrage, ou niveau d'exécution 6, qui arrête tous les services en cours d'exécution selon les procédures appropriées, puis redémarre le système.
Utilisez l'option pour qui pour vérifier votre niveau d'exécution actuel :
willy@ubuntu :~$ qui -r
niveau d'exécution 2 2006-10-17 23:22
dernier=S
willy@ubuntu :~$ qui -r
niveau d'exécution 2 2006-10-17 23:22
Pour en savoir plus sur les niveaux d'exécution dans la section suivante, reportez-vous à la section 4.2.5.
Après avoir déterminé le niveau d'exécution par défaut de votre système, init démarre tous les processus d'arrière-plan nécessaires au fonctionnement du système en regardant dans le rc répertoire pour ce niveau d'exécution. init exécute chacun des scripts kill (leurs noms de fichiers commencent par un K) avec un paramètre d'arrêt. Il exécute ensuite tous les scripts de démarrage (leurs noms de fichiers commencent par un S) dans le répertoire de niveau d'exécution approprié afin que tous les services et applications démarrent correctement. En fait, vous pouvez exécuter ces mêmes scripts manuellement une fois que le système a fini de démarrer avec une commande telle que /etc/init.d/httpd Arrêtez or service httpd arrêter connecté en tant que racine, dans ce cas arrêter le
serveur Web.
Cas particulier
Notez qu'au démarrage du système, les scripts dans rc2.d et rc3.d sont généralement exécutés. Dans ce cas, aucun service n'est arrêté (du moins pas définitivement). Il n'y a que des services qui sont démarrés.
Aucun des scripts qui démarrent et arrêtent réellement les services ne se trouve dans /etc/rc .ré. Au contraire, tous les fichiers dans /etc/rc .ré sont des liens symboliques qui pointent vers les scripts réels situés dans / Etc / init.d. Un lien symbolique n'est rien de plus qu'un fichier qui pointe vers un autre fichier, et est utilisé dans ce cas car il peut être créé et supprimé sans affecter les scripts réels qui tuent ou démarrent les services. Les liens symboliques vers les différents scripts sont numérotés dans un ordre particulier afin qu'ils commencent dans cet ordre. Vous pouvez modifier l'ordre dans lequel les services démarrent ou sont supprimés en modifiant le nom du lien symbolique qui fait référence au script qui contrôle réellement le service. Vous pouvez utiliser le même numéro plusieurs fois si vous souhaitez qu'un service particulier démarre ou s'arrête juste avant ou après un autre service, comme dans l'exemple ci-dessous, répertoriant le contenu de
/etc/rc5.d, Où Crond et xfs sont tous deux démarrés à partir d'un nom de lien commençant par "S90". Dans ce cas, les scripts sont lancés par ordre alphabétique.
[jean@blub /etc/rc5.d] ls K15httpd@ K45nommé@ | S08ipchains@ | S25netfs@ | S85gpm@ |
K16rarpd@ K46radvd@ | S08iptables@ | S26apmd@ | S90crond@ |
K20nfs@ K61ldap@ | S09isdn@ | S28autofs@ | S90xfs@ |
K20rstatd@ K65identd@ | Réseau S10@ | S30nscd@ | S95anacron@ |
K20usersd@ K74ntpd@ | S12syslog@ | S55sshd@ | S95atd@ |
K20rwalld@ K74ypserv@ | S13carte des ports@ | S56appareils bruts@ | S97rhnsd@ |
K20rwhod@ K74ypxfrd@ | S14nfslock@ | S56xinetd@ | S99local@ |
K25calmar@ K89bcm5820@ | Table de touches S17@ | S60lpd@ | |
K34yppasswdd@ S05kudzu@ | S20aléatoire@ | S80envoyermail@ |
Après init a progressé à travers les niveaux d'exécution pour atteindre le niveau d'exécution par défaut, le /etc/inittab script fourches un Getty pour chaque console virtuelle (invite de connexion en mode texte). Getty ouvre les lignes tty, définit leurs modes, imprime l'invite de connexion, obtient le nom de l'utilisateur, puis lance un processus de connexion pour cet utilisateur. Cela permet aux utilisateurs de s'authentifier auprès du système et de l'utiliser. Par défaut, la plupart des systèmes proposent 6 consoles virtuelles, mais comme vous pouvez le voir sur le onglet d'initialisation fichier, ceci est configurable.
/etc/inittab peut aussi dire init comment il doit gérer un utilisateur en appuyant sur Ctrl+autre+Supprimer à la console. Comme le système doit être correctement arrêté et redémarré plutôt que d'être immédiatement redémarré, init est dit d'exécuter la commande / sbin / shutdown -t3 -r maintenant, par exemple, lorsqu'un utilisateur appuie sur ces touches. En outre,
/etc/inittab indique ce que init devrait faire en cas de panne de courant, si votre système est équipé d'une unité UPS.
Sur la plupart des systèmes basés sur RPM, l'écran de connexion graphique est lancé au niveau d'exécution 5, où /etc/inittab exécute un script appelé /etc/X11/prefdmL’ préfdm le script exécute le gestionnaire d'affichage X préféré, en fonction du contenu du /etc/sysconfig/desktop annuaire. C'est typiquement gdm si vous exécutez GNOME ou KDM si vous exécutez KDE, mais ils peuvent être mélangés, et il y a aussi le xdm qui vient avec une installation X standard.
Mais il y a aussi d'autres possibilités. Sur Debian, par exemple, il existe un script d'initialisation pour chacun des gestionnaires d'affichage, et le contenu du /etc/X11/default-display-manager est utilisé pour déterminer lequel commencer. Pour en savoir plus sur l'interface graphique, reportez-vous à la section 7.3. En fin de compte, la documentation de votre système expliquera les détails sur les aspects de niveau supérieur de init.
Le manuel de formation / etc / default et/ou /etc/sysconfig Les répertoires contiennent des entrées pour une gamme de fonctions et de services, ceux-ci sont tous lus au démarrage. L'emplacement du répertoire contenant les valeurs par défaut du système peut être quelque peu différent selon votre distribution Linux.
Outre l'environnement utilisateur graphique, de nombreux autres services peuvent également être démarrés. Mais si tout se passe bien, vous devriez voir une invite de connexion ou un écran de connexion lorsque le processus de démarrage est terminé.