Vous êtes sur la page 1sur 110

Architecture & Administration Systme

SESAME 2012

Rappel et Introduction
Introduction Dfinitions Position dun systme dexploitation dans un systme informatique Historique de linformatique Types de systmes d'exploitation Rappel sur larchitecture des ordinateurs

AAS

Introduction
Un systme informatique moderne consiste en un ou plusieurs processeurs, de la mmoire principale, des disques, des imprimantes, un clavier, un cran, des interfaces rseau et autres priphriques E/S. Systme complexe. crire des programmes qui prennent en compte tous ces composants, les utilisant correctement, de surcrot de faon optimale => tche extrmement difficile. Les ordinateurs sont quips d'une couche logicielle appele systme d'exploitation, dont le rle est de grer tous les priphriques et de fournir aux programmes utilisateur une interface simplifie avec le matriel.

[tan Ed03]
AAS 3

Dfinition
Un systme d'exploitation est un ensemble de programmes qui cooprent la gestion des ressources de la machine (ordinateur). Il doit satisfaire les deux fonctions principales suivantes :

Machine virtuelle simplifie


L'architecture de la plupart des ordinateurs, au niveau du langage machine, est primitive et assez fastidieuse programmer, particulirement en ce qui concerne les entres/sorties. Le programme qui cache le dtail de fonctionnement du matriel et prsente au programmeur une interface simple base de fichiers lire et/ou crire est bien entendu le systme d'exploitation [tan Ed 03].

Gestionnaire de ressources
Le systme d'exploitation doit grer l'ensemble des lments d'un systme fort complexe. Les ordinateurs modernes sont constitus d'un ou plusieurs processeurs, d'une mmoire, de timers, de disques, d'une souris, d'une ou plusieurs interfaces rseau et imprimantes, et le cas chant de divers autres priphriques. Le systme d'exploitation doit grer de manire quitable et optimale l'allocation des processeurs, de la mmoire et des priphriques d'E/S aux diffrents programmes concurrents qui les sollicitent [tan Ed 03].

AAS

Position dun systme dexploitation


La situation du systme d'exploitation dans un systme informatique est montre la figure ci-dessous

AAS

Le plus bas niveau contient les priphriques, circuits intgrs, les cbles, les alimentations et autres. Vient ensuite le niveau micro-architecture. En gnral, ce niveau comprend des registres internes la CPU (Central Processing Unit) et un chemin de donnes contenant une ALU (Arithmetic and Logic Unit). Le rle du chemin de donnes est d'excuter un ensemble d'instructions. Ces instructions peuvent utiliser des registres ou d'autres ressources. Le matriel et les instructions accessibles au programmeur en assembleur constituent le niveau ISA (Instruction Set Architecture). Ce niveau est souvent appel le langage machine [tan Ed03]. Pour masquer cette complexit du bas niveau, on a recours un systme d'exploitation. Il consiste en une couche logicielle qui cache partiellement le matriel et fournit au dveloppeur un jeu d'instructions plus pratique pour son travail. Au dessus du systme d'exploitation, on trouve le reste du logiciel systme. Il comprend l'interprteur de commandes, le systme de fentrage, les compilateurs, et d'autres programmes indpendants des applications. Enfin, on trouve au-dessus des programmes systmes des programmes applicatifs. Ces programmes sont achets ou conus par les utilisateurs pour leurs besoins particuliers, comme le calcul scientifique, le tableur, le traitement de texte, ou la gestion de bases de donnes.

AAS

Sous systmes d'un systme d'exploitation


Le systme sert d'intermdiaire entre l'utilisateur et le matriel. Sa complexit a conduit l'organiser en sous systmes. Les diffrents soussystmes (lis troitement l'organisation du matriel) interagissent entre eux et avec l'utilisateur

AAS

Historique de linformatique
Les premiers ordinateurs 1941 : Cration du calculateur binaire ABC par John Atanasoff et Clifford Berry - premier calculateur utiliser lalgbre de Boole 1941 : Konrad Zuse met au point le Z3, le premier calculateur avec programme enregistr (premier vritable ordinateur) 1945 : John Von Neumann dcrit lEDVAC (Electronic Discrete Variable Automatic Computer) ) architecture Von Neumann 1946 : Cration de lENIAC (Electronic Numerical Integrator and Computer) par P. Eckert et J. Mauchly
AAS 8

Les premiers langages de programmation


1950 : Invention de lassembleur par Maurice V. Wilkes de luniversit de Cambridge. Avant, la programmation seffectuait directement en binaire 1955 : IBM lance lIBM 704 dvelopp par Gene Amdahl, machine sur laquelle sera dvelopp le langage FORTRAN 1957 : Cration du premier langage de programmation universel, le FORTRAN (FORmula TRANslator) par John Backus dIBM 1964 : Thomas Kurtz et John Kemeny crent le langage BASIC (Beginners All-purpose Symbolic Instruction Code) au Dartmouth College pour leurs tudiants 1968 : Cration du langage PASCAL par Niklaus Wirth

AAS

1964 :
Cration du code ASCII (American Standard Code for Information Interchange), normalis en 1966 par lISO

1965 :
Gordon Moore crit la premire loi de Moore disant que la complexit des circuits intgrs doublera tous les ans 1969 : Ken Thompson et Dennis Ritchie mettent au point UNIX sur un Dec PDP 7

1965-1980
Circuits intgrs, disques, bandes OS 360 dIBM temps partage (cpu, lecture de donnes...) multi-taches multi-utilisateurs (Multics, Unix) Mini ordinateurs : DEC PDP 1, 7, 11

1980-1990
VLSI (Very Large Scale Integration), micro-ordinateurs Systmes interactifs, msdos, os mac, unix Rseaux, systmes distribus...

... Plus dinformations sur http://histoire.info.online.fr

AAS

10

Types de systmes d'exploitation Les systmes les plus clbres:


- Les systmes pour mainframes: Les mainframes (ces ordinateurs qui remplissent une pice) se distinguent par leur capacit d'E/S. Ils arrivent grer des milliers de disques durs pour plusieurs traoctets de mmoire. L'accent est mis dans leurs systmes d'exploitation sur la capacit grer de manire optimale plusieurs jobs en mme temps, chacun d'eux demandant de grandes ressources d'E/S. ils offrent typiquement trois types de services : le batch, le transactionnel et le temps partag.
Exemple: OS/390, un descendant d'OS/360 d'IBM.

- Les systmes serveurs: Ils fonctionnent sur des machines

serveurs, qui sont soit de gros micro-ordinateurs, soit des stations de travail, voire des mainframes. Ils servent en parallle de nombreux utilisateurs travers le rseau et permettent ces derniers de partager des ressources matrielles et logicielles. Les fournisseurs d'accs Internet et hbergeurs de sites web utilisent nombre de ces machines pour servir leurs clients.
Exemples: UNIX, et Windows 2003.
AAS 11

- Les systmes multiprocesseurs: Le recours plusieurs CPU


sur une mme plateforme pour augmenter la puissance de calcul est une technique de plus en plus courante. Ils ncessitent des systmes spciaux, le plus souvent des systmes serveurs, amliors au niveau de la connectivit et des communications.
Exemple: OS/390, un descendant d'OS/360 d'IBM.

- Les systmes personnels: Leur rle est de fournir


l'utilisateur une interface conviviale. Ils sont principalement ddis la bureautique.
Exemples: Windows 98, Windows 2000, Mac OS et Linux.

- Les systmes temps rel: Ces systmes se caractrisent par


le respect de contraintes temporelles. Un exemple typique est celui des systmes d'ordinateurs qui contrlent un processus de fabrication dans une usine (comme le montage de vhicule) : dans le cas d'un robot soudeur, une soudure faite trop tt ou trop tard peut compromettre un vhicule.
Exemples: VxWorks, QNX

AAS

12

Les systmes embarqus:


Les systmes embarqus tournent sur des ordinateurs qui pilotent des priphriques qui d'ordinaire ne dpendent pas d'un ordinateur, comme par exemple une tlvision, un four micro-ondes, un PDA (Personal Digital Assistant), ou un tlphone portable Ils ont souvent des caractristiques temps rel avec des ressources limites en terme de mmoire et d'nergie.
Exemple: PalmOS, Nucleus, Linux, Windows CE (Consumer Electronics)

Les systmes pour smart cards:


Les plus petits systmes d'exploitation se trouvent sur les smart cards, des priphriques de la taille d'une carte de crdit contenant une CPU. Ils sont sujet de svres contraintes de mmoire et de puissance de calcul. Certains ne savent remplir qu'une seul tche comme le payement lectronique ou l'authentification. Certaines smart cards reposent sur JAVA, la ROM de la carte contient une machine virtuelle Java (JVM : Java Virtual Machine). Les applets Java sont tlcharges sur la carte et interprtes par la JVM.
AAS 13

Rappel sur larchitecture des ordinateurs


Architecture de von Neumann
Larchitecture de Von Neumann, est un modle pour un ordinateur qui utilise une unique structure de stockage pour conserver la fois les instructions et les donnes requises ou gnres par le calcul. L'architecture de Von Neumann est compose d'une mmoire centrale, d'une unit centrale ou CPU (Central Processing Unit), et de dispositifs d'entres/sorties qui permettent de communiquer avec le monde extrieur.

AAS

14

La machine de von Neumann (EDVAC) ) IAS (Institute for Advanced Studies) est compose de
1. une mmoire principale (MP) qui contient donnes et instructions 2. une unit arithmtique et logique (UAL) capable de fonctionner sur des donnes binaires 3. une unit de contrle (UC) qui interprte les instructions en mmoire et en entrane lexcution 4. un dispositif dentre et de sortie (E, S) pris en charge par lunit de contrle
AAS 15

Architecture de systme dexploitation

AAS

16

Mcanismes de base
Etudes des mcanismes de base utiliss par les systmes d'exploitation pour raliser leurs fonctions fondamentales.
Cheminement d'un programme dans un systme Modle de processus Commutation de contexte Les interruption Les signaux

AAS

17

Cheminement d'un programme dans un systme


Un programme est gnralement crit dans un langage volu (Pascal, C, VB, Java, etc.) Excuter par une machine, on passe gnralement par les tapes suivantes:

AAS

18

Modle de processus
Processus
Un processus est alors une entit dynamique qui nat, qui vit et qui meurt, Le programme est une entit statique qui occupe un espace mmoire ou sur disque

Excution parallle sur architecture monoprocesseur


Excution de plusieurs processus en alternance sur un seul processeur. Le processeur commute entre plusieurs processus La rapidit de commutation donne l'impression l'utilisateur que les processus s'excutent simultanment.

Contexte d'un processus


Son image en un point interruptible. Reprsent dans le systme d'exploitation par une structure regroupant les informations essentielles pour l'excution du processus : Etat, compteur ordinal, ..

Process Control Bloc (PCB)


L'ensemble des processus du systme est reprsent en gnral par une liste chane, dont chaque lment est un bloc de contrle de processus : PCB Le PCB est la structure qui hberge le contexte du processus.

AAS

19

AAS

20

Commutation de contexte:
Permet en une seule opration indivisible de:
Ranger dans un emplacement spcifi de la mmoire, le contenu courant du mot d'tat du processeur (PSW) ; Charger dans le mot d'tat un nouveau contenu prpar l'avance dans un emplacement spcifi de la mmoire.

AAS

21

Appels systme
Limites du mode utilisateur Appel au superviseur (appel systme)

AAS

22

Interruption
Forcer un processeur ragir un vnement L'excution du programme en cours est suspendu et un programme d'interruption est excut L'indicateur d'interruption du PSW est modifi partir de l'extrieur du processeur,

AAS

23

Droutement (Trap)
Si lindicateur de changement d'tat est modifi par une cause lie l'excution d'une instruction en cours Le mcanisme de droutement a pour rle essentiel de traiter une anomalie dans le droulement d'une instruction : /0, dbordement arithmtique, violation mmoire, instruction privilgie en mode esclave, etc.

AAS

24

Les signaux
Un signal est un mcanisme d'interruption logicielle, qui permet de communiquer un processus l'occurrence d'une interruption matrielle, un droutement, ou un ensemble d'vnements systmes ou provoqus par d'autres processus Un processus qui reoit un signal est termin, moins que ce signal soit intercept ou masqu Comme pour les interruptions, on peut mettre en attente certains signaux en les masquant Un signal pendant est un signal en attente d'tre pris en compte Le bit associ dans le registre des signaux pendant est 1 Si un autre signal du mme type arrive, alors qu'il en existe un pendant, il est perdu Si le signal n'est pas masqu, alors sa prise en compte a lieu lorsque le processus passe l'tat actif utilisateur : un processus en mode noyau (matre) ne peut tre interrompu par un signal. La prise en compte d'un signal entrane l'excution d'une fonction spcifique appele handler Dans le PCB du processus, il existe une structure pour assurer la gestion des signaux qui regroupe la mmorisation des signaux en attente, le masquage et les pointeurs vers les handlers.

AAS

25

Type de signaux Unix

AAS

26

Envoi d'un signal : la primitive kill


Des processus ayant le mme propritaire peuvent communiquer par le biais des signaux. La primitive kill permet d'envoyer un signal un processus ou un groupe de processus.
int kill(pid_t pid, int sig);

sig dsigne le signal mis par son nom ou son numro (entier entre 1 et NSIG), et pid dsigne le ou les processus qui recevront le signal:
>0 : Le processus d'identit pid 0 : Tous les processus dans le mme groupe que le processus metteur <-1 : Tous les processus du groupe de numro |pid|

La primitive kill renvoie 0 si le signal a pu tre envoy et -1 en cas d'echec.

Attente d'un signal : la primitive pause


En excutant la primitive pause, un processus peut suspendre son excution pour se mettre en attente de l'arrive d'un signal quelconque.
#include <unistd.h> int pause(void);

AAS

27

Installation de nouveaux handlers

A chaque type de signal est associ un handler par dfaut appel SIG_DFL. Un processus peut ignorer un signal en lui associant le handler SIG_IGN. Autrement, la structure sigaction est utilise par la primitive sigaction qui permet d'installer un handler pour personnaliser le traitement d'un signal.
struct sigaction{ void (*sa_handler)(); /* pointeur sur handler ou SIG_DFL ou SIG_IGN */ sigset_t sa_mask; /* liste signaux supplmentaites bloquer ventuellement*/ int sa_flags; /* indicateurs optionnels */ }

Le champ sa_handler est le seul obligatoire ; c'est un pointeur sur la fonction qui servira de handler. Les indicateurs optionnels sont peu utiliss et dfinissent des comportements spcifiques du handler la reception de certains signaux. La primitive sigaction permet d'installer un nouveau handler pour le traitement d'un signal.
#include <signal.h> int sigaction(int sig, struct sigaction *new_handler, struct sigaction *old_handler);

sig dsigne le signal pour lequel on veut installer un nouveau handler et new_handler pointe sur la structure sigaction utiliser. La prise en compte du signal entranera l'excution de la fonction new_handler->sa_handler. Si de plus, la fonction n'est ni SIG_DFL, ni SIG_IGN, ce signal ainsi que ceux contenus dans la liste new_handler->sa_mask}, seront masqus pendant le traitement. old_handler pointe sur une structure sigaction qui contient les anciennes options du traitement du signal.
AAS 28

Fonctionnalits dun Systme dExploitation


Servir les requtes des processus
Appels systmes: Read, Write, Open,

Traiter les exceptions matrielles dues aux processus


Droutements: Division par 0, Dbordement de pile,

Grer les interruptions matrielles


Interruptions: clavier / souris, rseau,

Fournir un ensemble de services spcifiques


Assurer des tches dentretien du systme
Gestion du swap, des caches, Gestionnaire de pages,

AAS

29

Gestion des entres / sorties Introduction Les units dentres/sorties Types

AAS

30

Introduction Le SE a la tche importante de contrler les priphriques dentres/sorties (E/S)


Fonctions
Emission des commandes vers les priphriques Interception des interruptions Gestion des erreurs

But
Fournir une interface simple entre les priphriques et le systme Interface identique pour tous les priphriques

AAS

31

Les units dentres/sorties Chaque priphrique est connect l'ordinateur par l'intermdiaire d'une carte lectronique spciale appele contrleur de priphrique. Le contrleur est charge de transformer les signaux lectriques (2) "compris" par le priphrique en signaux (1) compris par l'unit centrale ou la mmoire (et vice versa). Un contrleur possde en gnral :
une zone tampon (buffer), des bits de contrle : bit d'tat (prte, occupe), et bit de commande (lecture, criture).

AAS

32

Catgories
Priphriques par bloc : informations stockes par blocs de taille fixe, chacun possdant sa propre adresse (e.g. : disque) Priphriques par caractres : linformation circule sous la forme dun flot de caractres, sans aucune structure de bloc (e.g. : clavier, imprimante, souris)

Parties
Un composant mcanique, le priphrique (e.g. : disque) Un composant electronique, le contrleur de priphrique (e.g. : contrleur IDE)

AAS

33

Communication
Interface entre contrleur et priphrique de trs bas niveau
Le contrleur possde des registres qui permettent la communication avec le processeur:
criture dans ces registres : le SE ordonne au priphrique de dlivrer des donnes, den accepter ou deffectuer une action donne Lecture : le SE peut connatre ltat du priphrique, savoir sil est capable daccepter une nouvelle commande

Certains priphriques sont quips dun tampon de donnes que le SE peut lire ou crire
Pour permettre au processeur de raliser dautres oprations pendant quil attend la ralisation dune E/S, on fait appel aux interruptions
AAS 34

Types Selon le mcanisme matriel utilis pour raliser les entres / sorties on distingue plusieurs types :
Les entres / sorties programmes Les entres / sorties pilotes pas les interruptions Les entres / sorties par DMA Les entres / sorties par canal

AAS

35

Les E/S programmes le travail est ralis par le processeur

AAS

36

Les E/S pilotes par les interruptions


Dans cette mthode, l'excution proprement dite de l'entre sortie est confie aux contrleurs d'E/S. Un moyen d'interruption pour permettre aux contrleurs d'E/S de prvenir le systme d'exploitation quand une E/S tait termine pour que le systme autorise le programme demandeur de l'E/S de poursuivre son excution.

AAS

37

Les E/S avec DMA le DMA fonctionne comme une E/S programme, la diffrence que le contrleur DMA fait le travail la place du processeur principal. Le grand avantage de est de rduire le nombre d'interruptions.

AAS

38

Les fichiers
Dfinitions Type dallocations Oprations sur les fichiers

AAS

39

Dfinitions
Fichier
On dsigne sous le nom de fichier un ensemble d'informations regroupes en vue de leur conservation et de leur utilisation dans un systme informatique. Les fichiers ont une dure de vie suprieure la dure de l'excution d'un programme : leur support permanent est donc la mmoire secondaire

Systme de gestion de fichiers: SGF


Un fichier est un objet qui possde un nom qui permet de le dsigner et il est muni de fonctions d'accs, c'est--dire d'oprations qui permettent de consulter ou de modifier les informations qu'il contient. La partie d'un systme d'exploitation qui assure la conservation des fichiers et ralise les fonctions d'accs est appele systme de gestion de fichiers

Bloc
L'unit d'allocation sur un disque est le bloc, qui est une unit logique qui peut contenir
un nombre variable de secteurs physiques; ce nombre tant fonction de la taille du bloc qui est fix par l'administrateur du systme la cration de la partition.

AAS

40

Types dallocations
Allocation contigu
Elle consiste trouver suffisamment de place sur l'unit de stockage, pour stocker le fichier de manire contigu La premire contrainte de cette technique d'allocation est videmment la connaissance de la taille du fichier au moment de sa cration car il faut lui rserver ds le dpart suffisamment de place. La taille du fichier peut voluer durant son existence. L'espace rserv peut devenir insuffisant ou, au contraire, partiellement inutilis: on parle de fragmentation de l'unit de stockage

AAS

41

Allocation avec une liste chane


Pour viter le problme de fragmentation, cette technique place les blocs du fichier des endroits diffrents sur l'unit de stockage ; ces blocs sont grs l'aide d'une liste chane L'accs un bloc du fichier reste toutefois lent car il faut accder aux diffrents lments de la liste diffrents endroits de l'unit de stockage.

AAS

42

Allocation avec une liste chane indexe


Cette technique d'allocation gre aussi une liste chane de blocs. Pour viter les accs, qui peuvent tre nombreux, aux lments de la liste chane sur l'unit de disque, elle implmente la liste dans une table en mmoire (dite FAT: File Allocation Table). Chaque entre de la table possde un numro du bloc physique ainsi que celui qui le suit dans la liste

AAS

43

Allocation avec des i-noeuds


Les systmes de fichier d'Unix disposent d'une table n entres fixes. Chaque entre est appele i-noeud et est associe un seul fichier. Un i-noeud contient des informations de description du fichier ainsi que 12 adresses physiques des blocs du fichier.
Les 10 premires adresses pointent sur les 10 premiers blocs du fichier. La 11me adresse pointe sur un bloc d'index pouvant contenir 256 adresses de blocs; on a une simple indexation. La 12 me adresse pointe sur un bloc d'index pouvant contenir 256 adresses de blocs, o chaque bloc contient 256 adresses de blocs de donnes; on a une double indexation.

AAS

44

Oprations sur les fichiers


Diffrentes oprations peuvent tre effectues sur un fichier:
Cration d'un fichier; Lecture partir d'un fichier; Ecriture dans un fichier; Rajout de donnes en fin de fichier; Accs direct un endroit d'un fichier; Suppression d'un fichier, etc.

AAS

45

Ouverture de fichiers

AAS

46

Lecture dun fichier

AAS

47

Ecriture dans un fichier

AAS

48

Fermeture d'un fichier

AAS

49

Partie2: Administration Systme

AAS

50

Plan
Introduction Responsabilits Gestion dutilisateurs et planification de tches Arborescence Administration fichiers Gestion de mmoire virtuelle Archives & Logs Modules & Interfaces

AAS

51

Introduction
Trois grandes familles de tches incombent l'administrateur Unix : grer le systme, les services et la scurit.
Surveiller et assurer la bonne marche du systme au quotidien:
surveiller les ressources (disque, mmoire, CPU, etc.) ; planifier l'ajout de ressources.

Administrer les services dploys :


grer les utilisateurs ; installer et configurer les applications ;

planifier les migrations.


Prvoir et grer les incidents et les intrusions (tches transversales): installer les correctifs de scurit ; durcir le systme et les applications ; mettre en oeuvre un plan de sauvegarde ; superviser le systme et les applications.

AAS

52

Gestion dutilisateurs et planification de tches

L'utilisateur root
Pour raliser les tches d'administration, on utilise le compte traditionnellement appel root ( ne pas confondre avec la racine de l'arborescence qui porte le mme nom). De ce point de vue, le systme de gestion des droits la mode Unix est plutt primitif, un utilisateur spcial dispose des droits lui permettant d'accder l'intgralit du systme.

Tous les autres utilisateurs sont soumis au systme de gestion des permissions d'accs. Il est donc assez difficile, sous Unix, de dlguer l'administration d'un sous-systme des utilisateurs.
AAS 53

Gestion dutilisateurs et planification de tches Les attributs qui caractrisent un utilisateur Unix sont :
un nom de connexion (login) ; un mot de passe ; un identifiant numrique unique (UID) ; un groupe primaire (GID) ; un commentaire (appel gecos); le rpertoire principal de l'utilisateur (home directory) ; un interprteur de commandes (shell) par dfaut.

Un utilisateur est identifi par le systme par son UID. L'utilisateur root a pour UID 0. C'est cette caractristique qui lui confre un accs complet au systme. L'ensemble de ces lments est stock dans le fichier /etc/passwd au format texte. Les champs sont spars par le caractre : . Par exemple :
ma:x:500:500:ma:/home/ma:/bin/bash
AAS 54

Gestion dutilisateurs et planification de tches Groupes: Les attributs qui caractrisent un groupe Unix sont :
un nom ; un mot de passe (jamais utilis) ; un identifiant numrique unique (GID) ; une liste d'utilisateurs membres.

La liste des utilisateurs peut tre vide ou contenir un plusieurs nom d'utilisateurs spars par un caractre , . L'ensemble de ces lments est stock dans le fichier /etc/group au format texte. Les champs sont spars par le caractre : . Par exemple :
students:x:100:aa,bb,cc,dd
AAS 55

Gestion dutilisateurs et planification de tches Relations utilisateurs/groupes La commande id permet de lister les informations (UID, GID, groupes) relatives aux utilisateurs.
$ id user1
uid=500(user1) gid=500(user1) groupes=500(jo),499(daltons)

(Voir galement la commande groups.)

AAS

56

Gestion dutilisateurs et planification de tches Conventions


En gnral, la liste des utilisateurs est segmente ainsi :
l'utilisateur dont l'UID est 0 est le root ; les utilisateurs dont l'UID est infrieur une certaine valeur sont des utilisateurs systmes ; les utilisateurs dont l'UID est compris entre cette valeur et 65533 sont des utilisateurs rels, cette plage peut quelquefois tre elle-mme subdivise (par exemple lors de l'utilisation de NIS ouWinbind) ; l'utilisateur dont l'UID est 65534 est nobody ou nfsnobody (pour les systmes qui supportent les UID sur 32 bits, afin de conserver une compatibilit avec les anciens serveurs NFS).

Souvent, chaque utilisateur correspond un groupe :


dont le GID est identique l'UID de l'utilisateur ; dont le nom est le mme que celui de l'utilisateur ; qui est le groupe primaire de l'utilisateur.

Le support des utilisateurs cods sur 32 bits commence arriver dans les distributions rcentes afin de porter le nombre d'utilisateurs possibles de 65535 plus de 4 millions.
AAS 57

Gestion dutilisateurs et planification de tches Mots de passe cachs l'origine d'Unix, les mots de passe taient stocks dans le fichier /etc/passwd (deuxime champs) crypts avec l'algorithme traditionnel crypt. Comme ce fichier doit tre accessible en lecture pour tout les utilisateurs, le stockage des mots de passe t dplac vers le fichier /etc/shadow dont l'accs en lecture est restreint (technique dite des shadow passwords ). L'algorithme d'encodage MD5 est de plus en plus utilis. Par ailleurs des champs supplmentaires ont t ajouts ce fichier afin de permettre la gestion de l'expiration des mots de passe.
ma:c8NuTn3ScFJfA:12460:0:99999:7:::

Le champs du fichier /etc/passwd destin contenir le mot de passe, est gnralement positionn la valeur x .

AAS

58

Gestion dutilisateurs et planification de tches


Gestion des utilisateurs et groupes Crer un utilisateur consiste raliser plusieurs tapes :
crer l'utilisateur et ventuellement son groupe primaire dans les fichiers passwd, shadow et group ; crer le rpertoire principal de cet utilisateur (gnralement dans /home) et lui affecter les bons droits d'accs ; associer des quotas l'utilisateur si ncessaire ; copier un certain nombre de fichiers standards depuis le rpertoire /etc/skel vers le rpertoire principal de l'utilisateur et leur affecter les bonnes permissions.

Ces oprations peuvent tre ralises :


la main (avec vi, mkdir, cp, chown, chfn, chsh, etc.), peu recommand ; en ligne de commande avec principalement l'outil adduser ; l'aide d'outils graphiques tels queWebmin ou le gestionnaires d'utilisateurs de RedHat.

Le principe reste le mme pour la modification et la suppression des utilisateurs ou la gestion des groupes d'utilisateurs.
AAS 59

Gestion dutilisateurs et planification de tches


Le planificateur de tches cron Le planificateur de tche cron permet chaque utilisateur de configurer l'excution priodique de commandes via l'utilisation de la commande crontab. L'utilisateur root dispose galement de cette possibilit. Cependant, pour installer l'excution priodique de tches relatives la gestion du systme, on prfrera l'utilisation des rpertoires suivants :
/etc/cron.hourly pour une excution toutes les heures ; /etc/cron.daily pour une excution tous les jours ; /etc/cron.weekly pour une excution hebdomadaire ; /etc/cron.monthly pour une excution mensuelle ; et /etc/cron.d qui permet d'affiner plus prcisment la planification.

L'utilisation des quatre premiers rpertoires est simple : il suffit d'y copier un fichier excutable (ou de crer un lien) afin d'en activer l'excution priodique.
AAS 60

Gestion dutilisateurs et planification de tches

Le planificateur de tches cron


L'utilisation du rpertoire /etc/cron.d est plus particulire. Les fichiers contenus dans ce rpertoires sont des fichiers texte qui adoptent un format quasi-identique celui des fichiers manipuls par la commande crontab. La seule information ajoute est l'utilisateur qui sera utilis pour excuter la commande. Par exemple :
MAILTO=root #mn hr day month dow user command 0 4 * * * postgres /usr/lib/postgresql/bin/do.maintenance a

Le fichier /etc/crontab contrle les jours et heures d'excution des commandes prsentes dans les rpertoires /etc/cron.* (except /etc/cron.d). Les planifications cres par les utilisateurs sont stockes raison d'un fichier pour chaque utilisateur dans le rpertoire /var/spool/cron.
AAS 61

Arborescence
La disposition des fichiers dans l'arborescence des systmes Unix n'est, en gnral, pas d'une comprhension vidente de prime abord. Il est cependant indispensable de connatre les rgles qui prsident la distribution des fichiers et rpertoires dans le systme des fichiers afin de :
dterminer un plan de sauvegarde ; grer la scurit ; agir efficacement lors de la rsolution des problmes ; installer des logiciels non disponibles sous formes de paquetage ; etc.

Un document, le FHS (Filesystem Hierarchy Standard disponible sur cette page :http://www.pathname.com/fhs/), a pour ambition de proposer la normalisation de l'organisation de systme de fichiers pour les systmes Unix. La plupart des distributions Linux s'y conforme mme s'il reste beaucoup de diffrences dans les dtails d'implmentation.
AAS 62

Arborescence
La racine de l'arborescence Linux contient ces rpertoires : bin: programmes utilisateur essentiels (ncessaires au dmarrage du systme) boot: fichiers ncessaires au chargement de Linux (bootloader, initrd, noyau) dev: fichiers spciaux offrant l'accs aux priphriques etc: configuration du systme et des services home: rpertoires principaux des utilisateurs initrd: rpertoire utilis pour construire l'image disque en RAM du noyau lib: librairies partages essentielles (ncessaires au dmarrage du systme) mnt: contient des points de montage temporaires (cdrom, floppy, etc.) opt: applications tierces proc et sys: systmes de fichiers virtuels permettant d'accder aux structures internes du noyau (sys est nouveau depuis la version 2.6 de Linux) root: rpertoire principal de l'utilisateur root sbin: excutables systme essentiels (ncessaires au dmarrage du systme) tmp: rpertoire pour le stockage de fichiers temporaires usr: arborescence contenant la plupart des fichiers des applications var: donnes vivantes du systme et des applications

AAS

63

Arborescence
/etc et /lib
/etc fichiers et rpertoires de configuration du systme et des applications /etc/X11 configuration du systme X11 /etc/rc* rpertoires et scripts utiliss lors du dmarrage du systme /etc/pam.d configuration, par service, des Pluggable Authentication Modules Lorsqu'une application utilise plusieurs fichiers de configuration, un sous rpertoire de /etc lui est gnralement ddi. Par exemple : /etc/httpd fichiers de configuration du serveurWeb Apache /etc/mail fichiers de configuration du systme de messagerie Sendmail /etc/ssh fichiers de configuration et cls asymtriques d'OpenSSH /lib librairies partages essentielles /lib/modules modules du noyau /lib/security librairies PAM (Pluggable Authentication Modules) /lib/iptables greffons iptables /lib/kbd codages clavier et polices de la console

AAS

64

Arborescence
/usr
/usr/bin la plupart des programmes utilisateur /usr/games jeux et autres facties /usr/include en-ttes standards pour le dveloppement /usr/lib librairies (.so pour Shared Objects) et autres ressources partages /usr/libexec binaires excutables appels par d'autres programmes /usr/local programmes installs la main (i.e. sans paquetage) /usr/sbin excutables systme /usr/share ressources partages indpendantes de la plate-forme (pages de manuel, documentation, fichiers de donnes, etc.) /usr/src sources du systme (noyau, paquetages, etc.)

Fichiers de la distribution X Window System, Version 11 Release 6 : /usr/X11R6/bin excutables /usr/X11R6/include en-ttes pour le dveloppement en C /usr/X11R6/lib librairies et autres ressources partages /usr/X11R6/man pages de manuel /usr/X11R6/share ressources partages indpendantes de la plate-forme
AAS 65

Arborescence
/var
/var/account journaux de comptabilit des ressources utilises par les processus /var/cache donnes caches par les applications /var/lib donnes vivantes et persistantes des applications /var/lib/rpm base de donnes des paquetages installs /var/lock fichiers verrous /var/lock/subsys contient un fichier pour chaque service actif /var/log journaux du systme et des applications /var/run donnes vivantes, non-persistantes des applications /var/spool donnes en attente d'un traitement /var/spool/mail botes aux lettres des utilisateurs /var/spool/cron tches planifies par les utilisateurs /var/spool/lpd files pour le systme d'impression /var/spool/mqueue messages en attente de traitement par le MTA /var/tmp fichiers temporaires prservs entre deux dmarrages /var/www racine du serveurWeb
AAS 66

Paquetages
Un paquetage contient :
les fichiers (excutables, librairies, fichiers de configuration, ressources, etc.) ncessaires pour excuter un programme ; un ensemble de scripts qui configurent le programme automatiquement aprs son installation ; les informations sur le propritaire et permissions d'accs de chaque fichier ; des informations optionnelles sur les paquetages dpendants et les services fournis ; une description du paquetage.

L'ensemble des informations de tous les paquetages installs sont stocks dans une base de donnes gre par l'utilitaire rpm (Redhat Package Management) pour les distributions bases sur RedHat et les outils dpkg et apt pour la distribution Debian.
AAS 67

Paquetages
Rpm Le nom d'un fichier de paquetage est constitu du nom du paquetage, du numro de version du logiciel et du numro de version du paquetage spars par des caractres - . Par exemple : openssl-0.9.7a-35.rpm Exemples d'utilisation de rpm :
installation d'un paquetage : rpm -i fichier.rpm mise--jour d'un paquetage : rpm -U fichier.rpm suppression d'un paquetage : rpm -e paquetage vrification d'un paquetage : rpm -V paquetage interrogation sur les paquetages installs :
liste des fichiers d'un paquetage : rpm -ql paquetage paquetage contenant un fichier : rpm -qf /chemin/vers/fichier informations sur un paquetage : rpm -qi paquetage liste trie de tous les paquetage installs : rpm -qa |sort

interrogation sur un fichier de paquetage :


liste des fichiers : rpm -qpl fichier.rpm informations : rpm -qpi fichier.rpm
AAS 68

Paquetages Gestion des signatures GPG rpm supporte dsormais la signature des paquetages. Cette technique permet de garantir qu'un paquet n'a pas subi de modification et que la personne qui l'a construit est bien celle qu'elle prtend tre. Il faut pour cela importer les cls publiques GPG des personnes ou organisations qui ralisent les paquetages devant tre installs avec l'option --import de rpm. L'option --checksig permet de vrifier la signature d'un paquetage avant de l'installer. La cl publique de la distribution RedHat est disponible sur les CD-ROM, dans le fichier RPM-GPG-KEY (ou RPM-GPG-KEY-fedora en ce qui concerne la Fedora). Exemple :
# rpm --checksig webmin-1.150-1.noarch.rpm webmin-1.150-1.noarch.rpm: md5 (GPG) PAS OK (CLES MANQUANTES: GPG#11f63c51) # wget http://www.webmin.com/jcameron-key.asc .../... # rpm --import jcameron-key.asc # rpm --checksig webmin-1.150-1.noarch.rpm webmin-1.150-1.noarch.rpm: md5 gpg OK
AAS 69

Paquetages Gestion des signatures GPG


Pour lister les cls installes :
# rpm -qa gpg-pubkey* gpg-pubkey-11f63c51-3c7dc11d

Pour avoir plus d'informations sur une cl particulire :


# rpm -qi gpg-pubkey-11f63c51-3c7dc11d Name : gpg-pubkey Relocations: (not relocatable) Version : 4f2a6fd2 Vendor: (none) Release : 3f9d9d3b Build Date: ven 23 jui... Install Date: ven 23 jui... Build Host: localhost Group : Public Keys Source RPM: (none) Size : 0 License: pubkey Signature : (none) Summary : gpg(Fedora Project <fedora@redhat.com>) Description : -----BEGIN PGP PUBLIC KEY BLOCK----.../... -----END PGP PUBLIC KEY BLOCK-----

Pour supprimer une cl :


# rpm -e gpg-pubkey-11f63c51-3c7dc11d
AAS 70

Paquetages dpkg Gestion des paquetages Debian Le nom d'un fichier de paquetage est constitu :
du nom du paquetage suivi ; du numro de version du logiciel et du numro de version du paquetage ; de l'architecture cible ; de l'extension .deb.

Par exemple : openssl_0.9.7e-3sarge1_i386.deb Exemples d'utilisation de dpkg :


installation d'un paquetage : dpkg -i fichier.deb suppression d'un paquetage : dpkg -P paquetage liste des paquetages installs : dpkg -l afficher des informations sur un paquetage : dpkg -I fichier.deb afficher la liste des fichiers installs par un paquetage : dpkg -L paquetage

AAS

71

Paquetages
apt Dpts de logiciels
Un dpt Debian est un ensemble organis et index de paquetages Debian et que l'infrastructure apt (Advanced Packaging Tool) de gestion des paquetages Debian sait utiliser pour installer des applications. Un dpt Debian peut tre stock sur diffrents supports :
CD-ROM ; DVD-ROM ; un rpertoire sur un systme de fichiers ; un emplacement sur le rseau accessible en HTTP ou FTP ; etc.

Il existe plusieurs types de dpts Debian :


les dpts officiels de la distribution ; le dpt officiel contenant les correctifs de scurit ; le dpt volatile ; des dpts Debian non officiels.

Afin qu'apt puisse utiliser un dpt il faut : 1) inscrire ce dpt dans le fichier /etc/apt/sources.list ; 2) crer un catalogue des paquetages disponibles dans ce dpt.
AAS 72

Administration de fichiers Un systme de fichiers est une collection organises de rpertoires et fichiers selon un format donn. Linux reconnat en lecture et en criture plusieurs dizaines de format de systmes de fichiers. Selon le type de systme de fichiers, le support servant la persistance des donnes peu prendre l'une des formes suivantes (les exemples donns entre parenthses ne sont pas exhaustifs) :
partition sur un priphrique gr par un contrleur de disque local (disque, contrleur RAID matriel) ; priphrique amovible (disquette, CD-ROM) ; ressource mise disposition sur le rseau (tel que serveurs NFS ou SMB) ; mmoire vive (utilise par le systme de fichiers tmpfs) ; espace virtuel (ce qui est le cas de systmes de fichiers tels que proc, sysfs, usbdevfs ou devpts) ; priphrique de type bloc mul (par exemple fournis par ramdisk, loop, NBD, LVM, RAID logiciel).
AAS 73

Administration de fichiers Crer un systme de fichiers


Pour crer un nouveau systme de fichiers et l'attacher de manire permanente l'arborescence, il est ncessaire de : 1) configurer un priphrique de type bloc ; 2) crer le systme de fichiers avec la commande mkfs ; 3) choisir un point de montage dans l'arborescence ; 4) attacher le systme de fichiers au point de montage avec la commande mount ; 5) ajouter une ligne au fichier /etc/fstab afin que le systme de fichiers soit attach au point de montage chaque dmarrage du systme. Les actions mener pour raliser la premire tape dpendent du type de support utilis pour recevoir le systme de fichiers. La plupart du temps il s'agit d'une partition sur un disque local qui sera cre avec la commande fdisk. Les partitions Linux ont un identifiant systme 0x83. C'est l'identifiant qui est positionn par dfaut lorsqu'une partition est cre avec la commande fdisk de Linux.
AAS 74

Administration de fichiers Crer un systme de fichiers


Exemple de cration d'une partition (hda9) et d'un systme de fichiers :
# fdisk /dev/hda [ Utiliser la commande "l" pour afficher la table des partitions, "n" pour crer une partition et "w" pour crire les modifications sur le disque. Un redmarrage peut s'avrer ncessaire. ] # mkfs -t ext3 /dev/hda9 .../... # mount -t ext3 /dev/hda9 /opt # echo /dev/hda9 /opt ext3 defaults 1 2 >> /etc/fstab

Exemple de cration d'un systme de fichiers dans un fichier image :


# dd if=/dev/zero of=/var/local/myfs bs=1024 count=102400 .../... # mkfs -t ext3 /var/local/myfs [ Une confirmation est demande car "/var/local/myfs" n'est pas un fichier spcial de type bloc. ] .../... # mkdir /mnt/tmp # mount -o loop -t ext3 /var/local/myfs /mnt/tmp # echo /dev/hda9 /opt ext3 loop 1 2 >> /etc/fstab
AAS 75

Administration de fichiers Rparer un systme de fichiers


La commande fsck permet de vrifier l'intgrit d'un systme de fichiers et, le cas chant, d'effectuer une tentative de rparation. Le systme de fichier ne doit pas tre monter. Pour cette raison ces tests sont souvent effectus en runlevel 1 (single) :
# init 1

# umount /usr # fsck -t ext3 -f /dev/hda7 # mount /usr # init 5 Un autre moyen consiste forcer la vrification de l'intgrit de tous les systmes de fichiers locaux au dmarrage du systme. Pour cela, il suffit de crer un fichier vide nomm forcefsck dans la racine de l'arborescence : # touch /forcefsck # init 6
Les blocs de donnes orphelins retrouvs lors de la rparation de systmes de fichiers ext2 ou ext3 sont placs dans les rpertoire lost+found prsents dans la racine de chaque systme de fichiers ext2 ou ext3.
AAS 76

Administration de fichiers
Monter un systme de fichiers rseau Exemple d'un partage de fichiers Windows nomm archives sur un serveur serveur d'un domaine WG avec l'utilisateur utilisateur et le mot de passe mot_de_passe . Ce partage est attach au point de montage /mnt/archives:
# mkdir /mnt/archives # touch /etc/passwd.smb # chmod 600 /etc/passwd.smb # vi /etc/passwd.smb [ Ajouter les lignes suivantes au fichier : username = utilisateur password = mot_de_passe Puis enregistrer. ] # mount -t smb -o workgroup=WG,credentials=/etc/passwd.smb \ //serveur/archives /mnt/archives # echo //serveur/archives /mnt/archives smb \ workgroup=WG,credentials=/etc/passwd.smb 0 0 >> /etc/fstab
AAS 77

Mmoire virtuelle Grer la mmoire virtuelle Linux sait utiliser deux types de support pour grer la mmoire virtuelle :
des partitions ; des fichiers.

Les fichiers de mmoire virtuelle sont moins performants. En gnral une partition est utilise. Si le systme contient deux disques ou plus, crer une partition ddie la mmoire virtuelle sur chacun d'entre eux peut amliorer les performances. Ces partitions doivent avoir un identifiant systme 0x82, il est ncessaire d'utiliser la commande t de l'outil fdisk de Linux pour modifier l'identifiant d'une nouvelle partition.
AAS 78

Mmoire virtuelle Crer un espace de mmoire virtuelle


Pour configurer un nouvel espace de mmoire virtuelle et l'activer de manire permanente, il est ncessaire de :
1) crer une partition ou un fichier vide ; 2) crer une signature de mmoire virtuelle avec la commande mkswap ; 3) utiliser la commande swapon pour activer l'espace de mmoire virtuelle ; 5) ajouter une ligne au fichier /etc/fstab afin que l'espace de mmoire virtuelle soit active chaque dmarrage du systme.

Voici un exemple pour ajouter un fichier de 100 Mo la mmoire virtuelle :


# dd if=/dev/zero of=/swapfile bs=1024 count=102400 .../... # mkswap /swapfile Initialisation de la version de l'espace de swap 1, taille = 104853 kB # swapon /swapfile # echo /swapfile swap swap defaults 0 0 >> /etc/fstab # swapon -s Filename Type Size Used Priority /dev/hda3 partition 524152 0 -1 /swapfile file 102392 0 -2
AAS 79

Archives Gestion darchives


tar (pour Tape ARchiver) est une commande Unix qui permet de grer des archives d'ensemble de fichiers et/ou de rpertoires. Son utilisation premire tait la manipulation de ces archives sur une cassette. La commande tar est dsormais trs utilise pour crer des fichiers d'archives vhiculs ensuite sur le rseau (comme une archive zip). L'option c de tar est utilise pour crer une archive. L'option f permet de spcifier la destination (fichier ou priphrique). Les exemples suivants crent tous deux une archive du rpertoire /home, l'une dans un fichier, l'autre sur un lecteur de bande SCSI (DAT, DLT, etc.) :
# cd /; tar cf /mnt/backups/backup-home.tar home # cd /; tar cf /dev/st0 home

Certaines versions de tar enregistrent le chemin absolu des fichiers archivs si celui-ci est indiqu. Attention lors de la restauration ! En gnral, on considre qu'il est sage d'archiver un rpertoire en prcisant son nom depuis son parent (chemin relatif).
AAS 80

Archives Compression darchives La commande tar ne compresse pas les donnes. Il faut pour cela utiliser la commande compress :
# cd /; tar cf /mnt/backups/backup-home.tar home # compress /mnt/backups/backup-home.tar

La commande compress remplace les fichiers donns sur sa ligne de commande par des versions compresses de ceuxci. L'extension .Z est ajoute leur nom. Une autre manire de faire consiste utiliser un tube :
# cd /; tar cf - home | compress > /mnt/backups/backup home.tar.Z
(Le caractre - reprsente ici la sortie standard.)

Enfin, si la version de tar utilise est celle du projet GNU, l'option Z permet de simplifier la ligne de commande :
# cd /; tar cZf /mnt/backups/backup-home.tar.gz home
AAS 81

Archives compress, gzip et bzip2


La commande compress est ancienne et gnralement utilise par soucis de comptabilit. D'autres outils de compression tendent se gnraliser. Le tableau suivant rcapitule les caractristiques des trois outils de compression les plus rpandus dans le monde Unix :
Compressio Dcompress Efficacit n ion Compress Gzip bzip2 uncompress gunzip bunzip2 Moyenne Bonne Excelente Vitesse Moyenne Moyenne Lente Extension gnre .Z .gz .bz2 Options GNU tar Z z j

AAS

82

Archives
L'option t de la commande tar permet de lister le contenu d'une archive. L'option v permet d'accrotre le niveau de dtails affichs. Par exemple:
# tar tvzf /mnt/backups/backup-home.tar.gz .../...

Enfin, l'option x permet d'extraire le contenu d'une archive. Sans autre prcision, le contenu de l'archive est restaur dans le rpertoire courant si un chemin relatif a t utilis lors de la cration de l'archive ou dans le rpertoire original si c'est un chemin absolu qui a t utilis. Par exemple:
# mkdir /home/tmp-restauration # cd /home/tmp-restauration # tar xzf /mnt/backups/backup-home.tar.gz
AAS 83

Logs
Collecte des journaux de messages (logs) Le mcanisme Unix traditionnel pour la collecte des messages gnrs par le systme ou les applications est Syslog. syslogd et klogd sont les programmes (dmons) utiliss pour cela. syslogd se charge de la collecte et rpartition des messages, klogd n'a pour tche que de passer les messages du noyau syslogd. Il est possible de rediriger ces messages selon leur origine et/ou leur niveau vers des fichiers, la console, etc. voire vers le Syslog d'une autre machine. Le fichier de configuration de syslogd est /etc/syslog.conf. Par dfaut, la quasi totalit des messages sont dirigs vers un ensemble de fichier situs dans le rpertoire /var/log.
AAS 84

Logs
syslog.conf
Une ligne du fichier /etc/syslog.conf est de la forme :
facility.priority[,facility.priority,...] action

Les sources des messages sont appeles facilits . En voici la liste : auth message concernant la scurit ou l'authentification authpriv comme auth mais susceptible de contenir des informations prives cron messages gnrs par les planificateurs de tches cron ou at daemon un des dmons du systme sans classification particulire kern messages du noyau lpr messages du sous-systme d'impression mail messages du sous-systme de messagerie mark marqueurs de temps gnrs par Syslog news messages du sous-systme de gestion USENET syslog messages internes de Syslog user messages utilisateur gnriques uucp messages du sous-systme UUCP local0 local7 facilits utilises la discrtion de l'administrateur local
AAS 85

Logs
syslog.conf
Les niveaux de priorits (par ordre de gravit) sont :
debug messages destins au dbuggage info informations notice normal mais significatif warning avertissement err conditions d'erreur crit conditions critiques alert action grer immdiatement emerg systme inutilisable

Une priorit reprsente galement toutes les priorits qui lui sont suprieures except si elle est prcde du signe = (dans ce cas, elle ne reprsente qu'elle-mme). La priorit none indique de ne pas tenir compte du message pour la facilit concerne tandis que * reprsente tous les niveaux. Le caractre ! utilis devant la priorit indique de ne pas en tenir compte.
AAS 86

Logs Exemple comment de syslog.conf

AAS

87

Dmarrage du systme

AAS

88

Dmarrage du systme Runlevels

AAS

89

Dmarrage du systme Dmarrage le processus complet

AAS

90

Dmarrage du systme Activer/dsactiver des services au dmarrage

AAS

91

Modules
Certaines fonctionnalits du noyau Linux peuvent tre compiles indpendamment de celui-ci. Elles sont compiles sous forme de module. L'utilisation des modules tend se gnraliser. Avantages :
rduction de la taille du noyau ; configuration dynamique du matriel ; possibilit d'ajout de certaines fonctionnalits sans recompiler le noyau ; des pilotes de priphriques peuvent tre livrs sous forme de binaires.

Inconvnients :
complexit accrue.

Les modules se prsentent sous forme de fichiers binaires et sont installs dans le rpertoire /lib/modules/version_du_noyau.

AAS

92

Modules
Modules du noyau
Un ensemble de commandes permettent de manipuler les modules. Pour afficher la liste de ceux qui sont actuellement chargs par le noyau :
# lsmod Module Size Used by par port_pc 19392 1 lp 8236 0
par port 29640 2 parport_pc,lp autofs4 10624 0 sunrpc 101064 1 8139too 17792 0

.../...
Supprimer un module charg :
# rmmod module

Charger un module :
# insmod /chemin/module.o [symbole=valeur ...]
AAS 93

Modules
Un module peut dpendre d'un ou plusieurs autres modules. Afin de charger un module et tous ceux qui lui sont ncessaires, on utilise la commande modprobe la place de insmod. Un autre intrt de modprobe est qu'il n'est pas ncessaire de lui donner le chemin complet d'accs au fichier du module. Afin d'viter de spcifier chaque fois les paramtres des modules, ceux-ci sont stocks dans le fichier /etc/modules.conf (ou /etc/modprobe.conf pour les noyaux 2.6). Si une fonctionnalit lui manque, le noyau Linux va essayer de combler cette lacune en recherchant un module adquat. Il utilisera pour cela le contenu des fichiers modules.conf ou modprobe.conf. Par exemple, une ligne de ce fichier est gnralement destine configurer la carte rseau:
alias eth0 eepro100

Ainsi, si aucune carte rseau n'est reconnue par le noyau, la commande :


# ifconfig eth0 192.168.2.1 va provoquer la recherche d'un module eth0 qui est un alias vers le nom du module rellement utilis (eepro100.o).
AAS 94

Interfaces
L'lment de base de la configuration de rseau Linux est l'interface. Un systme Linux en possde gnralement plusieurs. Elles sont nommes en fonction de leur type et numrotes dans l'ordre d'activation des pilotes de priphriques et selon leur position sur le bus physique de donnes. Les types d'interfaces les plus reprsents sont :
lo interface dite de loopback ; ethn interfaces Ethernet ; pppn liens PPP.

L'interface lo est toujours associe l'adresse IP 127.0.0.1, la procdure d'installation du systme se charge de raliser cette association. Les interfaces de type Ethernet sont configures galement par la procdure d'installation si elles ont t dtectes.
AAS 95

Interfaces
Les pilotes de priphriques sont trs souvent disponibles sous forme de modules du noyau. Ces modules peuvent tre activs de deux manires diffrentes :
le noyau charge le module de manire automatique lorsqu'une commande

ifconfig fait rfrence une interface qui n'est pas connue, un alias doit exister dans le fichier /etc/modules.conf :
alias eth0 3c59x un script charge explicitement le module lors du dmarrage du systme.

Si la procdure d'installation du systme dtecte une carte rseau, elle configure un alias automatiquement. Les paramtres sont spcifis dans le fichier modules.conf de cette manire :
alias eth0 ne options ne io=0x220 irq=11 alias eth1 e1000 options e1000 Speed=1000 RxDescriptors=128
AAS 96

Interfaces
La commande ifconfig
La commande ifconfig est utilise pour activer et configurer les interfaces. L'option -a permet d'afficher la liste dtaille des interfaces rseau du systme :
# ifconfig -a eth0

lo

Lien encap:Ethernet HWaddr 00:20:ED:36:3C:EE inet adr:192.168.200.200 Bcast:192.168.200.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:15356 errors:0 dropped:0 overruns:0 frame:0 TX packets:12392 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:100 RX bytes:1745320 (1.6 Mb) TX bytes:4365502 (4.1 Mb) Interruption:10 Adresse de base:0x5f00 Lien encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:929804 errors:0 dropped:0 overruns:0 frame:0 TX packets:929804 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:65622189 (62.5 Mb) TX bytes:65622189 (62.5 Mb)
AAS 97

Interfaces
Les interfaces sont actives ou dsactives comme ceci :
# ifconfig eth0 up # ifconfig eth0 down

Enfin, l'association d'une configuration IP une interface se ralise ainsi :


# ifconfig eth1 192.168.200.1 netmask 255.255.255.0 broadcast 192.168.200.255

Les paramtres netmask et broadcast sont optionnels. S'ils ne sont pas fournis, la valeur du premier est dduite partir de la classe du rseau configur (A, B ou C), le second prend la plus grande valeur dans l'espace d'adresses IP dfini par l'adresse de l'interface et le masque de rseau. Pour configurer plusieurs adresses IP sur une seule interface physique, il suffit de crer des alias en utilisant la notation ethn:a avec la commande ifconfig. Par exemple :
# ifconfig eth0:0 192.168.201.10

AAS

98

Interfaces Les fichiers standards Il existe un ensemble de fichiers standards qui dcrivent la configuration de la couche IP du systme :
/etc/protocols protocoles IP ; /etc/services services TCP et UDP ; /etc/rpc services RPC (portmap) ; /etc/hosts noms statiques des systmes ; /etc/networks noms statiques des rseaux.

Ces fichiers agissent comme des bases de donnes. Les trois premiers sont rarement modifis, leur contenu est normalis dans sa grande majorit. Les deux derniers sont peu utiliss sur les rseaux qui oprent un serveur de noms (DNS).
AAS 99

Interfaces Fichiers de configuration des interfaces Redhat Les fichiers de configuration des interfaces rseau des distributions Redhat et assimiles (Fedora, CentOS, RHEL, etc.) forment un ensemble assez complexe. Le fichier suivant contient les paramtres gnraux :
/etc/sysconfig/network NETWORKING=yes HOSTNAME=jo.luke.net GATEWAY=192.168.200.1

Pour la configuration de l'interface iface du profile profile, les fichiers suivants sont recherchs, le premier trouv est pris en compte:
/etc/sysconfig/networking/profiles/profile/ifcfg-iface /etc/sysconfig/networking/default/ifcfg-iface /etc/sysconfig/network-scripts/ifcfg-iface DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.200.255 IPADDR=192.168.200.200 NETMASK=255.255.255.0 NETWORK=192.168.200.0 ONBOOT=yes

AAS

100

Interfaces
Fichiers de configuration des interfaces Redhat Seul le fichier /etc/sysconfig/network-scripts/ifcfgeth0 est cr durant la procdure d'installation du systme. Les fichier dans l'arborescence etc/sysconfig/networking ne sont crs que lorsque l'utilitaire redhat-config-network a t utilis. Le format de ces fichiers (et de tous ceux qui se trouvent dans le rpertoire /etc/sysconfig) est dtaill dans ce document :
/usr/share/doc/initscripts-7.14/sysconfig.txt

(Le numro de version du paquetage initscripts peut diffrer d'un systme l'autre.)
AAS 101

Interfaces
Fichiers de configuration des interfaces Debian Cot Debian, les choses sont plus simples. Le fichier suivant contient les paramtres gnraux :
/etc/network/options ip_forward=no spoofprotect=yes syncookies=no

Et celui-ci contient la configuration de toutes les interfaces :


/etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.200.1 netmask 255.255.255.0 gateway 192.168.200.254
AAS 102

Interfaces Les commandes ifup et ifdown Pour Redhat comme pour Debian :
la commande ifup active ou ractualise la configuration d'une interface rseau ; la commande ifdown dsactive une interface rseau.

Elles s'utilisent ainsi :


# ifup eth0 # ifdown eth0

Dans le cas de Debian, l'option -a permet de configurer toutes les interfaces rseau dfinies dans le fichier /etc/network/interfaces avec la directive auto.
AAS 103

Interfaces
Routes statiques La gestion des routes se fait avec la commande route. Pour afficher la table de routage statique, il est possible d'utiliser l'une de ces deux commandes :
# route Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface 192.168.200.0 * 255.255.255.0 U 0 0 0 eth0 default lucky.luke.net 0.0.0.0 UG 0 0 0 eth0 # netstat -r Table de routage IP du noyau Destination Passerelle Genmask Indic MSS Fentre irtt Iface 192.168.200.0 * 255.255.255.0 U 0 0 0 eth0 default lucky.luke.net 0.0.0.0 UG 0 0 0 eth0

Les adresses IP ne seront pas rsolues si l'option -n (commune aux deux commandes) est utilise.
AAS 104

Interfaces Routes statiques Trois cas sont considrer pour l'ajout de route :
ajout d'une route vers une machine isole :
# route add -host 10.20.30.1 gw 192.168.200.2

ajout d'une route vers un rseau :


# route add -net 10.20.30.0 netmask 255.255.0.0 dev eth0

ajout de la route par dfaut :


# route add default gw gw.reseau.fr

La cible d'une route peut tre une passerelle (gw) ou une interface (dev). Dans le premier cas, l'adresse IP ou le nom de la passerelle peuvent tre utiliss. Voici comment supprimer une route :
# route del -net 10.20.30.0 netmask 255.255.0.0
AAS 105

Interfaces
Fichiers de configuration des routes Redhat Lorsque le programme redhat-config-network est utilise, les routes statiques sont crites dans le fichier :
/etc/sysconfig/networking/devices/eth0.route GATEWAY0=192.168.200.50 NETMASK0=255.255.255.0 ADDRESS0=192.168.201.0 GATEWAY1=192.168.200.201 NETMASK1=255.255.255.255 ADDRESS1=192.168.202.1

Dans le cas contraire, il faut utiliser le fichier :


/etc/sysconfig/network-scripts/route-eth0 192.168.201.0/24 via 192.168.200.50 192.168.202.1/32 dev eth0

Attention, le format de ces fichiers diffre, les deux exemples prsents ci-dessus sont quivalents. (Le format utilis dans le second cas est celui de la commande ip route .)
AAS 106

Interfaces
Fichiers de configuration des routes Debian Sous Debian les routes statiques doivent tre configures la main dans le fichier /etc/network/interfaces :
auto lo iface lo inet loopback auto eth0 iface eth0 inet static
address 192.168.200.1 netmask 255.255.255.0 gateway 192.168.200.254 up route add -net 192.168.201.0 netmask 255.255.255.0 gw 192.168.200.50 up route add -host 192.168.202.1 dev eth0 down route del -net 192.168.201.0 netmask 255.255.255.0 down route del -host 192.168.202.1

AAS

107

Interfaces
Rsolution des noms
La rsolution des noms est ralise via diffrents mcanismes qui sont lists dans les fichiers suivants :
/etc/host.conf
order hosts,bind

/etc/nsswitch.conf
passwd: files shadow: files group: files hosts: files dns bootparams: nisplus [NOTFOUND=return] files ethers: files netmasks: files networks: files protocols: files rpc: files services: files netgroup: files publickey: nisplus automount: files aliases: files nisplus

AAS

108

Interfaces
Rsolution des noms Le fichier de configuration pour la rsolution des noms via DNS utilise le fichier
/etc/resolv.conf :
search luke.net nameserver 192.168.200.1 nameserver 192.168.200.10

Le paramtre search indique les domaines qui seront utiliss comme suffixes de recherche. Chacun des paramtres nameserver spcifie un serveur de noms DNS. Le fichier /etc/hosts contient des dfinitions de noms statiques :
127.0.0.1 localhost.localdomain localhost 192.168.200.201 jack.luke.net jack 192.168.200.1 gw
AAS 109

AAS

110

Vous aimerez peut-être aussi