2005 eyrolles - cahiers de ladmin - gnu linux debian (2e edition)

16,943 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
16,943
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
966
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

2005 eyrolles - cahiers de ladmin - gnu linux debian (2e edition)

  1. 1. de R. Hertzog Cahiers l’Admin Cahiers de Collection dirigée par Nat Makarévitch l’Admin GNU/Linux Debian, système d’exploitation universel • Les principes du logiciel libre selon Debian • Développeurs Debian, utilisateurs, équipes et sous-projets • Rôle d’une distribution • Présentation de l’étude de cas • Pourquoi Debian GNU/Linux ? Pourquoi Debian Sarge ? Prise en compte de l’existant et méthode de migration • Coexistence en environnement hétérogène • Installer et configurer les services • Installation • Système de paquetage, outils et principes de base • Concurrents du format .deb • Paquet source • Découverte de dpkg • Maintenance et mise à jour avec les outils APT • apt-get et apt-cache • Frontaux : aptitude, synaptic, gnome-apt • Se documenter • Résolution de problèmes • Configuration de base • Configurer le clavier • Configurer le réseau • Ethernet et PPP • Nommage et résolution de noms • Utilisateurs et groupes avec ou sans LDAP • Impression • Chargeur de démarrage • LILO et GRUB • Rotation des fichiers de logs • Synchronisation horaire • Partage des droits d’administration • Points de montage • Quotas • Supervision • Sauvegarde • Hotplug • Gestion de l’énergie • APM, ACPI, PCMCIA • Configuration et installation d’un noyau • Services Unix • Démarrage • Connexion à distance • SSH • VNC • Webmin • Debconf • Syslog • Inetd • Cron et atd • Anacron • Infrastructure réseau • Passerelle • Masquerading • Filtre de paquets • VPN • QoS • DNS • IDS • Services réseau • Postfix • Apache • NFS • Samba • Squid • LDAP • Station de travail • XFree86 • L’interface graphique • GNOME et KDE • Courrier électronique, navigateurs web, développement, travail collaboratif, suites bureautiques, émulation Windows • Techniques avancées • Recompiler un paquet depuis ses sources • Récupérer les sources • Lancer une recompilation • Construire un paquet • Métapaquet ou faux-paquet • Devenir mainteneur de paquet • Distributions dérivées • Glossaire. GNU/Linux 2e éd. Premier développeur français de la distribution Debian GNU/Linux. Christophe Le Bars est expert en sécurité et migration vers les logiciels libres. Développeur Debian depuis 5 ans, développeur et mainteneur du logiciel libre Gforge, Roland Mas est consultant indépendant spécialisé dans l’installation et la migration de systèmes Debian GNU/Linux. Configuration requise : • PC, processeur AMD ou Intel, famille x86 • 128 Mo de mémoire RAM, 64 Mo requis pour le programme d’installation • 500 Mo d’espace disponible sur le disque dur • Lecteur CD-Rom 24X ou davantage Connexion Internet haut débit recommandée (mais non nécessaire). 32 € Debian L’amorçage de ce CD-Rom lance l’installation de Debian GNU/Linux 3.1rc3 (Sarge) i386. Il contient de nombreux logiciels (660 Mo) : Apache, Samba, PostgreSQL, PHP 4, Bind, Postfix, OpenLDAP, etc. GNU/Linux Cette 2e édition du cahier de l’Admin Debian détaille la plus récente version de Debian Sarge 3.1. Elle traite des outils et méthodes qu’un administrateur Linux doit maîtriser, depuis l’installation et la mise à jour du système jusqu’à la création de paquetages, en passant par la supervision, la sauvegarde, et les migrations. Elle aborde également de nouveaux thèmes tels que la compilation d’un noyau Linux avec les outils Debian, et fournit un glossaire des principaux termes Debian. illustration Wildbuck Debian GNU/Linux, distribution Linux non commerciale extrêmement populaire, est réputée pour sa fiabilité et sa richesse. Soutenue par un impressionnant réseau de développeurs dans le monde, elle a pour mots d’ordre l’engagement vis-à-vis de ses utilisateurs et la qualité. 782212 116397 édition R a p h a ë l H e r t z o g est ingénieur en informatique diplômé de l’INSA de Lyon et développeur Debian depuis 1997. Fondateur de Freexian, première SSII spécialisée dans Debian GNU/Linux, il est l’un des contributeurs français majeurs participant à ce projet Linux. 9 2e Code éditeur : G11639 ISBN : 2-212-11639-X Debian Raphaël Hertzog Avec la contribution de Christophe Le Bars et Roland Mas
  2. 2. de R. Hertzog Cahiers l’Admin Cahiers de Collection dirigée par Nat Makarévitch l’Admin GNU/Linux édition Debian GNU/Linux, distribution Linux non commerciale extrêmement populaire, est réputée pour sa fiabilité et sa richesse. Soutenue par un impressionnant réseau de développeurs dans le monde, elle a pour mots d’ordre l’engagement vis-à-vis de ses utilisateurs et la qualité. Cette 2e édition du cahier de l’Admin Debian détaille la plus récente version de Debian Sarge 3.1. Elle traite des outils et méthodes qu’un administrateur Linux doit maîtriser, depuis l’installation et la mise à jour du système jusqu’à la création de paquetages, en passant par la supervision, la sauvegarde, et les migrations. Elle aborde également de nouveaux thèmes tels que la compilation d’un noyau Linux avec les outils Debian, et fournit un glossaire des principaux termes Debian. Debian, système d’exploitation universel • Les principes du logiciel libre selon Debian • Développeurs Debian, utilisateurs, équipes et sous-projets • Rôle d’une distribution • Présentation de l’étude de cas • Pourquoi Debian GNU/Linux ? Pourquoi Debian Sarge ? Prise en compte de l’existant et méthode de migration • Coexistence en environnement hétérogène • Installer et configurer les services • Installation • Système de paquetage, outils et principes de base • Concurrents du format .deb • Paquet source • Découverte de dpkg • Maintenance et mise à jour avec les outils APT • apt-get et apt-cache • Frontaux : aptitude, synaptic, gnome-apt • Se documenter • Résolution de problèmes • Configuration de base • Configurer le clavier • Configurer le réseau • Ethernet et PPP • Nommage et résolution de noms • Utilisateurs et groupes avec ou sans LDAP • Impression • Chargeur de démarrage • LILO et GRUB • Rotation des fichiers de logs • Synchronisation horaire • Partage des droits d’administration • Points de montage • Quotas • Supervision • Sauvegarde • Hotplug • Gestion de l’énergie • APM, ACPI, PCMCIA • Configuration et installation d’un noyau • Services Unix • Démarrage • Connexion à distance • SSH • VNC • Webmin • Debconf • Syslog • Inetd • Cron et atd • Anacron • Infrastructure réseau • Passerelle • Masquerading • Filtre de paquets • VPN • QoS • DNS • IDS • Services réseau • Postfix • Apache • NFS • Samba • Squid • LDAP • Station de travail • XFree86 • L’interface graphique • GNOME et KDE • Courrier électronique, navigateurs web, développement, travail collaboratif, suites bureautiques, émulation Windows • Techniques avancées • Recompiler un paquet depuis ses sources • Récupérer les sources • Lancer une recompilation • Construire un paquet • Métapaquet ou faux-paquet • Devenir mainteneur de paquet • Distributions dérivées • Glossaire. R a p h a ë l H e r t z o g est ingénieur en informatique diplômé de l’INSA de Lyon et développeur Debian depuis 1997. Fondateur de Freexian, première SSII spécialisée dans Debian GNU/Linux, il est l’un des contributeurs français majeurs participant à ce projet Linux. Premier développeur français de la distribution Debian GNU/Linux. Christophe Le Bars est expert en sécurité et migration vers les logiciels libres. Développeur Debian depuis 5 ans, développeur et mainteneur du logiciel libre Gforge, Roland Mas est consultant indépendant spécialisé dans l’installation et la migration de systèmes Debian GNU/Linux. GNU/Linux 2e éd. 2e GNU/Linux Debian Raphaël Hertzog Avec la contribution de Christophe Le Bars et Roland Mas Configuration requise : • PC, processeur AMD ou Intel, famille x86 • 128 Mo de mémoire RAM, 64 Mo requis pour le programme d’installation • 500 Mo d’espace disponible sur le disque dur • Lecteur CD-Rom 24X ou davantage Connexion Internet haut débit recommandée (mais non nécessaire). Debian GNU/Linux 3.1rc3 Sarge i386
  3. 3. ������� ������� ������� �� ������� ������ �� ������� ����������� �������� ���� ���� ����������� �������������������������������������������� ������������������������������������������������
  4. 4. ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Remerciements à Thierry Stempfel pour les illustrations. Le code de la propriété intellectuelle du 1er juillet 1992 interdit en effet expressément la photocopie à usage collectif sans autorisation des ayants droit. Or, cette pratique sʼest généralisée notamment dans les établissements dʼenseignement, provoquant une baisse brutale des achats de livres, au point que la possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est aujourdʼhui menacée. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de lʼéditeur ou du Centre Français dʼExploitation du Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris. © Groupe Eyrolles, 2004, 2005, ISBN : 2-212-11639-X
  5. 5. Pr´face e Les professionnels d´ couvrent enfin le projet Debian, dont le souci de r´ aliser e e un ensemble riche, souple et requ´ rant peu d’attention correspond bien a leurs e ` attentes. Ils appr´ cient le soin apport´ a la robustesse-fiabilit´ , a l’automatisation e e` e ` des tˆ ches subalternes ainsi qu’` la mise au point et au respect de sp´ cifications a a e garantes de la coh´ rence, donc de la p´ rennit´ des savoirs. e e e Dans le mˆ me temps, de grands acteurs de l’informatique percoivent vraisemblae ¸ blement aujourd’hui l’int´ rˆ t strat´ gique d’une distribution Linux mure et non e e e ˆ g´ r´ e par une entit´ commerciale. Certains de leurs clients comprennent, dans le e e e mˆ me registre, qu’une plate-forme logicielle ne d´ pendant pas d’accords tiss´ s e e e entre des fournisseurs r´ duit les contraintes pesant sur eux apr` s l’achat. e e De nombreux amateurs, enfin, d´ couvrent Debian grˆ ce aux evolutions e a ´ sp´ cifiques de la famille Knoppix et certains, souhaitant fuir l’empirisme, e « ouvrent le capot ». Debian GNU/Linux, longtemps discr` te, convainquit tout d’abord le passionn´ , e e souvent attir´ par l’esprit qui l’anime. Il y trouve un projet aux objectifs clairs et e aux r´ alisations transparentes, au sein duquel tous œuvrent afin de bien concevoir e avant de construire — renoncant d’embl´ e aux ech´ ances, donc a leurs contraintes ¸ e ´ e ` menacant la qualit´ de tant d’autres logiciels. Il y trouve un projet dirig´ par ses ¸ e e acteurs. Il y adopte ou rejoint, en somme, un projet b´ n´ ficiant pleinement des e e avantages du logiciel libre... afin d’en produire. Ce Cahier de l’Admin guidera et eclairera le lecteur afin de le rendre autonome. Seul ´ pouvait le r´ diger un tandem auteur-relecteur maˆtrisant les aspects techniques e ı tout autant que les caract´ ristiques propres du projet Debian, et connaissant pare faitement les besoins des francophones, professionnels aguerris comme amateurs
  6. 6. Cahier de l'admin Debian eclair´ s. Rapha¨ l et Christophe disposaient des qualit´ s requises et surent, aid´ s ´ e e e e par Roland, cr´ er cet ouvrage. Je les en remercie vivement et suis certain que sa e lecture vous sera utile et agr´ able. e Nat Makarevitch (empreinte PGP/GPG : 2010 4A02 9C0E 7D1F 5631 ADF0 453C 4549 0230 D602) IV
  7. 7. Avant-propos Linux a le vent en poupe depuis quelques ann´ es, et sa popularit´ croissante e e convainc de plus en plus de faire le grand saut. Cette aventure commence par le choix d’une distribution, d´ cision importante car les diff´ rentes distributions e e diff` rent sensiblement. Autant s’´ pargner de futurs efforts inutiles de migration e e vers une autre distribution ! Debian GNU/Linux est une distribution Linux « g´ n´ raliste », convenant a priori e e a tous. Je vous propose d’en d´ couvrir toutes les facettes ; vous pourrez donc la ` e retenir (ou pas) en toute connaissance de cause... Pourquoi ce livre ? Linux commence a b´ n´ ficier d’une couverture m´ diatique non n´ gligeable, ` e e e e profitant essentiellement aux distributions commerciales (Red Hat, SuSE, Mandrake...). Debian, souvent plac´ e par les sondages dans le trio de tˆ te des distribue e tions les plus populaires, est pourtant loin d’ˆ tre marginale. En 2003, les lecteurs e du Linux Journal lui ont attribu´ le titre de « distribution Linux pr´ f´ r´ e ». Il est e ee e donc difficile de la n´ gliger. e Ce livre a ainsi pour vocation de faire d´ couvrir cette distribution. J’esp` re vous e e faire profiter de toute l’exp´ rience acquise depuis que j’ai rejoint le projet en tant e que d´ veloppeur-contributeur, en 1997. Peut-ˆ tre parviendrai-je a vous commue e ` niquer mon enthousiasme, et vous donner l’envie de rejoindre nos rangs d’ici quelque temps, qui sait... Il comble aussi un manque criant : pour autant que je sache, c’est le premier livre francais consacr´ exclusivement a Debian. ¸ e ` B.A.-BA Distribution et noyau Linux Linux n’est en fait qu’un noyau, la brique logicielle de base assurant l’interface entre le mat´riel et les programmes. e Une distribution Linux est un syst`me d’exploie tation complet incluant un noyau Linux, un programme d’installation, et surtout des applications et utilitaires transformant l’ordinateur en outil r´ellement exploitable. e CULTURE Distributions commerciales La plupart des distributions Linux sont adoss´es e a une entreprise commerciale qui les d´veloppe ` e et les commercialise. C’est par exemple le cas de Mandrake Linux, r´alis´e par la soci´t´ fran¸aise e e ee c MandrakeSoft SA, ou encore celui de SuSE LINUX, œuvre de la soci´t´ allemande Suse ee Linux AG (pass´e dans le giron de Novell en noe vembre 2003). ` A l’instar de l’Apache Software Foundation, qui d´veloppe les serveurs web du mˆme nom, e e Debian est avant tout un projet du monde du logiciel libre. C’est une organisation regroupant des b´n´voles qui coop`rent par l’Internet. e e e
  8. 8. Cahier de l'admin Debian À qui s'adresse cet ouvrage ? Ses divers niveaux de lecture permettront a diff´ rents profils d’en tirer le meilleur ` e parti. En premier lieu, les administrateurs syst` me (d´ butants ou exp´ riment´ s) e e e e y trouveront des explications sur l’installation de Debian et son d´ ploiement e sur de nombreux postes. Ils passeront aussi en revue un ensemble relativement etoff´ de services disponibles sur Debian et les instructions de configuration ´ e correspondantes, qui prennent en compte les sp´ cificit´ s et am´ liorations de la e e e distribution. La compr´ hension des m´ canismes r´ gissant le d´ veloppement de e e e e Debian leur permettra encore de faire face a tout impr´ vu, en s’appuyant au ` e besoin sur la collaboration des membres de la communaut´ . e Les utilisateurs d’une autre distribution Linux ou d’un autre Unix d´ couvriront e les sp´ cificit´ s de Debian ; ils y seront ainsi tr` s vite op´ rationnels, tout en e e e e b´ n´ ficiant des avantages propres a cette distribution. e e ` Enfin, tous ceux qui connaissent d´ j` un peu Debian et souhaitent en savoir plus ea sur son fonctionnement communautaire seront exauc´ s. Apr` s la lecture de ce e e livre, ils pourront rejoindre les rangs de nos contributeurs. Approche adoptée Toutes les documentations g´ n´ riques s’appliquent a Debian GNU/Linux, e e ` qui propose les logiciels libres les plus courants. En vous y limitant, vous en n´ gligeriez pourtant les am´ liorations apport´ es par cette distribution. C’est e e e pourquoi j’ai pris le parti de pr´ senter en priorit´ les mani` res de proc´ der e e e e recommand´ es par Debian. e C’est bien de suivre le chemin trac´ par Debian, mais c’est encore mieux d’en e comprendre les tenants et les aboutissants. Je ne me contenterai donc pas d’explications pratiques, mais d´ taillerai egalement le fonctionnement du projet, afin e ´ de vous fournir des connaissances compl` tes et coh´ rentes. e e Structure du livre Site web et courriel de l’auteur Une section de mon site web est d´di´e a ce e e ` livre, et h´bergera tout ce qui peut le compl´ter e e utilement. On y trouvera par exemple une liste (cliquable) de toutes les URL cit´es, ou encore e les ´ventuels errata d´couverts apr`s impression. e e e N’h´sitez pas a la consulter et profitez-en pour e ` me faire part de vos remarques ou messages de soutien en m’´crivant a hertzog@debian.org. e ` http://www.ouaza.com/livre/admin-debian/ VI Comme tous les ouvrages de cette collection, ce livre s’articulera autour d’un cas d’´ tude concret qui servira a la fois de support et d’illustration pour tous les e ` sujets trait´ s. e Le chapitre 1, r´ serv´ a une pr´ sentation non technique de Debian, en exposera e e` e les objectifs et le mode de fonctionnement. Ces aspects sont importants, car ils permettent de fixer un cadre ou viendront se greffer les contenus des autres ` chapitres. Les chapitres 2 et 3 pr´ senteront les grandes lignes de l’´ tude de cas retenue. e e
  9. 9. Avant-propos Nous d´ buterons ensuite logiquement par l’installation (chapitre 4), puis e d´ couvrirons aux chapitres 5 et 6 les outils de base utiles a tout administrateur e ` Debian, notamment la famille APT, largement responsable de la bonne r´ putation e de cette distribution. Un chapitre interm´ diaire, le chapitre 7, pr´ sentera des m´ thodes a suivre pour e e e ` utiliser efficacement toute la documentation et comprendre rapidement ce qui se passe afin de r´ soudre les probl` mes. e e La suite d´ taillera la configuration pas a pas du syst` me en commencant par les e ` e ¸ infrastructures et services de base (chapitres 8 a 10) pour remonter progressive` ment vers les applicatifs utilisateur (chapitre 12). Le chapitre 13 sera consacr´ aux administrateurs qui souhaitent aller plus loin et e cr´ er des paquets Debian personnalis´ s. e e VOCABULAIRE Paquet Debian Un paquet Debian est une archive qui renferme un ensemble de fichiers permettant d’installer un logiciel. En g´n´ral, il s’agit d’un fichier d’extension .deb, qu’on manipule avec le e e programme dpkg. Un paquet sera qualifi´ de binaire s’il contient des fichiers fonctionnels e directement utilisables (programmes, documentation) ou de source s’il abrite les codes sources du logiciel et les instructions n´cessaires a la fabrication du paquet binaire. e ` Cette deuxi` me edition traite de nouveaux th` mes, par exemple de la compilation e ´ e d’un noyau Linux avec les outils Debian (voir page 129). Une nouvelle annexe pr´ sente les distributions les plus populaires d´ rivant de Debian. Enfin, toutes e e les informations ont et´ mises a jour en fonction des evolutions de la distribution. ´e ` ´ Nous avons plac´ dans les marges des notes et remarques diverses. Elles ont e plusieurs roles : attirer votre attention sur un point d´ licat, compl´ ter ou d´ tailler ˆ e e e une notion abord´ e dans le cas d’´ tude, d´ finir un terme, ou faire des rappels. e e e Voici une liste non exhaustive de ces encadr´ s : e B.A.-BA : rappelle une information suppos´ e connue du lecteur ; e VOCABULAIRE : d´ finit un terme technique sp´ cifique au projet Debian ; e e ´ COMMUNAUTE : pr´ sente des personnages importants ou les roles d´ finis e ˆ e au sein du projet ; CHARTE DEBIAN : evoque une r` gle ou recommandation de la « charte ´ e Debian ». Ce document essentiel d´ crit comment empaqueter les logiciels. e Toutes ces connaissances s’av´ reront utiles pour d´ couvrir un nouveau logie e ciel. Tout paquet Debian devant se conformer a la charte, on saura ainsi ou en ` ` trouver la documentation, des exemples de fichiers de configuration, etc. OUTIL : pr´ sente un outil ou service pertinent ; e EN PRATIQUE : la pratique a parfois des sp´ cificit´ s, que pr´ senteront ces e e e encadr´ s. Ils pourront aussi donner des exemples explicites et concrets ; e d’autres encadr´ s, moins fr´ quents, sont relativement explicites : CULTURE, e e ASTUCE, EN CAS DE COUP DUR, ATTENTION, POUR ALLER PLUS LOIN, ´ ´ ´ ´ SPECIFICITE DEBIAN, SECURITE... VII
  10. 10. Cahier de l'admin Debian Cédérom d'accompagnement Le c´ d´ rom offert avec ce livre permet d’installer Debian GNU/Linux (pour archie e tecture i386) simplement en y amorcant l’ordinateur. Ainsi, apr` s avoir install´ ¸ e e cette distribution, il sera directement possible de mettre en pratique les enseignements du livre. Le disque contient en effet la quasi-totalit´ des programmes e etudi´ s (mis a part les bureaux graphiques GNOME et KDE, trop volumineux). ´ e ` Tous les d´ tails sur le fonctionnement du programme d’installation sont donn´ s e e dans le chapitre 4. Remerciements En premier lieu, je tiens a remercier Nathana¨ l Makarevitch, qui m’a propos´ ` e e d’´ crire ce livre et m’a accompagn´ tout au long de sa r´ alisation ; merci egalement e e e ´ a toute l’´ quipe d’Eyrolles qui a contribu´ a ce livre et notamment a Muriel Shan ` e e` ` Sei Fan, tr` s patiente avec moi. Merci a S´ bastien Blondeel et a Florence Henry e ` e ` pour leurs contributions. Ce livre ne serait pas ce qu’il est sans les relecteurs qui m’ont fait part de leurs judicieuses remarques : Christophe Le Bars et Roland Mas en particulier. Merci aussi a Charles-Andr´ Habib. ` e Je remercie egalement Thierry Stempfel pour les belles illustrations introduisant ´ chaque chapitre. Merci enfin a Sophie d’avoir et´ si patiente avec moi et de m’avoir soutenu ` ´e jusqu’au bout. VIII
  11. 11. Table des mati`res e 1. Le projet Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Qu’est-ce que Debian ? La qualit´ des logiciels libres e Le cadre : une association M´ thodes d’installation 44 e Installation depuis un c´ d´ rom 44 e e Un syst` me d’exploitation multi-plate-formes e Les textes fondateurs 2 4 4 ´ Etapes du programme d’installation 46 6 Ex´ cution du programme d’installation 46 e 6 L’engagement vis-` -vis des utilisateurs a D´ marrage depuis une cl´ USB 45 e e Installation par boot r´ seau 45 e 5 Choix de la langue 46 6 Les principes du logiciel libre selon Debian 7 Fonctionnement du projet Debian 10 Choix du pays 47 Choix de la disposition du clavier 48 Les d´ veloppeurs Debian 10 e D´ tection du mat´ riel 48 e e Le role actif des utilisateurs 13 ˆ ´ Equipes et sous-projets 15 Chargement des composants 49 Role d’une distribution 19 ˆ D´ tection du mat´ riel r´ seau 49 e e e Configuration du r´ seau 49 e L’installateur : debian-installer 19 D´ tection des disques et autres p´ riph´ riques 50 e e e La biblioth` que de logiciels 19 e D´ marrage de l’outil de partitionnement 50 e Cycle de vie d’une release 20 Le statut experimental 20 Le statut unstable 20 La migration vers testing 22 La promotion de testing en stable 22 2. Pr´sentation de l’´tude de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 e e Des besoins informatiques en forte hausse 28 Installation du syst` me de base Debian 55 e Installation du chargeur d’amorcage GRUB 55 ¸ Terminer l’installation et red´ marrer 55 e Le premier d´ marrage 56 e Horloge et fuseau horaire 56 Mot de passe administrateur 56 Cr´ ation du premier utilisateur 56 e Configuration de l’outil Debian de gestion de paquets Plan directeur 28 (apt) 56 Pourquoi une distribution GNU/Linux ? 29 Installation de logiciels suppl´ mentaires 57 e Pourquoi la distribution Debian ? 30 Distributions communautaires et commerciales 31 Pourquoi Debian Sarge ? 32 3. Prise en compte de l’existant et migration . . . . . . . . . . . . 34 Coexistence en environnement h´ t´ rog` ne 36 ee e Mise a jour du syst` me 58 ` e Fin de l’installation 58 5. Syst`me de paquetage, outils et principes fondamentaux 60 e Structure d’un paquet binaire 62 M´ ta-informations d’un paquet 63 e Int´ gration avec des machines Windows 36 e Description : fichier control 63 Int´ gration avec des machines Mac OS 36 e Scripts de configuration 67 Int´ gration avec d’autres machines Linux/Unix 36 e D´ marche de migration 36 e Recenser et identifier les services 37 Conserver la configuration 38 Prendre en main un serveur Debian existant 39 Sommes de controle, liste des fichiers de configuration 70 ˆ Structure d’un paquet source 72 Format 72 Utilit´ chez Debian 73 e Manipuler des paquets avec dpkg 74 Installer Debian 40 Installation de paquets 74 Installer et configurer les services s´ lectionn´ s 41 e e Suppression de paquet 75 Autres fonctionnalit´ s de dpkg 76 e 4. Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Cohabitation avec d’autres syst` mes de paquetages 78 e
  12. 12. Cahier de l'admin Debian 6. Maintenance et mise ` jour : les outils APT . . . . . . . . . . 80 a Renseigner le fichier sources.list 82 Commande apt-get 84 Bloquer un compte 118 Liste des groupes : /etc/group 118 Cr´ ation de comptes 118 e Initialisation 84 Environnement des interpr´ teurs de commandes 119 e Installation et suppression 84 Configuration de l’impression 121 Mise a jour 86 ` Configuration du chargeur d’amorcage 121 ¸ Options de configuration 86 Identifier ses disques 121 G´ rer les priorit´ s associ´ es aux paquets 87 e e e Configuration de LILO 122 Travailler avec plusieurs distributions 89 Configuration de GRUB 123 Commande apt-cache 90 Frontaux : aptitude, synaptic, gnome-apt 91 Cas des Macintosh : configuration de Yaboot 124 Autres configurations : synchronisation, logs, partages... 125 V´ rification d’authenticit´ des paquets 92 e e Fuseau horaire 125 Mise a jour automatique 94 ` Rotation des fichiers de logs 125 Configuration de dpkg 94 Configuration d’APT 95 Configuration de debconf 95 Gestion des interactions en ligne de commande 95 La combinaison miracle 95 7. R´solution de probl`mes et sources d’information . . . . 98 e e Les sources de documentation 100 Les pages de manuel 100 Documentation au format info 102 La documentation sp´ cifique 102 e Les sites web 103 Les HOWTO 103 Proc´ dures type 104 e Configuration d’un logiciel 104 Surveiller l’activit´ des d´ mons 105 e e Demander de l’aide sur une liste de diffusion 106 Signaler un bogue en cas de probl` me incompr´ hensible 106 e e 8. Configuration de base : r´seau, comptes, impression... 108 e Francisation du syst` me 110 e D´ finir la langue par d´ faut 110 e e Synchronisation horaire 126 Partage des droits d’administration 126 Liste des points de montage 127 locate et updatedb 128 Compilation d’un noyau 129 Introduction et pr´ requis 129 e R´ cup´ rer les sources 129 e e Configuration du noyau 130 Compilation et g´ n´ ration du paquet 131 e e Compilation de modules externes 132 Emploi d’un patch sur le noyau 133 Installation d’un noyau 133 Caract´ ristiques d’un paquet Debian du noyau 133 e Installation avec dpkg 134 9. Services Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 D´ marrage du syst` me 138 e e Connexion a distance 140 ` Connexion a distance : telnet 140 ` Connexion a distance s´ curis´ e : SSH 140 ` e e Acc´ der a distance a des bureaux graphiques 142 e ` ` Configurer le clavier en mode console 111 Gestion des droits 142 Configurer le clavier en mode graphique 111 Interfaces d’administration 144 Configuration du r´ seau 112 e Interface Ethernet 112 Interface PPP 113 Attribution et r´ solution des noms 114 e R´ solution de noms 115 e Base de donn´ es des utilisateurs et des groupes 116 e Liste des utilisateurs : /etc/passwd 116 Administrer sur interface web : webmin 145 Configuration des paquets : debconf 145 Les ev´ nements syst` me de syslog 146 ´ e e Principe et fonctionnement 146 Le fichier de configuration 147 Le super-serveur inetd 148 Planification synchrone : cron et atd 149 Le fichier des mots de passe chiffr´ s et cach´ s : e e Format d’un fichier crontab 150 /etc/shadow 117 Emploi de la commande at 151 Modifier un compte ou mot de passe existant 117 X Planification asynchrone : anacron 152
  13. 13. Supervision 153 Table des matières Les quotas 152 Analyseur de logs 197 Serveur de fichiers NFS 199 Surveillance des logs avec logcheck 153 S´ curiser NFS (au mieux) 200 e Surveillance de l’activit´ 154 e Serveur NFS 201 Sauvegarde 155 Branchements « a chaud » : hotplug 157 ` Gestion de l’´ nergie 157 e Gestion avanc´ e de l’´ nergie : APM 157 e e ´ Economie d’´ nergie moderne : ACPI 157 e Cartes pour portables : PCMCIA 158 10. Infrastructure r´seau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 e Passerelle 162 Pare-feu ou filtre de paquets 163 Fonctionnement de netfilter 163 Syntaxe d’iptables 165 Cr´ er les r` gles 166 e e Installer les r` gles a chaque d´ marrage 167 e ` e R´ seau priv´ virtuel 168 e e Client NFS 202 Partage Windows avec Samba 203 Samba en serveur 203 Samba en client 207 Mandataire HTTP/FTP 208 Installation 209 Configuration d’un cache 209 Configuration d’un filtre 209 Annuaire LDAP 210 Installation 211 Remplissage de l’annuaire 212 Utiliser LDAP pour g´ rer les comptes 213 e 12. Station de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Configuration de XFree86 222 SSH et PPP 168 D´ tection automatique 222 e IPsec 168 Script de configuration 223 PPTP 169 Configuration du clavier 224 Qualit´ de service 172 e Principe et fonctionnement 172 Configuration et mise en œuvre 172 Configuration de la souris 224 Configuration de l’´ cran 224 e Personnalisation de l’interface graphique 225 Routage dynamique 174 Choix d’un gestionnaire d’´ cran (display manager) 225 e IPv6 175 Choix d’un gestionnaire de fenˆ tres 225 e Serveur de noms (DNS) 176 Principe et fonctionnement 176 Configuration 177 DHCP 179 Pr´ sentation 179 e Configuration 179 DHCP et DNS 180 D´ tection d’intrusion (IDS/NIDS) 181 e Gestion des menus 226 Bureaux graphiques 227 GNOME 228 KDE 228 Xfce et autres 229 Outils 229 Courrier electronique 229 ´ Navigateurs web 230 D´ veloppement 231 e 11. Services r´seau : Postfix, Apache, NFS, Samba, e Squid, LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Serveur de messagerie electronique 184 ´ Installation de Postfix 184 Configuration de domaines virtuels 186 Restrictions a la r´ ception et a l’envoi 188 ` e ` Int´ gration d’un antivirus 192 e Serveur web (HTTP) 194 Installation d’Apache 194 Configuration d’hotes virtuels 195 ˆ Directives courantes 196 Travail collaboratif 231 Suites bureautiques 235 L’´ mulation Windows : Wine, VMWare, VNC, QEMU... 236 e 13. Conception d’un paquet Debian . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Recompiler un paquet depuis ses sources 240 R´ cup´ rer les sources 240 e e Effectuer les modifications 240 D´ marrer la recompilation 241 e Construire son premier paquet 242 M´ ta-paquet ou faux paquet 242 e XI
  14. 14. Cahier de l'admin Debian Simple archive de fichiers 243 Annexe : Distributions d´riv´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 e e Cr´ er une archive de paquets pour APT 246 e Ubuntu Linux 260 Devenir mainteneur de paquet 248 Knoppix 260 Apprendre a faire des paquets 248 ` Mepis Linux 261 Processus d’acceptation 250 Xandros 261 14. Conclusion : l’avenir de Debian . . . . . . . . . . . . . . . . . . . . . . . . . . 254 D´ veloppements a venir 256 e ` Avenir de Debian 256 Avenir de ce livre 257 XII Libranet 261 Linspire 262 Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
  15. 15. 1
  16. 16. Le projet Debian Avant de plonger dans la technique, d´ couvrons e ensemble ce qu’est le projet Debian : ses objectifs, ses moyens et son fonctionnement. SOMMAIRE Qu’est-ce que Debian ? Les textes fondateurs Fonctionnement du projet Debian Rˆle d’une distribution o Cycle de vie d’une release MOTS-CLEFS Objectif Moyens Fonctionnement B´n´vole e e
  17. 17. Cahier de l'admin Debian CULTURE Origine du nom de Debian Ne cherchez plus, Debian n’est pas un acronyme. Ce nom est en r´alit´ une contraction de e e deux pr´noms : celui de Ian Murdock et de sa e femme Debra. Debra + Ian = Debian CULTURE GNU, le projet de la FSF Le projet GNU est un ensemble de logiciels libres d´velopp´s ou parrain´s par la Free Softe e e ware Foundation (FSF), dont Richard Stallman est le cr´ateur embl´matique. C’est l’acronyme e e r´cursif de « GNU N’est pas Unix ». e Qu'est-ce que Debian ? Lorsqu’il a cr´ e Debian en 1993 sous l’impulsion de la FSF, Ian Murdock avait des e´ objectifs clairs, qu’il a exprim´ s dans le Manifeste Debian. Le syst` me d’exploie e tation libre qu’il recherchait devait pr´ senter deux caract´ ristiques principales. e e En premier lieu, la qualit´ : Debian serait d´ velopp´ e avec le plus grand soin, e e e pour etre digne du noyau Linux. Ce serait egalement une distribution non comˆ ´ merciale suffisamment cr´ dible pour concurrencer les distributions commerciales e majeures. Cette double ambition ne serait a son sens atteinte qu’en ouvrant le ` processus de d´ veloppement de Debian, a l’instar de Linux et de GNU. Ainsi, la e ` revue des pairs am´ liorerait constamment le produit. e Un système d'exploitation multi-plate-formes Debian, rest´ e fid` le a ses principes initiaux, a connu un tel succ` s qu’elle atteint e e ` e aujourd’hui une taille pharaonique. Ses 12 architectures et plus de 8000 paquets sources disponibles couvrent d´ sormais presque tout le spectre des mat´ riels e e existants et domaines d’application imaginables. Cet embonpoint devient parfois gˆ nant : il est peu raisonnable de distribuer 14 e c´ d´ roms de Debian... C’est pourquoi on la consid` re de plus en plus comme e e e une « m´ ta-distribution », dont on extrait des distributions plus sp´ cifiques et e e orient´ es vers un public particulier : Debian-Desktop pour un usage bureautique e traditionnel, Debian-Edu pour un emploi educatif et p´ dagogique en milieu ´ e scolaire, Debian-Med pour les applications m´ dicales, Debian Jr. (Debian Junior) e pour les jeunes enfants, etc. Ces scissions, organis´ es dans un cadre bien d´ fini et garantissant une compatibie e lit´ entre les diff´ rentes « sous-distributions », ne posent aucun probl` me. Toutes e e e suivent le planning g´ n´ ral des publications de nouvelles versions. S’adossant e e sur les mˆ mes briques de base, elles peuvent facilement etre etendues, compl´ t´ es e ˆ ´ ee et personnalis´ es par des applications disponibles au niveau de Debian. e Tous les outils de Debian evoluent dans cette direction : debian-cd permet ´ depuis longtemps de cr´ er des jeux de c´ d´ roms ne comportant que des paquets e e e ´ COMMUNAUTE Le parcours de Ian Murdock Ian Murdock, fondateur du projet Debian, en fut le premier leader, de 1993 a 1996. Apr`s avoir pass´ la main a Bruce Perens, ` e e ` il s’est fait plus discret. Il est ensuite revenu sur le devant de la sc`ne du logiciel libre en cr´ant la soci´t´ Progeny, visant a come e ee ` mercialiser une distribution d´riv´e de Debian. Ce fut un ´chec e e e commercial, au d´veloppement depuis abandonn´. Mais les contrie e butions de Progeny subsistent : citons Progeny Graphical Installer (PGI) (installateur graphique) ou discover (d´tection aue 4 tomatique du mat´riel). Plus r´cemment, Progeny, devenue une e e SSII sp´cialiste des logiciels libres, a adapt´ l’installateur automae e tique de Red Hat (anaconda) pour permettre son utilisation avec Debian. Son dernier projet, Componentized Linux, consiste en une nouvelle approche d’une distribution Linux. On n’y assemble plus des paquets, mais des collections de paquets coh´rents, plus faciles e a g´rer. Chacune progresse ind´pendamment des autres, facilitant ` e e ainsi l’´volution globale du syst`me. e e
  18. 18. Le terme « architecture » d´signe un type d’ordinateur (les plus e connues sont Mac ou PC). Chaque architecture se diff´rencie prine cipalement par son mod`le de processeur, g´n´ralement incompae e e tible avec les autres. Ces diff´rences de mat´riel impliquent des e e fonctionnements distincts et imposent une compilation sp´cifique e de tous les logiciels pour chaque architecture. La plupart des logiciels disponibles pour Debian sont ´crits en des e langages de programmation portables : le mˆme code source est e compil´ sur les diverses architectures. En effet, un ex´cutable bie e naire, toujours compil´ pour une architecture donn´e, ne fonce e tionne g´n´ralement pas sur les autres. e e Rappelons que chaque logiciel est cr´´ en r´digeant un code ee e source ; il s’agit d’un fichier textuel compos´ d’instructions provee nant d’un langage de programmation. Avant de pouvoir utiliser le logiciel, il est n´cessaire de compiler le code source, c’est-`-dire de e a le transformer en code binaire (une succession d’instructions machines ex´cutables par le processeur). Chaque langage de programe mation dispose d’un compilateur pour effectuer cette op´ration e (par exemple gcc pour le langage C). pr´ alablement s´ lectionn´ s ; debian-installer est egalement un installateur e e e ´ modulaire, facilement adaptable a des besoins particuliers. APT installera des ` paquets d’origines diverses tout en garantissant la coh´ rence globale du syst` me. e e OUTIL Nouvel installateur debian-installer, le plus r´cent programme d’installation de Debian, fut d´velopp´ e e e pour remplacer boot-floppies. Sa conception modulaire permet de l’employer dans un grand nombre de sc´narios d’installation diff´rents. Le travail de d´veloppement est e e e coordonn´ sur la liste de diffusion debian-boot@lists.debian.org sous la direction de Joey e Hess (joeyh@debian.org). OUTIL Cr´er un c´d´rom Debian e e e debian-cd permet de cr´er des images ISO e de c´d´roms d’installation prˆts a l’emploi. e e e ` J’en suis le mainteneur, et l’auteur de la derni`re r´´criture. Tout ce qui concerne ce e ee logiciel se discute (en anglais) sur la liste de diffusion debian-cd@lists.debian.org. La qualité des logiciels libres Debian suit tous les principes du logiciel libre, et ses nouvelles versions ne sortent que lorsqu’elles sont prˆ tes. Aucun calendrier pr´ etabli ne contraint les e e´ d´ veloppeurs a bˆ cler pour respecter une ech´ ance arbitraire. On reproche donc e ` a ´ e souvent a Debian ses d´ lais de publication, mais cette prudence en garantit aussi ` e la l´ gendaire fiabilit´ : de longs mois de tests sont en effet n´ cessaires pour que e e e la distribution compl` te recoive le label « stable ». e ¸ Debian ne transige pas sur la qualit´ : tous les bogues critiques connus seront e corrig´ s dans toute nouvelle version, mˆ me si cela doit retarder la date de sortie e e initialement pr´ vue. e Debian n’exclut aucune cat´ gorie d’utilisateurs, aussi minoritaire soit-elle. Son e programme d’installation est longtemps rest´ fruste, car c’´ tait le seul capable de e e fonctionner sur toutes les architectures g´ r´ es par le noyau Linux. Il n’´ tait pas e e e envisageable de le remplacer par un programme plus convivial mais limit´ aux e PC (architecture i386). Heureusement, depuis l’arriv´ e de debian-installer, e cette epoque est r´ volue. ´ e 5 1 – Le projet Debian ` B.A.-BA A chaque ordinateur son architecture
  19. 19. Cahier de l'admin Debian ´ COMMUNAUTE Derri`re Debian, e l’association SPI Debian ne poss`de aucun serveur en son nom e propre, puisque ce n’est qu’un projet au sein de l’association Software in the Public Interest (SPI), qui en g`re les aspects mat´riels et finane e ciers (dons, achat de mat´riel...). Bien qu’initiae lement cr´´e sur mesure pour Debian, cette asee sociation coiffe maintenant d’autres projets du monde du logiciel libre. http://www.spi-inc.org Le cadre : une association Juridiquement parlant, Debian est un projet men´ par une association sans but e lucratif am´ ricaine regroupant des b´ n´ voles, similaire a nos associations loi e e e ` 1901. Le projet compte un millier de d´veloppeurs Debian mais f´ d` re un nombre e e e bien plus important de contributeurs (traducteurs, rapporteurs de bogues, d´ veloppeurs occasionnels...). e Pour mener a bien sa mission, Debian dispose d’une importante infrastructure, ` comportant de nombreux serveurs reli´ s a l’Internet. De nombreux m´ c` nes e ` e e offrent a la fois le mat´ riel et l’h´ bergement sur l’Internet. ` e e Les textes fondateurs Quelques ann´ es apr` s son lancement, Debian a formalis´ les principes qu’elle e e e devait suivre en tant que projet de logiciel libre. Cette d´ marche militante permet e une croissance sereine en s’assurant que tous les membres progressent dans la mˆ me direction. Pour devenir d´ veloppeur Debian, tout candidat doit d’ailleurs e e convaincre de son adh´ sion aux principes etablis dans les textes fondateurs du e ´ projet. Le processus de d´ veloppement est constamment d´ battu, mais ces textes fondae e teurs sont tr` s consensuels, mˆ me si non inalt´ rables. La constitution Debian offre e e e toutefois des garanties suppl´ mentaires : une majorit´ qualifi´ e de trois quarts e e e est n´ cessaire pour approuver tout amendement. e L 'engagement vis-à-vis des utilisateurs ´ COMMUNAUTE Auteur amont ou d´veloppeur Debian ? e Traduction litt´rale de upstream author, le e terme « auteur amont » d´signe le ou les aue teurs/d´veloppeurs d’un logiciel, qui l’´crivent e e et le font ´voluer. A contrario, un « d´veloppeur e e Debian » se contente en g´n´ral de partir d’un e e logiciel existant pour le transformer en paquet Debian (la d´signation « mainteneur Debian » e est plus explicite). Bien souvent, la ligne de d´marcation n’est pas e aussi nette. Le mainteneur Debian ´crit pare fois un correctif, qui profite a tous les utilisa` teurs du logiciel. De mani`re g´n´rale, Debian e e e encourage l’implication des responsables de paquets dans le d´veloppement « amont » (ils dee viennent alors contributeurs sans se cantonner au rˆle de simples utilisateurs d’un logiciel). o 6 On trouve aussi un « contrat social ». Quelle est la place d’un tel texte dans un projet ne visant qu’` concevoir un syst` me d’exploitation ? C’est tr` s simple, a e e Debian œuvre pour ses utilisateurs, et, par extension, pour la soci´ t´ . Ce contrat ee r´ sume donc les engagements pris. Voyons ces points plus en d´ tail : e e 1. Debian demeurera un ensemble logiciel totalement libre. C’est la r` gle num´ ro un. Debian est et restera constitu´ e exclusivement de e e e logiciels libres. De plus, tous les logiciels d´ velopp´ s en propre par Debian e e seront libres. 2. Nous donnerons en retour a la communaut´ du logiciel libre. ` e Toute am´ lioration apport´ e par le projet Debian a un logiciel int´ gr´ a e e ` e e ` la distribution est envoy´ e a l’auteur de ce dernier (dit « amont »). D’une e ` mani` re g´ n´ rale, Debian coop` re avec la communaut´ au lieu de travailler e e e e e isol´ ment. e 3. Nous ne cacherons pas les probl` mes. e Debian n’est pas parfaite, et l’on y d´ couvre tous les jours des probl` mes e e a corriger. Tous ces bogues sont r´ pertori´ s et consultables librement, par ` e e exemple sur le Web.
  20. 20. L’engagement de conserver une structure d’accueil pour des logiciels non libres (i.e. la section non-free, voir encadr´ « VOCABUe LAIRE » page 83) est r´guli`rement remis en cause au sein de la e e communaut´ Debian. e Ses d´tracteurs argu¨nt qu’il d´tourne certaines personnes de loe e e giciels libres ´quivalents et contredit le principe de servir exclusie vement la cause des logiciels libres. Les partisans (dont je suis) rappellent plus prosa¨ ıquement que la majorit´ des logiciels de none free sont des logiciels « presque libres », entrav´s seulement par e une ou deux restrictions gˆnantes (la plus fr´quente ´tant l’intere e e diction de tirer un b´n´fice commercial du logiciel). En distribuant e e ces logiciels dans la branche non-free, on explique indirectement a leur auteur que leur cr´ation serait mieux reconnue et plus uti` e lis´e si elle pouvait ˆtre int´gr´e dans la section main : ils sont ainsi e e e e poliment invit´s a changer leur licence pour servir cet objectif. e ` La suppression totale de la section non-free n’est pas encore a ` l’ordre du jour, mais tˆt ou tard nous y viendrons. Signalons que o son existence gˆne consid´rablement la Free Software Foundation, e e qu’elle empˆche de recommander officiellement Debian comme e syst`me d’exploitation. e Le sc´nario le plus probable est a mon sens le suivant : e ` suppression du point 5 du contrat social, Debian n’est plus contrainte de fournir non-free, mais continue de le faire pendant une dur´e ind´termin´e ; e e e mise en place d’un site tiers dans le but d’h´berger les paquets e Debian de logiciels non libres (le nom de domaine nonfree. org a ´t´ r´serv´ dans ce but par Bruce Perens) ; ee e e suppression officielle de non-free au sein de Debian (d´cision e avalis´e par un vote de l’ensemble des d´veloppeurs). e e 4. Nos priorit´ s sont nos utilisateurs et les logiciels libres. e Cet engagement est plus difficile a d´ finir. Debian s’impose ainsi un biais ` e lorsqu’elle doit prendre une d´ cision, et ecartera une solution de facilit´ e ´ e p´ nalisante pour ses utilisateurs au profit d’une solution plus el´ gante, e ´e mˆ me si plus difficile a mettre en œuvre. Il s’agit de prendre en compte en e ` priorit´ les int´ rˆ ts des utilisateurs et du logiciel libre. e e e 5. Programmes non conformes a nos standards sur les logiciels libres. ` Debian accepte et comprend que ses utilisateurs souhaitent utiliser certains logiciels non libres. Elle s’engage donc a mettre a leur disposition une ` ` partie de son infrastructure, pour distribuer sous forme de paquets Debian les logiciels qui l’autorisent. ´ COMMUNAUTE Responsable de paquet ou mainteneur ? L’´quipe charg´e de l’adaptation de Debian en e e fran¸ais (on parle de « localisation ») a rec tenu le terme de « responsable de paquet » pour d´signer la personne charg´e d’int´grer e e e un paquet a Debian et de l’y faire ´voluer. ` e Le terme anglais correspondant est maintainer ; c’est pourquoi j’emploie souvent le mot « mainteneur », plus concis et tout aussi explicite. Les principes du logiciel libre selon Debian Ce texte de r´ f´ rence d´ finit quels logiciels sont « suffisamment libres » pour etre ee e ˆ int´ gr´ s a Debian. Si la licence d’un logiciel est conforme a ces principes, il peut e e ` ` etre int´ gr´ a la section main ; dans le cas contraire, et si sa libre redistribution ˆ e e ` est permise, il peut rejoindre la section non-free. Celle-ci ne fait pas officiellement partie de Debian : il s’agit d’un service annexe fourni aux utilisateurs. Plus qu’un crit` re de choix pour Debian, ce texte fait autorit´ en mati` re de logiciel e e e libre puisqu’il a servi de socle a la « d´ finition de l’Open Source ». C’est donc ` e historiquement la premi` re formalisation de la notion de « logiciel libre ». e La licence publique g´ n´ rale de GNU (GNU General Public License), la licence e e BSD et la licence artistique sont des exemples de licences libres traditionnelles respectant les 9 points mentionn´ s dans ce texte. Vous en trouverez ci-dessous la e traduction, telle que publi´ e sur le site web de Debian. e http://www.debian.org/social contract.fr.html#guidelines 7 1 – Le projet Debian ´ COMMUNAUTE Pour ou contre la section non-free ?
  21. 21. Cahier de l'admin Debian B.A.-BA Les licences libres La GNU GPL, la licence BSD et la licence artistique respectent toutes trois les principes du logiciel libre selon Debian. Elles sont pourtant tr`s diff´rentes. e e La GNU GPL, utilis´e et promue par la FSF (Free Software Foune dation, ou fondation du logiciel libre), est la plus courante. Elle a pour particularit´ de s’appliquer a toute œuvre d´riv´e et ree ` e e distribu´e : un programme int´grant ou utilisant du code GPL e e ne peut ˆtre diffus´ que selon ses termes. Elle interdit donc e e toute r´cup´ration dans une application propri´taire. Ceci pose e e e ´galement de gros probl`mes pour le r´emploi de code GPL dans e e e des logiciels libres incompatibles avec cette licence. Ainsi, il est parfois impossible de lier une biblioth`que diffus´e sous GPL a un e e ` programme plac´ sous une autre licence libre. En revanche, cette e licence est tr`s solide en droit am´ricain : les juristes de la FSF ont e e particip´ a sa r´daction, et elle a souvent contraint des contrevee` e nants a trouver un accord amiable avec la FSF sans aller jusqu’au ` proc`s. e http://www.gnu.org/copyleft/gpl.html La licence BSD est la moins restrictive : tout est permis, y compris l’int´gration de code BSD modifi´ dans une application proe e pri´taire. Microsoft ne s’en est d’ailleurs pas priv´ car la couche e e TCP/IP de Windows NT est fond´e sur celle du noyau BSD. e http://www.opensource.org/licenses/bsd-license.php Enfin, la licence artistique r´alise un compromis entre les deux e pr´c´dentes : l’int´gration du code dans une application proe e e pri´taire est possible, mais toute modification doit ˆtre publi´e. e e e http://www.opensource.org/licenses/artistic-license.php Retrouvez le texte complet de ces licences dans /usr/share/ common-licenses/ sur tout syst`me Debian. e 1. Redistribution libre et gratuite La licence d’un composant de Debian ne doit pas empˆ cher un contractant e de vendre ou donner le logiciel sous forme de composant d’un ensemble (distribution) constitu´ de programmes provenant de diff´ rentes sources. e e La licence ne doit requ´ rir ni redevance ni r´ tribution sur une telle vente. e e 2. Code source Le programme doit inclure le code source, et la diffusion sous forme de code source comme sous forme de programme compil´ doit etre autoris´ e. e ˆ e 3. Applications d´ riv´ es e e La licence doit permettre les modifications et les applications d´ riv´ es, et e e elle doit permettre a celles-ci d’ˆ tre distribu´ es sous les mˆ mes termes que ` e e e la licence du logiciel original. 4. Int´ grit´ du code source de l’auteur e e La licence peut d´ fendre de distribuer le code source modifi´ seulement e e si elle autorise la distribution avec le code source de fichiers correctifs destin´ s a modifier le programme au moment de la g´ n´ ration. La licence e ` e e doit autoriser explicitement la distribution de logiciels g´ n´ r´ s a partir de e e e ` code source modifi´ . Elle peut requ´ rir que les applications d´ riv´ es portent e e e e un nom ou un num´ ro de version diff´ rent de ceux du logiciel original (ceci e e est un compromis : le groupe Debian encourage tous les auteurs a ne restreindre ` en aucune mani`re les modifications d’un quelconque fichier, source ou binaire). e 5. Aucune discrimination de personne ou de groupe La licence ne doit discriminer aucune personne ou groupe de personnes. 6. Aucune discrimination de champ d’application La licence ne doit pas d´ fendre d’utiliser le logiciel dans un champ d’ape plication particulier. Par exemple, elle ne doit pas d´ fendre l’utilisation du e logiciel dans une entreprise ou pour la recherche g´ n´ tique. e e 8
  22. 22. Le copyleft (ou « gauche d’auteur ») est un principe qui consiste a faire appel au m´canisme des droits d’auteurs pour garantir la ` e libert´ d’une œuvre et de ses d´riv´es — au lieu de restreindre e e e les droits des utilisateurs comme dans le cas des logiciels propri´taires. Il s’agit d’ailleurs d’un jeu de mots sur le terme copye right, ´quivalent am´ricain du droit d’auteur. Richard Stallman a e e trouv´ cette id´e quand un ami friand de calembours ´crivit sur une e e e enveloppe qu’il lui adressa : « copyleft : all rights reversed » (copyleft : tous droits renvers´s). Le copyleft impose la conservation e de toutes les libert´s initiales lors de la distribution d’une version e modifi´e (ou non) du logiciel. Il est donc impossible de d´river un e e logiciel propri´taire d’un logiciel plac´ sous copyleft. e e La licence copyleft la plus c´l`bre est sans aucun doute la GNU GPL ee (elle a pour petites sœurs la GNU LGPL — GNU Lesser General Public License et la GNU FDL — GNU Free Documentation License). Malheureusement, les licences copyleft sont g´n´ralement e e incompatibles entre elles ! En cons´quence, il est pr´f´rable de n’en e ee utiliser qu’une seule. 7. Distribution de licence Les droits attach´ s au programme doivent s’appliquer a tous ceux a qui il e ` ` est distribu´ sans obligation pour aucune de ces parties de se conformer a e ` une autre licence. 8. La licence ne doit pas etre sp´ cifique a Debian ˆ e ` Les droits attach´ s au programme ne doivent pas d´ pendre du fait qu’il e e fasse partie du syst` me Debian. Si le programme est extrait de Debian et e est utilis´ et distribu´ sans Debian mais au contraire sous les termes de sa e e propre licence, toutes les parties auxquelles il est redistribu´ doivent jouir e des mˆ me droits que ceux accord´ s avec le syst` me Debian. e e e 9. La licence ne doit pas contaminer d’autres logiciels La licence ne doit pas placer de restrictions sur d’autres logiciels distribu´ s e avec le logiciel licenci´ . Par exemple, la licence ne doit pas exiger que tous e les autres programmes distribu´ s sur le mˆ me m´ dium soient des logiciels e e e libres. ´ COMMUNAUTE Bruce Perens, un leader chahut´ e Bruce Perens, deuxi`me leader du projet Debian juste apr`s Ian e e Murdock, fut tr`s controvers´ pour ses m´thodes dynamiques et e e e assez dirigistes. Il n’en reste pas moins un contributeur important, a qui Debian doit notamment la r´daction des fameux « principes ` e du logiciel libre selon Debian » (ou DFSG pour Debian Free Software Guidelines), id´e originelle d’Ean Schuessler. Par la suite, e Bruce en d´rivera la c´l`bre « d´finition de l’Open Source » en y e ee e gommant toutes les r´f´rences a Debian. ee ` http://www.opensource.org Son d´part du projet fut quelque peu mouvement´ mais Bruce e e est rest´ assez fortement attach´ a Debian puisqu’il continue e e ` de promouvoir cette distribution dans les sph`res politiques et e ´conomiques. Il intervient encore r´guli`rement sur les listes de e e e diffusion pour donner son avis et pr´senter ses derni`res initiatives e e en faveur de Debian. Dernier point anecdotique, c’est a lui que l’on doit l’inspiration des ` « noms de code » des diff´rentes versions de Debian (1.1 — rex, e 1.2 — buzz, 1.3 — bo, 2.0 — hamm, 2.1 — slink, 2.2 — potato, 3.0 — woody, 3.1 — sarge, testing — etch, unstable — sid). Ils correspondent tous a des personnages de Toy Story. Ce film d’ani` mation enti`rement r´alis´ en images de synth`se fut produit par e e e e Pixar, employeur de Bruce a l’´poque o` il ´tait leader Debian. Le ` e u e nom « Sid » a un statut particulier puisqu’il restera ´ternellement e associ´ a unstable ; dans le film, il s’agit de l’enfant des voisins, ine` corrigible brise-tout — gare a vous donc si vous approchez unstable ` de trop pr`s ! Par ailleurs, sid est l’acronyme de Still In Develope ment (encore et toujours en cours de d´veloppement). e 9 1 – Le projet Debian B.A.-BA Le copyleft
  23. 23. Cahier de l'admin Debian Fonctionnement du projet Debian La richesse produite par le projet Debian r´ sulte a la fois du travail sur l’infrastruce ` ture effectu´ par des d´ veloppeurs Debian exp´ riment´ s, du travail individuel ou e e e e collectif de d´ veloppeurs sur des paquets Debian, et des retours des utilisateurs. e B.A.-BA Maintenance d’un paquet, le travail du d´veloppeur e Maintenir un paquet suppose d’abord d’« empaqueter » un logiciel. Concr`tement, il s’agit d’en e d´finir les modalit´s d’installation, afin qu’une e e fois install´, ce logiciel soit fonctionnel et rese pecte l’ensemble des r`gles que Debian s’ase treint a suivre. Le r´sultat de cette op´ration est ` e e conserv´ dans une archive .deb. L’installation efe fective du logiciel se limitera ensuite a l’extrac` tion de cette archive, ainsi qu’` l’ex´cution de a e quelques scripts de pr´- ou post-installation. e Apr`s cette phase initiale, le cycle de la maintee nance d´bute vraiment : pr´paration des mises e e a jour pour respecter la derni`re version de la ` e charte Debian, correction des bogues signal´s e par les utilisateurs, inclusion d’une nouvelle version « amont » du logiciel, qui continue naturellement d’´voluer en parall`le (ex : lors de l’empae e quetage le logiciel en ´tait la version 1.2.3. Apr`s e e quelques mois de d´veloppement, ses auteurs e originaux sortent une nouvelle version stable, num´rot´e 1.4.0. Il convient alors de mettre e e a jour le paquet Debian pour que les utilisa` teurs puissent b´n´ficier de sa derni`re version e e e stable). Les développeurs Debian Les d´ veloppeurs Debian ont des responsabilit´ s diverses : membres attitr´ s du e e e projet, ils infl´ chissent grandement les directions qu’il prend. Un d´ veloppeur e e Debian maintient au minimum un paquet, mais selon son temps disponible et ses envies il a le loisir de s’engager dans de nombreuses equipes, d´ veloppant ´ e ainsi ses responsabilit´ s. e http://www.debian.org/devel/people http://www.debian.org/intro/organization La maintenance des paquets est une activit´ relativement codifi´ e, largement e e document´ e voire r´ glement´ e. Il faut en effet y respecter toutes les normes e e e edict´ es par la charte Debian (connue en anglais sous le nom de Debian Policy). ´ e Fort heureusement, de nombreux outils facilitent le travail du mainteneur. Il peut ainsi se focaliser sur les particularit´ s de son paquet et sur les tˆ ches plus e a complexes, telles que la correction des bogues. http://www.debian.org/doc/debian-policy/ La charte, el´ ment essentiel du projet Debian, enonce les normes assurant a la fois ´e ´ ` la qualit´ des paquets et la parfaite interop´ rabilit´ de l’ensemble. Grˆ ce a elle, e e e a ` Debian reste coh´ rent malgr´ sa taille gigantesque. Cette charte n’est pas fig´ e, e e e mais evolue continuellement grˆ ce aux propositions incessamment formul´ es ´ a e sur la liste debian-policy@lists.debian.org. Les amendements emportant l’adh´ sion e OUTIL Base de donn´es des d´veloppeurs e e Debian dispose d’une base de donn´es comprenant l’ensemble e des d´veloppeurs enregistr´s et les informations qui s’y rattachent e e (adresse, t´l´phone, coordonn´es g´ographiques — latitude et lonee e e gitude...). Certaines de ces informations (nom, pr´nom, pays, idene tifiant chez Debian, identifiant IRC, cl´ GnuPG...) sont publiques e et disponibles sur le Web. http://db.debian.org Les coordonn´es g´ographiques permettent de g´n´rer une carte e e e e situant l’ensemble des d´veloppeurs sur le globe. On constate alors e que Debian est vraiment un projet international : on trouve des d´veloppeurs sur tous les continents, mˆme si la majorit´ proe e e viennent de pays occidentaux. Figure 1–1 10 R´partition mondiale des d´veloppeurs e e Debian
  24. 24. 1 – Le projet Debian de tous sont accept´ s et appliqu´ s au texte par un petit groupe de mainteneurs e e sans tˆ che editoriale (ils se contentent d’inclure les modifications d´ cid´ es par a ´ e e les d´ veloppeurs Debian membres de la liste mentionn´ e ci-dessus). On peut e e consulter les actuelles propositions d’amendements via le syst` me de suivi de e bogues : http://bugs.debian.org/debian-policy ´ COMMUNAUTE Processus ´ditorial de la charte e Tout le monde peut proposer une modification de la charte Debian : il suffit de soumettre un rapport de bogue de « s´v´rit´ »wishlist (souhait) sur le paquet debian-policy. e e e Tout d´veloppeur Debian peut alors en faire une proposition officielle en incluant la bae lise « [PROPOSAL] » (proposition) dans le titre du rapport de bogue. L’aval de deux autres d´veloppeurs Debian (en anglais, le verbe consacr´ est to second) assure ensuite e e un minimum de cr´dibilit´ a la proposition. Suit une phase de discussion publique sur la e e` liste debian-policy@lists.debian.org, ´valuant les tenants et les aboutissants de la propoe sition. Si aucune objection majeure n’apparaˆ et qu’un consensus en faveur du changeıt ment semble se d´gager, le titre du bogue est a nouveau chang´ pour y inclure la balise e ` e « [ACCEPTED] » avec la date d’acceptation, a charge pour les mainteneurs du paquet ` debian-policy d’int´grer l’amendement dans le texte de r´f´rence. e ee La charte encadre tr` s bien tout ce qui a trait au cot´ technique de la mise en e ˆ e paquet. La taille du projet soul` ve aussi des probl` mes organisationnels ; ils sont e e trait´ s par la constitution Debian, qui fixe une structure et des moyens de d´ cision. e e Cette constitution d´ finit un certain nombre d’acteurs, de postes, les responsae bilit´ s et les pouvoirs de chacun. On retiendra que les d´ veloppeurs Debian ont e e toujours le pouvoir ultime de d´ cision par un vote de r´ solution g´ n´ rale — avec e e e e n´ cessit´ d’obtenir une majorit´ qualifi´ e de trois quarts pour les changements e e e e les plus importants (comme ceux portant sur les textes fondateurs). Cependant, les d´ veloppeurs elisent annuellement un « leader » pour les repr´ senter dans e ´ e les congr` s et assurer la coordination interne entre les diff´ rentes equipes. Son e e ´ role n’est pas formellement d´ fini par un document, et il est d’usage que chaque ˆ e ` candidat a ce poste donne sa propre d´ finition de la fonction. A mon sens, le ` e leader a un role repr´ sentatif aupr` s des m´ dias, un role de coordination entre ˆ e e e ˆ les equipes « internes » et un role de visionnaire pour donner une ligne directrice ´ ˆ au projet, dans laquelle les d´ veloppeurs peuvent s’identifier. e Concr` tement, le leader dispose de pouvoirs r´ els : sa voix est d´ terminante en e e e cas d’´ galit´ dans un vote, il peut prendre toute d´ cision qui ne rel` ve pas d´ j` e e e e ea d’un autre, et d´ l´ guer une partie de ses responsabilit´ s. ee e La constitution d´ finit egalement un « comit´ technique ». Son role essentiel est e ´ e ˆ de trancher sur des points techniques lorsque les d´ veloppeurs concern´ s ne sont e e pas parvenus a un accord entre eux. Par ailleurs, ce comit´ joue aussi un role de ` e ˆ conseil vis-` -vis de chaque d´ veloppeur qui n’arrive pas a prendre une d´ cision a e ` e qui lui revient. Il est important de noter qu’il n’intervient que lorsqu’une des parties concern´ es le lui a demand´ . e e CHARTE DEBIAN La documentation La documentation de chaque paquet est stock´e dans /usr/share/doc/<paquet>. e Ce r´pertoire contient souvent un fie chier README.Debian d´crivant les e am´nagements sp´cifiques a Debian r´alis´s e e ` e e par le mainteneur. Il est donc sage de lire ce fichier avant toute configuration, pour tirer profit de son exp´rience. On trouve e ´galement un fichier changelog.Debian.gz e d´crivant les modifications effectu´es au e e fil des versions par le mainteneur Debian. Le fichier changelog.gz (ou ´quivalent) e d´crit quant a lui les changements effectu´s e ` e au niveau des d´veloppeurs amont. Le e fichier copyright rassemble les informations concernant les auteurs et la licence a laquelle ` le logiciel est soumis. D´sormais, on trouve e parfois un fichier NEWS.Debian.gz, qui permet au d´veloppeur Debian de commue niquer quelques informations importantes sans utiliser le syst`me de notice propos´ e e par debconf. Tous les autres fichiers sont sp´cifiques au logiciel en question. e 11
  25. 25. Cahier de l'admin Debian Enfin, la constitution d´ finit le poste de « secr´ taire du projet », qui a notamment e e en charge l’organisation des votes li´ s aux diff´ rentes elections et r´ solutions e e ´ e g´ n´ rales. e e CULTURE Flamewar, la discussion qui s’enflamme Une flamewar, litt´ralement « guerre ene flamm´e », est une discussion (trop) passionn´e e e qui finit souvent par des attaques personnelles lorsque tous les arguments raisonn´s ont ´t´ e ee ´puis´s de part et d’autre. Certains th`mes sont e e e beaucoup plus sujets a pol´mique que d’autres ` e (l’exemple type ´tant le choix d’un ´diteur de e e texte, « pr´f´rez-vous vi ou emacs ? »). Ils proee voquent de tr`s rapides ´changes de courrier e e ´lectronique du fait du nombre de personnes e concern´es (tout le monde) et de l’aspect tr`s e e personnel de cette question. Rien de tr`s utile ne sortant g´n´ralement de ces e e e discussions, abstenez-vous d’y participer et ne survolez que rapidement leur contenu — sa lecture compl`te serait trop chronophage. e CULTURE M´ritocratie, le r`gne du savoir e e La m´ritocratie est une forme de gouvernee ment o` le pouvoir est exerc´ par les plus u e « m´ritants ». Pour Debian, le m´rite se mee e sure a la comp´tence, elle-mˆme ´valu´e en ob` e e e e servant les r´alisations pass´es des uns et des e e autres au sein du projet. Leur simple existence prouve un certain niveau de comp´tence ; ces e r´alisations ´tant en g´n´ral des logiciels libres, e e e e aux codes sources disponibles, il sera facile aux pairs d’en juger la qualit´. e La proc´ dure de « r´ solution g´ n´ rale » est enti` rement d´ taill´ e dans la constie e e e e e e tution, de la p´ riode de discussion pr´ alable a l’analyse des r´ sultats des votes. e e ` e Pour plus de d´ tails, je vous invite a en consulter le texte int´ gral : e ` e http://www.debian.org/devel/constitution.fr.html Mˆ me si cette constitution instaure un semblant de d´ mocratie, la r´ alit´ quoe e e e tidienne est tr` s diff´ rente : Debian suit naturellement les lois du logiciel libre, e e et sa politique du fait accompli. On peut longtemps d´ battre des m´ rites rese e pectifs des diff´ rentes mani` res d’aborder un probl` me, la solution retenue sera e e e la premi` re fonctionnelle et satisfaisante... celle a la r´ alisation de laquelle une e ` e personne comp´ tente aura consacr´ une partie de son temps. e e C’est d’ailleurs la seule mani` re d’obtenir des galons : faire quelque chose d’utile e et d´ montrer que l’on a bien travaill´ . Beaucoup d’´ quipes « administratives » de e e e Debian fonctionnent sur le mode de la cooptation, et favoriseront des volontaires ayant d´ j` effectivement contribu´ dans le sens de leur action et prouv´ leur ea e e comp´ tence a la tˆ che. Cette m´ thode est envisageable car l’essentiel du travail e ` a e de ces equipes est public, donc a fortiori accessible a tout d´ veloppeur int´ ress´ . ´ ` e e e C’est pourquoi Debian est souvent qualifi´ e de « m´ ritocratie ». e e Ce mode de fonctionnement efficace garantit la qualit´ des contributeurs au e sein des equipes « cl´ s » de Debian. Tout n’est pas parfait pour autant, et il arrive ´ e fr´ quemment que certains n’acceptent pas cette mani` re de proc´ der. La s´ lection e e e e des d´ veloppeurs accept´ s dans ces equipes peut paraˆtre quelque peu arbitraire e e ´ ı voire injuste. Par ailleurs, tout le monde n’a pas la mˆ me d´ finition du service e e attendu de ces equipes. Pour certains, il est inacceptable de devoir attendre 8 jours ´ l’int´ gration d’un nouveau paquet Debian ; d’autres patienteront 3 semaines sans e peine. Aussi, des esprits chagrins se plaignent r´ guli` rement de la « qualit´ du e e e service » de certaines equipes. ´ ´ COMMUNAUTE L’int´gration des nouveaux mainteneurs e L’´quipe charg´e de l’admission des nouveaux d´veloppeurs est e e e la plus r´guli`rement critiqu´e. Il faut reconnaˆ e e e ıtre qu’au fil des ann´es le projet Debian est devenu de plus en plus exigeant avec les e d´veloppeurs qu’il accepte en son sein. On peut y voir une certaine e injustice, mais nous admettrons que ce qui n’´tait que de petits e d´fis au d´part prend l’allure de gageures dans une communaut´ e e e de plus de 1000 personnes, o` il s’agit de garantir la qualit´ et u e l’int´grit´ de tout ce que Debian produit pour ses utilisateurs. e e Par ailleurs, la proc´dure d’acceptation se conclut par la revue e de la candidature par une personne unique, le « Responsable des 12 comptes Debian » (ou DAM — Debian Account Manager). Celuici est donc particuli`rement expos´ aux critiques, puisqu’il ace e cepte ou refuse en dernier recours l’int´gration d’un volontaire e au sein de la communaut´ des d´veloppeurs Debian. Dans la prae e tique, il s’agit parfois de retarder l’acceptation d’une personne, le temps qu’elle connaisse mieux le fonctionnement du projet. On peut en effet contribuer a Debian avant d’y ˆtre accept´ comme ` e e d´veloppeur officiel grˆce a un m´canisme de parrainage par d’ane a ` e ciens d´veloppeurs. e
  26. 26. Le syst`me de suivi de bogues Debian Bug Tracking Syse tem (Debian BTS) encadre le projet. Son interface web, partie ´merg´e, permet de consulter tous les bogues r´pertori´s, et proe e e e pose d’afficher une liste (tri´e) de bogues s´lectionn´s sur de nome e e breux crit`res : paquet concern´, s´v´rit´, statut, adresse du rape e e e e porteur, adresse du mainteneur concern´, ´tiquette ou tag, etc.). e e Il est encore possible de consulter l’historique complet et toutes les discussions se rapportant a chacun des bogues. ` Sous la surface, Debian BTS communique par courrier ´lectronique : toutes les informations qu’il stocke proviennent de e messages ´mis par les diff´rents acteurs concern´s. Tout courrier e e e envoy´ a 12345@bugs.debian.org sera ainsi consign´ dans l’histoe` e rique du bogue 12345. Les personnes habilit´es pourront « fere mer » ce bogue en ´crivant a 12345-done@bugs.debian.org un mese ` sage exposant les motifs de cette d´cision (un bogue est ferm´ e e lorsque le probl`me signal´ est corrig´ ou plus valide). On signae e e lera un nouveau bogue en transmettant a submit@bugs.debian.org ` un rapport respectant un format pr´cis, permettant d’identifier le e paquet concern´. L’adresse control@bugs.debian.org propose ene fin de manipuler toutes les « m´ta-informations » relatives a un e ` bogue. Debian BTS offre bien d’autres fonctionnalit´s (notamment les e tags, ou ´tiquettes) je vous invite a les d´couvrir en lisant sa doe ` e cumentation en ligne : http://www.debian.org/Bugs/index.fr.html Le rôle actif des utilisateurs Est-il pertinent de citer les utilisateurs parmi les acteurs du fonctionnement de Debian ? Oui : ils y jouent un role crucial. Loin d’ˆ tre « passifs », certains de ˆ e nos utilisateurs utilisent quotidiennement les versions de d´ veloppement et nous e envoient r´ guli` rement des rapports de bogues signalant des probl` mes. D’autres e e e vont encore plus loin et formulent des am´ liorations (par l’interm´ diaire d’un e e bogue de « s´ v´ rit´ » wishlist — litt´ ralement « liste de vœux »), voire soumettent e e e e directement des correctifs du code source (patches). VOCABULAIRE S´v´rit´ d’un bogue e e e La « s´v´rit´ » (gravit´ ; severity en anglais) d’un bogue d´crit de mani`re formelle la e e e e e e gravit´ du probl`me signal´. Tous n’ont en effet pas la mˆme importance : une faute de e e e e frappe dans un manuel n’a rien de comparable a une faille de s´curit´ dans un logiciel ` e e serveur. Debian utilise une ´chelle ´tendue de s´v´rit´s permettant d’exprimer assez finement la e e e e e gravit´ d’un bogue. Elle d´finit par ailleurs tr`s pr´cis´ment chacun de ces niveaux afin de e e e e e faciliter le choix de l’un ou l’autre. http://www.debian.org/Bugs/Developer.fr.html#severities Par ailleurs, de nombreux utilisateurs satisfaits du service offert par Debian souhaitent a leur tour apporter une pierre a l’´ difice. Pas toujours pourvus des ` ` e comp´ tences de programmation ad´ quates, ils choisissent parfois d’aider a la e e ` traduction de documents et aux relectures de celles-ci. Pour les francophones, tout ce travail est coordonn´ sur la liste debian-l10n-french@lists.debian.org. e http://www.debian.org/intl/french/index.fr.html B.A.-BA i18n et l10n, qu’es aqu` ? o « i18n » et « l10n » sont les abr´viations respece tives des mots « internationalisation » et « localisation », dont elles ne conservent que l’initiale, la finale, et le nombre de lettres interm´diaires. e « Internationaliser » un logiciel consiste a le mo` difier pour qu’il puisse ˆtre traduit (localis´). Il e e s’agit de r´´crire partiellement un programme ee pr´vu pour fonctionner dans une seule langue e pour l’ouvrir a toutes les langues. ` « Localiser » un programme consiste a en tra` duire les messages originels (souvent en anglais) dans une autre langue. Pour cela, il devra avoir ´t´ internationalis´. ee e En r´sum´, l’internationalisation met en place la e e structure n´cessaire aux traductions, r´alis´es a e e e ` proprement parler par la localisation. 13 1 – Le projet Debian OUTIL Syst`me de suivi de bogues e
  27. 27. Cahier de l'admin Debian OUTIL Signaler un bogue avec reportbug L’outil reportbug facilite l’envoi d’un rapport de bogue sur un paquet Debian. Il peut v´rifier au pr´alable que le bogue concern´ n’a pas d´j` ´t´ r´f´renc´, ce qui ´vite la e e e ea e e ee e e cr´ation de doublons. Il rappelle la d´finition de la s´v´rit´ pour qu’elle soit aussi juste que e e e e e possible (le d´veloppeur pourra toujours affiner par la suite le jugement de l’utilisateur). e Il permet d’´crire un rapport de bogue complet sans en connaˆ e ıtre la syntaxe pr´cise, e en l’´crivant puis en proposant de le retoucher. Ce rapport sera ensuite transmis via un e serveur de courrier ´lectronique (local par d´faut, mais reportbug peut aussi utiliser un e e serveur distant). Cet outil cible d’abord les versions de d´veloppement, seules concern´es par les correce e tions de bogues. Une version stable de Debian est en effet fig´e dans le marbre, a l’excepe ` tion des mises a jour de s´curit´ ou tr`s importantes (si un par exemple un paquet n’est ` e e e pas du tout fonctionnel). Une correction d’un bogue b´nin dans un paquet Debian devra e donc attendre la version stable suivante. Tous ces m´ canismes sont accentu´ s par le comportement des utilisateurs. Loin e e d’ˆ tre isol´ s, ils forment une vraie communaut´ , au sein de laquelle de nombreux e e e echanges ont lieu. Citons notamment l’activit´ impressionnante de la liste de ´ e discussion des utilisateurs francophones debian-user-french@lists.debian.org (le chapitre 7 vous r´ v´ lera plus d’informations sur cette derni` re). e e e Non contents de s’entraider sur des probl` mes techniques qui les concernent e directement, ceux-ci traitent aussi de la meilleure mani` re d’aider Debian et de e faire progresser le projet — discussions provoquant souvent des suggestions d’am´ lioration. e Debian ne financant aucune campagne publicitaire d’auto-promotion, ses utili¸ sateurs jouent un role essentiel dans sa diffusion, et en assurent la notori´ t´ par ˆ ee le bouche a oreille. ` Cette m´ thode fonctionne plutot bien puisqu’on retrouve des inconditionnels de e ˆ Debian a tous les niveaux de la communaut´ du logiciel libre : dans les install ` e parties organis´ es par les groupes locaux d’utilisateurs de Linux, sur les stands e associatifs des grands salons d’informatique traitant de Linux, etc. B.A.-BA Patch, le moyen d’envoyer un correctif Un patch est un fichier d´crivant des changements a apporter a un e ` ` ou plusieurs fichiers de r´f´rence. Concr`tement, on y trouve une ee e liste de lignes a supprimer ou a ins´rer, ainsi (parfois) que des lignes ` ` e reprises du texte de r´f´rence et repla¸ant les modifications dans ee c leur contexte (elles permettront d’en identifier l’emplacement si les num´ros de lignes ont chang´). e e On utilise indiff´remment les termes « correctif » et « patch » car e la plupart des corrections de bogues sont envoy´es sous forme de e patch. L’utilitaire appliquant les modifications donn´es par un tel e fichier s’appelle simplement patch. L’outil qui le cr´e s’appelle e diff (autre synonyme de « correctif ») et s’utilise comme suit : 14 $ diff -u file.old file.new >file.patch Le fichier file.patch contient les instructions permettant de transformer le contenu de file.old en celui de file.new. On pourra le transmettre a un correspondant pour qu’il recr´e file.new a partir des ` e ` deux autres comme ci-dessous : $ patch -p0 file.old <file.patch Le fichier file.old est maintenant identique a file.new. `
  28. 28. 1 – Le projet Debian Signalons que des volontaires r´ alisent affiches, tracts et autres supports utiles e pour la promotion du projet, qu’ils mettent a disposition de tous et que Debian ` fournit librement sur son site web : http://www.debian.org/events/material.fr.html Équipes et sous-projets Debian s’organisa d’embl´ e autour du concept de paquet source, chacun core respondant a un mainteneur. De nombreuses equipes de travail sont peu a ` ´ ` peu apparues, assurant l’administration de l’infrastructure, la gestion des tˆ ches a transversales a tous les paquets (assurance qualit´ , charte Debian, programme ` e d’installation...), les derni` res s’articulant autour de sous-projets. e Sous-projets Debian existants ` A chaque public sa Debian ! Un sous-projet est un regroupement de volontaires int´ ress´ s par l’adaptation de Debian a des besoins sp´ cifiques. Au-del` e e ` e a de la s´ lection d’un sous-ensemble de logiciels d´ di´ s a un usage particulier e e e ` (´ ducation, m´ decine, cr´ ation multim´ dia...), cela suppose d’am´ liorer les pae e e e e quets existants, de mettre en paquet les logiciels manquants, d’adapter l’installateur, de cr´ er une documentation sp´ cifique, etc. e e Voici une petite s´ lection des sous-projets actuels : e Debian-Junior de Ben Armstrong, vise a proposer aux enfants un syst` me ` e Debian facile et attrayant ; Debian-Edu, de Petter Reinholdtsen, se focalise sur la cr´ ation d’une distribue tion sp´ cialis´ e pour le monde educatif ; e e ´ Debian-Med d’Andreas Tille se consacre au milieu m´ dical ; e Debian-Multimedia des cr´ ateurs d’Agnula traite de cr´ ation multim´ dia ; e e e Debian-Desktop de Colin Walters s’int´ resse a la bureautique ; e ` Debian-Ham, cr´ e par Bruce Perens, cible les radio-amateurs ; e´ Debian-NP (comme Non-Profit) concerne les associations a but non lucratif ; ` Debian-Lex enfin, travaille pour le cadre des cabinets juridiques. Gageons que cette liste s’´ toffera avec le temps et une meilleure perception des e avantages des sous-projets Debian. PERSPECTIVE Debian en milieu scolaire Debian-Edu est a l’origine un projet franco` phone r´alis´ par St´phane Casset et moi-mˆme e e e e au sein de la soci´t´ Logid´e, pour le compte ee e d’un centre d´partemental de documentation e p´dagogique. Je l’ai ensuite int´gr´ a Debian en e e e` tant que sous-projet. Le temps manquant, il n’a plus progress´, comme c’est parfois le cas des e logiciels libres d´pourvus de contributeurs. e Parall`lement, une ´quipe de Norv´giens trae e e vaillait sur une distribution similaire, ´galement e bas´e sur debian-installer. Les progr`s de e e SkoleLinux ´tant significatifs, je leur ai propos´ e e de s’int´grer a Debian et de reprendre le flame ` beau de Debian-Edu. PERSPECTIVE Debian pour le multim´dia e Agnula est un projet europ´en men´ sous la die e rection d’une ´quipe italienne. Il consiste, pour e sa partie « DeMuDi », a d´velopper une ver` e sion de Debian d´di´e aux applications mule e tim´dia. Certains membres du projet, et notame ment Marco Trevisani, ont voulu le p´renniser en e l’int´grant dans Debian. Le sous-projet debiane multimedia ´tait n´. e e http://www.agnula.org Équipes administratives La plupart des equipes administratives sont relativement ferm´ es et ne recrutent ´ e que par cooptation. Le meilleur moyen d’y entrer est alors d’en aider intelligemment les membres actuels en montrant que l’on a compris leurs objectifs et leur mode de fonctionnement. 15
  29. 29. Cahier de l'admin Debian Les ftpmasters sont les responsables de l’archive de paquets Debian. Ils maintiennent le programme qui recoit les paquets envoy´ s par les d´ veloppeurs et ¸ e e les installe automatiquement, apr` s quelques v´ rifications, sur le serveur de e e r´ f´ rence (ftp-master.debian.org). ee Ils doivent aussi v´ rifier la licence des nouveaux paquets, pour savoir si Debian e peut les distribuer, avant de les int´ grer au corpus de paquets existants. Lorsqu’un e d´ veloppeur souhaite supprimer un paquet, c’est a eux qu’il s’adresse via le e ` syst` me de suivi de bogues et le « pseudo-paquet » ftp.debian.org. e VOCABULAIRE Le pseudo-paquet, un outil de suivi Le syst`me de suivi de bogues, initialement con¸u pour associer des rapports de bogue e c a un paquet Debian, s’av`re tr`s pratique pour g´rer d’autres cas de figure : liste de ` e e e probl`mes a r´soudre ou de tˆches a mener ind´pendamment de tout lien a un paquet e ` e a ` e ` Debian. Les « pseudo-paquets » permettent ainsi a certaines ´quipes d’utiliser le syst`me ` e e de suivi de bogues sans y associer de paquet r´el. Tout le monde peut ainsi leur signaler e des ´l´ments a traiter. Le BTS dispose ainsi d’une entr´e ftp.debian.org pour signaler les ee ` e probl`mes de l’archive de paquets ou simplement y demander la suppression d’un paquet. e Le pseudo-paquet www.debian.org correspond ainsi aux erreurs sur le site web de Debian, et lists.debian.org rassemble les soucis li´s aux listes de diffusion. e CULTURE Le trafic sur les listes de diffusion : quelques chiffres Les listes de diffusion sont de mon point de vue le meilleur t´moin de l’activit´ d’un proe e jet, car elles gardent la trace de tout ce qui s’y passe. Voici quelques statistiques concernant nos listes de diffusion, et qui parleront d’ellesmˆmes : Debian h´berge plus de 160 listes toe e talisant 170 000 abonnements individuels. Les 36 000 messages ´crits tous les mois provoquent e chaque jour l’envoi de 1,4 million de courriers ´lectroniques. e L’´ quipe debian-admin (debian-admin@lists.debian.org), comme on peut s’y ate tendre, est responsable de l’administration syst` me des nombreux serveurs exe ploit´ s par le projet. Elle veille au fonctionnement optimal de l’ensemble des e services de base (DNS, Web, courrier electronique, shell, CVS, etc.), installe les ´ logiciels demand´ s par les d´ veloppeurs Debian, et prend toutes les pr´ cautions e e e en mati` re de s´ curit´ . e e e Les listmasters administrent le serveur de courrier electronique g´ rant les listes ´ e de diffusion. Ils cr´ ent les nouvelles listes, g` rent les bounces (notices de non e e livraison), et maintiennent des filtres contre le spam (pourriel, ou publicit´ s non e sollicit´ es). e Chaque service sp´ cifique dispose de sa propre equipe d’administration syst` me, e ´ e constitu´ e g´ n´ ralement par les volontaires qui l’ont mise en place (et, souvent, e e e programm´ eux-mˆ mes les outils correspondants). C’est le cas du syst` me de e e e OUTIL GForge, le couteau suisse du d´veloppement collaboratif e GForge est un logiciel permettant de cr´er des sites simie laires a www.sourceforge.net, alioth.debian.org ou encore savan` nah.gnu.org. Il s’agit d’h´berger des projets et de leur proposer e un ensemble de services facilitant le d´veloppement collaboratif. e Chaque projet dispose alors d’un espace virtuel d´di´, regroupant e e un site web, un syst`me de suivi de bogues, un syst`me de suivi e e de patches, un outil de sondages, un espace de d´pˆt de fichiers, e o des forums, des archives CVS, des listes de diffusion et divers petits services annexes. 16 alioth.debian.org est le serveur GForge de Debian, administr´ par e Wichert Akkerman, Roland Mas et moi-mˆme. Tout projet implie quant un ou plusieurs d´veloppeurs Debian peut y ˆtre h´berg´. e e e e http://alioth.debian.org Tr`s complexe de par l’´tendue des services qu’il offre, GForge est e e d´sormais relativement facile a installer grˆce au travail excepe ` a tionnel de Roland Mas et Christian Bayle sur le paquet Debian gforge.
  30. 30. 1 – Le projet Debian suivi de bogues (BTS), du syst` me de suivi de paquets (Package Tracking System e — PTS), d’alioth.debian.org (serveur GForge, voir encadr´ ), des services dispoe nibles sur qa.debian.org, lintian.debian.org, arch.debian.org, subversion.debian.org, cdimage.debian.org, etc. Équipes de développement, équipes transversales Contrairement aux equipes administratives, les equipes de d´ veloppement sont ´ ´ e tr` s largement ouvertes, mˆ me aux contributeurs ext´ rieurs. Mˆ me si Debian e e e e n’a pas vocation a cr´ er des logiciels, le projet a besoin de quelques programmes ` e ´ sp´ cifiques pour atteindre ses objectifs. Evidemment d´ velopp´ s sous une licence e e e libre, ces outils font appel aux m´ thodes eprouv´ es par ailleurs dans le monde e ´ e du logiciel libre. Debian a d´ velopp´ peu de logiciels en propre, mais certains ont acquis un role e e ˆ capital, et leur notori´ t´ d´ passe d´ sormais le cadre du projet. Citons notamee e e ment dpkg, programme de manipulation des paquets Debian (c’est d’ailleurs une abr´ viation de Debian PacKaGe), et apt, outil d’installation automatique de e tout paquet Debian et de ses d´ pendances, garantissant la coh´ rence du syst` me e e e apr` s la mise a jour (c’est l’acronyme d’Advanced Package Tool). Leurs equipes sont e ` ´ pourtant tr` s r´ duites, car un tr` s bon niveau en programmation est n´ cessaire a e e e e ` la compr´ hension globale du fonctionnement de ce type de programmes. e L’´ quipe la plus importante est probablement celle du nouveau programme d’inse tallation de Debian, debian-installer, qui a accompli un travail titanesque en 3 ans. Il lui a fallu recourir a de nombreux contributeurs car il est difficile ` d’´ crire un seul logiciel capable d’installer Debian sur une douzaine d’architece tures diff´ rentes. Chacune a son propre m´ canisme de d´ marrage et son propre e e e OUTIL Syst`me de suivi de paquets e C’est l’une de mes r´alisations. L’id´e de base est de rassembler e e sur une seule page le maximum d’informations relatives a chaque ` paquet source. On peut ainsi visualiser rapidement l’´tat du loe giciel, identifier les tˆches a r´aliser, et proposer son aide. C’est a ` e pourquoi cette page r´unit en vrac les statistiques des bogues, les e versions disponibles dans chaque distribution, la progression du paquet dans la distribution testing, l’´tat des traductions des dese criptions et des templates debconf, l’´ventuelle disponibilit´ d’une e e nouvelle version amont, des avertissements en cas de non conformit´ a la derni`re version de la charte Debian, des renseignements e` e sur le mainteneur, et toute autre information que celui-ci aura souhait´ y int´grer. e e http://packages.qa.debian.org Un syst`me d’abonnement par courrier ´lectronique compl`te e e e cette interface web. Il envoie automatiquement une s´lection d’ine formations choisies dans la liste suivante : bogues et discussions associ´es, notices de disponibilit´ d’une nouvelle version sur les e e serveurs Debian, traductions effectu´es (pour les relire), etc. e Les utilisateurs avanc´s peuvent donc suivre tout cela de pr`s, voire e e contribuer au projet apr`s avoir bien compris son fonctionnement. e Igor Genibel a cr´´ une interface web similaire, d´velopp´e autour ee e e des mainteneurs plutˆt que des paquets eux-mˆmes. Elle donne a o e ` chaque d´veloppeur un synoptique de l’´tat de tous les paquets e e Debian plac´s sous sa responsabilit´. e e http://qa.debian.org/developer.php Ces deux sites web constituent des outils pour Debian QA (Quality Assurance), le groupe en charge de l’assurance qualit´ au sein de e Debian. 17
  31. 31. Cahier de l'admin Debian chargeur d’amorcage (bootloader). Tout ce travail est coordonn´ sur la liste de ¸ e diffusion debian-boot@lists.debian.org, sous la houlette de Joey Hess. http://www.debian.org/devel/debian-installer/ http://www.kitenet.net/˜joey/blog/entry/d-i retrospective-2004-08-07-19-46.html L’´ quipe du programme debian-cd, plus r´ duite, a un objet bien plus modeste. e e Signalons que de nombreux petits contributeurs se chargent de leur architecture, le d´ veloppeur principal (votre serviteur) ne pouvant pas en connaˆtre toutes les e ı subtilit´ s, ni la mani` re exacte de faire d´ marrer l’installateur depuis le c´ d´ rom. e e e e e De nombreuses equipes ont des tˆ ches transversales a l’activit´ de mise en pa´ a ` e quet : debian-qa@lists.debian.org essaye par exemple d’assurer la qualit´ a tous e ` les niveaux de Debian. Quant a debian-policy@lists.debian.org, elle fait evoluer la ` ´ charte Debian en fonction des propositions des uns et des autres. Les equipes res´ ponsables de chaque architecture (debian-arch@lists.debian.org) y compilent tous les paquets, qu’elles adaptent a leur architecture le cas ech´ ant. ` ´ e D’autres equipes encadrent les paquets les plus importants pour en assurer la ´ maintenance sans faire peser une trop lourde responsabilit´ sur une seule paire e d’´ paules ; c’est le cas de la biblioth` que C avec debian-glibc@lists.debian.org, e e du compilateur C avec debian-gcc@lists.debian.org ou encore de XFree86 avec debian-x@lists.debian.org (groupe egalement connu sous le nom de X Strike Force, ´ dirig´ par Branden Robinson et Fabio Massimo Di Nitto). e CULTURE CVS CVS (Concurrent Versions System) est un outil pour travailler simultan´ment a plusieurs sur des fichiers en conservant un hise ` torique des modifications. Il s’agit en g´n´ral de fichiers texte, e e comme le code source d’un logiciel. Si plusieurs personnes travaillent de concert sur le mˆme fichier, cvs ne pourra fusionner e les modifications effectu´es que si elles ont port´ sur des portions e e distinctes du texte. Dans le cas contraire, il faudra r´soudre ces e « conflits » a la main. Ce syst`me g`re les modifications ligne ` e e par ligne en stockant des correctifs diff´rentiels de type diff d’une e « r´vision » (version) a l’autre. e ` CVS utilise une archive centrale (« d´pˆt » appel´ CVS reposie o e tory en anglais), stockant les fichiers et l’historique de leurs modifications (chaque r´vision est enregistr´e sous la forme d’un fie e chier correctif de type diff, pr´vu pour ˆtre appliqu´ sur la vere e e sion pr´c´dente). Chacun en extrait une version particuli`re (wore e e king copy ou « copie de travail ») pour travailler. L’outil permet notamment de consulter les modifications effectu´es sur sa copie e de travail (cvs diff), de les enregistrer dans l’archive centrale en cr´ant une nouvelle entr´e dans l’historique des versions (cvs e e 18 commit), de mettre a jour sa copie de travail pour int´grer les ` e modifications effectu´es en parall`le par d’autres utilisateurs (cvs e e update), et d’enregistrer dans l’historique une configuration particuli`re afin de pouvoir facilement l’extraire plus tard (cvs tag). e Les experts de cvs sauront mener de front plusieurs versions d’un projet en d´veloppement sans qu’elles n’interf`rent. Le terme e e consacr´ est branches. Cette m´taphore de l’arbre est assez juste, e e car il s’agit d’abord de d´velopper un programme sur un tronc e commun. Parvenu a une ´tape importante (comme la version ` e 1.0), le d´veloppement continue sur deux branches : la branche de e d´veloppement pr´pare la version majeure suivante et la branche e e de maintenance g`re les mises a jour corrigeant la version 1.0. e ` cvs souffre pourtant de quelques limitations. Incapable de g´rer e les liens symboliques, les changements de noms de fichiers ou de r´pertoires, la suppression de r´pertoires, etc. il a contribu´ a l’ape e e` parition de concurrents libres et plus modernes, corrigeant la plupart de ces d´fauts. Citons notamment subversion et arch. e http://subversion.tigris.org/ http://www.gnu.org/software/gnu-arch/
  32. 32. 1 – Le projet Debian Rôle d'une distribution Une distribution GNU/Linux a deux objectifs principaux : installer un syst` me e libre sur un ordinateur (vierge ou disposant d´ j` d’autres syst` mes) et fournir ea e une palette de logiciels couvrant tous les besoins de l’utilisateur. L 'installateur : debian-installer debian-installer, concu de mani` re tr` s modulaire pour etre le plus ¸ e e ˆ g´ n´ rique possible, r´ pond au premier. Il couvre un grand nombre de sc´ narios e e e e d’installations et surtout facilite grandement la cr´ ation d’un installateur d´ riv´ e e e correspondant a un cas particulier. ` NOTE C´d´rom fourni avec le livre e e Le c´d´rom joint a ce livre exploite e e ` debian-installer. Il permet d’installer Debian 3.1 « release candidate 3 » simplement en d´marrant l’ordinateur dessus. Il contient e en outre la plupart des logiciels ´tudi´s dans ce e e livre. Cette modularit´ , qui le rend aussi plus complexe, pourra perturber les e d´ veloppeurs d´ couvrant cet outil. Il d´ routera encore les utilisateurs habitu´ s a e e e e ` des installations plus graphiques et moins souples. De gros efforts ont pourtant et´ consentis pour leur eviter de devoir renseigner un maximum de champs — ´e ´ ce qui explique l’int´ gration d’un logiciel de d´ tection automatique du mat´ riel e e e (discover de Progeny Inc.). Il est int´ ressant de remarquer que les distributions d´ riv´ es de Debian se e e e diff´ rencient beaucoup sur cet aspect, et fournissent un installateur plus limit´ e e (souvent confin´ a l’architecture i386) mais bien plus convivial aux yeux des e ` utilisateurs n´ ophytes. En revanche, elles se gardent g´ n´ ralement de trop e e e diverger sur les contenus des paquets pour profiter au maximum de la grande famille de logiciels propos´ s sans souffrir de probl` mes de compatibilit´ . e e e La bibliothèque de logiciels Quantitativement, Debian est indiscutablement en tˆ te avec plus de 8000 paquets e sources. Qualitativement, sa charte et la longue p´ riode de tests pr´ alable a toute e e ` version stable justifient sa r´ putation de coh´ rence et de stabilit´ . Sur le plan e e e de la disponibilit´ , on trouve tout en ligne sur de nombreux miroirs mis a jour e ` quotidiennement. De nombreux commercants vendent sur le Web des c´ d´ roms a bas prix (parfois ¸ e e ` a prix coutant), dont chacun est libre de t´ l´ charger et graver les « images ». ` ˆ ee Seule ombre au tableau : la faible fr´ quence de sortie des versions stables (leur e elaboration d´ passe parfois deux ans), qui ralentit l’int´ gration de tout nouveau ´ e e logiciel. La plupart des nouveaux logiciels libres sont rapidement pris en charge dans la version de d´ veloppement, qui permet de les installer. Si cela implique trop de e mises a jour par le jeu des d´ pendances, on peut aussi recompiler le programme ` e pour la version stable de Debian (voir le chapitre 13 pour plus de d´ tails sur le e sujet). 19
  33. 33. Cahier de l'admin Debian Cycle de vie d'une release Le projet dispose a tout instant de 3 ou 4 versions diff´ rentes de chaque logi` e ciel, nomm´ es experimental, unstable, testing, et stable. Chacune evoque un stade e ´ diff´ rent du d´ veloppement. Pour bien les comprendre, suivons le parcours d’un e e programme, de sa premi` re mise en paquet a son int´ gration dans une version e ` e stable de Debian. VOCABULAIRE Release Le terme « release » d´signe chez Debian une version particuli`re d’une distribution (ex : e e « the unstable release » signifie « la version instable »). Il d´signe aussi l’annonce publique e de toute nouvelle version (stable). Le statut experimental Traitons d’abord le cas particulier de la distribution experimental : c’est un ensemble de paquets Debian correspondant a des logiciels en cours de ` d´ veloppement, et pas forc´ ment finalis´ s — d’ou son nom. Tout ne transite e e e ` pas par cette etape ; certains d´ veloppeurs y cr´ ent des paquets pour obtenir un ´ e e premier retour des utilisateurs les plus exp´ riment´ s (ou les plus courageux). e e D’autre part, cette distribution abrite fr´ quemment des modifications impore tantes portant sur des paquets de base et dont l’int´ gration dans unstable avec des e bogues gˆ nants aurait des r´ percussions trop importantes et bloquantes. C’est e e donc une distribution totalement isol´ e, dont les paquets ne migrent jamais vers e une autre (sauf intervention expresse du mainteneur ou des ftpmasters). Le statut unstable Revenons au cas d’un paquet type. Le mainteneur cr´ e un premier paquet, qu’il e compile pour unstable et place sur le serveur ftp-master.debian.org. Cette premi` re e manifestation implique inspection et validation par les ftpmasters. Le logiciel est alors disponible dans unstable, distribution risqu´ e mais choisie par des utilisae teurs pr´ f´ rant le dernier cri a l’assurance de l’absence de bogues graves. Ceux-ci ee ` d´ couvrent alors le programme et le testent. e S’ils d´ couvrent des bogues gˆ nants dans ce paquet pas encore d´ cant´ , ils les e e e e d´ crivent a son mainteneur. Ce dernier pr´ pare alors r´ guli` rement des versions e ` e e e corrig´ es, qu’il place sur le serveur. e Toute nouvelle mise en ligne est r´ percut´ e sur tous les miroirs Debian du e e monde dans les 24 heures. Les utilisateurs valident alors la correction et cherchent d’autres probl` mes, cons´ cutifs aux modifications. Plusieurs mises a jour peuvent e e ` ainsi s’enchaˆner rapidement. Pendant ce temps, les robots autobuilders sont entr´ s ı e en action. Le plus souvent, le mainteneur ne dispose que d’un PC traditionnel et aura compil´ son paquet pour architecture i386 ; les autobuilders ont donc pris le e 20

×