Système Linux

publicité
Système Linux
par
Cédric COCQUEBERT
Professeur de Supélec
Professeur IMERIR (Institut méditerranéen d’enseignement et de recherches
en informatique et robotique)
Docteur en Mathématiques appliquées
1.
1.1
1.2
Généralités.................................................................................................
Rappel sur Linux ..........................................................................................
Linux et le droit ............................................................................................
2.
2.1
2.2
2.3
2.4
2.5
2.6
2.7
Installation .................................................................................................
Identification des besoins ...........................................................................
Tour d’horizon des différentes offres .........................................................
Étape de préinstallation ..............................................................................
Installation....................................................................................................
Personnalisation (sans recompilation du noyau) .....................................
Besoins spécifiques .....................................................................................
Structure du noyau et codes sources ........................................................
—
—
—
—
—
—
—
—
7
7
8
9
10
11
13
14
3.
3.1
3.2
3.3
3.4
Logiciels sous Linux ................................................................................
Domaine de l’administration système .......................................................
Domaines scientifique et technique...........................................................
Domaine de la bureautique ........................................................................
Coexistence Linux/Windows.......................................................................
—
—
—
—
—
15
15
15
16
16
4.
4.1
4.2
4.3
Maintenance et pérennité d’un système Linux ...............................
Contrat de maintenance et formation........................................................
Internet comme hot-line..............................................................................
Mise à jour....................................................................................................
—
—
—
—
18
18
18
19
5.
Utilisation de Linux .................................................................................
—
19
6.
6.1
—
19
6.2
6.3
6.4
Exemples d’application ..........................................................................
Reconversion d’anciennes machines dans des établissements
d’enseignements .........................................................................................
Corel Video Network Computer .................................................................
Libre service et serveur dans des écoles d’ingénieurs.............................
Projets BEOWULF de cluster sous Linux ...................................................
—
—
—
—
19
19
20
20
7.
Conclusion .................................................................................................
—
20
Pour en savoir plus...........................................................................................
H 1 538 – 3
—
3
—
4
Doc. H 1 538
inux est un système d'exploitation au même titre que Microsoft Windows,
mais il est bien plus que cela, par sa nature de logiciel libre, son histoire, son
succès. On arrive rapidement à parler de philosophie Linux. Ce terme peut alors
prêter à confusion et être interprété comme une idée de communauté élitiste qui
s'évertuerait à lutter contre le monopole de Microsoft. Cet article veut montrer
que Linux est une solution d'entreprise qui résout de nombreux problèmes de
façon simple (sans être spécialiste). Cela peut s'avérer une véritable alternative
à Microsoft et aux Unix commerciaux, indispensable dans certains cas, superflue dans d'autres.
L
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
H 1 538 − 1
SYSTÈME LINUX _______________________________________________________________________________________________________________________
Nous verrons que ce système a bien évolué depuis sa création, qu'il répond à
bon nombre de critères industriels (32 bits, multiutilisateur, multitâche, multiplateforme, multiprocesseur, rapidité, sécurité, stabilité, convivialité) et que son installation et son utilisation sont grandement simplifiées. Cependant, il est
indéniable que ce système hérite naturellement des avantages et inconvénients
d’Unix et qu’il subsiste quelques phases délicates dans la mise au point (tuning)
d’une machine Linux.
Nous ne pouvons aborder un système d'exploitation sans s'intéresser aux
logiciels fonctionnant avec. En matière d'administration système et de développement, l'offre est excellente (la plupart sous licence GNU). Dans le domaine
scientifique, véritable moteur de Linux, les logiciels se multiplient à une vitesse
phénoménale et le portage d'anciens codes (sous Fortran/Unix/VMS) se met en
place rapidement. Seul le domaine de la bureautique reste en retrait, avec
cependant, ces derniers temps, des solutions de suites compatibles Microsoft
Office.
Quant au problème de la maintenance et de la pérennité d'un logiciel libre,
c'est une véritable question qu'il faut absolument se poser avant toute tentative
d'un tel logiciel. Plusieurs distributions de Linux proposent un contrat de maintenance, des SSII (sociétés de service en ingénierie informatique) se spécialisent
dans ce service. Mais la grande force d'un tel système réside dans Internet qui
représente la plus grande hot-line du monde et une base de bêta-testeurs
immense.
Linux est donc une solution de plus en plus convaincante qui nécessite non
pas un esprit « bidouilleur » comme à son origine mais une réelle réflexion de
stratégie informatique. Cette dernière ne peut s’appuyer que sur une démarche
d’ingénieur qui consiste à cibler précisément les besoins, mettre en correspondance ces derniers avec les spécifications de Linux et valider les choix par des
essais avant toute mise en production. La multiplication d'exemples d'intégration de Linux en entreprise ne fait que conforter cette idée.
Principales abréviations
Symbole
Définition
Principales abréviations
Symbole
Adaptative Communication Environment
ATM
Asynchronous Transfer Mode
MPI
Message Passing Interface
DNS
Domain Name System
NFS
Network File Server
DSP
Digital Signal Processing
OS
Operating System
FAQ
Frequently Asked Questions
FTP
File Transfer Protocol
GCC
GNU C Compiler
GPL
MBR
Définition
ACE
Master Boot Record
PC
Personnal Computer
POP3
Post Office Protocol
PPP
Point-to-Point Protocol
GNU Public License
PVM
Parallel Virtual Machine
HTTP
Hyper Text Transfer Protocol
RHCE
Redhat Certification
IDE
Integrated Drive Electronics
RPM
Redhat Package Manager
IHM
Interface homme machine
SCSI
Small Computer System Interface
Internet Mail Protocol
SGBD
Système de Gestion de Bases de Données
Internet Protocol
SMB
Server Message Block
IPX
Internetwork Packet Exchange
SMP
Symmetric Multi-Processors
IRC
Internet Relay Chat
SQL
Structured Query Language
KDE
Kool Desktop Environment
TCP
Transfer Control Protocol
IMAP
IP
LPI
LVM
H 1 538 − 2
Linux Professional Institute
Logical Volume Manager
VMS
WYSIWYG
Virtual Memory System
What you see is what you get
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________________________
SYSTÈME LINUX
1. Généralités
Un système d’exploitation est un logiciel qui gère un ordinateur
dans son ensemble et sa complexité. Son rôle se traduit généralement par une organisation « optimale » d’un certain nombre de
tâches à effectuer en tenant compte des contraintes liées au matériel. Citons pour exemple de tâches : la gestion des entrées/sorties
vers des périphériques (tels que l’écran, le clavier, les unités de disques, l’imprimante, le réseau), le lancement d’applications, la gestion des ressources matérielles (processeur, mémoire, bus …).
Une classification triviale des différents OS (Operating System)
peut se faire sur leur capacité à traiter plusieurs tâches à la fois (on
parle alors de système multitâche ou monotâche). Cette caractéristique est souvent liée à la notion de multiutilisateur qui donne la
possibilité à plusieurs personnes d’accéder au même ordinateur.
Ces notions sont apparues dans la seconde moitié des années
soixante, en même temps que les gros mini-ordinateurs dont le coût
ne pouvait être supporté que par une utilisation massivement multiutilisateur, contrairement au PC (Personnal Computer) qui avait
une vocation d’ordinateur personnel. En simplifiant, le monde de
l’informatique, au début des années quatre-vingt, était divisé en
deux catégories avec d’un coté le PC pour une personne et une
application (et son système Dos) et de l’autre coté les gros miniordinateurs avec leur capacité à être multiutilisateur et multitâche
(et différents systèmes comme VMS, Unix).
L’apparition de microprocesseurs abordables (tel que l’Intel i386)
ayant assez de puissance pour une utilisation multiutilisateur et
multitâche d’un PC bouleversa cette classification. Un jeune étudiant finlandais du nom de Linus Torvalds se pencha sur le problème et commença à développer le cœur d’un OS à partir d’un
système Minix (version très légère d’un Unix pour PC) avec une
volonté affichée d’utiliser au mieux l’architecture du i386 et de mettre à disposition les sources de son travail, Linux était né.
1.1 Rappel sur Linux
Linux est donc bien un système « Unix-like » et en ce sens on
retrouve l’ensemble des concepts de l’architecture Unix (cf.
[H 1 528], réf. [3]) comme la notion de processus et d’arborescence
des fichiers. Le concept de Shell est tout aussi présent et l’ensemble
des commandes en lignes (telles que « ls », « cd »…) est au rendezvous. Cependant, il existe plusieurs environnements graphiques
multifenêtres conviviaux reposant sur la norme X-Window.
Exemples : fvwm, fvwm95, Lestiff, Olwm, KDE (figure 1), GNOME
Les caractéristiques principales sont : le cadre multitâche et la
capacité d’être multiutilisateur. De plus, Linux est entièrement 32 bits
et une version 64 bits existe pour certains processeurs. Ce système
d’exploitation n’est nativement pas compatible avec MS-Dos ou
Windows, il en résulte que, la plupart des logiciels commerciaux (tels
que Office, Internet Explorer, PhotoShop) ne fonctionnent pas sous
Linux. Cependant, il existe des logiciels similaires pour Linux (§ 3) et
des émulateurs permettant de simuler d’autres systèmes d’exploitation.
De par sa genèse, Linux est principalement utilisé sur des PC compatibles x86 (du 386 au Pentium III chez Intel, et l’ensemble des clones AMD et Cyrix). Il supporte néanmoins des plates-formes Alpha
(DEC), Sparc (SUN), 680x0 (Motorola) et PowerPC.
Une des particularités des systèmes Unix est la gestion des configurations multiprocesseurs. Elles ont pris une importance capitale
dans les serveurs lourds et les nœuds de calculs. Le standard de fait
imposé par Intel : le SMP (Symmetric Multi-Processors) est reconnu
et géré de façon transparente par Linux. Le système prend en
charge la détection à l’installation, la configuration et l’utilisation en
mode multitâche (n processus s’exécutent sur p processeurs) et
Figure 1 – Environnement : commandes en ligne et KDE
multi-threads (processus légers, partageant des ressources comme
la mémoire, les descripteurs de fichiers …). Récemment, cette architecture s’est vue renforcée par la notion de clustering (cf. § 6.4) qui
est une mise en réseau spécifique de machines dédiées (souvent
elles-mêmes SMP). La spécificité de ce réseau réside en quatre
points :
— haut débit du réseau d’interconnexion (cartes et protocoles) ;
— haute disponibilité (redondance et migration après panne) ;
— haute performance (puissance de calcul) ;
— « scalability » (évolution en fonction de la charge).
Ces notions demandent quelques modifications du système
d’exploitation pour la gestion de clusters et certaines offres Linux
(BEOWULF) fournissent ce support. On peut citer, comme exemple
réussi de clustering (160 processeurs Alpha) sous Linux, la production des effets spéciaux du film « Titanic » [5] détrônant les habituelles SGI (Silicon-Graphics Inc.).
Enfin, Linux a très rapidement intégré la gestion de réseau
(empruntant à BSD, Berkeley Software Distribution, ses modules de
networking) tant au niveau protocole (TCP/IP) que drivers de nombreuses cartes Ethernet. Actuellement, outre TCP/IP (10/100 Mbits),
Linux gère IPX, appletalk, x25, Samba. De plus, il possède l’ensemble des utilitaires (client et serveur) pour Internet.
Outre les caractéristiques techniques, une des particularités de
Linux se situe au niveau de la forme puisque ce logiciel ne se décline
pas en une version unique, mais en plusieurs distributions différen-
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
H 1 538 − 3
SYSTÈME LINUX _______________________________________________________________________________________________________________________
Historique
Un élément essentiel à l’avènement de Linux est l’existence d’un
système d’exploitation « éducatif » pour PC basé sur un micronoyau Unix baptisé Minix. Ce système créé à l’initiative de A.
Tanenbaum [6] fut distribué avec le source en langage C sur un jeu
de quelques disquettes. Minix n’a jamais eu la prétention d’être
commercialement viable et n’était destiné qu’à des fins pédagogiques.
Cependant, un étudiant finlandais Linus TORVALDS ne se satisfaisant pas de Minix, commença à le modifier et à créer un petit noyau
performant pour un i386. L’aventure Linus aurait pu s’arrêter à ce
stade (projet d’étudiant) si Linus TORVALDS n’avait pas eu la
volonté de le mettre à disposition de tous au travers d’Internet (téléchargement et forum de discussions). Cette idée chère à Richard
STALLMAN et à son projet GNU (cf. § 1.2) trouva en Linux une
concrétisation. C’est donc du monde entier que viennent les corrections, les améliorations et les extensions. Depuis, maintenant près
de dix ans, Linux est bien le premier exemple réussi de développement à travers le monde (grâce à Internet). La stabilité du système
provient de ce phénomène. En effet, ce style de développement et
d’intégration pour un logiciel intéressant un large public (ce qui est
le cas d’un OS) jouit de deux avantages remarquables.
— La plus grande base de bêta-testeurs du monde : il n’existe
pas de restriction sur la diffusion puisqu’il n’y a aucune peur de
« piratage », le logiciel étant libre de droit et fourni avec les sources.
Le monde universitaire a été un grand vecteur de diffusion de par
leur connexion à l’Internet et du fait de l’utilisation massive d’Unix.
Rapidement, des milliers de personnes vont devenir utilisateurs de
Linux, qui soit restent passifs en faisant remonter les informations
de disfonctionnement, soit préfèrent les corriger eux-mêmes (on
parle d’utilisateurs actifs) et distribuer la solution.
— Une réactivité rapide pour la correction de bogues : par ce
principe d’utilisateurs passifs qui deviennent actifs, l’équipe de
développement s’agrandit continuellement. Les mises à jour et les
nouvelles versions peuvent se succéder très rapidement, puisqu’il
n’y a pas d’étapes de commercialisation. Le cycle « découverte,
résolution, intégration » est le plus court possible, bien que ces trois
étapes puissent ne pas être le fait d’une même personne physique
ni d’une même équipe. La rapidité de réaction est un élément essentiel pour la survie d’un tel logiciel puisqu’il doit convaincre et ne
peut pas jouer sur la compatibilité avec un système déjà existant et
omniprésent.
Cependant, le risque majeur d’un tel modèle de développement
(libre et à travers Internet) est la divergence du code source qui n’a
tes. En effet, de par son historique et son type particulier de licence
(cf. § 1.2) il possède une base commune que l’on appelle le noyau et
plusieurs centaines de programmes qui gravitent autour. En réalité,
le noyau correspond à une entité complexe que l’on détaillera dans
le paragraphe 2.7 ; son rôle est au centre du système d’exploitation
en permettant l’interfaçage entre le matériel et les programmes utilisateurs. Il y aura donc différentes offres Linux (appelées distributions) s’articulant toutes autour d’un même noyau, mais ne
possédant pas les mêmes « à coté ». Ces distributions, qui feront
l’objet du paragraphe 2.2, diffèrent entre autres par la procédure
d’installation, l’intégration de certains logiciels et les services sur le
produit (support, formation et maintenance). En pratique, il est envisageable d’avoir côte à côte deux ordinateurs semblables sous la
même version de Linux (compatibilité binaire totale), mais ne possédant pas la même distribution ; ces deux ordinateurs n’ont pas,
par exemple, le même environnement graphique, les mêmes procédures de mises à jour et la même suite bureautique. Cependant,
chacun peut exécuter l’ensemble des programmes de l’autre.
Après ce tour d’horizon rapide des caractéristiques de Linux (on
reviendra sur différents points dans les paragraphes suivants), il
H 1 538 − 4
plus de réel responsable. La mise au point rapide de garde-fou a permis à Linux d’éviter cet écueil. Ainsi la licence GPL sous laquelle est
distribué le noyau Linux (cf. § 1.2) est un des meilleurs garants de
cette stabilité, puisqu’il stipule que toute modification doit être
publiée sous GPL. Il ne peut donc pas se produire de scission entre
divers groupes de développement œuvrant chacun de leur côté pour
l’amélioration de « leur nouveau produit ». Ils amélioreraient, par
voie de conséquence, « le logiciel libre originel » étant contraints de
divulguer leurs modifications.
De plus, les sociétés qui éditent des distributions Linux, qui font
toutes parties du consortium Linux International, ont décidé récemment, sous l'égide de ce dernier, une norme commune, « Linux
Standard Base » (http://www.linuxbase.org/) et, en même temps, de
se rapprocher de la norme Unix98. Des procédures de tests de
conformité sont actuellement en cours de développement.
Malgré ces atouts, Linux ne s’implante réellement dans les premiers temps que dans le monde universitaire, où il est accueilli avec
enthousiasme comme solution à très bas coût (le prix d’un PC) pour
remplacer des stations Unix/ X-Window sur lesquelles tournaient la
plupart des codes universitaires. Ces mêmes universitaires, ayant
un accès privilégié à Internet, ne se formalisaient pas du mode de
distribution (et de mise à jour) ainsi que du manque d’interfaces
conviviales lors de l’installation et de la maintenance. On peut réellement parler d'esprit de pionniers « bidouilleurs » qui ont laissé de
côté l’aspect esthétique et pratique au profit de la robustesse du
noyau. Un autre point principal qui expliquait l’absence d’adhésion
du monde industriel est le manque de prise en charge des nouveaux périphériques ; alors que ces derniers sont fournis avec des
drivers Windows lors de l’achat, il fallait des mois pour voir arriver
un driver Linux (et même parfois le constructeur refusait de divulguer les informations nécessaires à la réalisation du driver).
Consciente de ces faiblesses, la communauté Linux, forte d’un
noyau stable et robuste, a réagi et propose dorénavant des solutions d’entreprises. L’installation est automatisée sous environnement graphique, avec détection de la plupart des périphériques (cf.
§ 2). Il existe des possibilités d’installation en groupes (clones) par
réseau pour un parc homogène. De plus en plus d’accords sont
signés entre les constructeurs de matériels pour soit fournir des drivers Linux, soit divulguer le maximum d’informations afin que le
développement des drivers soit rapide. De plus en plus d’éditeurs
de logiciels supportent Linux (cf. § 3).
Il est maintenant indéniable que Linux représente une alternative
professionnelle dans le monde des systèmes d’exploitation.
semble impératif de décrire le développement atypique de Linux
ainsi que son cadre juridique pour comprendre la philosophie de ce
logiciel.
1.2 Linux et le droit
Linux est régi par le droit des « logiciels libres » traduction du
terme anglais « free software » qui globalement stipule, que ce logiciel est gratuit (ou payant dans la mesure où le prix représente une
valeur ajoutée telle qu’un support CD, une hot-line…), que les sources sont fournies et qu’il est librement copiable, modifiable et distribuable ainsi modifié.
Le « logiciel libre » ne doit pas être confondu avec un logiciel du
domaine public dont la propriété intellectuelle n’appartient plus à
l’auteur ; ici l’auteur est toujours propriétaire de son logiciel. Il cède
le droit d’utiliser les sources pour les modifier et faire ainsi évoluer le
logiciel qui comporte en permanence la mention de l’auteur original.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________________________
Le « logiciel libre » n’a aucun rapport avec le « freeware » ou le
« shareware » qui sont des modes de distributions (respectivement
gratuits et payants avec essai gratuit) de logiciels. Ces logiciels ne
sont jamais livrés avec les sources et ne sont en aucun cas modifiables.
Le concept de « logiciel libre » a été introduit par R. STALLMAN et
la fondation FSF (Free Software Foundation) et formalisé par la
licence GPL (GNU General Public License). Les points clés de cette
licence sont donc :
— la protection de l’auteur d’un logiciel GPL par un copyright : il
possède la propriété intellectuelle du logiciel ;
— la liberté de distribuer des copies d’un logiciel GPL ;
— la liberté d’obtenir le code source ;
— la liberté de modifier ou d’utiliser une partie d’un logiciel GPL
en vue de la création d’un nouveau logiciel GPL ;
— la liberté de modifier ou d’utiliser une partie d’un logiciel GPL
en vue de la création d’un nouveau logiciel non rediffusé ; non-obligation dans ce cas de fournir les sources ;
— la non-responsabilité de l’auteur d’une mauvaise utilisation ou
d’un disfonctionnement de son produit, et la non-obligation d’en
assurer un support technique.
On peut donc opposer au « logiciel libre », la notion de « logiciel
propriétaire » dont l'utilisation, la redistribution et les modifications
sont interdites, ou nécessitent des autorisations.
Ce type de logiciel peut se décliner en trois autres systèmes de
licence qui sont :
— la licence commerciale qui s’applique à des produits développés par une entreprise dont le but est de gagner de l'argent sur l'utilisation du logiciel ;
— la licence « freeware » ou « graticiel » qui n'a pas de définition
claire communément acceptée, mais qui est utilisée couramment
pour des logiciels qui autorisent l’utilisation et la redistribution gratuites mais dont le code source n'est pas disponible ;
— la licence « shareware » ou « partagiciel » qui s'accompagne
de la permission de redistribuer des copies, mais mentionne que
toute personne qui continue à en utiliser une copie est obligée de
payer des royalties (généralement peu élevées).
La traduction par l’APRIL (Association pour la promotion et la
recherche en informatique libre http://www.april.org) de la GPL est
donnée dans les paragraphes 1.2.1 et 1.2.2.
Table des matières
1. GNU General Public License
2. Préambule
3. Conditions d'exploitation portant sur la duplication, la distribution et la modification
4. Absence de garantie
5. Comment appliquer ces dispositions à vos nouveaux programmes ?
This is an unofficial translation of the GNU General Public
License into french. It was not published by the Free Software
Foundation, and does not legally state the distribution terms for
software that uses the GNU GPL – only the original English text
of the GNU GPL does that. However, we hope that this translation will help french speakers understand the GNU GPL better.
Cela est une traduction non officielle de la GNU General
Public License en français. Elle n'a pas été publiée par la Free
Software Foundation, et ne détermine pas les termes de distribution pour les logiciels qui utilisent la GNU GPL – seul le texte
anglais original de la GNU GPL en a le droit. Cependant, nous
espérons que cette traduction aidera les francophones à mieux
comprendre la GPL.
Nous autorisons la FSF à apporter toute modification qu'elle
jugera nécessaire pour rendre la traduction plus claire.
GNU GENERAL PUBLIC LICENSE
SYSTÈME LINUX
Il est permis à tout le monde de reproduire et distribuer des
copies conformes de ce document de licence, mais aucune modification ne doit y être apportée.
1.2.1 Préambule
Les licences relatives à la plupart des logiciels sont destinées à supprimer votre liberté de les partager et de les modifier. Par contraste,
la licence publique générale GPL veut garantir votre liberté de partager et de modifier les logiciels libres, pour qu'ils soient vraiment
libres pour tous leurs utilisateurs. La présente licence publique générale s'applique à la plupart des logiciels de la Free Software Foundation, ainsi qu'à tout autre programme dont les auteurs s'engagent à
l'utiliser (certains autres logiciels sont couverts par la licence publique générale pour bibliothèques GNU à la place). Vous pouvez aussi
l'appliquer à vos programmes.
Quand nous parlons de logiciels libres, il s’agit de liberté, non de
gratuité. Les licences publiques générales veulent garantir à l’utilisateur :
— qu’il a toute liberté de distribuer des copies des logiciels libres
(et de facturer ce service, s’il le souhaite) ;
— qu’il reçoit les codes sources ou peut les obtenir s’il le souhaite ;
— qu’il peut modifier les logiciels ou en utiliser des éléments
dans de nouveaux programmes libres ;
— qu’il sait qu’il peut le faire.
Pour protéger les droits de l’utilisateur, il faut apporter des restrictions, qui vont interdire à quiconque de lui dénier ces droits, ou de
lui demander de s’en désister. Ces restrictions se traduisent par certaines responsabilités pour ce qui le concerne, s’il distribue des
copies de logiciels ou s’il les modifie.
Par exemple, s’il distribue des copies d'un tel programme, gratuitement ou contre une rémunération, il doit transférer aux destinataires tous les droits dont il dispose. Il ne doit garantir que lui-même,
par ailleurs, reçoit ou peut recevoir le code source. Et il doit leur
montrer les présentes dispositions, de façon qu'ils connaissent
leurs droits.
Les droits de l’utilisateur sont protégés en deux étapes :
— 1. le droit d'auteur (copyright) du logiciel est assuré ;
— 2. une licence lui donne l'autorisation légale de dupliquer, distribuer et/ou modifier le logiciel.
De même, pour la protection de chacun des auteurs, et pour la
protection de la fondation. Il faut s’assurer que tout le monde comprenne qu'il n'y a aucune garantie portant sur ce logiciel libre. Si le
logiciel est modifié par quelqu'un d'autre puis transmis à des tiers,
il est préférable que les destinataires sachent que ce qu'ils possèdent n'est pas l'original, de façon que tous problèmes introduits par
d'autres ne se traduisent pas par une répercussion négative sur la
réputation de l'auteur original.
Enfin, tout programme libre est en permanence menacé par des
brevets de logiciels. Il faut éviter que des sous-distributeurs d'un
programme libre obtiennent à titre individuel des licences de brevets, avec comme conséquence qu'ils aient un droit de propriété sur
le programme. Pour éviter cette situation, tous les brevets doivent
faire l'objet d'une concession de licence qui en permette l'utilisation
libre par quiconque, ou bien qu'il ne soit pas concédé du tout.
Nous présentons ci-après les clauses et dispositions concernant
la duplication, la distribution et la modification.
1.2.2 Conditions d’exploitation portant sur la
duplication, la distribution et la modification
1. Le présent contrat de licence s'applique à tout programme ou
autre ouvrage contenant un avis, apposé par le détenteur du droit de
propriété, disant qu'il peut être distribué au titre des dispositions de
la présente licence publique générale. Ci-après, le « programme »
désigne l'un quelconque de ces programmes ou ouvrages, et un
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
H 1 538 − 5
SYSTÈME LINUX _______________________________________________________________________________________________________________________
« ouvrage fondé sur le programme » désigne soit le programme,
soit un ouvrage qui en dérive au titre de la loi sur le droit d'auteur ;
plus précisément, il s'agira d'un ouvrage contenant le programme
ou une version de ce dernier, soit mot à mot, soit avec des modifications et/ou traduit en une autre langue (ci-après, le terme « modification » englobe, sans aucune limitation, les traductions qui en
sont faites). Chaque titulaire de licence sera appelé « concessionnaire ».
Les activités autres que la duplication, la distribution et la modification ne sont pas couvertes par la présente licence ; elles n'entrent
pas dans le cadre de cette dernière. L'exécution du programme n'est
soumise à aucune restriction et les résultats du programme ne sont
couverts que si son contenu constitue un ouvrage fondé sur le programme (indépendamment du fait qu'il a été réalisé par exécution
du programme). La véracité de ce qui précède dépend de ce que fait
le programme.
2. Le concessionnaire peut dupliquer et distribuer des copies mot
à mot du code source du programme tel qu'il les reçoit, et ce sur un
support quelconque, du moment qu'il appose, d'une manière parfaitement visible et appropriée, sur chaque exemplaire, un avis
approprié de droits d'auteur (copyright) et de renonciation à garantie, qu'il maintient intacts tous les avis qui se rapportent à la présente licence et à l'absence de toute garantie et qu'il transmet à tout
destinataire du programme un exemplaire de la présente licence en
même temps que le programme.
Le concessionnaire peut facturer l'acte physique de transfert d'un
exemplaire et il peut, à sa discrétion, proposer en échange d'une
rémunération une protection en garantie.
3. Le concessionnaire peut modifier son ou ses exemplaires du
programme ou de toute portion de ce dernier, en formant ainsi un
ouvrage fondé sur le programme, et dupliquer et distribuer ces
modifications ou cet ouvrage selon les dispositions de la section 1
ci-avant, du moment que le concessionnaire satisfait aussi à toutes
les conditions suivantes :
a. Le concessionnaire doit faire en sorte que les fichiers modifiés portent un avis, parfaitement visible, disant que le concessionnaire a modifié les fichiers, avec la date de tout changement.
b. Le concessionnaire doit faire en sorte que tout ouvrage qu'il
distribue ou publie et qui, en totalité ou en partie, contient le programme ou une partie quelconque de ce dernier ou en dérive, soit
concédé en bloc, à titre gracieux, à tous tiers au titre des dispositions de la présente licence.
c. Si le programme modifié lit normalement des instructions
interactives lors de son exécution, le concessionnaire doit, quand il
commence l'exécution du programme pour une telle utilisation interactive de la manière la plus usuelle, faire en sorte que ce programme
imprime ou affiche une annonce, comprenant un avis approprié de
droits d'auteur et un avis selon lequel il n'y a aucune garantie (ou
autrement, que le concessionnaire fournit une garantie) et que les
utilisateurs peuvent redistribuer le programme au titre de ces dispositions, et disant à l'utilisateur comment visualiser une copie de
cette licence (exception : si le programme par lui-même est interactif
mais n'imprime normalement pas une telle annonce, l'ouvrage du
concessionnaire se fondant sur le programme n'a pas besoin
d'imprimer une annonce).
Les exigences ci-avant s'appliquent à l'ouvrage modifié pris en
bloc. Si des sections identifiables de cet ouvrage ne dérivent pas du
programme et peuvent être considérées raisonnablement comme
représentant des ouvrages indépendants et distincts par euxmêmes, alors la présente licence, et ses dispositions, ne s'appliquent pas à ces sections quand le concessionnaire les distribue sous
forme d'ouvrages distincts. Mais quand le concessionnaire distribue
ces mêmes sections en tant qu'élément d'un tout qui représente un
ouvrage se fondant sur le programme, la distribution de ce tout doit
se faire conformément aux dispositions de la présente licence, dont
les autorisations, portant sur d'autres concessionnaires, s'étendent
à la totalité dont il est question, et ainsi à chacune de ces parties,
indépendamment de celui qui l’a écrite.
H 1 538 − 6
Ainsi, cette section n'a pas pour but de revendiquer des droits ou
de contester vos droits sur un ouvrage entièrement écrit par le
concessionnaire ; bien plus, l'intention est d'exercer le droit de surveiller la distribution d'ouvrages dérivée ou collective se fondant sur
le programme.
De plus, un simple assemblage d'un autre ouvrage ne se fondant
pas sur le programme, avec le programme (ou avec un ouvrage se
fondant sur le programme) sur un volume d'un support de stockage
ou distribution, ne fait pas entrer l'autre ouvrage dans le cadre de la
présente licence.
4. Le concessionnaire peut dupliquer et distribuer le programme
(ou un ouvrage se fondant sur ce dernier, au titre de la section 2), en
code objet ou sous une forme exécutable, au titre des dispositions
des sections 1 et 2 ci-avant, du moment que le concessionnaire
effectue aussi l'une des opérations suivantes :
— a : lui joindre le code source complet correspondant, exploitable par une machine, code qui doit être distribué au titre des sections 1 et 2 ci-avant sur un support couramment utilisé pour
l'échange de logiciels ;
— b : lui joindre une offre écrite, dont la validité se prolonge pendant au moins 3 ans, de transmettre à un tiers quelconque, pour un
montant non supérieur au coût pour le concessionnaire, de réalisation physique de la distribution de la source, un exemplaire
complet, exploitable par une machine, du code source correspondant, qui devra être distribué au titre des dispositions des sections 1
et 2 ci-avant sur un support couramment utilisé pour l'échange des
logiciels ;
— c : lui joindre les informations que le concessionnaire a reçues,
pour proposer une distribution du code source correspondant (cette
variante n'est autorisée que pour la distribution non commerciale,
et seulement si le concessionnaire a reçu le programme sous forme
exécutable ou sous forme d'un code objet, avec une telle offre,
conformément à l'alinéa b) ci-avant).
Le code source d'un ouvrage représente la forme préférée de
l'ouvrage pour y effectuer des modifications. Pour un ouvrage exécutable, le code source complet représente la totalité du code
source pour tous les modules qu'il contient, plus tous fichiers de
définitions d'interface associés, plus les informations en code
machine pour commander la compilation et l'installation du programme exécutable. Cependant, à titre d'exceptions spéciales, le
code source distribué n'a pas besoin de comprendre quoi que ce
soit qui est normalement distribué (sous forme source ou sous
forme binaire) avec les composants principaux (compilateur, noyau
de système d'exploitation, etc.) du système d'exploitation sur lequel
est exécuté le programme exécutable, à moins que le composant,
par lui-même, soit joint au programme exécutable.
Si la distribution de l‘exécutable ou du code objet est réalisée de
telle sorte qu'elle offre d'accéder à une copie à partir d'un lieu désigné, alors le fait d'offrir un accès équivalent à la duplication du code
source à partir de ce même lieu s'entend comme distribution du
code source, même si des tiers ne sont pas contraints de dupliquer
la source en même temps que le code objet.
5. Le concessionnaire ne peut dupliquer, modifier, concéder en
sous-licence ou distribuer le programme, sauf si cela est expressément prévu par les dispositions de la présente licence. Toute tentative pour autrement dupliquer, modifier, concéder en sous-licence
ou distribuer le programme est répétée nulle et met automatiquement fin aux droits du concessionnaire au titre de la présente
licence. Cependant, les parties qui ont reçu des copies ou des droits,
de la part du concessionnaire au titre de la présente licence, ne verront pas expirer leur contrat de licence, tant que ces parties agissent
d'une manière parfaitement conforme.
6. Il n'est pas exigé du concessionnaire qu'il accepte la présente
licence, car il ne l'a pas signée. Cependant, rien d'autre n'octroie au
concessionnaire l'autorisation de modifier ou de distribuer le programme ou ses ouvrages dérivés. Ces actions sont interdites par la
loi si le concessionnaire n'accepte pas la présente licence. En conséquence, par le fait de modifier ou de distribuer le programme (ou un
ouvrage quelconque se fondant sur le programme), le concession-
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________________________
naire indique qu'il accepte la présente licence, et qu'il a la volonté de
se conformer à toutes les closes et dispositions concernant la duplication, la distribution ou la modification du programme ou d'ouvrages se fondant sur ce dernier.
7. Chaque fois que le concessionnaire redistribue le programme
(ou tout ouvrage se fondant sur le programme), le destinataire
reçoit automatiquement une licence de l'émetteur initial de la
licence pour dupliquer, distribuer ou modifier le programme, sous
réserve des présentes closes et dispositions. Le concessionnaire ne
peut imposer aucune restriction plus poussée sur l'exercice, par le
destinataire, des droits octroyés au titre des présentes. Le concessionnaire n'a pas pour responsabilité d'exiger que des tiers se conforment à la présente licence.
8. Si, en conséquence une décision de justice ou une allégation
d'infraction au droit des brevets, ou pour toute autre raison (qui
n'est pas limitée à des problèmes de propriétés industrielles), des
conditions sont imposées au concessionnaire (par autorité de justice, par convention ou autrement), qui entrent en contradiction
avec les dispositions de la présente licence, elles n'exemptent pas le
concessionnaire de respecter les dispositions de la présente licence.
Si le concessionnaire ne peut procéder à la distribution de façon à
satisfaire simultanément à ces obligations au titre de la présente
licence et à toutes les autres obligations pertinentes, alors, en conséquence de ce qui précède, le concessionnaire peut ne pas procéder du tout à la distribution du programme. Par exemple, si une
licence de brevet ne permettait pas une redistribution du programme, sans redevances, par tous ceux qui reçoivent des copies
directement ou indirectement par l'intermédiaire du concessionnaire, alors le seul moyen par lequel le concessionnaire pourrait
satisfaire tant à cette licence de brevet qu'à la présente licence, consisterait à s'abstenir complètement de distribuer le programme.
Si une partie quelconque de cette section est considérée comme
nulle ou non exécutoire dans certaines circonstances particulières,
le reste de cette section est réputé s'appliquer et la section dans son
ensemble est considérée comme s'appliquant dans les autres circonstances.
La présente section n'a pas pour objet de pousser le concessionnaire à enfreindre tous brevets ou autres revendications à droit de
propriété, ou encore à contester la validité de une ou plusieurs quelconques de ces revendications ; la présente section a pour objet unique de protéger l'intégrité du système de distribution des logiciels
libres, système qui est mis en œuvre par les pratiques liées aux
licences publiques. De nombreuses personnes ont apporté une forte
contribution à la gamme étendue des logiciels distribués par ce système, en comptant sur l'application systématique de ce système ;
c'est à l'auteur/donateur de décider s'il a la volonté de distribuer le
logiciel par un quelconque autre système et un concessionnaire ne
peut imposer ce choix.
La présente section veut rendre parfaitement claire ce que l'on
pense être une conséquence du reste de la présente licence.
9. Si la distribution et/ou l'utilisation du programme est restreinte
dans certains pays, sous l'effet de brevets ou d'interfaces présentant
un droit d'auteur, le détenteur du droit d'auteur original, qui soumet
le programme aux dispositions de la présente licence, pourra ajouter une limitation expresse de distribution géographique excluant
ces pays, de façon que la distribution ne soit autorisée que dans les
pays ou parmi les pays qui ne sont pas ainsi exclus. Dans ce cas, la
limitation fait partie intégrante de la présente licence, comme si elle
était écrite dans le corps de la présente licence.
La Free Software Foundation peut, de temps à autre, publier des
versions révisées et/ou nouvelles du General Public License. Ces
nouvelles versions seront analogues, du point de vue de leur esprit,
à la présente version, mais pourront en différer dans le détail, pour
résoudre de nouveaux problèmes ou de nouvelles situations.
Chaque version reçoit un numéro de version qui lui est propre. Si
le programme spécifie un numéro de version de la présente licence,
qui s'applique à cette dernière et « à toute autre version ultérieure »,
le concessionnaire a le choix de respecter les closes et dispositions
SYSTÈME LINUX
de cette version, ou une quelconque version ultérieure publiée par
la Free Software Foundation. Si le programme ne spécifie pas de
numéro de version de la présente licence, le concessionnaire pourra
choisir une version quelconque publiée à tout moment par la Free
Software Foundation.
10. Si le concessionnaire souhaite incorporer des parties du programme dans d'autres programmes libres dont les conditions de
distribution sont différentes, il devrait écrire à l'auteur pour demander son autorisation. Pour un logiciel soumis à droit d'auteur par la
Free Software Foundation, il devra écrire à la Free Software Foundation qui fait quelquefois des exceptions à cette règle. La décision va
être guidée par le double objectif de protéger le statut libre de tous
les dérivés des logiciels libres et de favoriser le partage et la réutilisation des logiciels en général.
ABSENCE DE GARANTIE
11. COMME LA LICENCE DU PROGRAMME EST CONCÉDÉE À
TITRE GRATUIT, IL N'Y AUCUNE GARANTIE S'APPLIQUANT AU
PROGRAMME, DANS LA MESURE AUTORISÉE PAR LA LOI EN
VIGUEUR. SAUF MENTION CONTRAIRE ÉCRITE, LES DÉTENTEURS
DU DROIT D'AUTEUR ET/OU LES AUTRES PARTIES METTENT LE
PROGRAMME A DISPOSITON « EN L'ÉTAT », SANS AUCUNE
GARANTIE DE QUELQUE NATURE QUE CE SOIT, EXPRESSE OU
IMPLICITE, Y COMPRIS, MAIS SANS LIMITATION, LES GARANTIES
IMPLICITES DE COMMERCIALISATION ET DE L'APTITUDE A UN
OBJET PARTICULIER. C'EST LE CONCESSIONNAIRE QUI PREND LA
TOTALITÉ DU RISQUE QUANT A LA QUALITÉ ET AUX PERFORMANCES DU PROGRAMME. SI LE PROGRAMME SE RÉVÉLAIT
DEFECTUEUX, C'EST LE CONCESSIONNAIRE QUI PRENDRAIT À SA
CHARGE LE COÛT DE L'ENSEMBLE DES OPERATIONS NÉCESSAIRES D'ENTRETIEN, RÉPARATION OU CORRECTION.
12. EN AUCUN CAS, SAUF SI LA LOI EN VIGUEUR L'EXIGE OU SI
UNE CONVENTION ÉCRITE EXISTE A CE SUJET, AUCUN DÉTENTEUR DE DROITS D'AUTEUR, OU AUCUNE PARTIE AYANT LE POUVOIR DE MODIFIER ET/OU DE REDISTRIBUER LE PROGRAMME
CONFORMÉMENT AUX AUTORISATIONS CI-AVANT (sections 1 à
10), N'EST RESPONSABLE VIS-A-VIS DU CONCESSIONNAIRE
POUR CE QUI EST DES DOMMAGES, Y COMPRIS TOUS DOMMAGES GÉNÉRAUX, SPÉCIAUX, ACCIDENTELS OU INDIRECTS,
RÉSULTANT DE L'UTILISATION OU DU PROGRAMME OU DE
L'IMPOSSIBILITÉ D'UTILISER LE PROGRAMME (Y COMPRIS, MAIS
SANS LIMITATION, LA PERTE DE DONNÉES, OU LE FAIT QUE DES
DONNÉES SONT RENDUES IMPRÉCISES, OU ENCORE LES PERTES
ÉPROUVÉES PAR LE CONCESSIONNAIRE OU PAR DES TIERS, OU
ENCORE UN MANQUEMENT DU PROGRAMME À FONCTIONNER
AVEC TOUS LES AUTRES PROGRAMMES), MÊME SI CE DÉTENTEUR OU CETTE AUTRE PARTIE A ÉTÉ AVISÉ DE LA POSSIBILITÉ
DE TELS DOMMAGES.
Actuellement, un travail d’adaptation au droit français de
cette traduction est en cours.
2. Installation
2.1 Identification des besoins
Lors d’un renouvellement ou d’une évolution du parc informatique, il est intéressant de suivre les nouvelles tendances. À l’opposé,
par répulsion allergique, on peut être tenté d’ignorer ces nouveautés. Linux n’a pas échappé à cette règle, d’autant plus que nous
sommes en présence d’un paradoxe extrême au niveau de l’entreprise puisqu’un logiciel GPL n’a aucune garantie contractuelle de
fonctionner correctement, tandis qu’un logiciel commercial possède
– en contrepartie d’un coût parfois très élevé – un semblant de
garantie représentée par un service technique et des mises à jour. Et
c’est bien là le paradoxe, car personne ne peut assurer le « zéro
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
H 1 538 − 7
SYSTÈME LINUX _______________________________________________________________________________________________________________________
défaut » d’un logiciel commercial ou non. Dans ce cas, pourquoi ne
pas tenter l’expérience Linux ?
Il paraît cependant plus raisonnable de laisser de coté cette querelle Windows/Linux, pour se concentrer sur le processus classique
qui devrait précéder toute décision concernant les ressources informatiques.
La première étape doit être l’identification des besoins. L’intégration de Linux dans les ressources informatiques d’une entreprise
doit être guidée par des besoins bien définis. Il est impensable et
irréaliste de vouloir un passage au « tout Linux » pour la plupart des
entreprises existantes et l’adoption d’une solution « tout Linux »
pour une création d’entreprise est risquée (sauf cas particulier de
société de services basées sur Linux). Cette identification des
besoins se fait généralement à partir d’un état des lieux qui peut
prendre aussi bien la forme d’une simple constatation que d’un
audit officiel. Le point principal se situe sur l’adéquation entre les
besoins spécifiques (étroitement liés aux marchés visés par l’entreprise) et les avantages de Linux.
La réelle difficulté, est alors de transposer les « besoins en terme
d’applications » en besoins exprimés de manière plus abstraite sous
forme de « domaines de compétence ». Le problème du choix des
applications est ainsi contourné puisque l’on va choisir un domaine
où les solutions Linux sont disponibles et performantes. Cependant,
il est légitime de s’interroger sur la disponibilité des offres logicielles pour un tel produit puisque c’est une des difficultés rencontrée
par les systèmes d’exploitation (en dehors de ceux de Microsoft). Le
paragraphe 3 est une réponse à cette interrogation. Il est consacré à
lever quelques ambiguïtés et idées reçues sur le manque d’applications sous Linux.
De façon synthétique la question préalablement posée était :
« Doit-on passer à Linux, pourquoi et lequel ? »
mais la problématique serait plutôt :
« Dans quels domaines sont mes besoins ? »
En général, on peut distinguer quatre domaines où Linux apporte
de réels avantages :
■ Le premier domaine est évidemment l’ouverture sur le monde
Unix à moindre coût. Ce fut une des raisons du succès de Linux en
Université puisque le monde universitaire était un des berceaux
d’Unix. La percée du monde Unix au sein des entreprises peut naturellement pousser ces dernières à regarder Linux comme solution
de remplacement. L’investissement est dans ce cas très faible, puisque l’entreprise en interne a les connaissances sur Unix et le portage d’applications est bien plus court que pour un portage sous NT.
Un sous-ensemble de ce domaine est l’utilisation de « petits PC
sous Linux » pour la mise au point de grands codes tournant sur des
très gros calculateurs (dont les temps d’utilisation sont réglementés
et payants). L’environnement de travail n’est pas bouleversé, l’ingénieur ayant l’habitude de développer sur une station SUN, HP, Alpha
ou un terminal X retrouve rapidement ses repères et découvrira certaines originalités intéressantes. L’intégration de machines Linux au
sein d’un réseau homogène Unix (ou même hétérogène) ne pose
aucune difficulté puisque Linux comme Unix se base sur TCP/IP
comme protocole réseau standard. Enfin, la plupart des outils fonctionnant sous Unix, fonctionnent sous Linux. De plus, ceux-ci sont
parfois des versions GPL comme par exemple le compilateur C (le
fameux GCC) contrairement aux Unix tels que Solaris, Digital Unix,
HP-UX qui possèdent une version propriétaire.
■ Le second domaine est Internet. Pour des raisons historiques de
développement, Linux a intégré depuis le début l’environnement
nécessaire au travail sur Internet, depuis les couches bases du
réseau (TCP/IP étant le protocole d’Internet et celui utilisé nativement par Linux) en passant par des utilitaires de configurations, des
applications clientes et jusqu’à des applications serveurs comme
Apache (autre exemple maintes fois cité de réussite de « logiciel
libre »).
Au niveau des protocoles, Linux gère TCP/IP, avec les drivers des
cartes Ethernet les plus répandues (10 Mbits et même 100 Mbits) y
H 1 538 − 8
compris les cartes PCCARD (ex PCMCIA) pour portables. L’interfaçage avec différents réseaux comme IPX, appletalk, netware, x25
peut se faire sans problème. Des solutions ATM sous Linux existent,
mais ne sont cependant qu’en phase de développement.
Du côté serveur, la gestion des services FTP, NFS, HTTP, IMAP,
POP3, IRC… est assurée par des deamons pouvant être chargés/
déchargés à la demande. Le service de connexion TELNET est en
permanence présent, mais peut cependant être totalement configuré pour une sécurité accrue.
Au sujet des applications clientes, de nombreuses sont fournies
dans une distribution basique de Linux, y compris le protocole PPP
(ainsi que des outils de configuration) garantissant une mise en service rapide d’une connexion Internet. Il est alors possible ultérieurement de télécharger (par le client FTP fourni ou un Browser intégré
à KDE ou GNOME) ses clients favoris comme par exemple Netscape
Communicator. Ce dernier est un exemple d’application cliente – fournie dans certaines distributions de Linux – gérant les services de Mél,
FTP et Browser Web tournant aussi bien sous Windows que sous
Linux, ne perturbant pas les habitudes de l’utilisateur.
■ Un autre domaine, proche de l’Internet, où Linux excelle est celui
de la sécurité. De par sa conception multiutilisateur, empruntée à
Unix (cf. [H 1 528], réf. [3]), le rôle de chaque utilisateur peut être
défini précisément et une seule personne, le superutilisateur, possède l’ensemble des droits sur le système. L’accès étant sécurisé par
l’utilisation d’un mot de passe qui sera crypté par le système
(l’authentification est faite en mode crypté par comparaison ; le système ne possède donc pas d’algorithme de décryptage pouvant être
piraté), le niveau de sécurité est alors lié au choix judicieux de mot
de passe et au renouvellement périodique à entreprendre. Ce choix
reste encore l’apanage des utilisateurs, mais il est de plus en plus
guidé par l’administrateur qui peut restreindre les possibilités (interdiction de nom provenant d’un dictionnaire, de nom propre, de prénom ; obligation de mélanger chiffres et lettres voire ponctuations)
et obliger des changements périodiques.
Le réel défaut des systèmes Unix se situe dans la mauvaise utilisation des programmes privilégiés. Une vérification systématique et
régulière est à entreprendre lorsque l’on veut se prémunir contre
des infiltrations ou du piratage.
La possibilité de configurer une machine Linux comme Firewall
est aussi un moyen efficace de contenir des infiltrations sur un
réseau interne.
■ Enfin, un besoin ultime, omniprésent dans différents domaines
(Internet, gestion, scientifique…) serait l’acquisition d’un système
stable tournant à pleine charge sans interruption avec des possibilités de reconfiguration à chaud (rajout de swap, rajout de disques, migration de volumes…). Le marché du serveur d’applications
ou du nœud de calcul est bien celui visé par les dernières versions
de Linux et la tendance se confirme avec la disponibilité de produits
phares dans le monde des Bases de données. Ainsi, les dernières
évolutions de Linux prennent en charge une mémoire centrale pouvant atteindre 3,5 Go, un système de fichiers journalisé (permettant
une restauration en quelques secondes lors d’un arrêt brutal et
intempestif) et une gestion de volume logique (LVM : Logical
Volume Manager) qui permet un redimensionnement des partitions
en fonctionnement.
Si les besoins de l’utilisateur rentrent dans l’une de ces catégories, Linux peut résoudre plusieurs de ses problèmes, cependant, le
choix de la distribution lui incombera puisque Linux se décline en
plusieurs offres.
2.2 Tour d’horizon des différentes offres
Il est toujours difficile de choisir une distribution Linux pour deux
raisons : d’une part, le réflexe de se dire qu’à la base c’est le même
logiciel (à une version du noyau près, puisqu’une distribution peut
avoir la toute dernière version du noyau stable) et donc un esprit
cartésien ne comprendra pas le besoin de statuer sur les différentes
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________________________
distributions. D’autre part, une fois la décision prise d’utiliser la distribution qui convient le mieux à votre entreprise, quelle assurance
avez-vous que cette distribution soit pérenne ?.
Quelques règles sont alors à respecter pour que ce choix cornélien se transforme en sage décision.
En préambule, sachez qu’il n’existe plus qu’une distribution respectant scrupuleusement l’esprit « logiciel libre » en ce sens qu’elle
ne contient que du code libre, c’est la DEBIAN. L’introduction d’une
composante commerciale peut prendre différentes formes : d’une
simple contribution pour la compilation du système et de divers
outils sur un même support avec une procédure d’installation propriétaire, d’un support technique (c’est le cas REDHAT, MANDRAKE
ou SUSE) ou encore plus axé sur le monde professionnel (OpenLinux de CALDERA) avec développement spécifique (Netware), logiciels bureautiques et grande facilité d’installation (la meilleure
actuelle), mais reposant sur le principe de Licence par poste.
Le cas DEBIAN est à considérer uniquement si l’esprit « logiciel
libre » vous tente, que vous possédez les connaissances techniques
en interne pour l’installer et le maintenir. La DEBIAN ne propose pas
d’installation automatique ; il y a contrôle permanent et complet lors
de l’installation pour responsabiliser l’administrateur système ;
corollaire : nous sommes en présence d’une distribution très sécurisée et stable (à tel point, qu’elle est préférée à toutes ses concurrentes pour une installation de serveurs d’entreprises par les sociétés
de services). De plus, l’assistance se réalise par le biais de sites Web,
d’infogroupes ou de listes de publipostage et l’ajout de programmes supplémentaires passe par un format propriétaire (DEB) et non
par le standard RPM imposé par REDHAT.
Hormis cette distribution, il convient de se soucier de trois points :
— la facilité d’installation et de configuration ;
— les logiciels fournis et la facilité de rajout d’applications ;
— le support technique.
Pour le premier point et en supposant que l’on veuille faire passer
une machine du monde Windows au monde Linux, on peut
conseiller sans réserve l’OpenLinux de la société CALDERA qui
s’installe à partir de Windows. Une simple icône sous Windows prépare le disque dur (cf. § 2.3) par Partition Magic sans perdre aucune
information, crée une disquette d’amorçage et redémarre l’ordinateur avec cette dernière pour un programme d’installation entièrement graphique. Pendant la copie du système, il est possible de
configurer la machine (par exemple le réseau) sous X-Window. Au
niveau des logiciels fournis, l’OpenLinux est relativement complet.
Le plus grand inconvénient se situe au niveau de la licence par poste
qui représente un coût relativement important dès lors que l’installation se fait sur un parc de machines. De plus, ce mode de licence
se comprenait, au moment où CALDERA était l’unique société à proposer une version professionnelle de Linux, mais actuellement des
produits comme REDHAT, SUSE ou MANDRAKE propose ce style de
prestations pour un prix unique (quel que soit le nombre de postes).
REDHAT et SUSE navigue dans un cadre fortement concurrentiel
et propose des options différentes et néanmoins intéressantes
quant à leur stratégie Linux.
Prenons pour commencer la distribution SUSE, allemande, ayant
conquis 80 % du marché intérieur et qui essaye de se lancer aux
États-Unis. Ce qui distingue cette distribution est la profusion
d’applications complémentaires (pour ne citer que quelques exemples : ViaVoice d’IBM, Realplayer, VMWare, outils de gestion de
Cluster BEOWULF, ainsi que l’ensemble des produits GPL sous
Linux). L’installation reposant sur une interface graphique propriétaire (Yast) n’est pas des plus simples puisqu’elle se base sur des
menus et non sur un mode linéaire (étape par étape). L’utilisateur
habitué s’y retrouvera facilement et ne sélectionnera que les applications qui l’intéressent, mais pour un premier contact la tâche se
révèle laborieuse. Cependant, une possibilité d’installation par
scripts à enregistrer sur disquette permet un clonage sur un parc
homogène.
La distribution REDHAT semble présenter une meilleure approche
en tant que compromis au niveau facilité d’installation et logiciels
SYSTÈME LINUX
fournis. L’installation est automatique et linéaire dès l’insertion de la
disquette d’amorçage (Boot) et le CD-rom contenant l’ensemble de
la distribution sous forme d’archive RPM (REDHAT package Manager). Détail important pour la pérennité du système, ce format
d’archive bien que propriétaire à REDHAT est devenu un standard
de fait (la plupart des logiciels GPL le reprennent pour mettre à disposition sur Internet une procédure rapide d’installation) et possède
des avantages indéniables par rapport aux fameuses archives Unix
(obtenues à partir de la commande tar) ; en particulier, il est possible
de recenser l’ensemble des logiciels installés, d’obtenir une liste de
dépendances (vis-à-vis des autres logiciels et des versions des
librairies) d’un logiciel à installer et de configurer le dit logiciel. Un
intérêt supplémentaire dans la procédure d’installation mise en
place par REDHAT est la possibilité de réaliser une (ou plusieurs)
installation(s) à partir du réseau et cela par différents protocoles
(NFS, SMB, FTP, HTTP) de même que le chargement d’une application. L’environnement par défaut est GNOME (mais KDE est présent
et peut être choisi très facilement) et l’interface d’installation propose un mode de démarrage graphique par défaut (runlevel 5 pour
le SysV5 init), ce qui se traduit par la présence d’une fenêtre de login
dans un environnement convivial lors du démarrage. La configuration du système peut être réalisée dans ce mode par l’utilisation de
linuxconf (cf. § 2.5). La distribution possède un certain nombre de
logiciels et des versions de démonstration de produits tels que
StarOffice, ViaVoice... mais l’installation des versions définitives ou
de différents produits archivés en RPM se réalise avec une simplicité
déconcertante (pour ceux qui ont connu les joies des sources à
recompiler). REDHAT dispose d’une infrastructure proposant des
cours et a mis en place un système de certification.
Pour information, il existe une distribution française dérivée de la
REDHAT, nommée MANDRAKE qui se positionne comme poste de
travail pour la bureautique (WordPerfect et StarOffice étant fournis)
le plus ressemblant à Windows (allant même jusqu’à préserver les
raccourcis clavier). Cette solution représente une très bonne base
pour une transition en douceur vers Linux pour un public ne connaissant que Microsoft Windows. L’installation est très sensiblement la même que pour REDHAT, avec la possibilité supplémentaire
de créer des installations « clonées ».
Outre ces distributions classiques, il existe des distributions ésotériques telles que Skygate (travaillant au sein d’une partition Windows) ou Trinux (un mini Linux sur une disquette permettant par
exemple de recycler un ancien PC en surveillant réseau grâce aux
outils tcpdump, nmap, satan).
Une fois le choix délicat de la distribution faite, il me paraît indispensable de ne pas se précipiter sur l’installation directement, mais
plutôt de consacrer un peu de temps à une étape préliminaire trop
souvent négligée : la spécification de l’installation à réaliser.
2.3 Étape de préinstallation
La première information à acquérir est l’assurance que le matériel
de l’ordinateur cible (celui sur lequel Linux devra être installé) est
bien reconnu par la version actuelle de Linux. Quand on parle de
matériel reconnu, il faut entendre périphérique et non unité centrale
(qui est toujours reconnue). En règle général, Linux reconnaît et de
façon automatique la plupart des périphériques standards (carte
graphique, carte réseau, carte son, carte modem/fax, carte SCSI et
périphériques SCSI, USB) ; cependant, si vous désirez que Linux
prenne en compte la toute dernière carte accélératrice 3D, il est préférable de s’en assurer. De même, l’installation de Linux sur un portable peut se révéler périlleuse si on ne prend pas des précautions
(un portable de par son intégration extrême, renferme des composants ésotériques pour les cartes graphiques, cartes son et modem).
Une base de connaissance (les HOWTO et les sites Web) sur le matériel supporté par Linux est maintenue à jour en permanence et permet des vérifications rapides. Si vous ne connaissez pas les
différentes marques de périphériques qui sont attachées à votre
ordinateur, deux solutions s’offrent à vous.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
H 1 538 − 9
SYSTÈME LINUX _______________________________________________________________________________________________________________________
Ces deux options se déterminent en fonction de la réponse à la
question préliminaire : doit-on installer un système Linux seul (cas
d’une nouvelle machine, par exemple) ou un système Linux/Windows (cas d’un système Windows existant).
La première option ne requiert pas de sauvegarde du système
existant ; on peut donc laisser Linux (comme pour Windows) faire la
détection automatique. Dans la grande majorité des cas, le résultat
est correct (cf. § 2.4 pour un contrôle de l’installation). Si toutefois,
un ou plusieurs périphériques font défaut, il convient de se renseigner auprès du service de maintenance de l’ordinateur pour avoir
exactement les marques et modèles des dits périphériques.
La deuxième option est plus délicate, préserver un système existant nécessite une sauvegarde complète de sécurité. Une restructuration de l’espace disque sera nécessaire (cela fait l’objet du dernier
point de ce paragraphe sur la préparation en vue d’une installation).
Pourtant l’intérêt d’une telle solution est important, puisqu’il est
alors possible d’avoir le meilleur des deux mondes (cf. § 3.4). L’utilisation de Windows permet de connaître l’ensemble des périphériques installées, leurs marques, et leur configuration (figure 2).
Il est, dans les deux cas, préférable de constituer un dossier
d’inventaire du hardware présent sur l’ordinateur cible.
L’installation de Linux nécessite au minimum deux partitions de
disque dur (standard IDE ou SCSI), une pour le système principal et
l’autre pour l’espace de mémoire virtuelle : le swap. La solution la
plus simple est le rajout d’un disque (ou l’utilisation complète du
disque installé dans une optique d’installation Linux seul). Dans ce
cas, il suffit de créer ces deux partitions avec la commande fdisk de
Linux (il existe une commande de même nom et de même usage
en Dos, mais qui n’est pas capable de créer des partitions Linux). Il
faut savoir que l’aspect statique et irrémédiable de ce partionnement est une des contraintes du système de fichiers ext2 (celui par
défaut pour Linux) qui devrait disparaître à terme par l’adoption du
système LVM (§ 2.1). Par le mécanisme des points de montage (cf.
[H 1 528], ref. [3] mount), il est facile d’étendre l’espace de travail
des utilisateurs, mais il en est tout autrement lorsque l’on veut
étendre la partition système pour installer une nouvelle applica-
tion gourmande qui place obligatoirement ses librairies dans /lib
(répertoire contenant l’ensemble des librairies système). Le choix
des différentes partitions et de leurs tailles est un point délicat à ne
pas négliger dans l’étude préliminaire et il dépend trop fortement
des besoins spécifiques à l’entreprise (applications lourdes en code,
en données, en utilisateurs…) pour donner une solution générale.
Dans le cas, plus complexe, d’une cohabitation avec un système
existant et une impossibilité d’utilisation de disques supplémentaires, on ne peut pas échapper à la restructuration des partitions
existantes. Deux solutions sont à envisager :
— la première solution qui est de faire confiance à des logiciels
de repartionnement (tels que Partition Magic de PowerQuest) qui
ont la capacité de créer plusieurs partitions sans perte de données à
partir d’une seule possédant suffisamment d’espaces libres, de
fusionner plusieurs partitions, de les formater (pour différents systèmes) ;
— la version « paranoïaque » qui est une remise à plat du système avec sauvegarde préalable. Les étapes sont alors les suivantes : destruction de toutes les partitions, création des nouvelles intégrant les partitions Linux, formatage, installation de l’ancien système et restauration puis installation de Linux.
La première est plus rapide et confortable mais toujours un peu
inquiétante. Quant au programme fdisk de Linux, il est de plus en
plus intégré à l’installation et des versions graphiques comme Disk
druide peuvent s’y substituer. Mais il faut savoir qu’il se contente de
détruire, créer, changer de type (ext2, swap, vfat, Dos…) les partitions en fonction de codes (documentés) à passer en ligne de commande, le formatage étant délégué (d’une manière de plus en plus
transparente pour l’utilisateur au cours de l’installation) à d’autres
programmes comme mke2fs.
2.4 Installation
Les procédures d’installation diffèrent suivant les distributions,
mais on remarque une tendance générale qui va vers une plus
grande simplicité de cette phase en essayant d’atteindre le but
ultime du « plug & play ». Certaines distributions vont même
jusqu’à proposer une installation complète et automatique à partir
de Windows. Il ne s’agit pas de rentrer en détails dans une explication pas à pas de l’installation de chaque distribution mais de résumer les différentes étapes d’une installation générique, sachant que
certaines notions pourront être absentes lors d’une installation personnalisée.
Une des grandes constantes des différentes installations est de
proposer une disquette d’amorçage (disquette de Boot) permettant
la configuration minimale de l’ordinateur cible ; on reviendra en
détail sur cette phase. Ainsi configuré, l’ordinateur peut copier le
système et l’ensemble des logiciels demandés sur la partition Linux
prévue à cet effet. La disquette d’amorçage permet aussi de sélectionner la source de la distribution. En effet, Linux, depuis son origine, est fourni sous forme de packages (avec des formats
propriétaires et différents suivant la distribution) qui peuvent être
stockés sur n’importe quel support (plusieurs dizaines de disquettes, CD-Rom, partition Linux ou autre de disque dur, point de montage NFS). Cette possibilité du choix de la source de distribution est
une caractéristique intéressante de Linux, qui actuellement avec le
faible coût des CD-Rom est sous employée, mais peut s’avérer une
bonne solution pour les sauvegardes et les mises à jour, en dédiant
par exemple une partition visible par NFS d’un serveur de sauvegarde pour créer un système « sauvegarde/production/évaluation »
ou « passé/présent/avenir ». Dans les faits, le plus souvent, on rencontre une installation à base de la fameuse disquette d’amorçage
et d’un CD-Rom.
Figure 2 – Configuration système sous Windows 95
H 1 538 − 10
Avant de détailler les différentes étapes de la configuration à
l’aide de la disquette d’amorçage, il est important de se pencher sur
la question d’une installation en vue d’une exploitation monoposte
ou réseau (sachant qu’il est toujours possible, mais plus fastidieux,
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________________________
de rajouter la composante réseau à une machine monoposte). Les
premières étapes de la configuration sont bien les mêmes, mais
l’arrivée rapide de questions du programme d’installation sur le
réseau (comme le numéro IP, DNS…) peut décontenancer les personnes n’ayant pas un minimum de connaissances réseau. Dans un
tel cas, il est préférable de demander au responsable réseau les différentes informations nécessaires décrites au sous-paragraphe
réseau. Dans un premier temps, regardons la configuration monoposte.
■ Monoposte
L’insertion de la disquette d’amorçage se fait traditionnellement
l’ordinateur hors-tension. Ainsi, lors de la mise sous tension (en prenant soin de régler dans le set-up du Bios la séquence d’amorçage
avec un démarrage par A:), l’ordinateur « boote » sous le programme d’installation de Linux. À partir de ce moment, diverses
questions sont posées entraînant une installation personnalisée.
Pour citer quelques demandes classiques, on aura à préciser le type
de clavier (qwerty ou azerty), le type de souris, la zone horaire. Une
détection automatique des unités de disques (CD-Rom et disques
durs) peut laisser place à une sélection interactive de la source (traditionnellement le CD-Rom) et de la destination (la partition Linux
principale). La confirmation de l’activation de la partition de swap
est de moins en moins présente ; puisque cette étape est nécessaire,
elle se fait d’office. La configuration de la carte graphique pour l’utilisation d’X-Window est automatique et ne nécessite aucune intervention dans la majorité des cas (exception faite des portables, et
des toutes dernières cartes accélératrices). La difficulté restante
peut résider dans le choix des composants à installer. Si l’espace du
disque dur est suffisant, n’hésitez pas à faire une installation complète. Il sera toujours temps ultérieurement d’enlever les packages
inutiles (la gestion des packages étant très performante dans la plupart des distributions). Si toutefois, vous désirez n’installer que ce
qui convient, il faut savoir que la plupart des distributions fonctionnent avec une hiérarchie des composants. On peut distinguer six ou
sept thèmes suivant les distributions :
— base : minimum pour un fonctionnement basique ;
— développement : compilateur, assembleur, environnement de
développement… ;
— applications : éditeurs, gestionnaire de fichiers… ;
— réseau : drivers, protocoles, applications serveurs/clients ;
— X-Window : environnement graphique ;
— sources : code source de Linux.
Une fois les différents composants sélectionnés, l’installation se
poursuit par la copie des fichiers, la demande d’un mot de passe
pour le superutilisateur et se termine par le redémarrage sous Linux
du poste de travail.
SYSTÈME LINUX
Exemple :
— Adresse IP (numéro IP) : 128.0.0.110
— Nom de l’ordinateur : cocquebert
— Nom de domaine : imerir.com
— DNS : 128.0.0.1
— Numéro de passerelle (gateway) : 128.0.0.1
— Netmask : 255.255.255.0
Enfin, la dernière différence est la sélection de l’ensemble des
composants concernant le réseau, si on désire personnaliser l’installation (dans le cas d’une installation complète, cette différence
n’existe pas).
2.5 Personnalisation (sans recompilation
du noyau)
Comme tout système Unix, la configuration et la personnalisation
s’effectuent à travers des fichiers (dénommés, fort justement,
fichiers de configuration). La modification de ces derniers peut se
faire directement dans un éditeur ou par l’appel d’une commande
en ligne telle que adduser pour ajouter un utilisateur. Ce mode de
fonctionnement bien qu’utile et rapide pour des experts Unix (il permet entre autres de procéder par scripts) devient une réelle entrave
à la personnalisation de Linux pour une personne familiarisée avec
un mode de configuration graphique comme sous Windows.
L’apparition d’interfaces graphiques conviviales pour paramétrer le
système permet à Linux de proposer une alternative efficace,
puisqu’un utilisateur possède le choix entre la configuration supervisée par l’interface et la manipulation directe des fichiers (souvent
plus rapide, mais plus risquée).
Une de ces interfaces conviviales et complètes est le linuxconf de
GNOME qui prend en charge deux fonctionnalités importantes qui
sont la configuration et le contrôle.
Comme le montre la figure 3, la configuration porte sur cinq
sujets qui sont :
— le réseau ;
— les comptes utilisateurs ;
— les systèmes de fichiers ;
— les services divers ;
— le mode de démarrage.
■ Réseau
La première différence se situe dans la détection automatique de
la carte réseau ou de sa sélection dans une liste au cas où la détection échouerait. Dans le cas d’une sélection manuelle, il est recommandé de connaître la marque et la référence précise de la carte
puisqu’il existe un très grand nombre de références supportées par
Linux mais n’ayant pas le même driver.
La seconde différence est la partie de configuration du réseau ;
elle est dans un premier temps la plus simple possible et peut s’enrichir au moyen de linuxconf une fois l’installation terminée et le
réseau opérationnel (cf. § 2.5).
Les informations essentielles sont au nombre de six ; il faut prendre soin de les demander auprès du responsable réseau et de les
répertorier clairement comme suit :
— adresse IP (numéro IP) : numéro sous la forme : xxx.xxx.xxx.xxx ;
— nom de l’ordinateur : un nom en caractères alphanumériques ;
— nom de domaine : un nom sous la forme : abc.fr ;
— DNS : une adresse sous la forme xxx.xxx.xxx.xxx ;
— numéro de passerelle (gateway) : une adresse sous la forme
xxx.xxx.xxx.xxx ;
— netmask : une adresse sous la forme xxx.xxx.xxx.xxx.
Figure 3 – GNOME. linuxconf
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
H 1 538 − 11
SYSTÈME LINUX _______________________________________________________________________________________________________________________
La configuration du réseau est particulièrement détaillée (figure 4)
et permet aussi bien le paramétrage de base coté client (cf. § 2.4) que
celui extrêmement complexe de diverses tâches serveurs (Samba,
Apache…).
Il est possible de configurer le mode de démarrage par linuxconf
(figure 7) qui se charge de paramétrer le loader LILO (cf. § 3.4) afin
de pouvoir « booter » sur différents systèmes d’exploitations ou différentes versions du noyau de Linux (cf. § 2.6).
Les diverses captures d’écran (figures 5 et 6) montrent l’étendue
des paramètres systèmes gérés par linuxconf (comptes et filesystem).
La deuxième fonctionnalité de linuxconf est le contrôle. Ce dernier s’effectue sur la configuration et sur les fichiers. Ainsi, on a la
possibilité de lister les services actifs (deamons), de les arrêter ou de
les activer (figure 8).
De même, le montage et démontage des volumes disques (locaux
ou distants) peut s’effectuer à travers cette interface (figure 9).
D’un point de vue didactique, linuxconf propose une liste des
fichiers de configuration qu’il gère, ainsi qu’une aide sur ces derniers (figure 10).
Cependant, faire évoluer une configuration nécessite parfois de
rajouter des nouveaux périphériques ou de les modifier. Jusqu’à la
version 2.0 du noyau, cette évolution était fortement contraignante
par la structure même de Linux. En effet, basée sur une vision
monolithique de l’interface entre l’utilisateur et le matériel qu’est le
noyau (cf. § 2.7), Linux ne proposait pas de chargement dynamique
de nouveaux drivers et une compilation du noyau était nécessaire à
chaque modification du hardware. Or, à partir de la version 2.0,
Linux intègre la notion de modules chargeables qui pallie à ce manque. Le principe de ces modules est de créer un noyau minimaliste
intégrant à la fois la capacité générique de charger un module et une
référence aux modules (drivers) chargeables, puis selon les besoins
d’intégrer dynamiquement un module. On obtient ainsi un noyau
étendu. On peut remarquer que cette notion existe dans divers Unix
comme par exemple Solaris.
Figure 4 – Linuxconf - réseau
Figure 7 – Linuxconf - démarrage
Figure 5 – Linuxconf - comptes utilisateurs
Figure 6 – Linuxconf - systèmes de fichiers
H 1 538 − 12
Figure 8 – Linuxconf - services
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________________________
SYSTÈME LINUX
Figure 9 – Linuxconf - (dé)montage de volumes
Figure 11 – Exemple de chargement manuel/automatique
de modules
Cependant, certaines modifications sont plus profondes et nécessitent la recompilation du noyau. Les noyaux des distributions actuelles sont très polyvalents. La compilation ne semble être nécessaire
que dans les cas suivants :
— passer à une version plus récente du noyau : le noyau actuel ne
supporte pas un périphérique ;
— option SMP ;
— changer des drivers, modifier des options ;
— supprimer ou mettre en modules des drivers ;
— diminuer la taille du noyau.
Figure 10 – Linuxconf - fichiers de configuration
Linux fournit trois commandes pour manipuler les modules en
tant que superutilisateur :
insmod : charge le module spécifié en argument de la commande
lsmod : liste l’ensemble des modules chargés (contenu dans le
fichier /proc/modules)
rmmod : décharge le module spécifié en argument de la commande
Il existe en outre une possibilité de chargement automatisé utilisant le deamon kerneld et les programmes depmod (gestion des
dépendances) et modprobe (gestion des modules).
Exemple : sur la figure 11 est représenté un chargement manuel
du module « fat », ainsi que la vérification de sa présence et enfin d’un
déchargement. Dans un deuxième temps, l’utilisateur désire monter
une partition (/dev/hda1) sans se soucier du filesystem associé à ce
volume ; la commande mount /dev/hda1/dosc provoque automatiquement le chargement des modules gérant le filesystem en l’occurrence
« vfat ». En réalité, le deamon kerneld, sollicité par mount, appelle
« modprobe vfat » pour le chargement des différents modules nécessaires.
2.6 Besoins spécifiques
Le paragraphe 2.5 montre que la plupart des besoins spécifiques
peuvent trouver une solution rapide via une interface graphique.
L’ensemble des distributions fournit le code source qui se trouve
dans l’arborescence /usr/src/linux ; cependant il peut être nécessaire
de récupérer un noyau plus récent ou un patch corrigeant un bogue
(on peut les trouver sur ftp://ftp.lip6.fr/pub/linux/kernel/sources/).
Les fichiers récupérés sont sous la forme tar.gz ; il faut donc utiliser la commande tar avec les options xvzf dans le cas d’un noyau
complet. Sinon l’utilisation de la commande gzip -cd patchXX.gz |
patch -p0 dans le répertoire /usr/src permet d’appliquer un patch.
Certaines versions du noyau existent au format RPM, ce qui permet
une installation simplifiée avec kpackage ou gnorpm.
Une fois les fichiers installés, l’étape suivante est la configuration
du noyau par l’appel à une des commandes suivantes :
— make config : mode ligne à ligne ;
— make menuconfig : mode plein écran avec curses ;
— make xconfig : application Tcl/Tk sous X11.
La progression dans la configuration se fait en répondant par N
(non), Y (oui) ou M (module) aux différentes questions (voir le fichier
/usr/src/linux/Documentation/Configure.help pour une aide sur ces
dernières). En général, on reprend la configuration par défaut (stockée dans le fichier /usr/src/linux/.config) et on ne modifie que quelques réponses à certaines questions bien identifiées.
Exemple : la mise en module (M) du Parallel port support se fait par
la question en mode ligne à ligne :
(CONFIG_PARPORT) : Y ou M (pour imprimante, PLIP, lecteur ZIP...)
La nouvelle configuration étant générée, la compilation peut enfin
débuter par la commande make dep clean zImage modules créant
les dépendances, nettoyant l’arborescence d’ancienne compilation
parasite, générant le nouveau noyau (fichier /usr/src/linux/arch/i386/
boot/zImage) et les modules associés. La mise en place nécessite
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
H 1 538 − 13
SYSTÈME LINUX _______________________________________________________________________________________________________________________
une grande prudence en ce qui concerne la sauvegarde du noyau
existant. Deux options sont envisageables.
La création d’une disquette de boot qui teste le nouveau noyau
s’effectue par la commande make zdisk et l’insertion préalable d’une
disquette vierge. On charge alors le nouveau noyau en démarrant
sur la disquette et sans aucune modification sur le disque système
de l’ancien noyau. Si un problème survient, il suffit de redémarrer
normalement sans la disquette. Si vous jugez que le nouveau noyau
est satisfaisant, vous pouvez passer à la deuxième phase : l’enregistrement et l’exploitation de ce dernier sur la partition de boot du disque système.
La coexistence, pendant la phase de test, de l’ancien et du nouveau noyau semble être la meilleure solution. La procédure est la
suivante :
— copie du nouveau noyau et conservation du noyau actuel :
cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz-x.y.z
(copie le nouveau noyau dans le répertoire /boot avec le nom vmlinuz-x.y.z où x.y.z représente le numéro de version supérieur à l’existant)
mv /boot/vmlinuz /boot/vmlinuz.old
(renommage du lien vers le noyau actuel qui devient l’ancien)
ln -s /boot/vmlinuz-x.y.z /boot/vmlinuz
(création du lien vers le nouveau noyau qui devient le courant) ;
— mise à jour des modules :
mv /lib/modules.x.y.z /lib/modules.x.y.z.save
(sauvegarde des anciens modules)
make modules_install
(création des nouveaux modules) ;
— configuration de LILO (cf. § 3.4 pour plus de détails ou § 2.5 sur
l’utilitaire graphique linuxconf)
rajout dans le fichier /etc/lilo.conf des trois lignes suivantes :
image=/boot/vmlinuz.old
label=old
Comme tout système d'exploitation, le noyau Linux est une interface entre des programmes utilisateurs et le matériel physique.
L'accès à ce matériel se fait par l'intermédiaire d'appels systèmes
qui sont identiques quelle que soit la machine. Cette encapsulation
du matériel libère les développeurs de logiciels de la gestion complexe des périphériques : c'est le système d'exploitation qui s'en
charge. En bref, le noyau Linux, vu par l’utilisateur comme un seul
et unique fichier, est composé de quatre sous-systèmes principaux.
On peut le représenter graphiquement sous la forme d’une couche
s’intercalant entre le matériel et le logiciel (figure 12).
Le code source se situe dans le répertoire /usr/src/linux. L’arborescence se décompose généralement comme suit :
— arch : contient, sous forme de sous-répertoires (alpha, i386,
m68k, mips, ppc, sparc) l’ensemble des particularités spécifiques à
une plate-forme ;
— drivers : contient, sous forme de sous-répertoires (cdrom, isdn,
pci, scsi, block, char, net, sbus, sound) l’ensemble des drivers de
périphériques ;
— fs : contient l’ensemble des fichiers concernant les filesystems ;
— include : contient les fichiers d’en-tête (en C ou en assembler)
permettant de définir les constantes du noyau ;
— init : contient le programme principal (main.c) ;
— ipc : contient l’implémentation des ipc (sémaphores et mémoire
partagée) ;
— kernel : contient le cœur du noyau ;
— lib : contient quelques librairies utiles pour le noyau ;
— mm : contient les fichiers concernant la gestion de la mémoire ;
— modules : contient les drivers modulaires (que l’on charge à la
demande) ;
— net : contient l’implémentation des différents protocoles réseaux ;
— scripts : contient des utilitaires pour la configuration et la compilation du noyau.
Ainsi, se termine ce tour d’horizon de Linux en tant que système
d’exploitation. Il est maintenant nécessaire de se préoccuper de
l’utilisation sous Linux. De ce fait, le paragraphe 3 recense les différentes applications existantes sous Linux.
read-only
(création d’un nouveau label chargeant l’ancien noyau de sauvegarde)
/sbin/lilo
(écriture dans le master-boot record de ces informations).
On obtient ainsi un nouveau système chargé automatiquement
(même procédure qu’auparavant) et la possibilité de revenir sur
l’ancien en tapant old au prompt LILO boot.
Une légère difficulté peut survenir en cas de retour à l’ancien
noyau puisque l’accès aux modules est mal positionné, ce qui peut
entraîner une impossibilité de trouver le réseau par exemple. Il faut
alors restaurer le répertoire des anciens modules par la commande
mv –f /lib/modules.x.y.z.save /lib/modules.x.y.z (qui a pour conséquence de détruire les modules récemment compilés).
La compilation du noyau reste une aventure qui demande
réflexion avant toute tentative. De plus, les efforts sont constants
pour avoir de moins en moins de paramètres à modifier à travers le
noyau.
2.7 Structure du noyau et codes sources
Ce paragraphe contient quelques informations importantes sur le
noyau, mais ne constitue pas la référence en la matière. Des ouvrages
entiers sont consacrés à ce sujet (un lien utile est le HOWTO du noyau :
http://www.freenix.fr/unix/linux/HOWTO/Kernel-HOWTO.html). La maîtrise du noyau n’est pas une tâche facile et ne s’entend que par une
étude approfondie. Il n’est heureusement pas nécessaire d’être un
expert du noyau pour utiliser Linux.
H 1 538 − 14
User
Program
User
Program
User
Program
User Programs
(logiciels)
User
Program
Operating System:
Kernel
System Call Interface
Virtual File
System
(VFS)
Memory
Manager
Process
Manager
Various
File System
drivers
IDE
Hard Disk
driver
Abstract
Network
Services
TCP/IP
protocol
driver
Floppy
Disk
driver
Ethernet
Card
driver
Hardware
(matériel)
IDE
Hard Disk
Floppy Disk
Ethernet Card
Figure 12 – Représentation du noyau
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________________________
SYSTÈME LINUX
3. Logiciels sous Linux
Il me paraît important de préciser à ce stade une petite maxime
commerciale qui peut clarifier certains points et répondre au reproche le plus communément répandu sur Linux qui consiste à regretter le manque de logiciels pour ce système d’exploitation :
« Ce n'est pas parce que Linux est gratuit que tout logiciel sous
Linux doit être gratuit ».
En considérant alors, l’ensemble des logiciels fonctionnant sous
Linux commerciaux ou libres, on réalise que ce système est tout à
fait complet et dispose d’un nombre suffisant d’applications recouvrant tous les domaines.
Voici donc un petit panorama des différentes offres logicielles
classées par domaine.
3.1 Domaine de l’administration système
Figure 14 – Utilitaire Gnorpm
On peut dire pour résumer que tous les outils classiques sous
Unix sont disponibles et de plus en plus sous interface graphique.
Dans le détail, le superutilisateur se voit confier des outils de gestion de fichiers en ligne de commandes ou en mode graphique permettant l’édition, la suppression, le déplacement, les changements
de droits d’un ensemble de fichiers. La recherche multicritère (sur le
nom, la taille, la date de modification…) d’un fichier peut être déléguée à la commande (très puissante) find ou à son clone graphique
kfind sous KDE (figure 13). La commande grep est aussi très utile
pour une recherche d’une chaîne de caractères dans un ensemble
de fichiers.
La gestion des comptes utilisateurs peut toujours se faire par
ligne de commandes, mais une interface graphique permet une utilisation simplifiée et rapide tout en assurant un maximum de sécurité (on visualise beaucoup mieux les droits de chaque utilisateur). Il
est possible d’ajuster des quotas à chaque utilisateur (ou groupes)
et de paramétrer les traces que l’on veut obtenir dans les fichiers de
log. La création, l’analyse et la maintenance d’un tel système est
relativement simple.
Figure 15 – Utilitaire Ksysv
L’installation de logiciels s’est grandement améliorée avec l’adoption de format de package (RPM) et des utilitaires comme kpackage
ou Gnorpm (figure 14) qui explicitent graphiquement la progression de l’installation et les problèmes de dépendances.
La gestion des deamons peut se faire par l’utilisation d’un gestionnaire de « Système V init » qui planifie le démarrage et l’arrêt
des différentes tâches de fond. Cet utilitaire, le ksysv entièrement
graphique (figure 15) permet l’enregistrement d’une séquence de
démarrage et d’arrêt n’écrasant pas la version d’exploitation. L’utilisation de cron permet la planification de tâches de façon simple et
efficace comme par exemple des sauvegardes.
Enfin, la gestion et l’analyse du réseau peuvent être réalisées à
partir de linuxconf et de différents petits programmes comme netstat, tcpdump, nmap, satan…
3.2 Domaines scientifique et technique
Le monde scientifique, de par l’intérêt qu’a suscité Linux depuis
son origine, possède une double réalité :
— de nombreux logiciels scientifiques sont disponibles sous
Linux ;
— le portage d'applications (tournant sous Unix) nécessite peu
de temps.
Figure 13 – Utilitaire kfind
Comme logiciels scientifiques, on peut citer des produits très différents comme un grapheur 2d/3d (gnuplot), un modeleur 3d (pov),
un clone de photoshop pour le traitement d’images (the gimp) des
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
H 1 538 − 15
SYSTÈME LINUX _______________________________________________________________________________________________________________________
codecs image/son/vidéo (mpegplay, mpeg2player, xanim) des outils
de calculs formels (maple, scilab).
À la limite des deux catégories, on trouve tous les outils de développement spécialisés comme des compilateurs Fortran 90, compilateur C/C++ optimisé (comme les outils du Portland Group) pour
une plate-forme, des librairies pour différents langages (comme les
suites de Roguewave), des simulateurs ou des librairies de machines parallèles (comme PVM ou MPI), des débugeurs parallèles et
multi-threads (comme TotalView), des systèmes de post-traitement
et d’analyse de résultats concernant ces machines (comme Paragraph). Enfin, il est à noter que des Midleware comme ACE ou des
implémentations de la norme CORBA existent sous Linux et permettent des interfaçages rapides et sûrs.
Concernant le portage d’applications, on peut citer trois exemples personnels qui n’ont jamais pris plus d’un homme par mois.
Le premier est un portage complet d’une librairie de traitement
d’images fonctionnant sous Unix/Motif. La partie purement calculatoire et stockage (ne faisant pas intervenir d’affichage) n’a nécessité
que de très légères modifications pour être compilée sans problème. La partie traitant de l’affichage a souffert de quelques incompatibilités entre Motif et Lesstif (version GNU de Motif), mais rien
d’insurmontable. Les nouvelles versions de Lesstif (ou l’utilisation
d’OpenMotif) auraient posé moins de difficulté.
Le second exemple n’est pas à proprement parler un portage,
puisque l’outil de Codesign « Polis » (permettant la mise au point, la
simulation et l’évaluation de solutions mixtes hard/soft à partir d’un
catalogue de processeurs courants) est sensé se compiler sous
Linux, ce qui fût le cas avec quelques adaptations très mineures. En
réalité, le travail consistait à ajouter des modules à cet outil en utilisant la puissance de lex et yacc. Le projet a été mené à terme par
deux élèves-ingénieurs de Supélec en six mois à raison de trois
demi-journées par semaine alors que le plus gros du travail était la
prise en main du logiciel Polis et la compréhension d’un nouveau
DSP.
Le dernier exemple est très formateur puisqu’il s’agit d’une IHM
développée à partir d’UIMX (appel Motif standard), utilisant le
Midleware ACE et les extensions Roguewave de C++ fonctionnant
sous Sun/Solaris. Le travail consista : à faire évoluer cette IHM sous
Linux de façon autonome et complètement découplée du site de
production, puis, à intervalles réguliers, à une mise à jour sous Solaris (le site de production). Bien que mettant en œuvre une multitude
de couches et d’interfaces, l’exportation et l’importation n’ont pas
posé de difficultés majeures dans la mesure où les compilations de
ACE et du Tools.h++ de Roguewave sont correctement réalisées.
3.3 Domaine de la bureautique
Le domaine des applications bureautiques s’étend à l’ensemble
des logiciels de traitement de textes, tableurs, présentations et
bases de données communément regroupés sous la dénomination
de suite bureautique. De par son origine scientifique et universitaire,
ce domaine a toujours été négligé et il aura fallu attendre l’intérêt
soudain de grands noms de l’informatique comme IBM, SUN,
COREL et de leur implication dans le monde Linux pour entrevoir
des solutions.
Depuis le début de Linux, il existe des éditeurs de textes, souvent
excellents pour le développement de codes, mais relativement pauvres en fonctionnalités au regard de solutions comme Word de
Microsoft ou WordPerfect de Corel. Le seul outil de publication performant qui est distribué depuis l’origine avec Linux est LaTex. Cet
outil, résolument orienté vers le domaine scientifique, permet
d’intégrer parfaitement les plus complexes des équations mathématiques au sein de textes et d’images avec un contrôle optimal de la
mise en page. Cependant, il ne peut prétendre à devenir la référence
en traitement de texte puisque son utilisation n’est pas WYSIWYG et
nécessite un apprentissage d’un pseudo-langage de programmation.
H 1 538 − 16
D’une manière similaire, nous pouvions constater le manque de
tableurs et les quelques logiciels se targuant de ces fonctionnalités
nous ramenaient des années en arrière, à l’époque du bon multiplan.
La seule réelle composante d’une suite bureautique qui existait à
l’origine est la gestion des bases de données. Un projet universitaire
(Berkeley) basé sur Ingres déboucha sur une implémentation sous
Linux d’un SGBD nommé PostgreSQL, comportant la plupart des
notions relationnelles de SQL. Ce SGBD est éprouvé et constitue
une alternative séduisante aux SGBD traditionnels. Pour être tout à
fait exhaustif, il est à noter l’apparition plus récente de produits
comme MySQL. Ces derniers n’implémentent pas toute la puissance du relationnel, mais ils ont la vocation d’être des solutions
faciles, rapides, extrêmement optimisées et efficaces pour des problèmes classiques et de tailles relativement modestes. On peut citer
par exemple l’utilisation du couple MySQL et php pour la création
d’un site Web dynamique (contenu modifié en fonction de critères
sélectionnés par l’utilisateur).
Cet état de fait a été bouleversé par l’avènement de grands noms
de l’informatique dans le monde Linux. Dans un premier temps, plusieurs d’entre eux ont annoncé leur intérêt pour le phénomène
Linux. Mais d’une simple curiosité, ils sont passés rapidement à un
soutien officiel et à une implication réelle débouchant sur des solutions satisfaisantes. En effet, COREL a été la première firme de logiciels qui a proposé sa suite bureautique sous Linux (puis l’a incluse
dans sa propre distribution de Linux). Mais, il n’existe pas de situation de monopole puisque la firme Allemande Star Division a proposé parallèlement sa suite StarOffice (disponible également sous
Windows). Une politique de mise à disposition gratuite pour usage
personnel en conjonction avec un réel manque dans ce domaine a
eu un effet positif. Les produits sont présents et satisfaisants en
regard à la jeunesse de ces derniers. Ils comportent tous des filtres
permettant l’import/export dans les formats les plus courants, rendant par ce fait possible la coexistence Linux/Windows au sein d’un
processus de workflow dans une entreprise. Cependant, ces produits ne sont pas exempts de défauts. On peut citer par exemple une
mauvaise compatibilité MSOffice/StarOffice v5.0. Toutefois, ces problèmes sont régulièrement corrigés dans les versions suivantes et le
rachat par SUN de Star Division est un gage d’une volonté de faire
perdurer et évoluer le produit. Une utilisation professionnelle et
commerciale de ces produits nécessite cependant de payer une
licence. Par conséquent, il paraît, au préalable, nécessaire de faire
une étude comparative, entre les diverses suites existantes, relative
aux besoins de l’entreprise avant de préconiser une solution à base
Linux. L’intérêt de ces solutions réside plus dans leurs existences
c’est-à-dire dans la possibilité ponctuelle pour un utilisateur de
Linux de ne pas être « coupé » du monde Office de Microsoft que
dans leurs performances qui souffrent d’une trop grande jeunesse.
À ces nouvelles offres, il est intéressant de rajouter le portage
sous Linux d’IBM ViaVoice (leur produit phare de dictée et de reconnaissance vocale) et du fameux SGBD d’ORACLE.
En réalité, bien plus que l’affrontement entre les deux mondes
(Microsoft et Linux) tant chroniqué par la presse, la nécessité d’une
interopérabilité a prévalu. Les solutions de bureautique (mais aussi
d’administration de réseaux ou de développement) qui apparaissent
et qui sont plébiscitées se basent sur la coexistence des systèmes.
3.4 Coexistence Linux/Windows
La première étape dans l’utilisation conjointe de différents systèmes d’exploitation sur la même machine est le « multi-boot ». Petit
programme qui se charge au démarrage de l’ordinateur, le « loader »
permet d’aiguiller l’utilisateur vers un système ou vers un autre. Dès
l’origine des distributions de Linux, le logiciel libre LILO se charge
parfaitement d’accomplir cette tâche avec un message d’accueil simple et clair :
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________________________
LILO boot :
En appuyant sur la touche tabulation, il est alors possible d’obtenir la liste des systèmes pouvant être chargés par LILO.
LILO boot :
linux dos
boot :
En réalité, on liste des labels qui sont définis dans le fichier de
configuration de LILO (/etc/lilo.conf) créé à l’installation. En rentrant
au clavier un de ces labels, on charge l’image du système d’exploitation correspondant. On peut remarquer qu’à cet instant le clavier
est configuré en « qwerty » ; il faut donc penser à des noms de
labels invariants par rapport au type de clavier (par exemple
« linux » et « dos » conviennent alors que « win » peut entraîner des
désagréments). Le mécanisme est alors le suivant :
— le BIOS s'initialise ;
— le BIOS charge le MBR (Master Boot Record) ;
— assurant que LILO est installé dans le MBR, le chargeur initial
localise et charge le chargeur secondaire ;
— LILO présente sa ligne de commande « LILO boot: » ;
— l'utilisateur peut choisir la configuration à démarrer ;
— après un délai de quelques secondes sans activités, LILO
démarrera la configuration par défaut.
Si le système sélectionné est Windows alors :
Démarrage de Windows…
Si le système sélectionné est Linux alors :
— à l'aide du fichier /boot/map, LILO charge le noyau sélectionné
et ensuite le « initial ram disk » si présent ;
— LILO donne la main au kernel ;
— le kernel s'initialise, accède au « initial ram disk » et donne la
main au chargeur initrd ;
— après l'initialisation des modules, Linux accède à la partition
racine ;
— Linux tentera d'exécuter, dans l’ordre, les programmes suivants. Le premier trouvé sera exécuté et c'est à lui que reviendra le
soin de continuer la séquence de démarrage.
• /etc/init
• /bin/init
• /sbin/init
• /etc/rc
• /bin/sh
Ensuite, le processus de démarrage est relativement commun aux
autres Unix avec l’utilisation de /sbin/init et le fichier /etc/inittab qui
permet de définir un protocole des différents programmes (résidents) à démarrer avec leur ordre ainsi que le runlevel (cf. [H 1 528],
réf. [3]).
Exemple de fichier /etc/lilo.conf :
#LILO configuration file
#generated by « liloconfig »
#Start LILO global section
#append = [paramètres de démarrage]
boot = /dev/hda
#compact # faster, but won't work on all systems.
delay = 300
vga = normal # force same state
ramdisk = 0 # paranoia setting
# End LILO global section
# Syntaxe pour démarrer Linux
image = /vmlinuz # Nom et chemin du noyau Linux
label = linux # Invite qui apparaît au lancement
root = /dev/hda2 # Indique la partition à lancer
# Syntaxe pour démarrer Windows
other = /dev/hda1 # Partition Fat32
label = dos # Invite qui apparaît au lancement
table = /dev/hda # Table de partition pour la 2ème unité
SYSTÈME LINUX
Pour être exhaustif, on peut remarquer qu’il existe d’autres
« loader » commerciaux qui proposent les mêmes services. De plus,
un petit utilitaire libre (loadlin.exe) permet sous Windows de charger un noyau Linux sans avoir à redémarrer.
La deuxième étape permet de travailler sous Linux en utilisant la
partition dédiée à un autre système (Dos, Windows 9x, NT…). Cela
est possible grâce à la conjonction de deux principes :
— Linux reconnaît d’autres systèmes de fichiers (filesystem) que
le sien (ext2), en particulier msdos, fat32, ntfs (en lecture) ;
— comme tout système Unix, Linux permet d’attacher une partition dans l’arborescence des fichiers par l’instruction mount.
Il est alors envisageable, par l’intermédiaire du fichier /etc/fstab
répertoriant les points de montage à l’initialisation, d’obtenir au
démarrage et de façon persistante un répertoire qui contient
l’ensemble de l’arborescence d’un autre système d’exploitation. On
peut, par exemple, modifier sous Linux avec StarOffice des fichiers
créés par MSoffice sous Windows la veille.
Exemple de fichier /etc/fstab :
/dev/hda2 /
ext2
defaults
11
/dev/hda1 /c :
vfat user,exec,conv=binary,umask=2,gid=1000 0 0
/dev/hda3 swap swap
defaults
00
/dev/fd0 /mnt/floppy auto sync,user,noauto,nosuid,nodev,unhide 0 0
/dev/cdrom /mnt/cdrom auto user,noauto,nosuid,exec,nodev,ro 0 0
none
/proc
proc
defaults
00
none
/dev/pts devpts
mode=0622
00
Ce fichier permet d’avoir un répertoire à la racine nommé c : (pour
reprendre la tradition Microsoft) contenant l’arborescence Windows
se trouvant sur la première partition du premier disque (/dev/hda
représente le premier disque et /dev/hda1 la première partition). La
deuxième partition est la partition root native Linux et la troisième
est une partition de swap. Enfin, l’unité de disquette (fd0) et le lecteur de CD-Rom se retrouvent respectivement dans les répertoires /
mnt/floppy et /mnt/cdrom. On pourra se référer au manuel en ligne
(man 5 fstab) ou à diverses documentations pour plus de détails sur
la syntaxe et les diverses options de ce fichier. L’essentiel est que
chaque ligne désigne un point de montage et qu’elle possède six
champs représentant les informations suivantes :
— périphérique ;
— point de montage ;
— système de fichier ;
— options ;
— sauvegarde ;
— réparation/test.
De manière équivalente, il est possible de travailler sur un réseau
Windows par le biais de Samba, utilitaire permettant d’accéder au
protocole réseau de Windows, et ainsi de « voir » machines, disques, répertoires et imprimantes partagés (au sens Microsoft du
partage) sous Linux.
Cependant, ces deux étapes ne permettent pas d’utiliser sous
Linux des logiciels fonctionnant uniquement sous Dos/Windows.
Pour cette ultime étape d’intégration, il est nécessaire d’installer un
émulateur de Dos ou Windows.
En ce qui concerne l’émulateur Dos, le projet de logiciel libre
dosemu remplit parfaitement son rôle, et après installation et configuration, vous possédez une invite classique Dos et vous pouvez
exécuter en ligne de commande la plupart des logiciels Dos.
Il existe un projet de logiciel libre de même ordre dénommé Wine
pour des applications Win32 ; cependant, ce projet est nettement
moins évolué que dosemu et n’est pas satisfaisant pour une utilisation professionnelle. Toutefois, il sera intéressant de suivre son évolution.
Le logiciel Wabi est une version professionnelle proposée par
CALDERA d’un émulateur Windows.
Une alternative intéressante à l’émulateur est le concept de
machine virtuelle. Ainsi, le logiciel VMWare est une machine vir-
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
H 1 538 − 17
SYSTÈME LINUX _______________________________________________________________________________________________________________________
Virtual Machine 1
Linux
applications
Linux
Virtual Machine 2
Virtual Machine 3
Windows 95
applications
Windows NT
applications
Windows 95 Windows NT
Virtual Machine 4
applications
other
guest
OS
VMware™ Virtual Platform©
Standard PC
with host
OS
Figure 16 – Architecture de VMWare
tuelle sous Linux qui permet d'exécuter Windows 95/98/2000 ou
NT dans une fenêtre ou en plein écran tout en disposant de toutes
les fonctionnalités de Linux. On dispose alors des possibilités
suivantes :
— faire fonctionner plusieurs systèmes d'exploitation hôtes dans
des machines virtuelles séparées ;
— installer le(s) système(s) d'exploitation hôte(s) dans une partition existante ou sur un disque virtuel dans un fichier sous Linux ;
— échanges des données entre les différents systèmes d'exploitation hébergés.
VMWare peut s’installer indifféremment sous Windows ou sous
Linux et permet une coexistence transparente et symétrique des
deux mondes. L’utilisation de ce logiciel requiert toutefois 64 Mo de
mémoire vive par système d'exploitation, 10 Mo sur le disque dur et
un processeur compatible Pentium (figure 16).
4. Maintenance et pérennité
d’un système Linux
Tout investissement suit les mêmes exigences au niveau de
l’amortissement qu’il soit informatique ou autre. Le fait de choisir
un logiciel libre ne déroge pas à cette règle, bien que la problématique soit un peu différente par la nature « gratuit » du produit. On ne
peut plus parler de rentabiliser le coût de l’acquisition de Linux
puisqu’il est pratiquement nul. Toutefois, on doit se préoccuper plutôt du coût de la formation à ce système et de ceux de sa mise en
service et de sa maintenance. Ces trois points sont fortement liés et
soulèvent la plus grande inquiétude de la part des DSI (Directeur du
service informatique) vis-à-vis de Linux. En effet, la contrepartie du
mode communautaire de conception et de distribution (Internet) est
qu’il n’existe pas une interface unique envers les clients, pour
l’achat, la formation, et le service après-vente. Ces mêmes clients
ont été habitués à s’adresser à un interlocuteur privilégié (agent
Microsoft, agent IBM…) qui proposait le triplet rassurant : produit,
formation, maintenance d’où un certain désarroi face à la multitude
de solutions Linux sur le marché. Pourtant, des solutions existent
soit par l’intermédiaire de prestataires de services, soit directement
par le canal d’une distribution (REDHAT, MANDRAKE, SUSE…).
L’ensemble des acteurs du monde Linux, conscients de ce problème, proposent de plus en plus des solutions packagées.
sur la maintenance annuelle. De plus, certaines distributions proposent des offres d’expertise. Ces différents contrats évoluent rapidement pour permettre une meilleure adéquation entre les besoins
des clients et les solutions proposées, mais la logique reste très proche des offres pour les produits commerciaux (cf. encadré).
Extrait des catalogues de différentes distributions
REDHAT Europe
Offre de Support :
— support développeur approprié pour développeurs et ingénieurs nécessitant un support de développeur à développeur ;
— support pour l'intégration approprié pour des organisations réalisant un projet pilote ou développant des projets sur
REDHAT Linux ;
— Support Annuel par Serveur approprié pour des organisations utilisant REDHAT Linux pour une partie ou l'ensemble de
leur environnement informatique ;
— support annuel par station de travail approprié pour des
organisations utilisant REDHAT Linux sur une partie ou l'ensemble de leur environnement informatique ;
— support gratuit pour l'installation approprié pour :
• particuliers ou organisations,
• assistance à l'installation de REDHAT Linux sur un seul serveur ou une seule station de travail.
MANDRAKE France
À l’heure actuelle, MANDRAKE essaie de se positionner sur
plusieurs segments de marché avec :
— une garantie minimale ;
— une maintenance soutenue ;
— un support-conseil personnalisé dans un temps réduit.
En parallèle aux offres de maintenance et sous l’impulsion de
REDHAT, diverses distributions développent leur pôle de formation
qui a pour but la certification des auditeurs. Cette dernière est un
modèle utilisé, entre autres par Microsoft, comme moyen ultime de
vérification des connaissances. Il existe différentes politiques vis-àvis de la certification.
REDHAT propose sa propre certification RHCE (Red Hat Certified
Engineer) et un programme étudié aussi bien pour le novice que
pour l'utilisateur expérimenté, menant jusqu'à la qualification
RHCE. Tandis que MANDRAKE et son Linux-Campus propose une
formation basée sur la certification LPI (mécanisme international de
reconnaissance des compétences Linux et logiciels libres).
Une autre voie s’offre aux entreprises désireuses d’externaliser
leurs compétences Linux puisque certaines SSII se sont spécialisées
dans l'installation, le support et la formation. On peut citer l’exemple
américain de « VA Linux » et son site portail (http://www.linux.com)
qui tente de devenir le parfait fournisseur de solutions globales pour
Linux après acquisition de plusieurs autres SSII (portails, fournisseurs matériels, solutions réseau). Un autre exemple, français, est
celui de l’entreprise « Alinka » proposant ses services autour de logiciels de clustering sous Linux pour haute disponibilité des serveurs
web (http://www.alinka.com).
4.2 Internet comme hot-line
4.1 Contrat de maintenance et formation
De par sa naissance et son évolution, Internet constitue la véritable source d'informations. Si l’aventure de l’autoformation est délicate, elle trouve toute sa dimension dans ce cas précis et par ce
biais. L’ensemble des informations concernant Linux (du débutant à
l’expert) est référencé et accessible sur Internet. Dès lors, une entreprise peut envisager d’internaliser les connaissances Linux par une
simple connexion.
Certaines distributions proposent un support qui se décompose
très généralement en une offre gratuite au niveau de l’installation
(limitée dans le temps cf. § 2.2) et des offres « classiques » et variées
Nous devons cependant dresser un plan général de l’infrastructure de ces informations à travers le réseau des réseaux et présenter
quelques liens utiles comme points d’entrée vers cette connaissance.
H 1 538 − 18
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________________________
L’organisation de l’information reprend les canaux habituels
d’Internet qui sont principalement (cf. [Doc. H 1 538]) :
— les sites web ;
— les groupes de discussion ;
— les listes de distribution.
4.3 Mise à jour
Le problème de pérennité de Linux ne s’exprime plus en tant que
disparition du système (interrogation légitime dans les premiers
temps), mais plutôt en fréquence de mise à jour. En effet, doit-on
envisager de toujours posséder la dernière version du noyau ? comment reconnaît-on cette version ? quelle est la relation entre version
de noyau et version des distributions ? sont autant de questions que
peut se poser une entreprise avant de se lancer dans l’expérience
Linux. Ce paragraphe a pour but de clarifier certaines de ces interrogations, mais il ne peut remplacer une étude approfondie par
l’entreprise de chaque cas.
Le principe est simple : au cas où il y aurait des bogues sérieux, les
versions du noyau Linux sont numérotées de telle sorte que des utilisateurs potentiels peuvent faire le choix d'utiliser la dernière version désignée comme étant « stable », ou de surfer à la pointe de la technique
avec le risque que quelques bogues accompagnent les nouvelles fonctionnalités. Les dernières versions des distributions classiques reposent toujours sur les dernières versions « stables » du noyau.
Le numéro de version du noyau (donné par la commande uname –a)
est organisé avec une convention très précise. Voici un extrait du
« guide du ROOTard » expliquant cette norme :
« Linux n'est plus considéré comme un système en béta-test,
depuis que la version 1.0 a été rendue disponible le 14 mars
1994. Il existe toujours des bogues dans le système et de nouveaux bogues apparaîtront et seront corrigés au fur et à mesure
du développement. Puisque Linux suit un modèle de développement ouvert, toutes les nouvelles versions seront accessibles
au public, qu'elles soient considérées comme suffisamment
stables ou non. Cependant, afin d'aider les utilisateurs à déterminer si une version donnée est ou non considérée comme stable, une convention de numérotation spéciale a été mise au
point. Les versions x.y.z, où y est un nombre pair, sont stables,
et seules des corrections de bogues seront appliquées lorsque
z est incrémenté. Par exemple, entre les versions 1.2.2 et 1.2.3,
il y a eu uniquement des corrections, et aucun ajout de fonctionnalités. Les versions x.y.z, où y est un nombre impair, sont
des versions en béta-test destinées aux développeurs uniquement, peuvent être instables et contiennent de nouvelles fonctionnalités qui sont ajoutées au cours du développement. De
temps en temps, quand le développement du noyau se stabilise, un "gel" intervient pour fournir une nouvelle version "stable" (paire), et le développement continue sur une nouvelle
version (impaire) ».
La version stable actuelle est 2.4.x (x changeant au fur et à mesure
que de nouvelles corrections de bogues sont intégrées au noyau), et
le développement devrait bientôt produire la version 2.6 (améliorant
la gestion SMP en particulier). Si 2.4.x est trop récente pour une
entreprise, elle peut continuer d'utiliser la version 2.2. Cependant,
une bonne règle, pour ne pas se laisser distancer et perdre des améliorations significatives, est de faire évoluer obligatoirement son
parc avec l’évolution du premier chiffre. En effet, le passage de 1.2.x
à 2.0 s’est traduit par une profonde amélioration comprenant :
— la gestion du SMP ;
— la gestion des modules ;
— les nouvelles plates-formes supportées ;
— le support de la machine virtuelle JAVA ;
— le support des quotas utilisateurs ;
— l’amélioration générale des performances.
Ensuite, l’entreprise doit consentir à faire une veille technologique sur l’évolution entre les différentes versions stables qui pourraient apporter une plus-value à l’entreprise.
SYSTÈME LINUX
5. Utilisation de Linux
■ Serveur FTP anonyme
Plus connu sous son ancien nom ftp.ibp.fr, le serveur FTP de Jussieu (ftp://ftp.lip6.fr) traite environ 10 000 requêtes FTP par jour donnant lieu au transfert de 10 Go. Il représente un point d’entrée
important pour la communauté du logiciel libre, puisqu’il centralise
entre autres plusieurs distributions de Linux, l’arborescence GNU, le
projet Xfree86, ainsi que les images miroirs des sites du sunsite et
de tsx-11.
■ « Anciens » caches www régionaux de Renater
Le premier et le plus actif des caches www régionaux était le
cache breton (http://bzh-cache.univ-rennes1.fr) qui tournait sur une
machine à Pentium Pro 180, 128 Mo de mémoire et 8 Go de disques.
Il traitait plus de 200 000 requêtes par jour avec un temps de
réponse moyen d'une vingtaine de millisecondes. Cependant, cet
exemple est devenu quelque peu obsolète par l’arrêt du projet de
cache national Renater motivé par les diverses raisons suivantes
(extrait de http://www.serveurs-nationaux.jussieu.fr/cache/) :
« Le trafic qu'il draine est une très petite partie de celui du
réseau Renater et l'on estime à environ 3Mbit/s maximum la
bande passante économisée dans les heures de pointe. Sachant
que le serveur actuel est limité en performances (nombre d'objets
cachables en particulier) et que la bande passante des accès internationaux de Renater est aujourd'hui de plusieurs centaines de
Mbit/s, la configuration matérielle nécessaire pour économiser
une bande passante significative est beaucoup plus importante
que celle existante.
Par ailleurs, le prix de tels équipements est important alors que
celui du Mbit/s transatlantique ne fait que diminuer.
De plus, les moyens humains pour administrer (ou dépanner) le
cache national et gérer ses relations avec les caches régionaux ne
sont pas négligeables. »
6. Exemples d’application
Ce paragraphe n’a pour but que de présenter quelques exemples
de diverses importances. Il n’est en aucun cas exhaustif et ne doit
pas être pris comme catalogue. Il peut servir de base de réflexion si
le système d’information possède des similitudes avec un de ces
exemples, mais ne remplace pas une véritable analyse du besoin.
6.1 Reconversion d’anciennes machines
dans des établissements
d’enseignements
Plusieurs enseignants ont rapidement compris que la réutilisation
d’anciens ordinateurs pouvait passer par l’utilisation de Linux à travers un réseau local en vue d’applications dédiées. On peut citer par
exemple le lycée de la Martinière à Lyon, qui utilise Linux en
seconde et terminale STL (Sciences et techniques de laboratoire). Ils
ont monté un réseau utilisant des machines qui ne sont plus toutes
jeunes et font de l'acquisition de données.
6.2 Corel Video Network Computer
En 1997, Corel a développé un concept original de NC (Network
Computer) sur la base d’un processeur dédié (Digital StrongARM
SA-110) sous Linux et d’une suite de communication multimédia
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
H 1 538 − 19
SYSTÈME LINUX _______________________________________________________________________________________________________________________
créée en JAVA. Ce fut une première dans l’intégration hardware/
software pour du client léger et de la vidéoconférence.
6.3 Libre service et serveur
dans des écoles d’ingénieurs
On peut citer trois grandes classes d’utilisations concrètes de
Linux.
Après quelques années de validation en utilisation multi-boot, en
libre-service auprès des élèves-ingénieurs de Supélec, l’expérience
Linux a franchi un nouveau cap cette année en remplaçant les
anciens terminaux X. Auparavant, l’ensemble du parc libre-service
était essentiellement utilisé sous Windows 9x et ponctuellement
pour des projets et quelques enseignements sous Linux. La véritable utilisation de Linux consistait plus en un utilitaire de restauration
des images du système. En effet, par la nature même du libre-service, le système Windows est rapidement mal mené (mauvaise installation/désinstallation de produits, arrêt intempestif, scandisk trop
souvent abrégé…). La solution est alors une régénération automatique de l’ensemble des systèmes du libre service, de plus, cette opération lutte efficacement contre l’installation illicite de logiciels.
Cette solution entièrement gratuite repose sur trois concepts :
— l’exécution de tâches programmées (sous Windows 9x et sous
Linux avec l’utilitaire cron) ;
— la possibilité de charger Linux à partir de Windows (loadlin.exe) ;
— la commande dd sous Linux qui permet de sauvegarder/restaurer une partition disque sous forme d’image.
En réalité, cette commande dd effectue bien plus que cela, mais
dans ce cas, son utilisation est restreinte par les syntaxes suivantes :
dd if=/dev/hda1 of=win95.im sauvegarde ; création d’un fichier
image de nom « win95.im » à partir
de la première partition du premier
disque (/dev/hda1).
dd if=win95.im of=/dev/hda1 restauration à partir du fichier
image de nom « win95.im » sur la
première partition du premier disque (/dev/hda1).
Tout en conservant ce principe de fonctionnement, le service
informatique de Supélec a décidé de remplacer les terminaux X
vieillissant par des PC sous Linux/Xfree86/KDE. L’utilisation des terminaux était de deux ordres : connexion au serveur de mail et connexion à une station VMS pour un développement de projet en C.
Pour la première utilisation, le passage sous Linux est plus souple
puisque KDE permet de gérer un profil par utilisateur et de choisir
entre plusieurs mailers (netscape, kmail…) ; en contrepartie, une
information plus importante a été mise en place pour initier les utilisateurs à ces différentes possibilités. En ce qui concerne la connexion VMS ; on pouvait se contenter d’utiliser les PC Linux comme
terminaux vers la station VMS, cependant, une utilisation décentralisée des ressources est préférable. Une architecture avec un serveur de fichier centralisé (utilisation transparente de mount en local)
et des unités de développement (editeur Nedit, Compilateur C gcc,
debogguer kgdb) a été retenue.
À IMERIR (Institut méditerranéen d’enseignement et de recherche
en informatique et robotique) la volonté d’internaliser l’ensemble
des services Internet (mail, www, ftp, intranet) a débouché sur le
choix d’un serveur Linux (DEBIAN) et d’une ligne spécialisée. Ainsi,
cette année, l’ensemble des comptes mail des élèves et des professeurs sont gérés en interne par ce serveur qui sert aussi de firewall
pour l’accès au Web. Ce choix permet une plus grande souplesse
dans la gestion des adresses électroniques ; on peut citer par exemple la création immédiate d’alias ou de listes de distribution alors
que cela pouvait prendre des semaines par l’intermédiaire d’un
H 1 538 − 20
prestataire extérieur. Ce serveur sert aussi de serveur de compte
avec mise en place de quotas. Par le biais de Samba, les utilisateurs
(élèves ou professeurs) peuvent conserver l’environnement dans
lequel ils avaient l’habitude de travailler (en l’occurrence Windows
NT) tout en ayant une possibilité supplémentaire de se familiariser
avec un environnement Unix. D’un point de vue administratif, l’utilisation des quotas – notion intégrée de fait sous Linux contrairement
à NT qui n’en dispose pas en standard – s’avère nécessaire pour les
élèves. La mise en œuvre de ce serveur et le basculement en interne
des différents services n’a pas entraîné de dérèglement majeur mais
représente un travail d’une personne (non experte mais ayant une
connaissance approfondie) à 50 % sur un an.
6.4 Projets BEOWULF de cluster sous Linux
Le site (http://www.beowulf.org) liste de nombreux exemples
d’utilisation de plusieurs PC en cluster sous Linux pour approcher et
même dépasser la puissance de calcul de superordinateurs pour un
coût nettement inférieur. On peut citer par exemple :
— MAGI CTU Prague's BEOWULF, cluster utilisé pour la reconnaissance de la parole (voir le site http://noel.feld.cvut.cz/magi/) ;
— Collage ANL qui travaille sur la visualisation et le rendu distribués (voir le site http://www-fp.mcs.anl.gov/collage/) ;
— Clarkson Department of Civil and Environmental Engineering
utilisé pour des problèmes non-linéaires de géophysique ;
— GALAXY Dept. of Nuclear Engineering, Korea Advanced Institute of Science and Technology utilisé pour des simulations de
transport de particules par des méthodes de Monte-Carlo (voir le
site http://nurapt.kaist.ac.kr/galaxy) ;
— earthdome Watson Technical Consulting fonctionnant sous
TAOS/mpi avec des logiciels divers de météorologie comme MM5
(un modèle mesoscale) ;
— Realm Dept. Geography, University of Maryland a 72-node (36
dual-processor) utilisé pour la manipulation d’images satellitales
(landsat) dans une base de données parallèle (voir le site http://
realm.umd.edu/) ;
— Opus University of Kentucky KAOS Lab 16+1 K6-2 gérant un mur
d’image de 6400x4800 pixels (voir le site http://aggregate.org/Opus/).
7. Conclusion
Linux reste encore un sujet d’interrogations pour l’entreprise
même si le produit doit être considéré comme rapide, stable, sécurisé et convivial.
Les incertitudes juridiques de la licence GPL et le manque de responsabilité qu’elle occasionne sont des points critiques qui doivent
faire réfléchir toute entreprise. La maturité des solutions Linux,
impose enfin une démarche d’ingénieur qui nécessite de définir au
préalable ses besoins, ses ressources et d’analyser les retours
d’expériences connus. Un bon conseil cependant est de prendre des
distributions de provenance certifiée et auditer les codes sources
(pour une question de sécurité).
La pseudo-gratuité de Linux et des logiciels libres ne doit pas
cacher le réel coût d’un tel investissement et il faut prévoir un budget pour la mise en œuvre, la formation, le support et la veille.
Les perspectives d’évolutions ne semblent plus être à l’affrontement : logiciels libres (Linux en tête de file) contre logiciels commerciaux (Microsoft en référence), mais plutôt à la cohabitation des
deux modes de distribution. La tendance actuelle laisse présager
que le produit « système d’exploitation » (et par extension « le logiciel ») ne devra plus être le seul argument commercial des sociétés
le distribuant, mais que l’effort et les sources de revenus devront
être centrés autour des services.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique
Téléchargement