MP2L
Cours GNU/Linux
Chapitre 1 :
Caract ristiques g n rales du syst me GNU/Linux
et des diff rentes distributions
Yahya SLIMANI/Habib SMEI
- Page 1 -
MP2L
Cours GNU/Linux
1. Introduction
Toute utilisation d'un ordinateur (Programmation, acc s Internet, traitement de
texte, ...) n cessite au pr alable l'installation d'un ensemble de logiciels qui constituent le
syst me d'exploitation. Celui-ci permet d'obtenir une v ritable interface entre le mat riel,
lutilisateur et les
diff rentes applications logicielles.
Parmi les diff rents syst mes d'exploitation couramment utilis s (comme Windows, Mac OS,
Unix, etc.), on trouve GNU/Linux qui prend de plus en plus dimportance dans le monde
informatique.
Le mot Linux seul ne d signe quant lui que le noyau du syst me d'exploitation, cr e
par Linus TORVALDS, tudiant ( l' poque) finlandais en 1991.
Linux repr sente la premi re "couche" au dessus du mat riel et il rassemble toutes les
fonctions de base du syst me partir desquelles est d finie l'interface graphique du syst me
ainsi que diverses applications.
Sa grande particularit est sa capacit faire fonctionner de nombreuses applications
en m me temps, sans risque de blocage, gr ce un partage efficace de la m moire. Sa grande
stabilit , compar e dautres syst mes, fait que plus de 25% des ordinateurs serveurs
l'utilisent actuellement.
Une autre particularit de GNU/Linux est d'appartenir la famille des logiciels
OpenSource, logiciels dont les codes sources sont gratuits et directement accessibles aux
utilisateurs qui peuvent les adapter leurs propres besoins.
GNU (www.gnu.org), signifiant GNUs Not Unix , est une organisation
internationale qui t fond e en 1984 dans le but de cr er un syst me ressemblant UNIX
mais totalement gratuit.
2. Les caract ristiques de GNU/Linux
GNU/Linux est un syst me d'exploitation multi plates-formes (pouvant tourner sur
des machines ayant des architectures diff rentes, Intel x86, Sun Sparc, etc.). Il est galement
multi-utilisateurs (plusieurs personnes peuvent en m me temps travailler sur le m me
ordinateur), mais aussi multi-t ches (plusieurs applications peuvent tre lanc es en m me
temps sans qu'aucune n'affecte les autres) et multi-processeurs (il peut tre install sur des
machines ayant plus qu'un processeur).
Yahya SLIMANI/Habib SMEI
- Page 2 -
MP2L
Cours GNU/Linux
Les diff rentes exp rimentations de ce syst me travers le monde (au niveau acad mique
mais aussi industriel) ont montr que cest un syst me fiable, robuste, puissant et efficace. Il
utilise tr s peu de ressources et fonctionne quasiment aussi bien sur un ordinateur bas de
gamme que sur un ordinateur haut de gamme. Il est distribu gratuitement avec son code
source, bas sur le principe de la philosophie du logiciel libre et selon les termes de la licence
GPL (General Public Licence). Il est d velopp (et mis jour) par de nombreux
programmeurs diss min s travers le monde (la plupart b n voles) impliquant une volution
rapide du syst me et un r sultat de qualit r sultant de la collobaration internationale.
3. Les diff rentes distributions
3.1. D finition d'une distribution
Une distribution se pr sente sous forme de fichiers t l chargeables partir de sites ftp
ou supports CDs (ou DVD). Une distribution rassemble les composants du syst me dans un
ensemble coh rent et stable dont l'installation, l'utilisation et la maintenance sont de plus en
plus facilit es gr ce des interfaces suffisamment conviviales. Il existe de nombreuses
distributions, chacune ayant ses particularit s : certaines sont d di es un usage sp cifique
(pare-feu, routeur, grappe de calcul, etc.), d'autres un mat riel sp cifique, un
environnement particulier (embarqu ), etc. Malgr cette diversit , les grandes distributions
sont g n ralistes et sont tr s bien adapt es une utilisation bureautique.
Les distributions g n ralistes les plus connues sont Debian, Gentoo, Mandriva Linux,
RedHat Linux, Fedora, Slackware, SUSE Linux, openSUSE Linux, Ubuntu.
Certaines sont plus orient es vers les utilisateurs d butants (MandrivaLinux, Ubuntu,
etc.), car plus simples mettre en Suvre. Debian en revanche est plut t consid r e comme
une m ta-distribution, c'est- -dire qu'elle peut servir de base pour cr er sa propre distribution.
Beaucoup de distributions en d rivent, comme Ubuntu, Knoppix, MEPIS, etc.
GNU/Linux et l'immense partie des logiciels contenus dans une distribution sont
libres, mais le terme libre ne veut pas dire gratuit. Lorsque l'on ach te une distribution
GNU/Linux, le prix pay est celui du media, de la documentation incluse et du travail effectu
pour assembler les logiciels. Toutefois, pour respecter l'esprit du libre et se conformer aux
exigences des licences utilis es par ces logiciels, les entreprises qui ditent ces distributions
les rendent disponibles par t l chargement sans frais. Ceci permet une propagation du logiciel
Yahya SLIMANI/Habib SMEI
- Page 3 -
MP2L
Cours GNU/Linux
libre : un logiciel d velopp partir dun logiciel libre, devra lui-m me tre libre, et ainsi de
suite.
3.2. Choix d'une distribution
Etant donn la multiplicit des distributions, les utilisateurs sont souvent confront s
Publicité
un probl me de choix de la distribution pour leurs propres besoins. Pour cela, le choix d'une
distribution se base sur plusieurs crit res, dont d'abord le niveau d'accessibilit et le type
d'utilisation. Pour commencer, une distribution "graphique" serait plus appropri e quune
distribution texte ( base de commandes). Ainsi, les difficult s de configuration "manuelles"
pourront tre palli es par des interfaces graphiques (GUI) qui permettrons dune part de
faciliter linstallation du syst me, mais donneront plus dassurance aux nouveaux utilisateurs
issus du monde Windows, tout en leur permettant d'aborder progressivement la configuration
manuelle. Par la suite, des distributions plus "manuelles" permettront un contr le plus fin du
syst me, lorsque l'utilisateur aura acquis les bases n cessaires dinstallation et dutilisation du
syst me.
Dautres crit res plus techniques pourront tre utilis es pour choisir la distribution la
plus appropri e : configuration mat rielle de la machine cible, machine individuelle ou en
r seau, type dapplications, environnements de d veloppements utilis s, etc. Le recours un
sp cialiste peut parfois tre n cessaire pour choisir la bonne distribution, sachant que lon
peut ais ment changer de distribution en fonction de l volution des besoins et des crit res.
3.3. Architecture d'une distribution
La plupart des distributions sont bas es sur la m me architecture :
" Le syst me d'exploitation (Le noyau Linux).
" Les logiciels GNU pour les commandes de base (ls, grep, ...).
" Le serveur X qui permet l'affichage graphique. La plupart des distributions
utilisent le serveur X11.
" Un syst me de gestion de paquetages (ou paquets), qui repr sentent des ensembles
de logiciels munis d'une unit d'installation et de d sinstallation. Les syst mes de
gestion de paquetages les plus utilis s sont .rpm, Yum et .deb.
" Un programme d'installation et de param trage.
Yahya SLIMANI/Habib SMEI
- Page 4 -
MP2L
Cours GNU/Linux
"
Plusieurs interfaces graphiques (KDE, Gnome, XFCE, IceWM, ...) et une suite de
logiciels bureautiques pour l'utilisateur moyen (StarOffice, Gimp, etc.), des outils
scientifiques et/ou de programmation.
Le noyau et les logiciels GNU sont communs toutes les distributions, mais on peut
trouver des diff rences au niveau de la proc dure dinstallation, la gestion des paquetages,
leur nombre, les mises jour, etc. &
3.4. Principales distributions
Le tableau ci-dessous r sume les principales distributions utilisables actuellement
une chelle plus ou moins grande.
www.debian-fr.org/
Debian est une distribution non commerciale r gie par le contrat social
Debian. Elle se distingue par le tr s grand nombre d'architectures
support es, son importante logith que et par son cycle de
d veloppement relativement long, ce qui lui conf re un gage d'une
certaine stabilit . Sa qualit et son s rieux sont unanimement reconnus,
mais elle garde l'image d'une distribution r serv e aux experts, malgr
que son ergonomie a beaucoup volu . C'est la distribution qui a t
retenue pour le d ploiement de GNU/Linux dans la ville de Munich (14
000 PC). Elle est tr s utilis e sur les serveurs.
http://fedoraproject.org/
Fedora est une distribution communautaire supervis e par Red Hat.
Elle est bas e sur le syst me de gestion de paquetages logiciels RPM.
Le nom de la distribution est devenu Fedora, alors qu'elle se nommait
http://www.fedora-fr.org/
Fedora Core avant la version 7.
Mandriva Linux est une distribution internationale dit e par la soci t
Mandriva en France et dans le monde. Tr s orient e vers le grand
public, elle est con ue pour tre facile d'installation et d'usage pour les
d butants et les professionnels. Autrefois appel e Mandrake Linux, elle
www.mandriva.com/fr
a t renomm e en 2005 la suite du rachat par MandrakeSoft de la
soci t br silienne Conectiva. La soci t changea alors de nom pour
Mandriva , et renomma l'ensemble de ses produits. Elle est disponible
en plusieurs versions : commerciales et libres.
Gentoo est une distribution caract ris e par sa gestion des paquetages
la mani re des ports BSD, effectuant g n ralement la compilation des
logiciels (X, OpenOffice, etc.) sur la machine de l'utilisateur. Elle est
d di e aux utilisateurs avanc s, aux d veloppeurs et aux passionn s. La
Yahya SLIMANI/Habib SMEI
- Page 5 -
MP2L
Cours GNU/Linux
www.gentoofr.org/
http://www.redhat.fr/
compilation des logiciels in situ donne une libert de choix de
fonctionnalit s et de d pendances tr s pouss e, apportant davantage de
souplesse dans la gestion des paquets par rapport une distribution
utilisant des paquets binaires. Enfin, Gentoo se fait forte d'une
communaut d'utilisateurs particuli rement
active et d'une
documentation compl te et centralis e.
Red Hat (officiellement Red Hat Enterprise Linux ou RHEL) est une
Publicité
distribution commerciale largement r pandue dans les entreprises
(surtout aux tats-Unis). Cest cette distribution qui a d velopp et mis
au point le logiciel RPM, qui est un gestionnaire de paquets sous
licence GPL que d'autres distributions utilisent.
Slackware est l'une des plus anciennes distributions existantes.
Slackware a t historiquement une des premi res permettant de faire
tourner GNU/Linux in situ depuis un CD-ROM, d s 1995. Slackware
www.slackfr.org/
est toujours activement maintenue par son cr ateur Patrick Volkerding.
Slackware Linux est particuli rement adapt e aux utilisations serveur,
et elle repr sente la version la plus pure de GNU/Linux.
SUSE Linux a t la premi re distribution europ enne. Cr e en 1993
Nuremberg, elle a t rachet e par la soci t Novell la fin de l'ann e
2003. Elle propose deux distributions principales : SUSE Linux
Enterprise orient e vers les entreprises (certifications mat rielles et
logicielles nombreuses) et OpenSUSE orient e vers le grand public.
Ubuntu est une distribution bas e sur Debian. Plus orient e vers le
grand public, elle dite des versions stables plus fr quemment. Elle est
fr.opensuse.org/
www.ubuntu-fr.org/
maintenant disponible en live CD. Cette distribution dispose d'une
solide base d'utilisateurs en France, et partout dans le monde.
Yahya SLIMANI/Habib SMEI
- Page 6 -
MP2L
Cours GNU/Linux
Figure 1. Sch ma dune distribution Linux.
4. La licence GPL de GNU
Le code source de GNU/Linux est accessible gratuitement, ce qui fait que ce syst me
peut tre compil sur d'autres plates-formes autres quun PC. Afin de permettre la distribution
de programmes exempts de droits, la fondation FSF (Free Software Foundation, traduisez
Fondation pour les logiciels libres) a d velopp un projet nomm GNU. Les utilitaires GNU
sont soumis une licence d'utilisation de GNU/Linux, appel e GPL (General Public
Licence), expliquant les dispositions l gales vis- -vis de l'utilisation, la distribution et la
modification dun code GNU/Linux.
Voici titre indicatif quelques aspects de cette licence permettant de la comprendre:
" La licence permet la modification du programme original et sa diffusion (sous licence
GPL).
" La licence autorise la vente du logiciel libre sous sa forme originelle ou modifi e,
condition que le vendeur autorise la diffusion (m me gratuite) de ce logiciel.
" La licence autorise l'utilisation du logiciel des fins lucratives (permettant des
b n fices).
" Les logiciels, sous licence GPL, appartiennent leurs auteurs et personne ne peut
s'approprier une partie ou l'int gralit des droits d'auteur.
" La licence n'implique aucune forme de r mun ration des auteurs.
Yahya SLIMANI/Habib SMEI
- Page 7 -
MP2L
Cours GNU/Linux
Cette licence est parfois appel e copyleft, en opposition copyright, mot anglais qui
signifie "droits d'auteur".
5. Le Noyau
Le noyau joue le r le d'interm diaire entre les programmes et le mat riel. Il g re la
m moire pour tous les programmes en cours d'ex cution (processus), et s'assure qu'ils utilisent
tous une partie ( quitable ou non) du temps processeur. En plus, il fournit une interface aux
programmes pour communiquer avec les composants du mat riel.
5.1. D marrage du noyau
Apr s lex cution des fonctions du BIOS (ou firmware), il y a ex cution du chargeur
de syst me LILO (Linux/Unix Loader) ou GRUB, install le plus souvent dans le premier
secteur adressable dun disque dur, appel MBR (Master Boot record). Le prompt du
chargeur s'affiche, et au bout de quelques secondes (dur e r glable), le syst me par d faut se
charge, sinon lutilisateur peut choisir, dans une liste de syst mes dexploitation, celui avec
qui il voudrait d marrer sa machine (Windows, Fedora, Mandriva, etc.).
Usuellement, cette initialisation s'effectue en mode multi-utilisateurs avec les services
r seau activ s (niveau d'ex cution par d faut et qui est r glable dans un fichier de
configuration appel /etc/inittab).
5.2 La num rotation des noyaux GNU/Linux
La num rotation du noyau GNU/Linux est bas e sur trois nombres, par exemple :
2.0.12.
" Le premier nombre (dans notre cas le "2") indique la version majeure du noyau.
Aujourd'hui, le noyau en est sa deuxi me version.
" Le deuxi me nombre est consid r comme un num ro de version mineure. et
renseigne sur la stabilit du noyau. Si y est pair cela veut dire que le noyau est stable,
par contre sil est impair, cela veut dire que le noyau est dans une version de
d veloppement. Actuellement, la version stable est la 2.6.
" Le dernier num ro d signe le num ro de version mineur du noyau stable ou en cours
de d veloppement consid r (deuxi me num ro).
Remarque : Le num ro de version dun noyau est obtenu en ex cutant la commande
uname -a
6. Proc dure de Connexion
Contrairement la plupart des syst mes Windows (qui d marrent uniquement par une
Mise en ON manuelle), utiliser un syst me GNU/Linux, m me en dehors de tout contexte
Publicité
Yahya SLIMANI/Habib SMEI
- Page 8 -
MP2L
Cours GNU/Linux
r seau, implique lex cution dune proc dure de connexion au syst me. Le but principal de
cette proc dure est dassurer une s curit dacc s au syst me, ce qui fait que cet acc s nest
pas libre car il est soumis une proc dure dauthentification. Quand cette proc dure est
effectu e avec succ s, il y aura ouverture dune session de travail pour utiliser le syst me
GNU/Linux. Pour acc der un tel syst me, chaque utilisateur, quelque soit son statut, devra
disposer dun compte utilisateur dans ce syst me.
Le processus d'identification dun utilisateur est bas sur :
" Lintroduction dun nom utilisateur (login :)
" Lintroduction du mot de passe associ (password :)
Si le compte est authentifi sur la machine (nom et mot de passe corrects), il y a
affichage du bureau et lutilisateur pourra alors commencer lutilisation du syst me. Dans
le cas contraire, lacc s sera refus et lutilisateur devra refaire une autre tentative de
connexion.
Lorsque l'utilisateur est authentifi , les ressources du syst me (notamment les fichiers
et les applications) sont mises sa disposition, mais il ne pourra les utiliser que selon
certaines conditions (appel s permissions ou droits dacc s) fix es par leurs propri taires
(administrateur du syst me ou cr ateurs des ressources).
Une fois connect un syst me GNU/Linux, lutilisateur peut ouvrir plusieurs
sessions de travail sur la m me machine. Pour cela, il ouvrira plusieurs sessions travers des
terminaux ou consoles virtuelles en utilisant la combinaison des touches suivantes du clavier :
Ctrl-Alt-Fx, avec x pouvant aller de 1 6. Il pourra ensuite basculer dune session une autre
en utilisant la m me combinaison de touches du clavier. Il aura ainsi lillusion d tre dans un
environnement multi-utilisateurs.
7. Proc dure de D connexion et arr t (volontaire) du syst me
Un syst me GNU/Linux, tant g n ralement stable, na pas besoin d tre ferm
brutalement (Mise en OFF, CTRL+ALT+SUPPR). Il devra tre ferm proprement soit
travers linterface graphique, soit travers une commande du syst me. Cette proc dure de
d connexion est tr s importante et utile, car elle permet, entre autres, au syst me de
sauvegarder un certain nombre dinformations sur la session de travail laquelle on veut
mettre fin, en mettant jour un certain nombre de journaux du syst me. Ces journaux
contiennent un historique sur lutilisation du syst me et peuvent servir un administrateur
pour suivre et am liorer les performances dun syst me GNU/Linux. Etant donn
Yahya SLIMANI/Habib SMEI
- Page 9 -
MP2L
Cours GNU/Linux
limportance et lutilit de cette proc dure de d connexion, il est donc vivement recommand
aux utilisateurs de lui accorder la plus grande attention.
Il existe g n ralement deux mani res de se d connecter dun syst me
GNU/Linux :
1. Soit par interface graphique : dans ce cas, il existe, comme dans tous les syst mes
dexploitation, des boutons au niveau du bureau, qui offrent plusieurs possibilit s
(fermeture dune session, mise larr t prolong , fermeture du syst me, changement de
session, etc.)
2. Soit par commande : dans ce cas, lutilisateur pourra utiliser les commandes exit,
logout ou tout simplement la combinaison des touches Ctrl et D.
3. En ce qui concerne lutilisateur administrateur (root), il pourra utiliser lune des
commandes suivantes :
" Arr t imm diat : halt (ou shutdown -h now ou init 0)
" Arr t diff r : shutdown -h <nb> ; le syst me attendra <nb> secondes
avant de proc d r larr t de la machine.
Evidemment, il ne faut pas teindre brutalement ou rebooter sauvagement ! Chaque
processus actif doit recevoir du noyau du syst me la directive de s'arr ter proprement, les
syst mes de fichiers doivent tre d mont s.
8. Introduction aux commandes
Pour utiliser un syst me GNU/Linux en mode commandes, lutilisateur devra utiliser
un langage de commandes (ensembles des commandes du syst mes) et un interpr teur
associ ce langage de commande.
8.1. Interpr teur de commandes
Sous GNU/Linux, linterpr teur de commandes est appel le SHELL, et il fait office
d'interface entre l'utilisateur et le syst me dexploitation. La fonction dun interpr teur est
double : pour chaque commande introduite par lutilisateur, il proc dera dabord son
analyse syntaxique pour v rifier si elle est bien crite ; dans le cas o la syntaxe de la
commande est respect e, le Shell proc dera son interpr tation (ex cution) et retournera
le r sultat appropri (si la commande doit retourner un r sultat).
Il existe des dizaines d'interpr teurs de commandes sous GNU/Linux qui se classent en
deux grandes familles :
Yahya SLIMANI/Habib SMEI
- Page 10 -
MP2L
Cours GNU/Linux
" La famille des interpr teurs C shell (ex : csh, tcsh).La famille des interpr teurs
Bourne shell (ex : sh, bash, ksh).
Il existe un autre interpr teur, appel zsh, qui renferme les caract ristiques des deux
familles pr c dentes. N anmoins, le choix dutiliser un shell plut t quun autre est
essentiellement une affaire de pr f rence personnelle ou de circonstances. En conna tre un,
permet dacc der ais ment aux autres. Lorsque lon utilise le syst me GNU/Linux , le shell
par d faut est bash (Bourne Again SHell). Ce dernier a t con u en 1988 par Brian Fox dans
Publicité
le cadre du projet GNU [2
]
.
Un shell poss de un double aspect :
" Un aspect environnement de travail, qui d finit lenvironnement mat riel et
logiciel dans lequel voluera linterpr teur.Un aspect langage de programmation,
qui d finit la structure des programmes d velopp s partir des commandes du
Shell.
8.2. Syntaxe g n rale dune commande
Malgr leurs grandes diversit s, lensemble des commandes du syst me
GNU/Linux sont crites selon la forme g n rique suivante :
Nom de commande
Cette forme comprend trois parties dont une seule est obligatoire, savoir le nom de
commande. Les deux autres parties sont optionnelles, c'est- -dire facultatives et peuvent
dont tre omises (les deux symboles [ et ] signifient quelles sont facultatives). Selon la
commande qui est utilis e, ces parties seront remplac es, par le syst me, par des valeurs
par d faut (voir description de chaque commande).
Les r gles suivantes doivent tre respect es lors de l criture dune commande :
" Les syst mes Unix font une diff rence entre les lettres MAJUSCULES et les
lettres minuscules. Il faudra donc respecter la casse de chaque commande.
" Chaque partie de la ligne de commande doit tre s par e par au moins un espace.
" La partie commence g n ralement par un tiret (-) suivi (sans espace) de
lettres alphab tiques (une ou plusieurs selon la commande).
Les param tres repr sentent des chemins de fichiers (voir la notion de chemin dun
fichier).
Yahya SLIMANI/Habib SMEI
- Page 11 -
MP2L
Cours GNU/Linux
8.3. Historique des commandes
Certaines touches du clavier permettent un utilisateur de r utiliser des commandes
anciennes. Pour cela, les touches fl ches haut et bas permettent de parcourir les
derni res commandes de l'utilisateur.
8.4. Commandes et alias
Le syst me GNU/Linux donne la possibilit un utilisateur de cr er ses propres noms
de commandes, partir de commandes de base, ou
renommer les commandes de base (proc dure quil faut utiliser avec pr caution). Ainsi,
un utilisateur peut recr er des commandes quil utilisait dans dautres syt mes (exemple
commande DIR du DOS, etc.).
8.5. Manuel des commandes
Lapprentissage dun syst me dexploitation n cessite, notamment au d but, une
consultation quasi permanente dun manuel ou dune documentation sur les commandes.
Etant donn limportance de cette phase dapprentissage, le syst me GNU/Linux met la
disposition de ses utilisateurs, une commande daide en ligne, appel e man. Il est fortement
recommand dutiliser cette commande lors de la pratique dun syst me GNU/Linux. On
peut par exemple crire man ls, pour avoir de la documentation sur le fonctionnement de la
commande ls.
Lex cution de cette commande permet dafficher, sur cran, un manuel compos de
trois parties :
"
"
Un descriptif, sous forme de texte, de la commande.
La syntaxe compl te de la commande.
" Lexplication d taill e des diff rentes parties de la commande (options et
param tres) ; cette partie peut contenir, dans le cas de certaines commandes, des
exemples illustratifs.
8.6. Commandes internes et externes
Le shell distingue deux sortes de commandes :
" Les commandes internes : ce sont des commandes dont le code est implant au
sein de linterpr teur lui-m me. Cela signifie en particulier que, lorsquon change
de shell ou de connexion (passage de linterpr teur bash au C-shell par exemple),
la liste des commandes internes change.
Yahya SLIMANI/Habib SMEI
- Page 12 -
MP2L
Cours GNU/Linux
" Les commandes externes, dont le code se trouve dans un fichier ex cutable. Etant
donn que ces commandes ne font pas partie int grante de linterpr teur, leur
localisation devra tre pr cis e laide dun chemin. Soit ce chemin est fix
explicitement par lutilisateur, soit le syst me utilisera des chemins par d faut,
dont les valeurs sont d finies par d faut dans une variable denvironnement du
syst me appel e PATH. Celle-ci contient une liste de chemins s par s par le
caract re deux points (:). Linterpr teur ira alors chercher successivement dans
cette liste de chemins, lendroit, c'est- -dire le r pertoire, o se trouve la
commande externe ex cuter.
Yahya SLIMANI/Habib SMEI
- Page 13 -