Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Le système GNU/Linux
IUP NTIC2-1013 - 9/11/05
Capocchi Laurent
Doctorant en Informatique
capocchi@univ-corse.fr
http://spe.univ-corse.fr/capocchiweb
Chapitre 4
Processus de démarrage
et connexion au système
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Objectifs
Maîtriser le processus de démarrage et d'arrêt de l'ordinateur.
S'initier à une ouverture de session.
Comprendre la notion d'identification au système.
Éléments techniques abordés
Les commandes
lilo, init, runlevel, chkconfig, shutdown, wall
id, groups, passwd, finger
Les fichiers
/etc/lilo, /etc/lilo.conf, /boot/boot.b; /boot/map, /boot/initrd
/etc/inittab
/etc/group, /etc/passwd, /etc/shells
Les répertoires
/etc/rc.d, /etc/rc.d/init.d
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Sommaire
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX.
Principe
Démarrage avec Lilo.
Le processus init.
Le fichier /etc/inittab.
L'action sysinit.
Les fichiers /etc/rc*.
La commande chkconfig.
Arrêt d'un système UNIX.
Connexion d'un utilisateur au système UNIX
Principe.
Les commandes d'identification.
Le fichier /etc/passwd.
Le fichier /etc/group.
Les modifications des informations d'un utilisateur.
Questions de révision
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Principe
Le BIOS choisi un disque de démarrage (disque dur ou disquette) et lit le
premier secteur (dans le cas d'un disque dur, le MBR).
Le secteur de démarrage contient un programme de lancement du
système. Pour un DD, ce programme va examiner la table de partitions,
identifier la partition active et exécuter le Boot Sector de celle-ci.
Pour un système UNIX il existe plusieurs chargeurs de systèmes dont:
LILO (LInux LOader)
GRUB (GRand Unified Bootloader)
Leurs rôle principal est de charger le noyau du système en mémoire.
Dans le cas de lilo, Il peut être installé dans:
le MBR du disque dur,
le secteur de démarrage de la partition Linux (boot sector),
sur une disquette de démarrage.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Principe
Si lilo est installé dans le MBR: il est chargé par le BIOS.
Si lilo est installé dans le BS: c'est le chargeur de système qui y accédera
si se chargeur est paramétré en conséquence.
Si lilo est installé sur une disquette: il est chargé par le BIOS si la
disquette est en première position dans la liste des périphériques de
démarrage définit dans le SETUP.
Le logiciel lilo est généralement installé dans le MBR car il prend
en charge les autres systèmes d'exploitation installés.
Il se charge en mémoire en deux étapes:
Le chargeur primaire se trouve dans l'emplacement du MBR
(442 octets), sa tâche est de mettre le chargeur secondaire
en mémoire et de lui transmettre les informations sur
la géométrie du disque dur.
Le chargeur secondaire se trouve dans la partition
Linux et affiche à l'écran de sélection des systèmes
d'exploitation installés sur le disque dur.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Principe
Une fois le choix du système effectué, par ces paroles lapidaires
« Uncompressing Linux... » le noyau prend les commandes de la totalité
du matériel du système.
Il vérifie et installe la console (le registre du BIOS de la carte graphique et le
format d'affichage à l'écran) pour lire ensuite les configurations du BIOS et
initialiser les interfaces élémentaires de la carte mère.
Au cours des phases suivantes, les différents pilotes (qui font partie des
éléments qui constituent le noyau) « testent » le matériel pour l'initialiser.
Après le « contrôle des partitions » et le montage du
système de fichier racine en lecture seule (rattachement
de la partition racine au répertoire /), le noyau
lance le programme /sbin/init qui démarre le système
avec ces nombreux programmes utilitaires.
Finalement, le FS est remonté en r/w.
Le noyau continue à gérer la totalité du système c.à.d
le temps CPU des différents programmes et leurs accès au matériel.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Principe
Le système UNIX propose plusieurs niveaux de démarrage différents,
selon que l'administrateur souhaite activer le mode multi-utilisateur ou
mono-utilisateur, activer le montage des disques réseaux (NFS) ou non,
etc.
Chaque mode de démarrage est numéroté de 0 à 9, et peut être indiqué
au noyau lors du démarrage du système Linux, au niveau du prompt lilo
(par la commande init):
0: pour arrêter le système (exploité par la commande shutdown).
1: mode maintenance dans lequel les systèmes de fichiers sont montés,
mais où un nombre limité de services sont activés. Les
utilisateurs ne peuvent pas se connecter.
2: mode multi-utilisateur. NFS n'est pas activé.
3: niveau 2 avec activation de NFS.
4: mode multi-utilisateur spécifique au site (peu utilisé).
5: Active la connections graphique (demon xdm).
6: arrêt et redémarrage du système.
7,8,9: pas prédéfinis ils sont librement utilisables.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX.
Démarrage avec Lilo
Les fichiers utilisés par Lilo
/sbin/lilo: Commande qui installe les programmes de démarrage. Elle
utilise le fichier de configuration /etc/lilo.conf
/etc/lilo.conf: Fichier de configuration de lilo. Il contient les paramètres
globaux de démarrage et il décrit les différents systèmes d'exploitation.
/boot/boot.b: C'est le boot loader. Il contient le chargeur primaire et
secondaire. Le chargeur primaire sera stocké dans le MBR et le
secondaire sur la partition linux.
/boot/map: Carte des noyaux actuellement gérés.
Au démarrage le FS n'est pas encore opérationnel
et l'accès au noyaux se fait par ce fichier qui indique
l'emplacement physique sur le disque.
/boot/initrd: Fichier image compressée d'un disque
moire (RAM disk) utilisé pendant le démarrage.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Démarrage avec Lilo
Le fichier /etc/lilo.conf
boot=<périphérique de démarrage>: Ce paramètre indique le nom
du périphérique qui contient le secteur de démarrage:
boot=/dev/hda (pour le MBR du disque IDE),
boot=/dev/hda3 (pour la partition Linux hda3),
boot=/dev/fd0 (pour la disquette)
install=<fichier chargeur>: Chemin d'accès au boot loader
(/boot/boot.b par défaut).
map=<fichier carte des noyaux>: Chemin d'accès au fichier
contenant la carte d'emplacement des noyaux (/boot/map par défaut)
default=<image à charger par défaut>: Nom de l'image par défaut.
compact: Permet de réduire le temps de chargement par
la lecture de secteur adjacents (intérêt pour les disquette).
delay=<dixièmes de secondes>: nombre avant le
démarrage automatique.
prompt: Affiche obligatoirement l'invite de démarrage.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Démarrage avec Lilo
Le fichier /etc/lilo.conf
image=<chemin d'un noyau Linux>: Le fichier spécifié est un noyau
Linux comme /boot/vmlinuz ou /boot/vmlinuz-2.4.22-10mdk.
label=<identifiant>: Nom d'identifiant que l'administrateur choisit
pour cette image. Il apparaît dans le menu de démarrage.
root=<identifiant>: Nom de la partition qui contient le système de
fichiers racine, par exemple /dev/hda5
read-only: indique que le FS racine doit âtre monté en lecture seule
durant la phase de démarrage pour la correction d'éventuelles
erreurs. Il sera ensuite monté en lecture/écriture après vérification.
append=<paramètres à transmettre>: indique les options
transmises au noyau (matériels non auto-détectés).
initrd=<chemin d'un disque moire>: Chemin du fichier
spécial compressé d'un disque mémoire.
password=<mot_de_passe>: protège le chargement.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Démarrage avec Lilo
Le fichier /etc/lilo.conf
other=<partition de l'autre système>: La partition indiquée est
celle qui contient un autre système que Linux comme /dev/hda1
label=<identifiant>: Nom présent dans le menu de démarrage.
table=<table de partitions>: Nom de périphérique qui contient la
table des partitions, comme /dev/hda
unsafe: indique qu'il ne faut pas toucher au secteur de démarrage.
loader=<nom du chargeur>: Nom du chargeur
secondaire à utiliser pour un autre système que Linux
(/boot/chain.b par défaut).
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Démarrage avec Lilo
La commande lilo
/sbin/lilo permet d'installer le chargeur de système d'exploitation.
Utilise le fichier de configuration /etc/lilo.conf et possède des options
donnant la possibilité de modifier le contenu de ce fichier:
-v: donne le maximum d'informations sur le déroulement de l'opération.
-q: affiche la liste des noyaux gérés
-C fichier_de_configuration: indique un autre fichier de configuration.
-D image_par_défaut: indique une autre image par défaut.
-b périphérique_de_stockage: indique un autre périphérique
de démarrage que celui spécifier par le paramètre boot.
-t: effectue un test sans installer le chargeur.
-u nom_du_périphérique: désinstalle le chargeur
du périphérique scifier.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Le processus init
C'est le processus responsable de l'initialisation correct du système.
C'est le père de tous les processus du système et il possède le PID 1.
Il est lancé directement par le noyau et il est immunisé contre le signal 9
avec lequel on peut normalement « tuer » tout processus.
Les autres processus sont tous lancés soit pas init lui même, soit par l'un
de ses « processus fils ».
init est configuré par le fichier /etc/inittab; c'est ici que les « runlevels »
(niveaux d'exécution) sont définis.
En fonction des entrées faites dans /etc/inittab, différents
scripts, regroupés dans le répertoire /sbin/init.d sont
lancés par init.
Le démarrage complet du système sont ainsi pilotés par
le seul processus init. On peut considérer le noyau
comme un « processus en arrière plan » chargé de gérer
les processus qui tournent, de leur allouer le temps CPU,
d'autoriser et de contrôler l'accès au matériel.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Le fichier /etc/inittab
C'est le fichier de configuration du processus init.
Il contient des instructions sous la forme:
identifiant: niveaux: action: processus
identifiant: identifie la ligne dans le fichier (libellé choisi librement)
niveau: liste de numéros indiquant l'ensemble des niveaux (0 à 9)
associé à cette commande. Au démarrage, le processus init parcoure le
fichier /etc/inittab et exécute chaque commande dont le champ
« niveau » contient le niveau de démarrage sollicité.
action: indique à init le contexte d'exécution de la commande.
La liste peut changer en fonction des UNIXs:
initdefault: indique le niveau de démarrage par défaut.
sysinit: la commande est exécuté au démarrage
avant celles qui sont spécifiées par boot et bootwait.
respaw: Le processus est redémarré à chaque fois
qu'il se termine. C'est le fonctionnement de la commande getty.
boot: Le processus est activé au démarrage, le champ « niveaux »
est ignoré.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Le fichier /etc/inittab
commande: indique la commande à exécuter pour l'un des niveaux
précisé dans le champ « niveaux ». Généralement un script shell dont le
nom doit être spécifié en absolu. Les entrées/sorties sont redirigées dans
des fichiers grâce aux caractères > et <.
exemple:
$ cat /etc/inittab
id:5:initdefault:
# system initialization.
si:sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
# Trac CTRL+ALT+DELETE
ca:ctrlaltdel:/sbin/shutdown -t3 -R now
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
L'action sysinit
Le fichier /etc/inittab commence par la définition du niveau de démarrage par
défaut avec l'action initdefault, et avec l'action sysinit qui met en place
l'environnement système initial.
Le commande associé à sysinit est le script /etc/rc.d/rc.sysinit et il a pour
che principale d'effectuer la configuration indispensable du serveur. Les
principales actions sont les suivantes:
La mise en place d'un environnement minimal avec, par exemple la
variable PATH contenant la liste des répertoire de recherche /bin, /sur/bin...
L'activation de la mémoire virtuelle,
La configuration initiale de l'interface loopback du réseau
et la définition du nom de l'ordinateur, hostname,
Le montage des systèmes de fichiers,
L'initialisation de la configuration matérielle
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
Les fichiers /etc/rc*
La majorité des commandes indiqués dans le fichier /etc/inittab sont des
scripts shells rangés dans le répertoire /etc.
Dans l'organisation des différents systèmes LINUX, les scripts sont articulés
autour d'une hiérarchie débutant au répertoire /etc/rc.d, lequel contient un
script central /etc/rc.d/rc qui sert d'aiguillage dans /etc/inittab:
Dans /etc/inittab, la ligne qui active le niveau 3 est:
13:3: wait:/etc/rc.d/rc 3
Le script /etc/rc.d/rc va ensuite exécuter les scripts contenus dans le
répertoire /etc/rc.d/rc<x>.d où « x » est le numéro du niveau de
démarrage.
Dans l'exemple précédent, /etc/rc.d/rc exécute les scripts
contenus dans /etc/rc.d/rc3.d pour le niveau de démarrage 3.
En réalité, le répertoire /etc/rc.d/rc3.d ne contient que
des liens symboliques vers les fichiers qui se trouve dans
/etc/rc.d/init.d. Cela évite d'avoir plusieurs exemplaires d'un
même script dans chaque répertoire de démarrage.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Démarrage d'un système UNIX
La commande chkconfig
La commande chkconfig se charge de modifier la hiérarchie démarrant les
services Linux pour activer ou arter un service. Les principales options de
cette commande sont:
--liste: Pour afficher l'état du service,
--del: Pour retirer ce service au démarrage pour tous les niveaux,
--add: Pour ajouter ce service au démarrage (niveau 3, 4 et 5),
--level: Pour indiquer l'action à accomplir - on, off ou reset pour - les
niveaux indiqué.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Démarrage et arrêt d'un système UNIX
Arrêt d'un système UNIX
La commande shutdown passe le système a niveau 0 pour un arrêt définitif.
# shutdown -option heure message
-r: indique qu'il faut remarrer l'ordinateur après l'arrêt (reboot),
-h commande d'arrêter complètement l'ordinateur,
-t Précise le délai d'attente avant d'envoyer le signal d'art aux processus.
-a commande de consulter le fichier /etc/shutdown.allow pour rifier si la
personne qui exécute la commande est autorisé à arrêter l'ordinateur.
-c annule l'arrêt en cours.
# shutdown -r now redémarre immédiatement l'ordinateur.
# shutdown -h +15 arrête l'ordinateur dans 15 min.
# shutdown +10 ''ARRET POUR MAINTENANCE''
bascule l'ordinateur en mode maintenance au bout
de 10 min.
La commande shutdown est complétés par les commandes
halt et reboot.
Université de Corse - IUP NTIC2-1013 – Le système GNU/Linux - 9/11/05
Chapitre 4: Processus de démarrage et connexion au système
Connexion d'un utilisateur au système UNIX
Principe
Le système UNIX est multi-utilisateur: plusieurs personnes peuvent se
connecter simultanément.
Chaque utilisateur doit posséder une identité et des droits: notion
d'identifiant et de groupe d'appartenance.
La notion d'identifiant: chaque utilisateur possède un numéro UID (User
Identification) unique permettant de l'identifier dans le système.
La correspondance entre un nom de login appelé UNAME (User NAME) et le
numéro UID est faite grâce au fichier /etc/passwd.
La notion de groupe d'utilisateurs: chaque utilisateur appartient à un groupe
repéré par un numéro GID (Group IDentification).
Chaque utilisateur appartient à un groupe principale et peut
être membre d'autres groupes.
La liste des membres d'un groupe figure dans le fichier
/etc/group. Ce fichier associe un nom de groupe, également
appelé GNAME (Group NAME), à chaque numéro de GID.
et précise la liste des membres de chaque groupe.
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !