72
Raphaël Hertzog Roland Mas Collection dirigée par Nat Makarévitch Cahiers de l’Admin Debian Squeeze © Groupe Eyrolles, 2011, ISBN : 978-2-212-13248-9

de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

  • Upload
    lydan

  • View
    228

  • Download
    0

Embed Size (px)

Citation preview

Page 1: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Raphaël HertzogRoland Mas

Collection dirigée par Nat Makarévitch

Cahiersde l’Admin

DebianSqueeze

© Groupe Eyrolles, 2011, ISBN : 978-2-212-13248-9

Page 2: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Préface

Les professionnels adoptent de plus en plus souvent Debian GNU/Linux,dont le souci de créer une distribution riche, souple et requérant peud’attention correspond bien à leurs attentes. Ils apprécient le soin apportéà la robustesse et la fiabilité, à l’automatisation des tâches subalternes ainsiqu’à la mise au point et au respect de spécifications garantes de la cohérence,donc de la pérennité des réalisations et des savoirs.Dans le même temps, de grands acteurs de l’informatique perçoivent au-jourd’hui l’intérêt stratégique d’une distribution Linux mûre et non géréepar une entité commerciale. Certains de leurs clients comprennent, dans lemême registre, qu’une plate-forme logicielle ne dépendant pas d’accords tis-sés entre des fournisseurs réduit les contraintes pesant sur eux après l’achat.De nombreux amateurs, enfin, découvrent Debian par les projets Knoppix etUbuntu tandis que d’autres, souhaitant fuir l’empirisme, « ouvrent le capot ».Debian, longtemps discrète, convainquit tout d’abord le passionné, souventattiré par l’esprit qui l’anime. Il y trouve un projet aux objectifs clairs et auxréalisations transparentes, au sein duquel tous œuvrent afin de bien conce-voir avant de construire — renonçant d’emblée aux échéances qui menacentla qualité de tant d’autres logiciels. Il y trouve un projet dirigé par ses ac-teurs. Il y adopte ou rejoint, en somme, un projet bénéficiant pleinementdes avantages du logiciel libre. . . afin d’en produire lui-même.Ce Cahier de l ’Admin guidera et éclairera le lecteur afin de le rendre au-tonome. Seuls pouvaient le rédiger des auteurs maîtrisant les aspects tech-niques tout autant que les caractéristiques propres du projet Debian,et connaissant parfaitement les besoins des francophones, professionnels

Page 3: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

aguerris comme amateurs éclairés. Raphaël Hertzog et Christophe Le Barspuis Roland Mas disposaient des qualités requises et surent créer puis mettreà jour cet ouvrage. Je les en remercie vivement et suis certain que sa lecturevous sera utile et agréable.

Nat Makarévitch(empreinte PGP/GPG : 2010 4A02 9C0E 7D1F 5631 ADF0 453C 4549

0230 D602)

VI

Page 4: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Table des matièresAvant-propos ............................................................................... XV

1. Le projet Debian ........................................................................ 1Qu’est-ce que Debian ? • 2

Un système d’exploitation multi-plates-formes • 2La qualité des logiciels libres • 3Le cadre : une association • 4

Les textes fondateurs • 4L’engagement vis-à-vis des utilisateurs • 5Les principes du logiciel libre selon Debian • 6

Fonctionnement du projet Debian • 8Les développeurs Debian • 8Le rôle actif des utilisateurs • 11Équipes et sous-projets • 13

Sous-projets Debian existants • 14Équipes administratives • 15Équipes de développement, équipes transversales • 16

Rôle d’une distribution • 18L’installateur : debian-installer • 18La bibliothèque de logiciels • 19

Cycle de vie d’une release • 19Le statut Experimental • 19Le statut Unstable • 20La migration vers Testing • 21La promotion de Testing en Stable • 22

2. Présentation de l’étude de cas ........................................... 27Des besoins informatiques en forte hausse • 28Plan directeur • 28Pourquoi une distribution GNU/Linux ? • 29Pourquoi la distribution Debian ? • 30

Distributions communautaires et commerciales • 31Pourquoi Debian Squeeze ? • 32

3. Prise en compte de l’existant et migration ..................... 35Coexistence en environnement hétérogène • 36

Intégration avec des machines Windows • 36

Intégration avec des machines Mac OS • 36Intégration avec d’autres machines Linux/Unix • 36

Démarche de migration • 36Recenser et identifier les services • 37

Réseau et processus • 37Conserver la configuration • 38Prendre en main un serveur Debian existant • 39Installer Debian • 40Installer et configurer les services sélectionnés • 41

4. Installation ............................................................................... 43Méthodes d’installation • 44

Installation depuis un CD-Rom/DVD-Rom • 44Démarrage depuis une clé USB • 45Installation par boot réseau • 46Autres méthodes d’installation • 46

Étapes du programme d’installation • 47Exécution du programme d’installation • 47Choix de la langue • 48Choix du pays • 49Choix de la disposition du clavier • 49Détection du matériel • 50Chargement des composants • 50Détection du matériel réseau • 50Configuration du réseau • 51Configuration de l’horloge • 51Mot de passe administrateur • 51Création du premier utilisateur • 52Détection des disques et autres périphériques • 52Démarrage de l’outil de partitionnement • 53

Partitionnement assisté • 54Partitionnement manuel • 55Emploi du RAID logiciel • 57Emploi de LVM (Logical Volume Manager) • 57Chiffrement de partitions • 58

Installation du système de base Debian • 59Configuration de l’outil de gestion des paquets (apt) • 60

Page 5: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

Concours de popularité des paquets • 61Sélection des paquets à installer • 61Installation du chargeur d’amorçage GRUB • 62Terminer l’installation et redémarrer • 62

Après le premier démarrage • 62Installation de logiciels supplémentaires • 63Mise à jour du système • 64

5. Système de paquetage,outils et principes fondamentaux ...................................... 67Structure d’un paquet binaire • 68Méta-informations d’un paquet • 70

Description : fichier control • 70Dépendances : champ Depends • 71Conflits : champ Conflicts • 72Incompatibilités : champ Breaks • 73Éléments fournis : champ Provides • 73

La fourniture d’un « service » • 73L’interchangeabilité avec un autre paquet • 74Limitations actuelles • 74

Remplacements : champ Replaces • 75Scripts de configuration • 75

Installation et mise à jour • 75Suppression de paquet • 76

Sommes de contrôle, liste des fichiersde configuration • 77

Structure d’un paquet source • 78Format • 78Utilité chez Debian • 80

Manipuler des paquets avec dpkg • 81Installation de paquets • 81Suppression de paquet • 83Autres fonctionnalités de dpkg • 84Journal de dpkg • 87

Cohabitation avec d’autres systèmes de paquetages • 88

6. Maintenance et mise à jour : les outils APT .................... 91Renseigner le fichier sources.list • 92

Les autres dépôts officiels disponibles • 94Les mises à jour pour Stable • 94Les rétroportages de backports.debian.org • 94Le dépôt Experimental • 95

Ressources non officielles : apt-get.org etmentors.debian.net • 95

Commandes aptitude et apt-get • 96

Initialisation • 97Installation et suppression • 97Mise à jour • 98Options de configuration • 100Gérer les priorités associées aux paquets • 100Travailler avec plusieurs distributions • 103

Commande apt-cache • 104Frontaux : aptitude, synaptic • 105

aptitude • 105Gestion des recommandations,suggestions et tâches • 105Suivi des paquets installés automatiquement • 107Meilleurs algorithmes de résolution • 109

Synaptic • 109Vérification d’authenticité des paquets • 110Mise à jour d’une distribution à la suivante • 112

Démarche à suivre • 112Gérer les problèmes consécutifs à une mise à jour • 113

Maintenir un système à jour • 114Mise à jour automatique • 116

Configuration de dpkg • 117Configuration d’APT • 117Configuration de debconf • 117Gestion des interactions en ligne de commande • 117La combinaison miracle • 118

Recherche de paquets • 118

7. Résolution de problèmes et sources d’information ... 123Les sources de documentation • 124

Les pages de manuel • 124Documentation au format info • 126La documentation spécifique • 126Les sites web • 127Les tutoriels (HOWTO) • 128

Procédures types • 128Configuration d’un logiciel • 128Surveiller l’activité des démons • 129Demander de l’aide sur une liste de diffusion • 130Signaler un bogue en cas de problèmeincompréhensible • 130

8. Configuration de base :réseau, comptes, impression. . . ........................................ 133Francisation du système • 134

Définir la langue par défaut • 134Configurer le clavier • 135

VIII

Page 6: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Tabledesmatières

Migration vers UTF-8 • 136Configuration du réseau • 137

Interface Ethernet • 138Connexion PPP par modem téléphonique • 139Connexion par modem ADSL • 139

Modem fonctionnant avec PPPOE • 140Modem fonctionnant avec PPTP • 140Modem fonctionnant avec DHCP • 140

Configuration réseau itinérante • 141Attribution et résolution des noms • 141

Résolution de noms • 142Configuration des serveur DNS • 142Fichier /etc/hosts • 142

Base de données des utilisateurs et des groupes • 143Liste des utilisateurs : /etc/passwd • 143Le fichier des mots de passe chiffrés et cachés :/etc/shadow • 144Modifier un compte ou mot de passe existant • 144Bloquer un compte • 144Liste des groupes : /etc/group • 145

Création de comptes • 146Environnement des interpréteurs de commandes • 147Configuration de l’impression • 148Configuration du chargeur d’amorçage • 148

Identifier ses disques • 148Configuration de LILO • 151Configuration de GRUB 2 • 152Configuration de GRUB Legacy • 153Cas des Macintosh (PowerPC) :configuration de Yaboot • 153

Autres configurations : synchronisation, logs,partages. . . • 154

Fuseau horaire • 155Synchronisation horaire • 156

Pour les stations de travail • 156Pour les serveurs • 156

Rotation des fichiers de logs • 157Partage des droits d’administration • 157Liste des points de montage • 158locate et updatedb • 160

Compilation d’un noyau • 160Introduction et prérequis • 160Récupérer les sources • 161Configuration du noyau • 162Compilation et génération du paquet • 163Compilation de modules externes • 163

Emploi d’un patch sur le noyau • 165Installation d’un noyau • 166

Caractéristiques d’un paquet Debian du noyau • 166Installation avec dpkg • 167

9. Services Unix ......................................................................... 169Démarrage du système • 170Connexion à distance • 174

Connexion à distance : telnet • 174Connexion à distance sécurisée : SSH • 175

Authentification par clé • 176Utiliser des applications X11 à distance • 176Créer des tunnels chiffrés avec le portforwarding • 177

Accéder à distance à des bureaux graphiques • 179Gestion des droits • 180Interfaces d’administration • 182

Administrer sur interface web : webmin • 182Configuration des paquets : debconf • 183

Les événements système de syslog • 184Principe et fonctionnement • 184Le fichier de configuration • 185

Syntaxe du sélecteur • 185Syntaxe des actions • 186

Le super-serveur inetd • 186Planification de tâches : cron et atd • 187

Format d’un fichier crontab • 188Emploi de la commande at • 189

Planification asynchrone : anacron • 190Les quotas • 191Sauvegarde • 192

Sauvegarde avec rsync • 193Restauration des machines non sauvegardées • 195

Branchements « à chaud » : hotplug • 196Introduction • 196La problématique du nommage • 196Fonctionnement de udev • 196Cas pratique • 199

Gestion de l’énergie • 200Gestion avancée de l’énergie : APM • 201Économie d’énergie moderne : ACPI • 201

Cartes pour portables : PCMCIA • 201

IX

Page 7: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

10. Infrastructure réseau ........................................................ 205Passerelle • 206Réseau privé virtuel • 208

OpenVPN • 208Infrastructure de clés publiques easy-rsa • 208Configuration du serveur OpenVPN • 212Configuration du client OpenVPN • 213

Réseau privé virtuel avec SSH • 214IPsec • 215PPTP • 215

Configuration du client • 215Configuration du serveur • 216

Qualité de service • 219Principe et fonctionnement • 219Configuration et mise en œuvre • 219

Minimiser le temps de latence : wondershaper • 220Configuration standard • 220

Routage dynamique • 221IPv6 • 221Serveur de noms (DNS) • 223

Principe et fonctionnement • 223Configuration • 224

DHCP • 226Présentation • 226Configuration • 226DHCP et DNS • 227

Outils de diagnostic réseau • 228Diagnostic local : netstat • 228Diagnostic distant : nmap • 229Les sniffers : tcpdump et wireshark • 231

11. Services réseau : Postfix, Apache, NFS, Samba, Squid,LDAP ...................................................................................... 235

Serveur de messagerie électronique • 236Installation de Postfix • 236Configuration de domaines virtuels • 239

Domaine virtuel d’alias • 240Domaine virtuel de boîtes aux lettres • 240

Restrictions à la réception et à l’envoi • 241Restreindre l’accès en fonction de l’adresse IP • 241Vérifier la validité de la commandeEHLO ou HELO • 243Accepter ou refuser en fonctionde l’émetteur (annoncé) • 244Accepter ou refuser en fonction du destinataire • 244Restrictions associées à la commande DATA • 245

Application des restrictions • 245Filtrer en fonction du contenu du message • 246

Mise en place du greylisting • 246Personnalisation des filtres en fonctiondu destinataire • 248Intégration d’un antivirus • 249SMTP authentifié • 250

Serveur web (HTTP) • 252Installation d’Apache • 252Configuration d’hôtes virtuels • 253Directives courantes • 255

Requérir une authentification • 256Restrictions d’accès • 256

Analyseur de logs • 257Serveur de fichiers FTP • 259Serveur de fichiers NFS • 260

Sécuriser NFS (au mieux) • 261Serveur NFS • 262Client NFS • 263

Partage Windows avec Samba • 264Samba en serveur • 264

Configuration avec debconf • 264Configuration manuelle • 265

Modifications à smb.conf • 265Ajout des utilisateurs • 267Transformation en contrôleur de domaines • 267

Samba en client • 268Le programme smbclient • 268Monter un partage Windows • 269Imprimer sur une imprimante partagée • 269

Mandataire HTTP/FTP • 270Installation • 270Configuration d’un cache • 270Configuration d’un filtre • 271

Annuaire LDAP • 271Installation • 272Remplissage de l’annuaire • 273Utiliser LDAP pour gérer les comptes • 274

Configuration de NSS • 274Configuration de PAM • 276Sécuriser les échanges de données LDAP • 276

Configuration côté serveur • 277Configuration côté client • 278

X

Page 8: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Tabledesmatières

12. Administration avancée ................................................... 281RAID et LVM • 282

RAID logiciel • 282Différents niveaux de RAID • 283Mise en place du RAID • 286Sauvegarde de la configuration • 291

LVM • 293Concepts de LVM • 293Mise en place de LVM • 294LVM au fil du temps • 299

RAID ou LVM? • 300Virtualisation • 303

Xen • 304LXC • 310

Préliminaires • 311Configuration réseau • 311Mise en place du système • 312Lancement du conteneur • 314

Virtualisation avec KVM • 315Préliminaires • 316Configuration réseau • 316Installation avec virt-install • 316Gestion des machines avec virsh • 319

Installation automatisée • 320Fully Automatic Installer (FAI) • 321Debian-installer avec préconfiguration • 322

Employer un fichier de préconfiguration • 322Créer un fichier de préconfiguration • 323Créer un média de démarrage adapté • 324

Démarrage depuis le réseau • 324Préparer une clé USB amorçable • 324Créer une image de CD-Rom • 324

Simple-CDD : la solution tout en un • 325Définir des profils • 325Configuration et fonctionnementde build-simple-cdd • 326Générer une image ISO • 327

Supervision • 327Mise en œuvre de Munin • 327

Configuration des hôtes à superviser • 327Configuration du grapheur • 329

Mise en œuvre de Nagios • 330Installation • 330Configuration • 331

13. Station de travail ............................................................... 337Configuration du serveur X11 • 338Personnalisation de l’interface graphique • 339

Choix d’un gestionnaire d’écran (display manager) • 339Choix d’un gestionnaire de fenêtres • 339Gestion des menus • 340

Bureaux graphiques • 341GNOME • 342KDE • 343Xfce et autres • 344

Outils • 345Courrier électronique • 345

Evolution • 345KMail • 345underbird et Icedove • 346

Navigateurs web • 347Développement • 349

Outils pour GTK+ sur GNOME • 349Outils pour Qt sur KDE • 349

Travail collaboratif • 350Travail en groupe : groupware • 350Messagerie instantanée • 350

Configuration du serveur • 350Clients Jabber • 351

Travail collaboratif avec FusionForge • 352Suites bureautiques • 353

L’émulation Windows : Wine • 353

14. Sécurité ................................................................................. 357Définir une politique de sécurité • 358Pare-feu ou filtre de paquets • 359

Fonctionnement de netfilter • 360Syntaxe de iptables et ip6tables • 362

Les commandes • 362Les règles • 362

Créer les règles • 364Installer les règles à chaque démarrage • 365

Supervision : prévention, détection, dissuasion • 365Surveillance des logs avec logcheck • 366Surveillance de l’activité • 367

En temps réel • 367Historique • 367

Détection des changements • 368Audit des paquets : l’outil debsums et ses limites • 368Surveillance des fichiers : AIDE • 369

Détection d’intrusion (IDS/NIDS) • 370

XI

Page 9: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

Introduction à SELinux • 371Les principes • 371La mise en route • 374La gestion d’un système SELinux • 374

Gestion des modules SELinux • 375Gestion des identités • 375Gestion des contextes de fichiers, des portset des booléens • 377

L’adaptation des règles • 377Rédiger un fichier .fc • 378Rédiger un fichier .if • 378Rédiger un fichier .te • 380Compilation des fichiers • 382

Autres considérations sur la sécurité • 382Risques inhérents aux applications web • 383Savoir à quoi s’attendre • 383Bien choisir les logiciels • 385Gérer une machine dans son ensemble • 385Les utilisateurs sont des acteurs • 386Sécurité physique • 386Responsabilité juridique • 387

En cas de piratage • 387Détecter et constater le piratage • 388Mettre le serveur hors-ligne • 388Préserver tout ce qui peut constituer une preuve • 389Réinstaller • 389Analyser à froid • 390Reconstituer le scénario de l’attaque • 391

15. Conception d’un paquet Debian .................................... 395Recompiler un paquet depuis ses sources • 396

Récupérer les sources • 396Effectuer les modifications • 396Démarrer la recompilation • 398

Construire son premier paquet • 399Méta-paquet ou faux paquet • 399Simple archive de fichiers • 400

Créer une archive de paquets pour APT • 404Devenir mainteneur de paquet • 406

Apprendre à faire des paquets • 406Les règles • 406Les procédures • 406Les outils • 407

Le programme lintian • 407devscripts • 407debhelper et dh-make • 408

dupload et dput • 408Processus d’acceptation • 408

Prérequis • 408Inscription • 409Acceptation des principes • 409Vérification des compétences • 410Approbation finale • 411

16. Conclusion : l’avenir de Debian ..................................... 413Développements à venir • 414Avenir de Debian • 414Avenir de ce livre • 415

A. Distributions dérivées ........................................................ 417Recensement et coopération • 418Ubuntu Linux • 418Knoppix • 419Linux Mint • 420SimplyMEPIS • 420Aptosid (anciennement Sidux) • 420Damn Small Linux • 421Et d’autres encore • 421

B. Petit cours de rattrapage ................................................... 423Interpréteur de commandes et commandes de base • 424

Déplacement dans l’arborescenceet gestion des fichiers • 424Consultation et modification des fichiers texte • 425Recherche de fichiers et dans les fichiers • 425Gestion des processus • 425Informations système : mémoire, espace disque,identité • 426

Organisation de l’arborescence des fichiers • 427La racine • 427Le répertoire personnel de l’utilisateur • 427

Fonctionnement d’un ordinateur :les différentes couches en jeu • 428

Au plus bas niveau : le matériel • 428Le démarreur : le BIOS • 429Le noyau • 430L’espace utilisateur • 431

Quelques fonctions remplies par le noyau • 431Pilotage du matériel • 431Systèmes de fichiers • 432Fonctions partagées • 434

XII

Page 10: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Tabledesmatières

Gestion des processus • 434Gestion des permissions • 435

L’espace utilisateur • 435Processus • 435Démons • 436Communications entre processus • 436

Bibliothèques • 438

Glossaire ...................................................................................... 441

Index ............................................................................................. 463

XIII

Page 11: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Avant-propos

Linux a le vent en poupe depuis quelques années, et sa popularité crois-sante encourage de plus en plus à faire le grand saut. Cette aventure com-mence par le choix d’une distribution, décision importante car elles ontchacune leurs particularités. Autant s’épargner de futurs efforts inutiles demigration !

B.A.-BA Distribution et noyau Linux

Linux n’est en fait qu’un noyau, la brique logi-cielle de base assurant l’interface entre le ma-tériel et les programmes.Une distribution Linux est un systèmed’exploitation complet incluant un noyauLinux, un programme d’installation, et surtoutdes applications et utilitaires transformantl’ordinateur en outil réellement exploitable.

Debian GNU/Linux est une distribution Linux « généraliste », convenant apriori à tous. Nous vous proposons d’en découvrir toutes les facettes ; afin depouvoir choisir en toute connaissance de cause. . .

Pourquoi ce livre ? CULTURE Distributions commerciales

La plupart des distributions Linux sont ados-sées à une entreprise commerciale qui lesdéveloppe et les commercialise. C’est parexemple le cas d’Ubuntu Linux, développéeprincipalement par la sociétéCanonical Ltd,mais aussi deMandriva Linux, réalisée parla société françaiseMandriva SA, ou encorecelui de Suse Linux, maintenue et commer-cialisée par Novell.Par opposition à ces distributions commer-ciales, et à l’instar de l’Apache SoftwareFoundation, qui développe le serveur webdu même nom, Debian est avant tout un projetdu monde du logiciel libre. C’est une organisa-tion regroupant des bénévoles qui coopèrentpar l’Internet.

Linux commence à bénéficier d’une couverture médiatique non négligeable,profitant essentiellement aux distributions disposant d’un véritable servicemarketing. C’est le cas de la plupart des distributions adossées à des entre-prises (Ubuntu, Red Hat, SuSE, Mandriva. . .). Debian est pourtant loind’être marginale : une étude allemande datant de début 2009 la plaçait entête pour les serveurs (avec près de la moitié des sociétés interrogées dispo-sant d’un serveur fonctionnant avec Debian), et seconde (après Ubuntu —une distribution dérivée de Debian !) pour les postes bureautiques.I http://www.heise.de/open/artikel/Eingesetzte-Produkte-224518.html

Ce livre a ainsi pour vocation de faire découvrir cette distribution. Nousespérons vous faire profiter de toute l’expérience acquise depuis que nousavons rejoint le projet en tant que développeurs-contributeurs, en 1998 pourRaphaël et en 2000 pour Roland. Peut-être parviendrons-nous à vous

Page 12: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

communiquer notre enthousiasme, et vous donner l’envie de rejoindre nosrangs d’ici quelque temps, qui sait. . .La première édition de ce livre a comblé un manque criant : il s’agissait alorsdu premier livre français consacré exclusivement à Debian. Mais depuis leformidable accueil que vous lui aviez accordé, de nombreux autres ouvragessont apparus sur le sujet.

À qui s’adresse cet ouvrage ?Ses divers niveaux de lecture permettront à différents profils d’en tirer lemeilleur parti. En premier lieu, les administrateurs système (débutants ouexpérimentés) y trouveront des explications sur l’installation de Debian etson déploiement sur de nombreux postes ; mais aussi un aperçu de la plupartdes services disponibles sur Debian avec les instructions de configurationcorrespondantes, qui prennent en compte les spécificités et améliorationsde la distribution. La compréhension des mécanismes régissant le dévelop-pement de Debian leur permettra encore de faire face à tout imprévu, ens’appuyant au besoin sur la collaboration des membres de la communauté.Les utilisateurs d’une autre distribution Linux ou d’un autre Unix découvri-ront les spécificités de Debian ; ils y seront ainsi très vite opérationnels, touten bénéficiant des avantages propres à cette distribution.Enfin, tous ceux qui connaissent déjà un peu Debian et souhaitent en savoirplus sur son fonctionnement communautaire seront exaucés. Après la lecturede ce livre, ils pourront rejoindre les rangs de nos contributeurs.

Approche adoptéeToutes les documentations génériques concernantGNU/Linux s’appliquentà Debian, qui propose les logiciels libres les plus courants. Cette distributionapporte cependant de nombreuses améliorations, c’est pourquoi nous avonspris le parti de présenter en priorité les manières de procéder recommandéespar Debian.Il est bien de suivre le chemin tracé par Debian, mais mieux encore d’encomprendre les tenants et les aboutissants. Nous ne nous contenterons doncpas d’explications pratiques, mais détaillerons également le fonctionnementdu projet, afin de vous fournir des connaissances complètes et cohérentes.

XVI

Page 13: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Avant-propos

Structure du livreComme tous les ouvrages de cette collection, ce livre s’articulera autour d’uncas d’étude concret qui servira à la fois de support et d’illustration pour tousles sujets traités.Le chapitre 1, réservé à une présentation non technique deDebian, en expo-sera les objectifs et le mode de fonctionnement. Ces aspects sont importants,car ils permettent de fixer un cadre où viendront se greffer les contenus desautres chapitres.Les chapitres 2 et 3 présenteront les grandes lignes de l’étude de cas retenue.À ce stade, les lecteurs les plus novices peuvent faire un détour par l’annexeBqui rappelle un certain nombre de notions informatiques de base ainsi queles concepts inhérents à tout système Unix.Nous débuterons ensuite logiquement par l’installation (chapitre 4), puisdécouvrirons, aux chapitres 5 et 6, les outils de base utiles à tout administra-teurDebian, notamment la familleAPT, largement responsable de la bonneréputation de cette distribution. Rappelons qu’à la maison, chacun est sonpropre administrateur ; ces chapitres ne sont donc nullement réservés auxinformaticiens professionnels.Un chapitre intermédiaire, le chapitre 7, présentera des méthodes à suivrepour utiliser efficacement toute la documentation et comprendre rapide-ment ce qui se passe afin de résoudre les problèmes.La suite détaillera la configuration pas à pas du système en commençantpar les infrastructures et services de base (chapitres 8 à 10) pour remonterprogressivement vers les applicatifs utilisateur (chapitre 13). Le chapitre 12s’attarde sur des sujets plus pointus qui concernent directement les adminis-trateurs de parc informatique (serveurs y compris), tandis que le chapitre 14rappelle la problématique de la sécurité informatique et donne les clés né-cessaires pour éviter la majorité des problèmes.Le chapitre 15 sera consacré aux administrateurs qui souhaitent aller plusloin et créer des paquets Debian personnalisés. VOCABULAIRE Paquet Debian

Un paquet Debian est une archive qui renfermeun ensemble de fichiers permettant d’installerun logiciel. En général, il s’agit d’un fichierd’extension .deb, qu’onmanipule avec le pro-gramme dpkg. Un paquet sera qualifié de bi-naire s’il contient des fichiers fonctionnels di-rectement utilisables (programmes, documen-tation) ou de source s’il abrite les codessources du logiciel et les instructions néces-saires à la fabrication du paquet binaire.

Cette cinquième édition est une mise à jour importante puisqu’elle couvredésormais la version 6.0 deDebian, qui porte le nomde code Squeeze. Parmiles changements, citons le support du noyau FreeBSD et des technologiesassociées (jails, packet filter…) au sein des nouvelles architectures kfreebsd-i386 et kfreebsd-amd64, un noyau Linux 2.6.32 offrant les principales tech-nologies de virtualisation (Xen/OpenVZ/LXC/KVM, voir page 303), etbien entendu des mises à à jour de tous les logiciels fournis. De nombreusesaméliorations concernent plus particulièrement les mainteneurs de paquetsqui peuvent désormais mettre en œuvre un fichier debian/rules simplifié

XVII

Page 14: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

(grâce à la commande dh de debhelper), et qui bénéficient d’un système degestion de patch intégré à dpkg-source (en utilisant le format de paquetsource nommé 3.0 (quilt)).Nous avons placé dans les marges des notes et remarques diverses. Elles ontplusieurs rôles : attirer votre attention sur un point délicat, compléter oudétailler une notion abordée dans le cas d’étude, définir un terme, ou fairedes rappels. Voici une liste non exhaustive de ces encadrés :• B.A.-BA : rappelle une information supposée connue du lecteur ;• VOCABULAIRE : définit un terme technique (parfois spécifique au projet

Debian) ;• COMMUNAUTÉ : présente des personnages importants ou les rôles définis

au sein du projet ;• CHARTE DEBIAN : évoque une règle ou recommandation de la « charte De-

bian ». Ce document essentiel décrit comment empaqueter les logiciels.Toutes ces connaissances s’avéreront utiles pour découvrir un nouveau lo-giciel. Tout paquet Debian devant se conformer à la charte, on saura ainsioù en trouver la documentation, des exemples de fichiers de configuration,etc.

• OUTIL : présente un outil ou service pertinent ;• EN PRATIQUE : la pratique a parfois des spécificités, que présenteront ces

encadrés. Ils pourront aussi donner des exemples détaillés et concrets ;• d’autres encadrés, plus ou moins fréquents, sont relativement explicites :CULTURE, ASTUCE, ATTENTION, POUR ALLER PLUS LOIN, SÉCURITÉ. . .

DVD-Rom d’accompagnementLe DVD-Rom offert avec ce livre permet d’installer Debian GNU/Linux(pour architecture i386 et amd64) en démarrant l’ordinateur sur le DVD-Rom. Ainsi, après avoir installé cette distribution, il sera directement pos-sible de mettre en pratique les enseignements du livre. Le disque contienten effet la quasi-totalité des programmes étudiés.Tous les détails sur le fonctionnement du programme d’installation sontdonnés dans le chapitre 4.

RemerciementsDe Raphaël HertzogEn premier lieu, je tiens à remercier Nat Makarévitch, qui m’a proposéd’écrire ce livre et m’a accompagné tout au long de sa réalisation ; merci éga-

XVIII

Page 15: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Chapitre 1

Page 16: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Le projet Debian

Avant de plonger dans la technique, découvrons ensemblece qu’est le projet Debian : ses objectifs, ses moyens et sonfonctionnement.

SOMMAIREI Qu’est-ce que Debian ?I Les textes fondateursI Fonctionnement du projet DebianI Rôle d’une distributionI Cycle de vie d’une release

MOTS-CLÉSI ObjectifI MoyensI FonctionnementI Bénévole

Page 17: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

Qu’est-ce que Debian ?CULTURE Origine du nom de Debian

Ne cherchez plus, Debian n’est pas un acro-nyme. Ce nom est en réalité une contractionde deux prénoms : celui de Ian Murdock et desa compagne d’alors, Debra. Debra + Ian = De-bian.

Debian est une distribution GNU/Linux et GNU/kFreeBSD. Nous revien-drons plus en détail sur ce qu’est une distribution en page 18, mais nous pou-vons pour l’instant considérer qu’il s’agit d’un système d’exploitation completcomprenant des logiciels avec leurs systèmes d’installation et de gestion, letout basé sur le noyau Linux ou FreeBSD, et des logiciels libres (et notam-ment ceux du projet GNU).Lorsqu’il a créé Debian en 1993 sous l’impulsion de la FSF, Ian Murdockavait des objectifs clairs, qu’il a exprimés dans le Manifeste Debian. Le sys-tème d’exploitation libre qu’il recherchait devait présenter deux caractéris-tiques principales. En premier lieu, la qualité : Debian serait développéeavec le plus grand soin, pour être digne du noyau Linux. Ce serait égalementune distribution non commerciale suffisamment crédible pour concurrencerles distributions commerciales majeures. Cette double ambition ne serait àson sens atteinte qu’en ouvrant le processus de développement de Debian, àl’instar de Linux et de GNU. Ainsi, la revue des pairs améliorerait constam-ment le produit.

COMMUNAUTÉ Le parcoursde Ian Murdock

Ian Murdock, fondateur du projet Debian, enfut le premier leader, de 1993 à 1996. Aprèsavoir passé la main à Bruce Perens, il s’est faitplus discret. Il est ensuite revenu sur le devantde la scène du logiciel libre en créant la so-ciété Progeny, visant à commercialiser une dis-tribution dérivée de Debian. Ce fut un écheccommercial, au développement depuis aban-donné. La société, après plusieurs années devivotement en tant que simple société de ser-vices, a fini par déposer le bilan en avril 2007.Des différents projets initiés par Progeny, seuldiscover subsiste réellement. Il s’agit d’unoutil de détection automatique du matériel.

Un système d’exploitation multi-plates-formes

CULTURE GNU, le projet de la FSF

Le projet GNU est un ensemble de logicielslibres développés ou parrainés par la FreeSoftware Foundation (FSF), dont RichardStallman est le créateur emblématique. GNUest un acronyme récursif signifiant « GNU’sNot Unix » (GNU n’est pas Unix).

Debian, restée fidèle à ses principes initiaux, a connu un tel succès qu’elleatteint aujourd’hui une taille pharaonique. Les 11 architectures proposéescouvrent 9 architecturesmatérielles et 2 noyaux (Linux et FreeBSD). Et avecplus de 14 500 paquets sources, les logiciels disponibles permettent de ré-pondre à une grande partie des besoins que l’on peut avoir aussi bien enentreprise qu’à la maison.

OUTIL Créer un CD-Rom Debian

debian-cd permet de créer des images ISOde CD-Rom d’installation prêts à l’emploi.Raphaël Hertzog est l’auteur de la dernièreréécriture, mais la maintenance est essen-tiellement assurée par Steve McIntyre. Toutce qui concerne ce logiciel se discute (enanglais) sur la liste de diffusion [email protected].

Cet embonpoint devient parfois gênant : il est peu raisonnable de distribuerla cinquantaine de CD-Rom qu’occupe une version complète pour machinesà processeurs Intel. . . C’est pourquoi on la considère de plus en plus commeune « méta-distribution », dont on extrait des distributions plus spécifiqueset orientées vers un public particulier : Debian-Desktop pour un usage bu-reautique traditionnel, Debian-Edu pour un emploi éducatif et pédagogiqueen milieu scolaire, Debian-Med pour les applications médicales, Debian-Junior pour les jeunes enfants, etc. Une liste plus complète se trouve dans lasection dédiée, page 14.Ces scissions, organisées dans un cadre bien défini et garantissant une com-patibilité entre les différentes « sous-distributions », ne posent aucun pro-blème. Toutes suivent le planning général des publications de nouvelles ver-sions. S’adossant sur les mêmes briques de base, elles peuvent facilementêtre étendues, complétées et personnalisées par des applications disponiblesau niveau de Debian.

2

Page 18: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

1–Le

projetDebian

Tous les outils de Debian évoluent dans cette direction : debian-cd permetdepuis longtemps de créer des jeux de CD-Rom ne comportant que despaquets préalablement sélectionnés ; debian-installer est également uninstallateur modulaire, facilement adaptable à des besoins particuliers. APTinstallera des paquets d’origines diverses tout en garantissant la cohérenceglobale du système.

B.A.-BA À chaque ordinateur son architecture

Le terme « architecture » désigne un type d’ordinateur (les plus connues regroupent les ordi-nateurs de type Mac ou PC). Chaque architecture se différencie principalement par son mo-dèle de processeur, généralement incompatible avec les autres. Ces différences de matérielimpliquent des fonctionnements distincts et imposent une compilation spécifique de tous leslogiciels pour chaque architecture.La plupart des logiciels disponibles pour Debian sont écrits avec des langages de programma-tion portables : le même code source est compilé sur les diverses architectures. En effet, unexécutable binaire, toujours compilé pour une architecture donnée, ne fonctionne générale-ment pas sur les autres.Rappelons que chaque logiciel est créé en rédigeant un code source ; il s’agit d’un fichiertextuel composé d’instructions provenant d’un langage de programmation. Avant de pouvoirutiliser le logiciel, il est nécessaire de compiler le code source, c’est-à-dire de le transfor-mer en code binaire (une succession d’instructions machines exécutables par le processeur).Chaque langage de programmation dispose d’un compilateur pour effectuer cette opération(par exemple gcc pour le langage C).

La qualité des logiciels libres

OUTIL Installateur

debian-installer est le nom du pro-gramme d’installation de Debian. Sa concep-tion modulaire permet de l’employer dansun grand nombre de scénarios d’installationdifférents. Le travail de développement estcoordonné sur la liste de diffusion [email protected] sous la direction deOtavio Salvador et Joey Hess.

Debian suit tous les principes du logiciel libre, et ses nouvelles versions nesortent que lorsqu’elles sont prêtes. Aucun calendrier préétabli ne contraintles développeurs à bâcler pour respecter une échéance arbitraire. On re-proche donc souvent à Debian ses délais de publication, mais cette prudenceen garantit aussi la légendaire fiabilité : de longs mois de tests sont en effetnécessaires pour que la distribution complète reçoive le label « stable ».Debian ne transige pas sur la qualité : tous les bogues critiques connus serontcorrigés dans toute nouvelle version, même si cela doit parfois retarder ladate de sortie initialement prévue.Debian n’exclut aucune catégorie d’utilisateurs, aussi minoritaire soit-elle.Son programme d’installation est longtemps resté fruste, car c’était le seulcapable de fonctionner sur toutes les architectures gérées par le noyau Linux.Il n’était pas envisageable de le remplacer par un programme plus convivialmais limité aux PC (architecture i386). Heureusement, depuis l’arrivée dedebian-installer, cette époque est révolue.

3

Page 19: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

Le cadre : une associationJuridiquement parlant, Debian est un projet mené par une association amé-ricaine sans but lucratif regroupant des bénévoles, similaire aux associationsloi 1901 en droit français. Le projet compte un millier de développeurs De-bian mais fédère un nombre bien plus important de contributeurs (traduc-teurs, rapporteurs de bogues, développeurs occasionnels. . .).Pour mener à bien sa mission, Debian dispose d’une importante infrastruc-ture, comportant de nombreux serveurs reliés à Internet, offerts par de nom-breux mécènes.

COMMUNAUTÉ Derrière Debian, l’association SPI et des branches locales

Debian ne possède aucun serveur en son nom propre, puisque ce n’est qu’un projet au sein del’association Software in the Public Interest (SPI), qui en gère les aspects matériels et fi-nanciers (dons, achat dematériel. . .). Bien qu’initialement créée sur mesure pour Debian, cetteassociation coiffe maintenant d’autres projets du monde du logiciel libre, notamment la basede données PostgreSQL, Freedesktop.org (projet de standardisation de certaines briques desbureaux graphiques modernes tels que GNOME et KDE) ; la suite bureautique OpenOffice.orgen a longtemps fait partie aussi.I http://www.spi-inc.org/En complément de SPI, de nombreuses associations locales collaborent étroitement avec De-bian afin de pouvoir gérer des fonds pour Debian sans pour autant tout centraliser aux États-Unis. Cela permet d’éviter de coûteux virements internationaux et correspond bien mieux à lanature décentralisée du projet. C’est dans cet esprit que l’association Debian France a étéfondée au cours de l’été 2006. N’hésitez pas à en devenir membre pour soutenir le projet !I http://france.debian.net/

Les textes fondateurs

PERSPECTIVE Au-delà du logiciel

La première version du contrat social disait« Debian demeurera un ensemble logicieltotalement libre ». La disparition de ces troismots (avec la ratification de la version 1.1 ducontrat au mois d’avril 2004) traduit une vo-lonté d’obtenir la liberté non seulement des lo-giciels mais aussi de la documentation et detout ce que Debian souhaite fournir dans sonsystème d’exploitation.Ce changement, qui ne se voulait qu’éditorial,a en réalité eu de nombreuses conséquences,avec notamment la suppression de certainesdocumentations problématiques. Par ailleurs,l’usage de plus en plus fréquent de micro-codes (firmwares) dans les pilotes pose desproblèmes : souvent non-libres, ils sont néan-moins nécessaires au bon fonctionnement dumatériel correspondant.

Quelques années après son lancement,Debian a formalisé les principes qu’elledevait suivre en tant que projet de logiciel libre. Cette démarche militantepermet une croissance sereine en s’assurant que tous lesmembres progressentdans la même direction. Pour devenir développeur Debian, tout candidatdoit d’ailleurs convaincre de son adhésion aux principes établis dans les textesfondateurs du projet.Le processus de développement est constamment débattu, mais ces textesfondateurs sont très consensuels, et n’évoluent que rarement. La constitutionDebian offre toutefois des garanties supplémentaires : une majorité qualifiéede trois quarts est nécessaire pour approuver tout amendement.

4

Page 20: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

1–Le

projetDebian

L’engagement vis-à-vis des utilisateursOn trouve aussi un « contrat social ». Quelle est la place d’un tel texte dans unprojet ne visant qu’à concevoir un système d’exploitation ? C’est très simple,Debian œuvre pour ses utilisateurs et, par extension, pour la société. Cecontrat résume donc les engagements pris. Voyons ces points plus en détail :

1 Debian demeurera totalement libre.C’est la règle numéro un. Debian est et restera constituée exclusi-vement de logiciels libres. De plus, tous les logiciels développés enpropre par Debian seront libres.

COMMUNAUTÉ Auteur amontou développeur Debian ?

Traduction littérale de upstream au-thor, le terme « auteur amont » désignele ou les auteurs/développeurs d’un logi-ciel, qui l’écrivent et le font évoluer. Acontrario, un « développeur Debian » secontente en général de partir d’un logicielexistant pour le transformer en paquet De-bian (la désignation «mainteneur Debian»est plus explicite).Bien souvent, la ligne de démarcation n’estpas aussi nette. Le mainteneur Debian écritparfois un correctif, qui profite à tous lesutilisateurs du logiciel. De manière géné-rale, Debian encourage l’implication desresponsables de paquets dans le dévelop-pement « amont » (ils deviennent alorscontributeurs sans se cantonner au rôle desimples utilisateurs d’un logiciel).

2 Nous donnerons en retour à la communauté du logiciel libre.Toute amélioration apportée par le projet Debian à un logiciel intégréà la distribution est envoyée à l’auteur de ce dernier (dit « amont »).D’une manière générale, Debian coopère avec la communauté au lieude travailler isolément.

3 Nous ne dissimulerons pas les problèmes.Debian n’est pas parfaite, et l’on y découvre tous les jours des pro-blèmes à corriger. Tous ces bogues sont répertoriés et consultableslibrement, par exemple sur le Web.

COMMUNAUTÉ Responsable de paquetou mainteneur ?

L’équipe chargée de l’adaptation de Debianen français (on parle de « localisation ») a re-tenu le terme de « responsable de paquet »pour désigner la personne chargée d’intégrerun paquet à Debian et de l’y faire évoluer.Le terme anglais correspondant estmaintai-ner ; c’est pourquoi nous employons souventle mot «mainteneur », plus concis et tout aussiexplicite.

4 Nos priorités sont nos utilisateurs et les logiciels libres.Cet engagement est plus difficile à définir. Debian s’impose ainsi unbiais lorsqu’elle doit prendre une décision, et écartera une solution defacilité pénalisante pour ses utilisateurs au profit d’une solution plusélégante, même si elle est plus difficile à mettre en œuvre. Il s’agit deprendre en compte en priorité les intérêts des utilisateurs et du logiciellibre.

5 Programmes non conformes à nos standards sur les logiciels libres.Debian accepte et comprend que ses utilisateurs souhaitent utilisercertains logiciels non libres. Elle s’engage donc à mettre à leur dispo-sition une partie de son infrastructure, pour distribuer sous forme depaquets Debian les logiciels qui l’autorisent.

5

Page 21: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

COMMUNAUTÉ Pour ou contre la section non-free ?

L’engagement de conserver une structure d’accueil pour des logiciels non libres (i.e. la sectionnon-free, voir encadré « VOCABULAIRE » page 93) est régulièrement remis en cause au seinde la communauté Debian.Ses détracteurs arguent qu’il détourne certaines personnes de logiciels libres équivalents etcontredit le principe de servir exclusivement la cause des logiciels libres. Les partisans rap-pellent plus prosaïquement que la majorité des logiciels de non-free sont des logiciels« presque libres », entravés seulement par une ou deux restrictions gênantes (la plus fré-quente étant l’interdiction de tirer un bénéfice commercial du logiciel). En distribuant ceslogiciels dans la branche non-free, on explique indirectement à leur auteur que leur créa-tion serait mieux reconnue et plus utilisée si elle pouvait être intégrée dans la sectionmain :ils sont ainsi poliment invités à changer leur licence pour servir cet objectif.Après une première tentative infructueuse en 2004, la suppression totale de la section non-free ne devrait plus revenir à l’ordre du jour avant plusieurs années, d’autant plus qu’ellecontient de nombreuses documentations utiles qui y ont été déplacées parce qu’elles ne ré-pondaient plus aux nouvelles exigences de la section main. C’est notamment le cas pourcertaines documentations de logiciels issus du projet GNU (en particulier Emacs et Make).Signalons que l’existence de non-free gêne considérablement la Free SoftwareFoundation, car elle l’empêche de recommander officiellement Debian comme systèmed’exploitation.

Les principes du logiciel libre selon DebianCe texte de référence définit quels logiciels sont « suffisamment libres » pourêtre intégrés àDebian. Si la licence d’un logiciel est conforme à ces principes,il peut être intégré à la section main ; dans le cas contraire, et si sa libreredistribution est permise, il peut rejoindre la section non-free. Celle-ci nefait pas officiellement partie de Debian : il s’agit d’un service annexe fourniaux utilisateurs.

B.A.-BA Les licences libres

La GNU GPL, la licence BSD et la licenceartistique respectent toutes trois les prin-cipes du logiciel libre selon Debian. Ellessont pourtant très différentes.La GNU GPL, utilisée et promue par laFSF (Free Software Foundation, oufondation du logiciel libre), est la pluscourante. Elle a pour particularité des’appliquer à toute œuvre dérivée et re-distribuée : un programme intégrant ouutilisant du code GPL ne peut être dif-fusé que selon ses termes. Elle interditdonc toute récupération dans une applica-tion propriétaire. Ceci pose également degros problèmes pour le réemploi de codeGPL dans des logiciels libres incompatiblesavec cette licence. Ainsi, il est parfois im-possible de lier une bibliothèque diffuséesous GPL à un programme placé sous uneautre licence libre. En revanche, cette li-cence est très solide en droit américain : lesjuristes de la FSF ont participé à sa rédac-tion, et elle a souvent contraint des contre-venants à trouver un accord amiable avecla FSF sans aller jusqu’au procès.I http://www.gnu.org/copyleft/gpl.htmlLa licence BSD est la moins restrictive : toutest permis, y compris l’intégration de codeBSD modifié dans une application proprié-taire. Microsoft ne s’en est d’ailleurs pasprivé car la couche TCP/IP de Windows NTest fondée sur celle du noyau BSD.I http://www.opensource.org/licenses/bsd-license.php

Enfin, la licence artistique réalise uncompromis entre les deux précédentes :l’intégration du code dans une applicationpropriétaire est possible, mais toute modi-fication doit être publiée.I http://www.opensource.org/licenses/artistic-license-2.0.php

Le texte complet (en anglais) deces licences est disponible dans/usr/share/common-licenses/sur tout système Debian. Certaines deces licences disposent de traductions enfrançais, mais leur statut reste officieux,et leur valeur légale est encore en coursde discussion ; le texte de référence restealors la version anglaise.

Plus qu’un critère de choix pour Debian, ce texte fait autorité en matière delogiciel libre puisqu’il a servi de socle à la « définition de l’Open Source ».C’est donc historiquement l’une des premières formalisations de la notionde « logiciel libre ».La licence publique générale de GNU (GNU General Public License), la li-cence BSD et la licence artistique sont des exemples de licences libres tra-ditionnelles respectant les 9 points mentionnés dans ce texte. Vous en trou-verez ci-dessous la traduction, telle que publiée sur le site web de Debian.I http://www.debian.org/social_contract.fr.html#guidelines

1 Redistribution libre et gratuite La licence d’un composant de Debianne doit pas empêcher quiconque de vendre ou donner le logiciel sousforme de composant d’un ensemble (distribution) constitué de pro-grammes provenant de différentes sources. La licence ne doit en cecas requérir ni redevance ni rétribution.

6

Page 22: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

1–Le

projetDebian

2 Code source Le programme doit inclure le code source, et sa diffusionsous forme de code source comme de programme compilé doit êtreautorisée.

3 Applications dérivées La licence doit autoriser les modifications etles applications dérivées ainsi que leur distribution sous les mêmestermes que ceux de la licence du logiciel original.

4 Intégrité du code source de l’auteur La licence peut défendre de dis-tribuer le code source modifié seulement si elle autorise la distribu-tion avec le code source de fichiers correctifs destinés à modifier leprogramme au moment de sa construction. La licence doit autoriserexplicitement la distribution de logiciels créés à partir de code sourcemodifié. Elle peut exiger que les applications dérivées portent un nomou un numéro de version différent de ceux du logiciel original (c’est uncompromis : le groupe Debian encourage tous les auteurs à ne restreindre enaucune manière les modifications des fichiers, source ou binaire).

5 Aucune discrimination de personne ou de groupe La licence ne doitdiscriminer aucune personne ou groupe de personnes.

6 Aucunediscriminationde champd’applicationLa licence ne doit pasdéfendre d’utiliser le logiciel dans un champ d’application particulier.Par exemple, elle ne doit pas défendre l’utilisation du logiciel dans uneentreprise ou pour la recherche génétique.

7 Distribution de licence Les droits attachés au programme doivents’appliquer à tous ceux à qui il est distribué sans obligation pour au-cune de ces parties de se conformer à une autre licence.

8 La licence ne doit pas être spécifique à Debian Les droits attachésau programme ne doivent pas dépendre du fait de son intégrationau système Debian. Si le programme est extrait de Debian et utiliséet distribué sans Debian mais sous les termes de sa propre licence,tous les destinataires doivent jouir des même droits que ceux accordéslorsqu’il se trouve au sein du système Debian.

B.A.-BA Le copyleft

Le copyleft (ou « gauche d’auteur ») estun principe qui consiste à faire appel aumécanisme des droits d’auteurs pour ga-rantir la liberté d’une œuvre et de ses dé-rivées — au lieu de restreindre les droitsdes utilisateurs comme dans le cas des lo-giciels propriétaires. Il s’agit d’ailleurs d’unjeu de mots sur le terme copyright, équi-valent américain du droit d’auteur. RichardStallman a trouvé cette idée quand un amifriand de calembours écrivit sur une en-veloppe qu’il lui adressa : « copyleft :all rights reversed » (copyleft : tousdroits renversés). Le copyleft impose laconservation de toutes les libertés initialeslors de la distribution d’une version mo-difiée (ou non) du logiciel. Il est donc im-possible de dériver un logiciel propriétaired’un logiciel placé sous copyleft.La licence copyleft la plus célèbre estsans aucun doute la GNU GPL (elle a pourpetites sœurs la GNU LGPL — GNULesser General Public License et laGNU FDL — GNU Free Documen-tation License). Malheureusement, leslicences copyleft sont généralement in-compatibles entre elles ! En conséquence,il est préférable de n’en utiliser qu’uneseule.

9 La licence ne doit pas contaminer d’autres logiciels La licence ne doitpas placer de restriction sur d’autres logiciels distribués avec le logiciel.Elle ne doit par exemple pas exiger que tous les autres programmesdistribués sur le même support soient des logiciels libres.

7

Page 23: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

COMMUNAUTÉ Bruce Perens, un leader chahuté

Bruce Perens, deuxième leader du projet Debian juste après Ian Murdock, fut très controversépour ses méthodes dynamiques et assez dirigistes. Il n’en reste pas moins un contributeurimportant, à qui Debian doit notamment la rédaction des fameux « principes du logiciel libreselon Debian » (ou DFSG pourDebian Free Software Guidelines), idée originelle d’EanSchuessler. Par la suite, Bruce en dérivera la célèbre « définition de l’Open Source » en y gom-mant toutes les références à Debian.I http://www.opensource.org/Son départ du projet fut quelque peu mouvementé mais Bruce est resté assez fortement atta-ché à Debian puisqu’il continue de promouvoir cette distribution dans les sphères politiqueset économiques. Il intervient encore épisodiquement sur les listes de diffusion pour donnerson avis et présenter ses dernières initiatives en faveur de Debian.Dernier point anecdotique, c’est à lui que l’on doit l’inspiration des « noms de code » des dif-férentes versions de Debian (1.1 — Rex, 1.2 — Buzz, 1.3 — Bo, 2.0 — Hamm, 2.1 — Slink,2.2— Potato, 3.0—Woody, 3.1— Sarge, 4.0— Etch, 5.0— Lenny, 6.0— Squeeze, Testing— Wheezy, Unstable — Sid). Ils correspondent tous à des personnages de Toy Story. Cefilm d’animation entièrement réalisé en images de synthèse fut produit par Pixar, employeurde Bruce à l’époque où il était leader Debian. Le nom « Sid » a un statut particulier puisqu’ilrestera éternellement associé à Unstable ; dans le film, il s’agit de l’enfant des voisins, incorri-gible brise-tout— gare à vous donc si vous approchez Unstable de trop près ! Par ailleurs, Sidest l’acronyme de Still In Development (encore et toujours en cours de développement).

Fonctionnement du projet DebianLa richesse produite par le projet Debian résulte à la fois du travail surl’infrastructure effectué par des développeurs Debian expérimentés, du tra-vail individuel ou collectif de développeurs sur des paquets Debian, et desretours des utilisateurs.

Les développeurs DebianI http://www.debian.org/devel/peopleI http://www.debian.org/intro/organizationI http://wiki.debian.org/Teams

Les développeurs Debian ont des responsabilités diverses : membres attitrésdu projet, ils infléchissent grandement les directions qu’il prend. Un déve-loppeur Debian est généralement responsable d’au moins un paquet, maisselon son temps disponible et ses envies il a le loisir de s’engager dans denombreuses équipes, développant ainsi ses responsabilités.La maintenance des paquets est une activité relativement codifiée, large-ment documentée voire réglementée. Il faut en effet y respecter toutes lesnormes édictées par la charte Debian (connue sous le nom de Debian Policy,en anglais). Fort heureusement, de nombreux outils facilitent le travail dumainteneur. Il peut ainsi se focaliser sur les particularités de son paquet etsur les tâches plus complexes, telles que la correction des bogues.

8

Page 24: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

1–Le

projetDebian

La charte, élément essentiel du projet Debian, énonce les normes assurantà la fois la qualité des paquets et la parfaite interopérabilité de l’ensemble.Grâce à elle, Debian reste cohérentmalgré sa taille gigantesque. Cette charten’est pas figée, mais évolue continuellement grâce aux propositions inces-samment formulées sur la liste [email protected]. Les amendementsemportant l’adhésion de tous sont acceptés et appliqués au texte par un pe-tit groupe de mainteneurs sans tâche éditoriale (ils se contentent d’inclureles modifications décidées par les développeurs Debian membres de la listementionnée ci-dessus). On peut consulter les actuelles propositions d’amen-dements via le système de suivi de bogues : http://bugs.debian.org/debian-policy

OUTIL Base de données des développeurs

Debian dispose d’une base de données compre-nant l’ensemble des développeurs enregistrés etles informations qui s’y rattachent (adresse, télé-phone, coordonnées géographiques — latitude etlongitude. . .). Certaines de ces informations (nom,prénom, pays, identifiant chez Debian, identifiantIRC, clé GnuPG. . .) sont publiques et disponiblessur le Web.I http://db.debian.org/Les coordonnées géographiques permettent de gé-nérer une carte situant l’ensemble des dévelop-peurs sur le globe. On constate alors que Debianest vraiment un projet international : on trouve desdéveloppeurs sur tous les continents, même si lamajorité proviennent de pays occidentaux.

Figure 1.1 Répartition mondiale des développeurs Debian

B.A.-BA Maintenance d’un paquet, le travail du développeur

Maintenir un paquet suppose d’abord d’« empaqueter » un logiciel. Concrètement, il s’agitd’en définir les modalités d’installation afin qu’une fois installé ce logiciel soit fonctionnel etrespecte l’ensemble des règles que Debian s’astreint à suivre. Le résultat de cette opérationest conservé dans une archive .deb. L’installation effective du logiciel se limitera ensuiteà l’extraction de cette archive, ainsi qu’à l’exécution de quelques scripts de pré- ou post-installation.Après cette phase initiale, le cycle de la maintenance débute vraiment : préparation des misesà jour pour respecter la dernière version de la charte Debian, correction des bogues signa-lés par les utilisateurs, inclusion d’une nouvelle version « amont » du logiciel, qui continuenaturellement d’évoluer en parallèle (ex : lors de l’empaquetage le logiciel en était à la ver-sion 1.2.3. Après quelquesmois de développement, ses auteurs originaux sortent une nouvelleversion stable, numérotée 1.4.0. Il convient alors de mettre à jour le paquet Debian pour queles utilisateurs puissent bénéficier de sa dernière version stable).

9

Page 25: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

CHARTE DEBIAN La documentation

La documentation de chaque paquet est stockée dans /usr/share/doc/paquet/. Ce ré-pertoire contient souvent un fichier README.Debian décrivant les aménagements spéci-fiques à Debian réalisés par le mainteneur. Il est donc sage de lire ce fichier avant touteconfiguration, pour tirer profit de son expérience. On trouve également un fichier change-log.Debian.gz décrivant les modifications effectuées au fil des versions par le mainteneurDebian. Le fichier changelog.gz (ou équivalent) décrit quant à lui les changements effec-tués au niveau des développeurs amont. Le fichier copyright rassemble les informationsconcernant les auteurs et la licence à laquelle le logiciel est soumis. Enfin, on trouve parfoisun fichier NEWS.Debian.gz, qui permet au développeur Debian de communiquer quelquesinformations importantes concernant les mises à jour (si apt-listchanges est employé, lesmessages seront automatiquement affichés par APT). Tous les autres fichiers sont spécifiquesau logiciel en question. Signalons notamment le sous-répertore examples qui contient sou-vent des exemples de fichiers de configuration.

COMMUNAUTÉ Processus éditorialde la charte

Tout le monde peut proposer une modificationde la charte Debian : il suffit de soumettre unrapport de bogue de «gravité »wishlist (sou-hait) sur le paquet debian-policy. Le pro-cessus qui débute alors est documenté dans/usr/share/doc/debian-policy/Process.html : s’il est reconnu que leproblème soulevé doit être résolu par lebiais d’une nouvelle règle dans la charteDebian, la discussion se poursuit sur [email protected] jusqu’à l’obtentiond’un consensus et d’une proposition.Quelqu’un rédige alors la modificationsouhaitée et la soumet pour approbation(sous la forme d’un correctif à relire). Dèsque 2 autres développeurs approuvent lefait que la formulation proposée reflète bienle consensus ayant émergé de la discussionprécédente (en anglais, le verbe consacré estto second), la proposition peut être intégréeau document officiel par un des mainteneursdu paquet debian-policy. Si le processuséchoue à l’une des étapes, les mainteneursfermeront le bogue en classant la propositioncomme rejetée.

La charte encadre très bien tout ce qui a trait au côté technique de la mise enpaquet. La taille du projet soulève aussi des problèmes organisationnels ; ilssont traités par la constitution Debian, qui fixe une structure et des moyensde décision.Cette constitution définit un certain nombre d’acteurs, de postes, les res-ponsabilités et les pouvoirs de chacun. On retiendra que les développeursDebian ont toujours le pouvoir ultime de décision par un vote de résolutiongénérale — avec nécessité d’obtenir une majorité qualifiée de trois quartspour les changements les plus importants (comme ceux portant sur les textesfondateurs). Cependant, les développeurs élisent annuellement un « leader »pour les représenter dans les congrès et assurer la coordination interne entreles différentes équipes. Son rôle n’est pas formellement défini par un do-cument, et il est d’usage que chaque candidat à ce poste donne sa propredéfinition de la fonction. En pratique, le leader a un rôle représentatif au-près des médias, un rôle de coordination entre les équipes « internes » et unrôle de visionnaire pour donner une ligne directrice au projet, dans laquelleles développeurs peuvent s’identifier.

CULTURE Flamewar, la discussionqui s’enflamme

Une flamewar, littéralement « guerre en-flammée », est une discussion (trop) passion-née qui finit souvent par des attaques per-sonnelles lorsque tous les arguments raison-nés ont été épuisés de part et d’autre. Cer-tains thèmes sont beaucoup plus sujets à po-lémique que d’autres (l’exemple type étant lechoix d’un éditeur de texte, « préférez-vousvi ou emacs ? »). Ils provoquent de très ra-pides échanges de courrier électronique du faitdu nombre de personnes concernées (tout lemonde) et de l’aspect très personnel de cettequestion.Rien de très utile ne sortant généralement deces discussions, abstenez-vous d’y participer etne survolez que rapidement leur contenu— salecture complète serait trop chronophage.

Concrètement, le leader dispose de pouvoirs réels : sa voix est déterminanteen cas d’égalité dans un vote, il peut prendre toute décision qui ne relève pasdéjà d’un autre, et déléguer une partie de ses responsabilités.La constitution définit également un « comité technique ». Son rôle essentielest de trancher sur des points techniques lorsque les développeurs concernésne sont pas parvenus à un accord entre eux. Par ailleurs, ce comité joue aussiun rôle de conseil vis-à-vis de chaque développeur qui n’arrive pas à prendreune décision qui lui revient. Il est important de noter qu’il n’intervient quelorsqu’une des parties concernées le lui a demandé.Enfin, la constitution définit le poste de « secrétaire du projet », qui a no-

10

Page 26: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

1–Le

projetDebian

tamment en charge l’organisation des votes liés aux différentes élections etrésolutions générales.La procédure de « résolution générale » est entièrement détaillée dans laconstitution, depuis la période de discussion préalable jusqu’à l’analyse desrésultats des votes. Pour plus de détails, nous vous invitons à en consulter letexte intégral : http://www.debian.org/devel/constitution.fr.html

Même si cette constitution instaure un semblant de démocratie, la réalitéquotidienne est très différente : Debian suit naturellement les lois du lo-giciel libre, et sa politique du fait accompli. On peut longtemps débattredes mérites respectifs des différentes manières d’aborder un problème, lasolution retenue sera la première fonctionnelle et satisfaisante. . . celle à laréalisation de laquelle une personne compétente aura consacré une partie deson temps.C’est d’ailleurs la seule manière d’obtenir des galons : faire quelque chosed’utile et démontrer que l’on a bien travaillé. Beaucoup d’équipes « adminis-tratives » de Debian fonctionnent sur le mode de la cooptation, et favorise-ront des volontaires ayant déjà effectivement contribué dans le sens de leuraction et prouvé leur compétence à la tâche. Cette méthode est envisageablecar l’essentiel du travail de ces équipes est public, donc a fortiori accessible àtout développeur intéressé. C’est pourquoi Debian est souvent qualifiée de« méritocratie ».

CULTURE Méritocratie, le règne du savoir

La méritocratie est une forme de gouverne-ment où le pouvoir est exercé par les plus «mé-ritants ». Pour Debian, le mérite se mesure àla compétence, elle-même évaluée en obser-vant les réalisations passées des uns et desautres au sein du projet (Stefano Zacchiroli,l’actuel leader du projet, parle de do-ocracy,que l’on pourrait traduire par « faisocratie »,ou « le pouvoir à ceux qui font les choses »).Leur simple existence prouve un certain niveaude compétence ; ces réalisations étant en gé-néral des logiciels libres, aux codes sourcesdisponibles, il sera facile aux pairs d’en jugerla qualité.

Ce mode de fonctionnement efficace garantit la qualité des contributeurs ausein des équipes « clés » de Debian. Tout n’est pas parfait pour autant, et il ar-rive fréquemment que certains n’acceptent pas cette manière de procéder. Lasélection des développeurs acceptés dans ces équipes peut paraître quelquepeu arbitraire voire injuste. Par ailleurs, tout le monde n’a pas la même défi-nition du service attendu de ces équipes. Pour certains, il est inacceptable dedevoir attendre 8 jours l’intégration d’un nouveau paquet Debian ; d’autrespatienteront 3 semaines sans peine. Aussi, des esprits chagrins se plaignentrégulièrement de la « qualité du service » de certaines équipes.

COMMUNAUTÉ L’intégration des nou-veaux mainteneurs

L’équipe chargée de l’admission des nou-veaux développeurs est la plus régulière-ment critiquée. Il faut reconnaître qu’aufil des années le projet Debian est devenude plus en plus exigeant avec les dévelop-peurs qu’il accepte en son sein. On peut yvoir une certaine injustice, mais nous ad-mettrons que ce qui n’étaient que de pe-tits défis au départ prend l’allure de ga-geures dans une communauté de plus de1 000 personnes, où il s’agit de garantir laqualité et l’intégrité de tout ce que Debianproduit pour ses utilisateurs.Par ailleurs, la procédure d’acceptationse conclut par la revue de la candida-ture par une petite équipe, les « Respon-sables des comptes Debian » (ouDAM—Debian Account Managers). Ceux-ci sont donc particulièrement exposés auxcritiques, puisqu’ils acceptent ou refusenten dernier recours l’intégration d’un volon-taire au sein de la communauté des déve-loppeurs Debian. Dans la pratique, il s’agitparfois de retarder l’acceptation d’une per-sonne, le temps qu’elle connaisse mieux lefonctionnement du projet. On peut en ef-fet contribuer à Debian avant d’y être ac-cepté comme développeur officiel grâce àun mécanisme de parrainage par les déve-loppeurs actuels.

Le rôle actif des utilisateursEst-il pertinent de citer les utilisateurs parmi les acteurs du fonctionnementde Debian ? Oui : ils y jouent un rôle crucial. Loin d’être « passifs », cer-tains de nos utilisateurs se servent quotidiennement des versions de déve-loppement et nous envoient régulièrement des rapports de bogues signalantdes problèmes. D’autres vont encore plus loin et formulent des améliora-tions (par l’intermédiaire d’un bogue de « gravité » wishlist — littéralement« liste de vœux »), voire soumettent directement des correctifs du code source(patches, voir encadré page 12).

11

Page 27: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

OUTIL Système de suivi de bogues

Le système de suivi de bogues Debian Bug Tracking System (Debian BTS) encadre leprojet. Son interface web, partie émergée, permet de consulter tous les bogues répertoriés, etpropose d’afficher une liste (triée) de bogues sélectionnés sur de nombreux critères : paquetconcerné, gravité, statut, adresse du rapporteur, adresse du mainteneur concerné, étiquetteou tag, etc.). Il est encore possible de consulter l’historique complet et toutes les discussionsse rapportant à chacun des bogues.Sous la surface, Debian BTS communique par courrier électronique : toutes les infor-mations qu’il stocke proviennent de messages émis par les différents acteurs concernés.Tout courrier envoyé à [email protected] sera ainsi consigné dans l’historique dubogue 12345. Les personnes habilitées pourront « fermer » ce bogue en écrivant à [email protected] un message exposant les motifs de cette décision (un bogue est fermélorsque le problème signalé est corrigé ou plus valide). On signalera un nouveau bogue entransmettant à [email protected] un rapport respectant un format précis, permettantd’identifier le paquet concerné. L’adresse [email protected] propose enfin de manipu-ler toutes les « méta-informations » relatives à un bogue.Debian BTS offre bien d’autres fonctionnalités (notamment les tags, ou étiquettes) — nousvous invitons à les découvrir en lisant sa documentation en ligne : http://www.debian.org/Bugs/index.fr.html

VOCABULAIRE Gravité d’un bogue

La « gravité » (severity en anglais) d’unbogue décrit de manière formelle la gravité duproblème signalé. Tous n’ont en effet pas lamême importance : une faute de frappe dansun manuel n’a rien de comparable à une faillede sécurité dans un logiciel serveur.Debian utilise une échelle étendue de gravitéspermettant d’exprimer assez finement la gra-vité d’un bogue. Elle définit par ailleurs trèsprécisément chacun de ces niveaux afin de fa-ciliter le choix de l’un ou l’autre. http://www.debian.org/Bugs/Developer.fr.html#severities

I http://www.debian.org/intl/french/index.fr.html

Par ailleurs, de nombreux utilisateurs satisfaits du service offert par Debiansouhaitent à leur tour apporter une pierre à l’édifice. Pas toujours pourvus descompétences de programmation adéquates, ils choisissent parfois d’aider àla traduction de documents et aux relectures de celles-ci. Pour les franco-phones, tout ce travail est coordonné sur la liste [email protected] i18n et l10n, qu’es aquò ?

« i18n » et « l10n » sont les abréviations res-pectives des mots « internationalisation » et« localisation », dont elles ne conservent quel’initiale, la finale, et le nombre de lettres in-termédiaires.« Internationaliser » un logiciel consiste à lemodifier pour qu’il puisse être traduit (lo-calisé). Il s’agit de réécrire partiellement unprogramme prévu pour fonctionner dans uneseule langue afin de l’ouvrir à toutes leslangues.« Localiser » un programme consiste à en tra-duire les messages originels (souvent en an-glais) dans une autre langue. Pour cela, il devraavoir été internationalisé.En résumé, l’internationalisation prépare le lo-giciel à la traduction, qui est ensuite réaliséepar la localisation.

B.A.-BA Patch, le moyen d’envoyer un correctif

Un patch est un fichier décrivant des changements à apporter à un ou plusieurs fichiers deréférence. Concrètement, on y trouve une liste de lignes à supprimer ou à insérer, ainsi (parfois)que des lignes reprises du texte de référence et replaçant les modifications dans leur contexte(elles permettront d’en identifier l’emplacement si les numéros de lignes ont changé).On utilise indifféremment les termes « correctif » et « patch » car la plupart des correctionsde bogues sont envoyées sous forme de patch. L’utilitaire appliquant les modifications don-nées par un tel fichier s’appelle simplement patch. L’outil qui le crée s’appelle diff (autresynonyme de « correctif ») et s’utilise comme suit :$ diff -u file.old file.new >file.patch

Le fichier file.patch contient les instructions permettant de transformer le contenu defile.old en celui de file.new. On pourra le transmettre à un correspondant pour qu’ilrecrée file.new à partir des deux autres comme ci-dessous :$ patch -p0 file.old <file.patchLe fichier file.old est maintenant identique à file.new.

12

Page 28: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

1–Le

projetDebian

OUTIL Signaler un bogue avec reportbug

L’outil reportbug facilite l’envoi d’un rapport de bogue sur un paquet Debian. Il peut véri-fier au préalable que le bogue concerné n’a pas déjà été référencé, ce qui évite la création dedoublons. Il rappelle la définition de la gravité pour qu’elle soit aussi juste que possible (ledéveloppeur pourra toujours affiner par la suite le jugement de l’utilisateur). Il permet d’écrireun rapport de bogue complet sans en connaître la syntaxe précise, en l’écrivant puis en propo-sant de le retoucher. Ce rapport sera ensuite transmis via un serveur de courrier électronique(local par défaut, mais reportbug peut aussi utiliser un serveur distant).Cet outil cible d’abord les versions de développement, seules concernées par les correctionsde bogues. Une version stable de Debian est en effet figée dans le marbre, à l’exception desmises à jour de sécurité ou très importantes (si par exemple un paquet n’est pas du toutfonctionnel). Une correction d’un bogue bénin dans un paquet Debian devra donc attendre laversion stable suivante.

Tous ces mécanismes sont accentués par le comportement des utilisateurs.Loin d’être isolés, ils forment une vraie communauté, au sein de laquelle denombreux échanges ont lieu. Citons notamment l’activité impressionnantede la liste de discussion des utilisateurs francophones debian-user-french@lists.

debian.org (le chapitre 7 vous révélera plus d’informations sur cette dernière).Non contents de s’entraider sur des problèmes techniques qui les concernentdirectement, ceux-ci traitent aussi de la meilleure manière d’aider Debian etde faire progresser le projet — discussions provoquant souvent des sugges-tions d’amélioration.Debian ne finançant aucune campagne publicitaire d’auto-promotion, sesutilisateurs jouent un rôle essentiel dans sa diffusion, et en assurent la noto-riété par le bouche-à-oreille.Cette méthode fonctionne plutôt bien puisqu’on retrouve des incondition-nels de Debian à tous les niveaux de la communauté du logiciel libre : dansles install parties (ateliers d’installation, encadrés par des habitués, pour lesnouveaux venus à Linux) organisées par les groupes locaux d’utilisateurs deLinux, sur les stands associatifs des grands salons d’informatique traitant deLinux, etc.Signalons que des volontaires réalisent affiches, tracts et autres supportsutiles pour la promotion du projet, qu’ils mettent à disposition de tous etque Debian fournit librement sur son site web.I http://www.debian.org/events/material.fr.html

Équipes et sous-projetsDebian s’organisa d’emblée autour du concept de paquet source, chacun dis-posant de son mainteneur voire de son groupe de mainteneurs. De nom-breuses équipes de travail sont peu à peu apparues, assurant l’administration

13

Page 29: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

de l’infrastructure, la gestion des tâches transversales à tous les paquets (as-surance qualité, charte Debian, programme d’installation. . .), les dernièreséquipes s’articulant autour de sous-projets.

VOCABULAIRE Sous-projet et distribution dérivée

Le processus de développement d’une distribution dérivée consiste à partir d’une version don-née de Debian et à y apporter un ensemble de modifications. L’infrastructure employée pource travail est totalement externe au projet Debian et il n’y a pas nécessairement de politiquede contribution des améliorations apportées. Cette différence explique qu’une distributiondérivée puisse « diverger » de ses origines et qu’il lui faille régulièrement se resynchroniserpour profiter des améliorations apportées en amont.À l’opposé, un sous-projet ne peut pas diverger puisque tout son travail consiste à directementaméliorer Debian pour le rendre plus adapté à son but.La distribution dérivée de Debian la plus célèbre est sans conteste Ubuntu, mais il y en a ungrand nombre, consultez l’annexe page A pour découvrir leurs particularités et leur position-nement vis-à-vis de Debian.

Sous-projets Debian existants

PERSPECTIVE Debian en milieu scolaire

Debian-Edu est à l’origine un projet franco-phone réalisé par Stéphane Casset et RaphaëlHertzog au sein de la société Logidée, pourle compte d’un centre départemental de do-cumentation pédagogique. Raphaël l’a ensuiteintégré à Debian en tant que sous-projet. Fautede temps, il n’a plus progressé, comme c’estparfois le cas des logiciels libres dépourvus decontributeurs.Parallèlement, une équipe de Norvégiens tra-vaillait sur une distribution similaire, égale-ment basée sur debian-installer. Lesprogrès de SkoleLinux étant significatifs, Ra-phaël leur a proposé de s’intégrer à Debian etde reprendre le flambeau de Debian-Edu.

À chaque public sa Debian ! Un sous-projet est un regroupement de volon-taires intéressés par l’adaptation de Debian à des besoins spécifiques. Au-delà de la sélection d’un sous-ensemble de logiciels dédiés à un usage parti-culier (éducation, médecine, création multimédia. . .), cela supposed’améliorer les paquets existants, de mettre en paquet les logiciels man-quants, d’adapter l’installateur, de créer une documentation spécifique, etc.Voici une petite sélection des sous-projets actuels :• Debian-Junior de Ben Armstrong, vise à proposer aux enfants un système

Debian facile et attrayant ;• Debian-Edu, de Petter Reinholdtsen, se focalise sur la création d’une dis-

tribution spécialisée pour le monde éducatif ;• Debian-Med d’Andreas Tille se consacre au milieu médical ;• Debian-Multimedia des créateurs d’Agnula traite de créationmultimédia ;• Debian-Desktop de Colin Walters s’intéresse à la bureautique ;• Debian-Ham, créé par Bruce Perens, cible les radio-amateurs ;• Debian-NP (comme Non-Profit) concerne les associations à but non

lucratif ;

PERSPECTIVE Debian pour le multimédia

Agnula était un projet européen mené sousla direction d’une équipe italienne. Il consis-tait, pour sa partie « DeMuDi », à développerune version de Debian dédiée aux applicationsmultimédias. Certains membres du projet, etnotamment Marco Trevisani, ont voulu le pé-renniser en l’intégrant dans Debian. Le sous-projet Debian-Multimedia était né.I http://wiki.debian.org/DebianMultimediaLe projet a toutefois bien du mal à se for-ger une identité et à décoller. Free Ekanayakaeffectue le travail dans Debian mais proposele résultat sous forme d’une distribution déri-vée : il s’agit de 64Studio. Cette distributionest affiliée à une entreprise qui propose del’assistance technique.I http://www.64studio.com/

• Debian-Lex enfin, travaille pour le cadre des cabinets juridiques.Gageons que cette liste s’étoffera avec le temps et une meilleure percep-tion des avantages des sous-projets Debian. En s’appuyant pleinement surl’infrastructure existante de Debian, ils peuvent en effet se concentrer sur untravail à réelle valeur ajoutée et n’ont pas à se soucier de « resynchroniser »avec Debian puisqu’ils évoluent dès le début au sein du projet.

14

Page 30: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

1–Le

projetDebian

Équipes administratives

La plupart des équipes administratives sont relativement fermées et ne re-crutent que par cooptation. Le meilleur moyen d’y entrer est alors d’en aiderintelligemment les membres actuels en montrant que l’on a compris leursobjectifs et leur mode de fonctionnement.Les ftpmasters sont les responsables de l’archive de paquetsDebian. Ils main-tiennent le programme qui reçoit les paquets envoyés par les développeurset les installe automatiquement, après quelques vérifications, sur le serveurde référence (ftp-master.debian.org).Ils doivent aussi vérifier la licence des nouveaux paquets, pour savoir si De-bian peut les distribuer, avant de les intégrer au corpus de paquets exis-tants. Lorsqu’un développeur souhaite supprimer un paquet, c’est à eux qu’ils’adresse via le système de suivi de bogues et le « pseudo-paquet »ftp.debian.org.

VOCABULAIRE Le pseudo-paquet,un outil de suivi

Le système de suivi de bogues, initialementconçu pour associer des rapports de bogue àun paquet Debian, s’avère très pratique pourgérer d’autres cas de figure : liste de problèmesà résoudre ou de tâches à mener indépen-damment de tout lien à un paquet Debian.Les « pseudo-paquets » permettent ainsi à cer-taines équipes d’utiliser le système de suivi debogues sans y associer de paquet réel. Tout lemonde peut ainsi leur signaler des élémentsà traiter. Le BTS dispose ainsi d’une entréeftp.debian.org pour signaler les problèmesde l’archive de paquets ou simplement y de-mander la suppression d’un paquet. De même,le pseudo-paquetwww.debian.org corres-pond aux erreurs sur le site web de Debian,et lists.debian.org rassemble les soucis liésaux listes de diffusion.OUTIL FusionForge, le couteau suisse du développement collaboratif

FusionForge est un logiciel permettant de créer des sites similaires à www.sourceforge.net,alioth.debian.org ou encore savannah.gnu.org. Il s’agit d’héberger des projets et deleur proposer un ensemble de services facilitant le développement collaboratif. Chaque projetdispose alors d’un espace virtuel dédié, regroupant un site web, un système de suivi de bogues,un système de suivi de patches, un outil de sondages, un espace de dépôt de fichiers, desforums, des dépôts de suivi de sources, des listes de diffusion et divers services annexes.alioth.debian.org est le serveur FusionForge de Debian, administré par RolandMas, TollefFog Heen, Stephen Gran et Christian Bayle. Tout projet impliquant un ou plusieurs dévelop-peurs Debian peut y être hébergé.I http://alioth.debian.org/Très complexe de par l’étendue des services qu’il offre, FusionForge est désormais relativementfacile à installer grâce au travail exceptionnel de Roland Mas et Christian Bayle sur le paquetDebian fusionforge.

L’équipe debian-admin ([email protected]), comme on peut s’y at-tendre, est responsable de l’administration système des nombreux serveursexploités par le projet. Elle veille au fonctionnement optimal de l’ensembledes services de base (DNS, Web, courrier électronique, shell, etc.), installeles logiciels demandés par les développeurs Debian, et prend toutes les pré-cautions en matière de sécurité.

CULTURE Le trafic sur les listesde diffusion : quelques chiffres

Les listes de diffusion sont sans doute lemeilleur témoin de l’activité d’un projet, carelles gardent la trace de tout ce qui s’y passe.Quelques statistiques (datant de 2007) concer-nant nos listes de diffusion parleront d’elles-mêmes : Debian héberge plus de 180 listestotalisant 175 000 abonnements individuels.Les 45 000 messages écrits tous les mois pro-voquent chaque jour l’envoi de 1 million decourriers électroniques.

Les listmasters administrent le serveur de courrier électronique gérant leslistes de diffusion. Ils créent les nouvelles listes, gèrent les bounces (noticesde non livraison), et maintiennent des filtres contre le spam (pourriel, oupublicités non sollicitées).

15

Page 31: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

Chaque service spécifique dispose de sa propre équipe d’administration sys-tème, constituée généralement par les volontaires qui l’ont mise en place (et,souvent, programmé eux-mêmes les outils correspondants). C’est le cas dusystème de suivi de bogues (BTS), du système de suivi de paquets (PackageTracking System— PTS), d’alioth.debian.org (serveur FusionForge, voirencadré), des services disponibles sur qa.debian.org, lintian.debian.org,buildd.debian.org, cdimage.debian.org, etc.

OUTIL Système de suivi de paquets

C’est l’une des réalisations de Raphaël. L’idée de base est de rassembler sur une seule pagele maximum d’informations relatives à chaque paquet source. On peut ainsi visualiser rapi-dement l’état du logiciel, identifier les tâches à réaliser, et proposer son aide. C’est pourquoicette page réunit en vrac les statistiques des bogues, les versions disponibles dans chaquedistribution, la progression du paquet dans la distribution Testing, l’état des traductions desdescriptions et des templates debconf, l’éventuelle disponibilité d’une nouvelle versionamont, des avertissements en cas de non conformité à la dernière version de la charte Debian,des renseignements sur le mainteneur, et toute autre information que celui-ci aura souhaitéy intégrer.I http://packages.qa.debian.org/Un système d’abonnement par courrier électronique complète cette interface web. Il envoieautomatiquement une sélection d’informations choisies dans la liste suivante : bogues et dis-cussions associées, notices de disponibilité d’une nouvelle version sur les serveurs Debian,traductions effectuées (pour les relire), etc.Les utilisateurs avancés peuvent donc suivre tout cela de près, voire contribuer au projet aprèsavoir bien compris son fonctionnement.Une autre interface web fournit à chaque développeur un synoptique de l’état de tous lespaquets Debian placés sous sa responsabilité.I http://qa.debian.org/developer.phpCes deux sites web constituent des outils pour Debian QA (Quality Assurance), legroupe en charge de l’assurance qualité au sein de Debian.

Équipes de développement, équipes transversales

Contrairement aux équipes administratives, les équipes de développementsont très largement ouvertes, même aux contributeurs extérieurs. Même siDebian n’a pas vocation à créer des logiciels, le projet a besoin de quelquesprogrammes spécifiques pour atteindre ses objectifs. Évidemment dévelop-pés sous une licence libre, ces outils font appel aux méthodes éprouvées parailleurs dans le monde du logiciel libre.Debian a développé peu de logiciels en propre, mais certains ont acquis unrôle capital, et leur notoriété dépasse désormais le cadre du projet. Citonsnotamment dpkg, programme de manipulation des paquets Debian (c’estd’ailleurs une abréviation de Debian PacKaGe), et apt, outil d’installationautomatique de tout paquet Debian et de ses dépendances, garantissant lacohérence du système après la mise à jour (c’est l’acronyme d’Advanced Pa-

16

Page 32: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

1–Le

projetDebian

ckage Tool). Leurs équipes sont pourtant très réduites, car un très bon niveauen programmation est nécessaire à la compréhension globale du fonction-nement de ce type de programmes.

CULTURE CVS

CVS (Concurrent Versions System) est un outil pour travailler simultanément à plusieurssur des fichiers en conservant un historique des modifications. Il s’agit en général de fichierstexte, comme le code source d’un logiciel. Si plusieurs personnes travaillent de concert sur lemême fichier, cvs ne pourra fusionner les modifications effectuées que si elles ont porté surdes portions distinctes du texte. Dans le cas contraire, il faudra résoudre ces « conflits » à lamain. Ce système gère les modifications ligne par ligne en stockant des correctifs différentielsde type diff d’une « révision » (version) à l’autre.CVS utilise une archive centrale (« dépôt » appelé CVS repository en anglais), stockant lesfichiers et l’historique de leurs modifications (chaque révision est enregistrée sous la formed’un fichier correctif de type diff, prévu pour être appliqué sur la version précédente). Chacunen extrait une version particulière (working copy ou « copie de travail ») pour travailler.L’outil permet notamment de consulter les modifications effectuées sur sa copie de travail(cvs diff), de les enregistrer dans l’archive centrale en créant une nouvelle entrée dansl’historique des versions (cvs commit), de mettre à jour sa copie de travail pour intégrer lesmodifications effectuées en parallèle par d’autres utilisateurs (cvs update), et d’enregistrerdans l’historique une configuration particulière afin de pouvoir facilement l’extraire plus tard(cvs tag).Les experts de cvs sauront mener de front plusieurs versions d’un projet en développementsans qu’elles n’interfèrent. Le terme consacré est branches. Cette métaphore de l’arbre estassez juste, car il s’agit d’abord de développer un programme sur un tronc commun. Par-venu à une étape importante (comme la version 1.0), le développement continue sur deuxbranches : la branche de développement prépare la version majeure suivante et la branchede maintenance gère les mises à jour corrigeant la version 1.0.cvs souffre pourtant de quelques limitations. Incapable de gérer les liens symboliques, leschangements de noms de fichiers ou de répertoires, la suppression de répertoires, etc. il acontribué à l’apparition de concurrents libres et plus modernes, corrigeant la plupart de cesdéfauts. Citons notamment subversion (svn), git, bazaar (bzr) et mercurial (hg).

I http://subversion.tigris.org/I http://git-scm.com/I http://bazaar-vcs.org/I http://mercurial.selenic.com/

L’équipe la plus importante est probablement celle du programmed’installation de Debian, debian-installer, qui a accompli un travail tita-nesque depuis sa conception en 2001. Il lui a fallu recourir à de nombreuxcontributeurs car il est difficile d’écrire un seul logiciel capable d’installerDebian sur une douzaine d’architectures différentes. Chacune a son propremécanisme de démarrage et son propre chargeur d’amorçage (bootloader).Tout ce travail est coordonné sur la liste de diffusion [email protected],sous la houlette de Otavio Salvador et Joey Hess.

I http://www.debian.org/devel/debian-installer/

I http://kitenet.net/~joey/blog/entry/d-i_retrospective/

17

Page 33: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

L’équipe du programme debian-cd, plus réduite, a un objet bien plus mo-deste. Signalons que de nombreux « petits » contributeurs se chargent de leurarchitecture, le développeur principal ne pouvant pas en connaître toutes lessubtilités, ni la manière exacte de faire démarrer l’installateur depuis le CD-Rom.De nombreuses équipes ont des tâches transversales à l’activité de mise enpaquet : [email protected] essaye par exemple d’assurer la qualité à tousles niveaux de Debian. Quant à [email protected], elle fait évoluerla charte Debian en fonction des propositions des uns et des autres. Leséquipes responsables de chaque architecture ([email protected]

.org) y compilent tous les paquets, qu’elles adaptent à leur architecture lecas échéant.D’autres équipes encadrent les paquets les plus importants pour en assurerla maintenance sans faire peser une trop lourde responsabilité sur une seulepaire d’épaules ; c’est le cas de la bibliothèque C avec [email protected],du compilateur C avec [email protected] ou encore de X.org avec debian-

[email protected] (groupe également connu sous le nom de X Strike Force, co-ordonné par Cyril Brulebois).

Rôle d’une distributionUne distribution GNU/Linux a deux objectifs principaux : installer un sys-tème libre sur un ordinateur (vierge ou disposant déjà d’autres systèmes) etfournir une palette de logiciels couvrant tous les besoins de l’utilisateur.

L’installateur : debian-installer

NOTE DVD-Rom fourni avec le livre

Le DVD-Rom joint à ce livre utilise debian-installer. Il permet d’installer Debian 6.0simplement en démarrant l’ordinateur depuisle DVD-Rom. Il contient en outre la plupart deslogiciels étudiés dans ce livre.

debian-installer, conçu de manière très modulaire pour être le plus géné-rique possible, répond au premier. Il couvre un grand nombre de scénariosd’installations et surtout facilite grandement la création d’un installateur dé-rivé correspondant à un cas particulier.Cette modularité, qui le rend aussi plus complexe, pourra perturber les dé-veloppeurs découvrant cet outil. Fonctionnant en mode graphique commeen mode texte, le parcours de l’utilisateur reste toutefois similaire. De grosefforts ont été consentis pour réduire le nombre de champs à renseigner —ce qui explique l’intégration d’un logiciel de détection automatique du ma-tériel.Il est intéressant de remarquer que les distributions dérivées de Debian sedifférencient beaucoup sur cet aspect, et fournissent un installateur plus li-mité (souvent confiné à l’architecture i386) mais bien plus convivial aux yeux

18

Page 34: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

1–Le

projetDebian

des utilisateurs néophytes. En revanche, elles se gardent généralement detrop diverger sur les contenus des paquets pour profiter au maximum de lagrande famille de logiciels proposés sans souffrir de problèmes de compati-bilité.

La bibliothèque de logicielsQuantitativement, Debian est indiscutablement en tête avec plus de 14 500paquets sources. Qualitativement, sa charte et la longue période de testspréalable à toute version stable justifient sa réputation de cohérence et destabilité. Sur le plan de la disponibilité, on trouve tout en ligne sur de nom-breux miroirs mis à jour toutes les 6 heures.De nombreux commerçants vendent sur le Web des CD-Rom à bas prix(parfois à prix coûtant), dont chacun est libre de télécharger et graver les« images ». Seule ombre au tableau : la faible fréquence de sortie des versionsstables (leur élaboration dépasse parfois deux ans), qui ralentit l’intégrationde tout nouveau logiciel.La plupart des nouveaux logiciels libres sont rapidement pris en charge dansla version de développement, qui permet de les installer. Si cela impliquetrop de mises à jour par le jeu des dépendances, on peut aussi recompiler leprogramme pour la version stable de Debian (voir le chapitre 15 pour plusde détails sur le sujet).

Cycle de vie d’une release

VOCABULAIRE Release

Le terme « release » désigne chez Debianune version particulière d’une distribution (ex :« the unstable release » signifie « la ver-sion instable »). Il désigne aussi l’annonce pu-blique de toute nouvelle version (stable).

Le projet dispose à tout instant de trois ou quatre versions différentes dechaque logiciel, nommées Experimental, Unstable, Testing, et Stable. Cha-cune correspond à un stade différent du développement. Pour bien les com-prendre, suivons le parcours d’un programme, de sa première mise en paquetà son intégration dans une version stable de Debian.

Le statut ExperimentalTraitons d’abord le cas particulier de la distribution Experimental : c’est unensemble de paquets Debian correspondant à des logiciels en cours de déve-loppement, et pas forcément finalisés — d’où son nom. Tout ne transite paspar cette étape ; certains développeurs y créent des paquets pour obtenir unpremier retour des utilisateurs les plus expérimentés (ou les plus courageux).D’autre part, cette distribution abrite fréquemment des modifications im-portantes portant sur des paquets de base et dont l’intégration dans Uns-table avec des bogues gênants aurait des répercussions trop importantes et

19

Page 35: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

bloquantes. C’est donc une distribution totalement isolée, dont les paquetsne migrent jamais vers une autre (sauf intervention expresse du mainteneurou des ftpmasters).

Le statut UnstableRevenons au cas d’un paquet type. Le mainteneur crée un premier paquet,qu’il compile pourUnstable et place sur le serveur ftp-master.debian.org.Cette première manifestation implique inspection et validation par les ftp-masters. Le logiciel est alors disponible dans Unstable, distribution risquéemais choisie par des utilisateurs préférant le dernier cri à l’assurance del’absence de bogues graves. Ceux-ci découvrent alors le programme et letestent.

Figure 1.2 Compilation d’un paquet par les autobuilders

20

Page 36: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

1–Le

projetDebian

S’ils y découvrent des bogues, ils les décrivent à son mainteneur. Ce dernierprépare alors régulièrement des versions corrigées, qu’il place sur le serveur.

DÉCOUVERTE buildd, le recompilateurde paquet Debian

buildd est l’abréviation de build daemon.Ce logiciel recompile automatiquement lesnouvelles versions des paquets Debian surl’architecture qui l’accueille (la compilationcroisée — crosscompiling — n’étant pastoujours satisfaisante).Ainsi pour produire des binaires destinés àl’architecture sparc, le projet dispose de ma-chines sparc (en l’occurrence de marque Sun).Le programmebuildd y fonctionne en perma-nence afin de créer des paquets binaires poursparc à partir des paquets sources expédiéspar les développeurs Debian.Ce logiciel est employé sur tous les ordinateursservant d’autobuilders à Debian. Par exten-sion, le terme buildd désigne souvent cesmachines, en général réservées à cet usage.

Toute nouvelle mise en ligne est répercutée sur tous les miroirs Debiandu monde dans les 6 heures. Les utilisateurs valident alors la correctionet cherchent d’autres problèmes, consécutifs aux modifications. Plusieursmises à jour peuvent ainsi s’enchaîner rapidement. Pendant ce temps, les ro-bots autobuilders sont entrés en action. Le plus souvent, lemainteneur ne dis-pose que d’un PC traditionnel et aura compilé son paquet pour architecturei386 (ou amd64) ; les autobuilders ont donc pris le relais et compilé automati-quement des versions pour toutes les autres architectures. Certaines compi-lations pourront échouer ; le mainteneur recevra alors un rapport de boguesignalant le problème, à corriger dans les prochaines versions. Lorsque lebogue est découvert par un spécialiste de l’architecture concernée, il arriveque ce rapport soit accompagné d’un correctif prêt à l’emploi.

La migration vers TestingUn peu plus tard, le paquet aura mûri ; compilé sur toutes les architectures,il n’aura pas connu de modifications récentes. C’est alors un candidat pourl’intégration dans la distribution Testing — ensemble de paquets Unstablesélectionnés sur quelques critères quantifiables. Chaque jour, un programmechoisit automatiquement les paquets à intégrer à Testing, selon des élémentsgarantissant une certaine qualité :

1 Absence de bogues critiques, ou tout du moins nombre inférieur àcelui de la version actuellement intégrée dans Testing.

2 Villégiature minimale de 10 jours dans Unstable, ce qui laisse assezde temps pour trouver et signaler les problèmes graves.

3 Compilation réussie sur toutes les architectures officiellement prisesen charge.

4 Dépendances pouvant toutes être satisfaites dans Testing, ou quipeuvent du moins y progresser de concert avec le paquet.

Ce système n’est évidemment pas infaillible ; on trouve régulièrement desbogues critiques dans un paquet intégré à Testing. Il est pourtant globale-ment efficace, et Testing pose beaucoup moins de problèmes qu’Unstable,représentant pour beaucoup un bon compromis entre la stabilité et la soif denouveauté.

21

Page 37: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

COMMUNAUTÉ Le Release Manager

Release Manager (gestionnaire de version) est un titre important, associé à de lourdesresponsabilités. Son porteur doit en effet gérer la sortie de la nouvelle version stable de Debianet définir le processus d’évolution de Testing tant qu’elle ne répond pas aux critères de qualitéde Stable. Il définit également un calendrier prévisionnel (pas toujours respecté).On trouve aussi des Stable Release Managers (gestionnaires de version stable), souventabrégé SRM, qui gèrent et sélectionnent les mises à jour de la version stable de Debian. Ilsy incluent systématiquement les correctifs de sécurité et examinent au cas par cas toutes lesautres propositions d’inclusion émises par des développeurs Debian soucieux de mettre à jourun de leurs paquets dans la version stable.

NOTE Limitations de Testing

Très intéressant dans son principe, Tes-ting pose quelques problèmes pratiques :l’enchevêtrement des dépendances croi-sées entre paquets est tel que jamais unpaquet ne peut y progresser tout seul. Lespaquets dépendant tous les uns des autres,il est nécessaire d’y faire progresser simul-tanément un grand nombre d’entre eux,ce qui est impossible tant que certains su-bissent des mises à jour régulières. D’autrepart, le script identifiant les familles depaquets ainsi solidarisés peine beaucoupà les constituer (il s’agirait d’un pro-blème NP-complet, auquel nous connais-sons heureusement quelques bonnes heu-ristiques). C’est pourquoi on peut inter-venir manuellement et conseiller ce scripten lui suggérant des ensembles de pa-quets ou en imposant l’inclusion de cer-tains d’entre eux — quitte à casser tem-porairement quelques dépendances. Cettefonctionnalité est accessible aux ReleaseManagers et à leurs assistants.Rappelons qu’un problème NP-complet estde complexité algorithmique exponentielleen fonction de la taille des données, c’est-à-dire la longueur du codage (le nombrede chiffres) des éléments concernés. Laseule manière de le résoudre est souventd’examiner toutes les configurations pos-sibles, ce qui requiert parfois d’énormesmoyens. Une heuristique en est une solu-tion approchée et satisfaisante.

La promotion de Testing en StableSupposons notre paquet désormais intégré à Testing. Tant qu’il est perfec-tible, son responsable doit persister à l’améliorer et recommencer le proces-sus depuis Unstable (mais ces inclusions ultérieures dans Testing sont engénéral plus rapides : si elles n’ont pas trop évolué, toutes les dépendancessont déjà présentes). Quand il atteint la perfection, son mainteneur a finison travail, et la prochaine étape est l’inclusion dans la distribution Stable,en réalité une simple copie de Testing à un moment choisi par le ReleaseManager. L’idéal est de prendre cette décision quand l’installateur est prêtet quand plus aucun programme de Testing n’a de bogue critique répertorié.Étant donné que ce moment ne survient jamais dans la pratique, Debiandoit faire des compromis : supprimer des paquets dont le mainteneur n’apas réussi à corriger les bogues à temps ou accepter de livrer une distribu-tion comptant quelques bogues pour des milliers de logiciels. Le ReleaseManager aura préalablement prononcé une période de freeze (gel), où il de-vra approuver chaque mise à jour de Testing. Le but est d’empêcher toutenouvelle version (et ses nouveaux bogues) et de n’approuver que des mises àjours correctives.Après la sortie de la nouvelle version stable, le Stable ReleaseManager en gèreles évolutions ultérieures (appelées « révisions ». ex : 5.0.1, 5.0.2, 5.0.3 pour laversion 5.0). Ces mises à jour intègrent systématiquement tous les correctifsde sécurité. On y trouve également les corrections les plus importantes (lemainteneur du paquet doit prouver la gravité du problème qu’il souhaitecorriger pour faire intégrer sa mise à jour).

VOCABULAIRE Freeze : la dernièreligne droite

Pendant la période de freeze (gel),l’évolution du contenu de la distributionTesting est bloquée : plus aucune mise à jourautomatique n’a lieu. Seul les Release Ma-nagers sont alors habilités à y changer despaquets, selon leurs propres critères. L’objectifest d’éviter l’apparition de nouveaux boguespar l’introduction de nouvelles versions ;seules les mises à jour bien examinées sontacceptées lorsqu’elles corrigent des boguesimportants.

Fin du voyage : notre hypothétique paquet est désormais intégré à la dis-tribution stable. Ce trajet, non dépourvu de difficultés, explique les délaisimportants séparant les versions stables de Debian. Il contribue surtout àsa réputation de qualité. De plus, la majorité des utilisateurs est satisfaite

22

Page 38: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

1–Le

projetDebian

par l’emploi de l’une des trois distributions disponibles en parallèle. Les ad-ministrateurs système, soucieux avant tout de la stabilité de leurs serveurs,se moquent de la dernière version de GNOME ; ils opteront pour DebianStable et en seront satisfaits. Les utilisateurs finaux, plus intéressés par ladernière version de GNOME ou de KDE que par une stabilité irrépro-chable, trouveront en Debian Testing un bon compromis entre absence deproblèmes graves et logiciels relativement à jour. Enfin, les développeurs etutilisateurs les plus expérimentés pourront ouvrir la voie en testant toutes lesnouveautés de Debian Unstable dès leur sortie, au risque de subir les affreset bogues inhérents à toute nouvelle version de logiciel. À chaque public saDebian !

CULTURE GNOME et KDE,les bureaux graphiques

GNOME (« GNU Network Object Mo-del Environment », ou environnement ré-seau de modèle objet de GNU) et KDE (« KDesktop Environment », ou environne-ment de bureau K) sont les deux « bureauxgraphiques » les plus populaires dans le mi-lieu du logiciel libre. On entend par là un en-semble de logiciels de bureautique permet-tant d’effectuer aisément les opérations lesplus courantes au travers d’une interface gra-phique. Ils comportent notamment un gestion-naire de fichiers, une suite bureautique, un na-vigateur web, un logiciel de courrier électro-nique, des accessoires multimédias, etc. Leurdifférence la plus visible réside dans le choix dela bibliothèque graphique employée : GNOMEa choisi GTK+ (logiciel libre sous licence LGPL)et KDE a opté pour Qt (de la société Trolltechqui la diffuse sous licence GPL).I http://www.gnome.org/I http://www.kde.org/

Figure 1.3 Parcours d’un paquet au sein des différentes versions de Debian

23

Page 39: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

Figure 1.4 Parcours chronologique d’un paquet logiciel empaqueté par Debian

24

Page 40: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Avant-propos

lement à toute l’équipe d’Eyrolles qui a contribué à ce livre et notamment àMuriel Shan Sei Fan, très patiente avec moi. Merci à Sébastien Blondeel,Florence Henry, Sébastien Mengin et Jean-Côme Charpentier pour leurscontributions.Un merci particulier à Roland Mas, qui en plus de continuer son minutieuxtravail de relecture, m’a épaulé dès la troisième édition tant pour la mise àjour que pour la rédaction de chapitres.Ce livre ne serait pas ce qu’il est sans les relecteurs qui m’ont fait part de leursjudicieuses remarques : Christophe Le Bars et Solveig en particulier. Merciaussi à Charles-André Habib.

Site web et courriel des auteurs

Une section du site web de Raphaël est dédiéeà ce livre, et hébergera tout ce qui peut le com-pléter utilement. On y trouvera par exempleune liste (cliquable) de toutes les URL ci-tées, ou encore les éventuels errata découvertsaprès impression. N’hésitez pas à la consul-ter et profitez-en pour nous faire part de vosremarques ou messages de soutien en nousécrivant à [email protected] (pour Raphaël)et [email protected] (pour Roland).I http://raphaelhertzog.fr/livre/cahier-admin-debian/

Je remercie également ierry Stempfel pour les belles illustrations intro-duisant chaque chapitre.Merci enfin à Sophie d’avoir été si patiente avec moi et de m’avoir soutenujusqu’au bout. Cette cinquième édition arrive quelques mois après la nais-sance de notre fils Baptiste et ce n’est pas toujours évident de concilier delongues heures de travail (que j’aimerais calmes et tranquilles) avec les de-mandes incessantes du petit.

De Roland MasJe commencerai bien entendu par remercier Raphaël Hertzog, qui m’a per-mis de participer, de plus en plus au fil des éditions, à la mise au point decet ouvrage.Un grand merci aussi à Muriel Shan Sei Fan et Nat Makarévitch, pour leurencadrement et leurs conseils éclairés, qui ont permis de garder le texte ac-cessible à tout un chacun. Et à Sébastien Mengin et Jean-Côme Charpen-tier, dont la mise en forme complète d’un austère manuscrit est un plaisir àcontempler.Ayant moi-même relu les deux premières éditions, je ne peux que remercierchaleureusement Solveig, qui a assuré la relecture pour la troisième édition.Enfin, d’innombrables remerciements à toutes les personnes qui m’ont en-couragé au fil du temps — Xavier, Philippe, Laurent, les habitués du canalIRC #debian-devel-fr, et tant d’autres.

XIX

Page 41: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Chapitre 6

Page 42: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Maintenance et mise à jour :les outils APT

Ce qui rend Debian si populaire auprès desadministrateurs, c’est la facilité avec laquelle il est possibled’y installer des logiciels et de mettre à jour le systèmecomplet. Cet avantage unique est dû en grande partie auprogramme APT, outil dont les administrateurs de FalcotSA se sont empressés d’étudier les possibilités.

SOMMAIREI Renseigner le fichier sources.listI Commandes aptitude et apt-getI Commande apt-cacheI Frontaux : aptitude, synapticI Vérification d’authenticité des paquetsI Mise à jour d’une distribution à lasuivante

I Maintenir un système à jourI Mise à jour automatiqueI Recherche de paquets

MOTS-CLÉSI apt-getI apt-cacheI aptitudeI synapticI sources.listI apt-cdrom

Page 43: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

APT est l’abréviation de Advanced Package Tool (outil avancé pour les pa-quets). Ce que ce programme a d’« avancé », c’est la manière d’aborder laproblématique des paquets. Il ne se contente pas de les évaluer un par un,mais les considère dans leur ensemble et réalise la meilleure combinaisonpossible de paquets en fonction de tout ce qui est disponible et compatible(au sens des dépendances).

VOCABULAIRE Source de paquetset paquet source

Le terme source est source d’ambiguïté. Ilne faut pas confondre un paquet source —paquet contenant le code source d’un pro-gramme — et une source de paquets — em-placement (site web, serveur FTP, CD-Rom, ré-pertoire local, etc.) contenant des paquets.

APT a besoin qu’on lui fournisse une « liste de sources de paquets » : c’estle fichier /etc/apt/sources.list qui décrira les différents emplacements(ou « sources ») publiant des paquets Debian. APT devra ensuite rapatrierla liste des paquets publiés par chacune de ces sources, ainsi que leurs en-têtes. Il réalise cette opération en téléchargeant les fichiers Packages.gz

ou Packages.bz2 (cas d’une source de paquets binaires) et Sources.gz ouSources.bz2 (cas d’une source de paquets sources) et en analysant leurcontenu. Lorsque l’on dispose déjà d’une copie ancienne de ces fichiers, APTest capable de les mettre à jour en ne téléchargeant que les différences (voirencadré « Mise à jour incrémentale » page 99).

Renseigner le chier sources.listB.A.-BA Compression gzip, bzip2,

LZMA et XZ

Une extension .gz dénote un fichier com-pressé avec l’utilitaire gzip. gzip estl’utilitaire Unix traditionnel pour compresserles fichiers, rapide et efficace. De nouveauxoutils, plus récents, obtiennent de meilleurstaux de compression mais nécessitent plus detemps de calcul pour comprimer un fichier.Par ordre d’apparition, citons bzip2 (quiproduit des fichiers d’extension .bz2), LZMA(qui produit des .lzma) et xz (qui produitdes .xz).

Le fichier /etc/apt/sources.list contient sur chaque ligne active unedescription de source, qui se décompose en 3 parties séparées par des blancs.Le premier champ indique le type de la source :• « deb » pour des paquets binaires ;• « deb-src » pour des paquets sources.Le deuxième champ indique l’URL de base de la source (combinée aux nomsde fichier présents dans les fichiers Packages.gz, elle doit donner une URLcomplète valide) : il peut s’agir d’un miroir Debian ou de toute autre archivede paquets mise en place par des tierces personnes. L’URL peut débuterpar file :// pour indiquer une source locale située dans l’arborescence defichiers du système, par http :// pour indiquer une source accessible depuisun serveur web, ou encore par ftp :// pour une source disponible sur unserveur FTP. On trouvera aussi cdrom :// pour les installations à partirde CD-Rom, mais moins fréquemment, les méthodes d’installation par leréseau étant de plus en plus répandues.Le dernier champ a une syntaxe variable selon que la source correspond àun miroir Debian ou non. Dans le cas d’un miroir Debian, on nomme ladistribution choisie (stable, testing, unstable ou leurs noms de codedu moment — voir la liste dans l’encadré « Communauté » page 8) puisles différentes sections souhaitées (choisies parmi main, contrib, et non-

92

Page 44: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

free). Dans les autres cas, on indique simplement le sous-répertoire de lasource désirée (on y trouve souvent le simple « ./ » dénotant l’absence desous-répertoire — les paquets sont alors directement à l’URL indiquée).D’une manière générale, le contenu d’un fichier sources.list standardpourrait être le suivant :

Exemple Fichier /etc/apt/sources.list

# Mises à jour de sécurité

deb http://security.debian.org/stable/updates main contrib non-free

deb-src http://security.debian.org/ stable/updates main contrib non-free

# Miroir Debian

deb http://ftp.fr.debian.org/debian stable main contrib non-free

deb-src http://ftp.fr.debian.org/debian stable main contrib non-free

VOCABULAIRE Les archives main, contrib et non-free

Debian prévoit trois sections pour différencier les paquets selon les licences prévues par lesauteurs des programmes respectifs. Main (archive principale) rassemble tous les paquetsrépondant pleinement aux principes du logiciel libre selon Debian.L’archive non-free (non libre), spéciale, contient des logiciels ne répondant pas (totalement)à ces principes mais néanmoins distribuables librement. Cette archive, qui ne fait pas officiel-lement partie de Debian, est un service rendu aux utilisateurs qui pourraient avoir besoinde ses logiciels — mais Debian recommande toujours d’accorder la préférence aux logicielslibres. L’existence de cette section gêne considérablement Richard M. Stallman et empêchela Free Software Foundation de recommander l’usage de Debian.Contrib (contributions) est un stock de logiciels libres ne fonctionnant pas sans certainséléments non libres. Il peut s’agir de programmes dépendant de logiciels de la section non-free ou de fichiers non libres tels que des ROM de jeux, des BIOS de consoles, etc. On y trouveencore des logiciels libres dont la compilation nécessite des éléments propriétaires. C’était audébut le cas de la suite bureautique OpenOffice.org, qui avait besoin d’un environnement Javapropriétaire.

Ce fichier référence toutes les sources de paquets associées à la version stablede Debian. Si vous souhaitez utiliser Testing ou Unstable, il faudra évidem-ment y ajouter (ou les remplacer par) les lignes adéquates. Lorsque la versiondésirée d’un paquet est disponible sur plusieursmiroirs, c’est celui qui est listéen premier dans le fichier sources.list qui sera employé. Pour cette raisonon préfère ajouter les sources non-officielles à la fin du fichier.

ASTUCE Fichiers/etc/apt/sources.list.d/*.list

Si de nombreuses sources de paquetssont référencées, il peut être utile deles séparer en plusieurs fichiers, chaquefragment étant stocké dans un /etc/apt/-sources.list.d/fichier.list (voirencadré « Répertoire en .d » page 101).

DÉCOUVERTE apt-spy

Ce logiciel teste la vitesse de téléchargementdepuis plusieurs miroirs Debian et génère unfichier sources.list pointant sur le miroirle plus rapide.Le miroir sélectionné pendant l’installationconvient généralement puisqu’il est choisi enfonction du pays. Mais si jamais l’on consta-tait des lenteurs lors du téléchargement, ou encas de déménagement, il sera peut-être utiled’essayer cette application disponible dans lepaquet apt-spy.

Le fichier sources.list comporte encore d’autres types d’entrées : celles dé-crivant des CD-Rom Debian dont vous disposez. Contrairement aux autresentrées, un CD-Rom n’est pas disponible en permanence puisqu’il fautl’insérer dans le lecteur et qu’un seul disque peut être lu à la fois — cessources sont donc gérées un peu différemment. On ajoutera ces entrées à

93

Page 45: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

l’aide du petit programme apt-cdrom, habituellement invoqué avec le para-mètre add. Ce dernier demande alors d’insérer le disque dans le lecteur etparcourt son contenu à la recherche de fichiers Packages, qu’il utilisera pourmettre à jour sa base de données de paquets disponibles (opération habituel-lement réalisée par la commande aptitude update). Dès lors, APT pourravous demander d’insérer le CD-Rom en question s’il a besoin de l’un de sespaquets.

Les autres dépôts of ciels disponiblesLes mises à jour pour Stable

Une fois publiée, la distribution Stable n’est mise à jour que tous les 2 moisenviron afin d’intégrer toutes les mises à jour de sécurité publiées sur secu-rity.debian.org.Cela permet également d’inclure des mises à jour pour les paquets qui ontbesoin d’évoluer au fil du temp. . . par exemple les règles de détection despam de spamassassin, la base de données de virus de clamav, ou encore lesdonnées de changement d’heure de tous les fuseaux horaires (tzdata).Toutes ces mises à jour sont préparées dans un dépôt que l’on connaît sousle nom de proposed-updates et qu’il est possible d’activer si l’on veut testerces corrections avant leur publication officielle. Nous employons ici l’aliassqueeze-proposed-updates qui est à la fois plus explicite et plus cohérentpuisque lenny-proposed-updates existe également (pour les mises à jourde Oldstable) :deb http://ftp.fr.debian.org/debian squeeze-proposed-updates main

å contrib non-free

Une fois prêtes, les mises à jour les plus importantes — celles qui ne peuventpas attendre la publication de la prochaine version mineure — sont intégréesdans un dépôt stable-updates qui devrait être activé sur la plupart dessystèmes :deb http://ftp.fr.debian.org/debian stable-updates main contrib

ånon-free

Les rétroportages de backports.debian.org

Le serveur backports.debian.org héberge des « rétroportages » de paquets(backports). Ce terme désigne un paquet d’un logiciel récent (récupéré dans ladistribution Testing) recompilé pour une distribution plus ancienne, géné-ralement Stable. Lorsque cette distribution commence à dater, de nombreuxlogiciels évoluent en amont, et les nouvelles versions ne sont pas réintégrées

94

Page 46: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

dans la Stable courante (qui n’est modifiée que pour prendre en compte lesproblèmes les plus critiques, comme les problèmes de sécurité). Comme lesdistributions Testing et Unstable peuvent être plus risquées, des volontairesproposent parfois des recompilations des logiciels récents pour Stable, cequi permet de restreindre une éventuelle instabilité à un petit nombre, bienchoisi, de paquets.

I http://backports.debian.orgL’entrée à ajouter dans le fichier sources.list est la suivante pour les ré-troportages ciblant la distribution Squeeze :deb http://backports.debian.org/debian-backports squeeze-

åbackports main contrib non-free

Le dépôt Experimental

L’archive de paquets Experimental, présente sur tous les miroirs Debian,contient des paquets qui n’ont pas encore leur place dans la version Unstablepour cause de qualité insuffisante — ce sont fréquemment des versions dedéveloppement ou pré-versions (alpha, bêta, release candidate. . .) des logi-ciels. Il arrive également qu’un paquet y soit envoyé après avoir subi deschangements importants, potentiellement sources de problèmes. Le main-teneur cherche alors à débusquer ceux-ci avec l’aide des utilisateurs avancéscapables de gérer les soucis importants. Après cette première phase, le pa-quet passe dans Unstable, au public beaucoup plus vaste, et où il subira doncdes tests de bien plus grande envergure.On réservera donc Experimental aux utilisateurs qui n’ont pas peur de cas-ser leur système puis de le réparer. Cette distribution peut quand mêmepermettre de rapatrier ponctuellement un paquet que l’on tient à essayer ouutiliser. C’est d’ailleurs la logique standard que Debian lui associe, puisqueson ajout dans le fichier sources.list d’APT n’entraîne pas l’emploi systé-matique des paquets qui s’y trouvent. La ligne à ajouter est la suivante :deb http://ftp.fr.debian.org/debian experimental main contrib non

å-free

Ressources non of cielles :apt-get.org et mentors.debian.net

I http://www.apt-get.org/Il existe de nombreuses sources non officielles de paquets Debian, mises enplace par des utilisateurs avancés ayant recompilé certains logiciels, par desprogrammeurs mettant leur création à disposition, et même par des déve-loppeurs Debian proposant des pré-versions de leur paquet en ligne. Un siteweb fut mis en place pour trouver plus facilement ces sources alternatives.

95

Page 47: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

On y trouve une quantité impressionnante de sources de paquets Debianprêtes à être intégrées dans les fichiers sources.list. Attention toutefois àne pas rajouter n’importe quoi. Chaque source est en effet prévue pour uneversion particulière de Debian (celle employée pour compiler les paquetsconcernés) ; on veillera à maintenir une certaine cohérence dans ce que l’onchoisit d’installer.

I http://mentors.debian.net/ Signalons également l’existence du site mentors.debian.net, qui regroupedes paquets réalisés par des prétendants au statut de développeur Debian of-ficiel ou par des volontaires souhaitant créer des paquets Debian sans passerpar ce processus d’intégration. Ces paquets sont donc fournis sans aucunegarantie de qualité ; prenez garde à vous assurer de leur origine et intégritépuis à bien les tester avant d’envisager de les déployer.

COMMUNAUTÉ Les sites en debian.net

Le domainedebian.net ne constitue pas uneressource officielle du projet Debian. Chaquedéveloppeur Debian a la possibilité d’employerce nom de domaine pour l’usage de son choix.On y trouve des services officieux (parfoisdes sites personnels) hébergés sur une ma-chine n’appartenant pas au projet et mis enplace par des développeurs Debian, voire desprototypes attendant d’être migrés sur de-bian.org. Deux raisons peuvent expliquerque certains de ces prototypes restent en de-bian.net : soit personne ne souhaite fairel’effort nécessaire à sa transformation en ser-vice officiel (hébergé dans le domaine de-bian.org, et avec une certaine garantie demaintenance), soit le service est trop contro-versé pour être officialisé.

Installer un paquet revient à donner les droits root à son concepteur, caril décide du contenu des scripts d’initialisation qui sont exécutés sous cetteidentité. Les paquets officiels Debian sont réalisés par des volontaires coop-tés et examinés, capables de sceller leurs paquets pour en vérifier l’origine etl’intégrité.Mais défiez-vous a priori d’un paquet dont l’origine est incertaine et quin’est pas hébergé sur un des serveurs officiels du projet Debian : évaluez ledegré de confiance que vous accordez au concepteur et vérifiez l’intégrité dupaquet.

Commandes aptitude et apt-getAPT est un projet relativement vaste, qui prévoyait à l’origine une interfacegraphique. Il repose sur une bibliothèque contenant le cœur de l’application,et apt-get est la première interface — en ligne de commande — développéedans le cadre du projet.

POUR ALLER PLUS LOIN Anciennesversions des paquets :snapshot.debian.org

Un nouveau service (officialisé en avril 2010)permet de « remonter dans le temps » et deretrouver une ancienne version d’un paquet.Il peut permettre de vérifier quelle versiond’un paquet a introduit une régression, parexemple, et plus concrètement, de revenir à laversion précédente en attendant que la régres-sion soit corrigée.I http://snapshot.debian.org/

De nombreuses interfaces sont ensuite apparues en tant que projets exté-rieurs : synaptic (interface graphique), aptitude (qui inclut à la fois uneinterface en mode texte et une interface graphique, bien que pas encorecomplète), wajig, etc. Le frontal le plus recommandé, aptitude, est ce-lui employé lors de l’installation de Debian. Sa syntaxe en ligne de com-mande, très similaire à celle d’apt-get, explique notre choix de l’employerdans les exemples de cette section. En cas de différences notables avec apt-get, celles-ci seront détaillées.

96

Page 48: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

InitialisationUn préalable à tout travail avec APT est la mise à jour de la liste des paquetsdisponibles, qui s’effectue avec un simple aptitude update. Selon le débit devotre connexion, cette opération peut durer puisqu’elle télécharge un certainnombre de fichiers Packages.(gz|bz2) (voire Sources.(gz|bz2)), devenusassez volumineux au fil de la croissance de Debian (plus de 8 Mo pour leplus gros Packages.gz, correspondant à la section main). Évidemment, uneinstallation à partir d’un jeu de CD-Rom ne nécessite aucun téléchargement— cette opération est alors très rapide.

Installation et suppressionAPT permet d’ajouter ou de supprimer des paquets sur le système, respec-tivement avec aptitude install paquet et aptitude remove paquet.Dans chaque cas, APT installera automatiquement les dépendances néces-saires ou supprimera les paquets dépendant du paquet en cours de désinstal-lation. La commande aptitude purge paquet ou apt-get purge paquet

demande une désinstallation complète — les fichiers de configuration sontalors également supprimés.Si le fichier sources.list mentionne plusieurs distributions, il est possiblede préciser la version du paquet à installer. On peut demander un numéro deversion précis avec aptitude install paquet=version, mais on se conten-tera en général d’indiquer la distribution d’origine du paquet (Stable, Testingou Unstable) avec la syntaxe aptitude install paquet/distribution.Avec cette commande, on pourra donc revenir à une ancienne version d’unpaquet (si par exemple on sait qu’elle fonctionne bien), à condition qu’ellesoit encore disponible dans une des sources référencées par le fichiersources.list. On pourra au besoin utiliser l’archive snapshot.debian.org(voir encadré page 96).

Exemple Installation de la version Unstable de spamassassin

# aptitude install spamassassin/unstable

POUR ALLER PLUS LOIN Cache des fichiers .deb

APT conserve dans le répertoire /var/cache/apt/archives/ une copie de chaque fi-chier .deb téléchargé. Dans le cas de mises à jour fréquentes, ce répertoire peut rapidementoccuper beaucoup d’espace disque avec plusieurs versions de chaque paquet ; il convientdonc d’y faire régulièrement le tri. Deux commandes existent pour cela : aptitude cleanvide entièrement le répertoire ; aptitude autoclean ne supprime que les paquets qui,n’étant plus téléchargeables (car ayant disparu du miroir Debian), sont clairement inutiles (leparamètre de configuration APT::Clean-Installed permet d’empêcher la suppression defichiers .deb encore actuellement installés).

97

Page 49: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

ASTUCES

Installer la même sélection de paquets plusieurs fois

Il est parfois souhaitable de pouvoir installer systématiquement la mêmeliste de paquets sur plusieurs ordinateurs. C’est possible assez facile-ment. Récupérons d’abord la liste des paquets installés sur l’ordinateurqui servira de « modèle » à dupliquer.$ dpkg --get-selections >liste-pkgLe fichier liste-pkg contient alors la liste des paquets installés. Il fautalors transférer le fichier liste-pkg sur les ordinateurs à mettre à jouret y employer les commandes suivantes :# dpkg --set-selections <liste-pkg

# apt-get dselect-upgradeLa première commande enregistre les vœux de paquets à installer, quel’invocation d’apt-get exauce ensuite ! aptitude n’offre pas cettecommande.

Supprimer et installer en même temps

Il est possible, en ajoutant un suffixe, de demander à aptituded’installer certains paquets et d’en supprimer d’autres sur la même lignede commande. Lors d’une commande aptitude install, ajoutez un« - » aux noms des paquets que vous souhaitez supprimer. Lors d’unecommande aptitude remove, ajoutez un «+» aux noms des paquetsque vous souhaitez installer.

L’exemple suivant montre deux manières d’installerpaquet1 et de sup-primer paquet2.# aptitude install paquet1 paquet2-

[...]

# aptitude remove paquet1+ paquet2

[...]

apt-get --reinstall et aptitude reinstall

Il arrive que le système soit endommagé suite à la suppressionou à la modification de fichiers appartenant à un paquet. Le moyenle plus simple de récupérer ces fichiers est alors de réinstaller le paquetconcerné. Malheureusement, le système de paquetage considère quece dernier est déjà installé et refuse poliment de s’exécuter ; l’option--reinstall de la commande apt-get permet précisément d’évitercet écueil. La commande ci-dessous réinstalle postfix même si ce der-nier est déjà présent.# apt-get --reinstall install postfixLa ligne de commande d’aptitude est un peu différente, mais le mêmeeffet s’obtient avec aptitude reinstall postfix.Le problème ne se pose pas avec dpkg, mais il est rare quel’administrateur emploie directement ce dernier.Attention, recourir à apt-get --reinstall pour restaurer des pa-quets modifiés au cours d’une attaque ne suffit certainement pas à re-trouver un système identique à ce qu’il était au préalable. Le chapitre 14détaille la marche à suivre en cas de piratage (page 387).

Mise à jourDes mises à jour régulières sont recommandées, car elles mettront en placeles derniers correctifs de sécurité. Pour cela, on invoquera aptitude safe-

upgrade ou apt-get upgrade (évidemment précédé par aptitude update).Cette commande cherche les mises à jour des paquets installés, réalisablessans supprimer de paquets. Autrement dit, l’objectif est d’assurer une miseà jour la moins intrusive possible. Pour cette action, apt-get est un peuplus exigeant que aptitude parce qu’il refusera d’installer des paquets quin’étaient pas préalablement installés.Remarquons cependant qu’aptitude retiendra en général le numéro de ver-sion le plus récent (à l’exception des paquets Experimental, ignorés par dé-faut quel que soit leur numéro de version). Si vous avez mentionné Testingou Unstable dans votre sources.list, aptitude safe-upgrade migreraune grande partie de votre système Stable en Testing ou Unstable, ce quin’est peut-être pas l’effet recherché.

98

Page 50: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

ASTUCE Mise à jour incrémentale

On l’a vu, le but de la commande aptitude update est de télécharger pour chacune dessources de paquets le fichier Packages (ou Sources) correspondant. Cependant, mêmeaprès compression bzip2, ces fichiers restent volumineux (le Packages.bz2 pour la sectionmain de Squeeze occupe plus de 8 Mo). Si l’on souhaite effectuer des mises à jour régulières,ces téléchargements peuvent prendre du temps inutilement.Une «nouveauté » (présente depuis Etch) est qu’APT peut télécharger non plus le fichier entiermais simplement les différences par rapport à une version précédente. Les miroirs Debianofficiels distribuent pour cela différents fichiers recensant les différences d’une version dufichier Packages à la suivante, lors des mises à jour des archives, avec un historique d’unesemaine. Chacun de ces fichiers de différences ne pesant en général que quelques dizaines dekilo-octets pour Unstable, la quantité de données téléchargées par un aptitude updatehebdomadaire est typiquement divisée par 10. Pour les distributions moins mobiles, commeStable et Testing, le gain est encore plus flagrant.On notera cependant qu’il est parfois intéressant de forcer le téléchargement du fichier Pa-ckages.bz2 complet, notamment lorsque la dernière mise à jour est vraiment trop ancienneet que le mécanisme des différences incrémentales n’apporterait rien. Cela peut égalementêtre intéressant dans les cas où l’accès réseau est très rapide mais que le processeur de lamachine à mettre à jour est relativement lent, le temps gagné sur le téléchargement des fi-chiers étant plus que perdu lors du calcul des nouvelles versions de ces fichiers à partir desanciennes versions et des différences téléchargées. Pour cela, on pourra utiliser le paramètrede configuration Acquire::Pdiffs, que l’on règlera à false.

Pour indiquer à aptitude d’utiliser telle ou telle distribution pour sesrecherches de paquets mis à jour, il faut utiliser l’option -t ou --target-

release (version cible), suivie du nom de la distribution en question(exemple : aptitude -t stable safe-upgrade). Pour éviter de spécifiercette option à chaque invocation d’aptitude, vous pouvez ajouterAPT::Default-Release "stable"; dans le fichier /etc/apt/apt.conf.d/local.Pour les mises à jour plus importantes, comme lors du basculement d’uneversion majeure de Debian à la suivante, il faut utiliser aptitude full-

upgrade (l’option s’appelait précédemment dist-upgrade, pour « mise àjour de la distribution »). Cela effectue la mise à jour même s’il y a des pa-quets obsolètes à supprimer et de nouvelles dépendances à installer. C’estégalement la commande employée par ceux qui exploitent quotidiennementla version Unstable de Debian et suivent ses évolutions au jour le jour. Elleest si simple qu’elle parle d’elle-même : c’est bien cette fonctionnalité qui afait la renommée d’APT.aptitude dist-upgrade reste disponible, c’est un synonyme de aptitude

full-upgrade ; apt-get ne connaît que la première variante.

99

Page 51: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

Options de con gurationOutre les éléments de configuration déjàmentionnés, il est possible de confi-gurer quelques aspects d’APT en ajoutant des directives dans un fichier durépertoire /etc/apt/apt.conf.d/. Rappelons par exemple qu’il est possiblepour APT d’indiquer à dpkg d’ignorer les erreurs de collision de fichiers enprécisant DPkg::Options {"--force-overwrite";}.Si l’accès au Web n’est possible qu’à travers un mandataire (proxy), il fautajouter une ligne semblable à Acquire::http::proxy "http://monproxy:

3128". Pour un proxy FTP, on écrira Acquire::ftp::proxy "ftp://

monproxy". Découvrez par vous-même les autres options de configurationen consultant la page de manuel apt.conf(5), avec la commande man

apt.conf (les pages de manuel seront détaillées au chapitre suivant).

Gérer les priorités associées aux paquetsUne des problématiques les plus importantes dans la configuration d’APTest la gestion des priorités des différentes sources de paquets. Il arrive eneffet assez fréquemment qu’on souhaite compléter une distribution d’un oudeux paquets plus récents issus de Testing, Unstable, ou Experimental. Ilest possible d’affecter une priorité à chaque paquet disponible (un mêmepaquet pouvant recevoir plusieurs priorités, selon sa version ou sa distribu-tion d’appartenance). Ces priorités dicteront à APT son comportement :pour chaque paquet, il sélectionnera systématiquement la version de plushaute priorité (sauf si cette version est plus ancienne que celle installée etque la priorité associée est inférieure à 1 000).APT définit un certain nombre de priorités par défaut. Chaque version depaquetage déjà installée a une priorité de 100, une version non installée re-çoit une priorité de 500 sauf si elle fait partie de la distribution cible (Tar-get Release), qu’on spécifie avec l’option -t ou la directive APT::Target-

Release, auquel cas sa priorité passe à 990.On modifiera ces priorités en intervenant sur le fichier /etc/apt/prefe-rences pour y ajouter des entrées de quelques lignes décrivant le nom du oudes paquets concernés, leur version, leur origine, et leur nouvelle priorité.APT refusera toujours d’installer une version antérieure d’un paquet (por-tant un numéro de version inférieur à celui de la version actuelle), sauf si lapriorité du paquet concerné est supérieure à 1 000. APT installera toujoursla version de priorité la plus élevée. Si deux versions ont la même priorité,APT installe la plus récente (de numéro de version le plus grand). Si deuxpaquets demême version ont lamême prioritémais diffèrent par leurs conte-nus, APT installe la version qui n’est pas installée (cette règle doit couvrir le

100

Page 52: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

cas d’une mise à jour de paquet sans incrément — normalement indispen-sable — du numéro de révision).

B.A.-BA Répertoire en .d

Les répertoires de suffixe .d sont de plus en plus souvent employés. Chacun abritedes fichiers ventilant un fichier de configuration. Ainsi, tous les fichiers contenus dans/etc/apt/apt.conf.d/ constituent les instructions de configuration d’APT. APT les in-clura dans l’ordre alphabétique, de sorte que les derniers pourront modifier un élément deconfiguration défini dans l’un des premiers.Cette structure apporte une certaine souplesse à l’administrateur de la machine et aux main-teneurs de paquets. En effet, l’administrateur peut facilement modifier la configuration dulogiciel en déposant un fichier tout prêt dans le répertoire en question sans devoir modifierde fichier existant. Les mainteneurs de paquets ont la même problématique lorsqu’ils doiventadapter la configuration d’un autre logiciel pour assurer une parfaite cohabitation avec le leur.Mais la charte Debian interdit explicitement toute modification de fichiers de configurationrelevant d’autres paquets, interdiction justifiée par le fait que seuls les utilisateurs sont habili-tés à intervenir ainsi. Rappelons en effet que dpkg invite l’utilisateur, lors d’une installation, àchoisir la version du fichier de configuration qu’il souhaite conserver lorsqu’une modificationy est détectée. Toute modification externe du fichier déclencherait une telle requête, qui nemanquerait pas de perturber l’administrateur certain de n’avoir rien altéré.En l’absence de répertoire .d, il est impossible à un paquet externe d’adapter les réglagesd’un logiciel sans en modifier le fichier de configuration. Il doit alors inviter l’utilisateur àintervenir lui-même, en documentant les opérations à effectuer dans le fichier /usr/share/doc/paquet/README.Debian.Selon les applications, le répertoire .d est directement exploité, ou géré par un script externequi en concaténera tous les fichiers pour créer le fichier de configuration à proprement parler.Il est alors important d’exécuter ce script après toute intervention dans ce répertoire pour queles plus récentes modifications soient prises en compte. De même, on prendra soin de ne pastravailler directement sur le fichier de configuration construit automatiquement, sous peinede tout perdre lors de l’exécution suivante du script. Le choix de la méthode (répertoire .dutilisé directement ou fichier généré à partir de ce répertoire) est généralement dicté par descontraintes de mise en œuvre, mais dans les deux cas les gains en terme de souplesse deconfiguration compensent largement les petites complications induites. Comme exemple dela méthode du fichier généré, on peut citer le serveur de messagerie Exim 4, dont la configu-ration peut être découpée en plusieurs fichiers (/etc/exim4/conf.d/*) qui sont agrégésen un seul (/var/lib/exim4/config.autogenerated) par la commande update-exim4.conf.

Concrètement, un paquet de priorité inférieure à 0 ne sera jamais installé.Un paquet de priorité comprise entre 0 et 100 ne sera installé que si aucuneautre version du même paquet n’est installée. Avec une priorité compriseentre 100 et 500, le paquet ne sera installé que s’il n’en existe aucune versionplus récente, installée ou disponible dans une autre distribution. Un paquetde priorité entre 500 et 990 ne sera installé qu’à défaut de version plus ré-cente, installée ou disponible dans la distribution cible. Une priorité entre990 et 1000 fera installer le paquet, sauf si la version installée est plus ré-cente. Une priorité supérieure à 1 000 provoquera l’installation du paquet,

101

Page 53: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

même si cela force APT à installer une version plus ancienne que la versionactuelle.Quand APT consulte le fichier /etc/apt/preferences, il prend d’aborden compte les entrées les plus précises (souvent, celles spécifiant le paquetconcerné) puis les plus génériques (incluant par exemple tous les paquetsd’une distribution). Si plusieurs entrées génériques existent, la première cor-respondant au paquet dont on cherche la priorité est utilisée. Les critèresde sélection disponibles comprennent notamment le nom du paquet et lasource d’où il provient. Chaque source de paquets est identifiée par un en-semble d’informations contenues dans un fichier Release, qu’APT télé-charge en même temps que les fichiers Packages.gz. Ce dernier spécifiel’origine (habituellement « Debian » pour les paquets des miroirs officiels,mais il peut s’agir du nom d’une personne ou d’un organisme proposant unearchive de paquets Debian) ; il précise également le nom de la distribution(habituellement Stable, Testing, Unstable ou Experimental pour les distri-butions standards fournies par Debian) ainsi que sa version (par exemple 5.0pour Debian Lenny). Étudions-en la syntaxe précise au travers de quelquescas vraisemblables d’emploi de ce mécanisme.

CAS PARTICULIER Priorité d’Experimental

Si vous avez inscrit Experimental dans votre fi-chier sources.list, les paquets correspon-dants ne seront quasiment jamais installés,leur priorité APT étant de 1. C’est un cas par-ticulier qui évite que les utilisateurs installentdes paquets Experimental par erreur, et lesoblige à opérer en tapant aptitude ins-tall paquet/experimental — ils ontdonc pleinement conscience des risques en-courus. Il est possible, mais ce n’est pas re-commandé, de considérer les paquets Experi-mental comme ceux des autres distributionsen leur affectant une priorité de 500 grâce àune entrée dans le fichier /etc/apt/pre-ferences :Package: *

Pin: release a=experimental

Pin-Priority: 500

Supposons qu’on souhaite utiliser exclusivement des paquets provenant dela version stable de Debian, sans jamais installer ceux des autres versionssauf demande explicite. Il est possible d’écrire ce qui suit dans le fichier/etc/apt/preferences :Package: *

Pin: release a=stable

Pin-Priority: 900

Package: *

Pin: release o=Debian

Pin-Priority: -10

a=stable précise le nom de la distribution concernée. o=Debian restreintl’entrée aux paquets dont l’origine est « Debian ». Le terme pin (épingle enanglais), est généralement traduit, dans ce contexte, par « étiquetage », car ilpermet d’accrocher à un paquet une étiquette désignant de quelle distribu-tion il doit provenir.Supposons maintenant que nous disposions d’un serveur ayant installé denombreux programmes spécifiques à la version 5.10 de Perl et que l’on veuilles’assurer qu’aucune mise à jour n’en installera une autre version. On peutpour cela utiliser cette entrée :Package: perl

Pin: version 5.10*

Pin-Priority: 1001

102

Page 54: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

La documentation de référence sur ce fichier de configuration est disponibledans la page de manuel apt_preferences(5), accessible par la commandeman apt_preferences.

ASTUCE Commentaires dans /etc/apt/preferences

Il n’existe pas de syntaxe standard pour introduire des commentaires dans le fichier/etc/apt/preferences, mais il est possible d’y expliquer le rôle de chaque entrée àl’aide d’un ou plusieurs champs « Explanation » (explication) placés en début de bloc :Explanation: Le paquet xserver-xorg-video-intel contenu dans

Explanation: experimental peut être utilisé

Package: xserver-xorg-video-intel

Pin: release a=experimental

Pin-Priority: 500

Travailler avec plusieurs distributionsL’outil formidable qu’est aptitude incite fortement à mettre en place despaquets provenant d’autres distributions. Ainsi, après avoir installé une ver-sion Stable, vous voulez tester un logiciel présent dans Testing ou Unstable,sans trop vous éloigner de son état initial.Même si vous n’êtes pas complètement à l’abri de bogues d’interactions entreles paquets de différentes distributions, aptitude se révèle fort heureuse-ment très habile pour gérer une telle cohabitation et enminimiser les risques.La meilleure manière de procéder est de préciser toutes les distributions em-ployées dans le fichier /etc/apt/sources.list (certains y placent toujoursles trois distributions, mais rappelons que l’utilisation d’Unstable est réser-vée aux utilisateurs expérimentés) et de préciser votre distribution de réfé-rence avec le paramètre APT::Default-Release (voir section «Mise à jour »page 98).Supposons que Stable soit votre distribution de référence, mais que Tes-ting et Unstable apparaissent également dans votre fichier sources.list.Dans ce cas, vous pouvez employer aptitude install paquet/testing

pour installer un paquet depuis Testing. Si l’installation échoue parce quecertaines dépendances ne peuvent pas être satisfaites, autorisez-le à satisfaireces dernières dans Testing en ajoutant le paramètre -t testing. Il en iraévidemment de même pour Unstable.Dans cette situation, les mises à jour (« safe-upgrade » et « dist-upgrade »)ont lieu dans le cadre de Stable sauf pour les paquets mis à jours depuis uneautre distribution : ces derniers suivront les dernières évolutions dans celles-là. Nous donnons ci-dessous l’explication de ce comportement grâce auxpriorités automatiques employées par APT. N’hésitez pas à employer apt-

103

Page 55: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

cache policy (voir encadré) pour vérifier les priorités indiquées. Tout estlié au fait que APT ne considère que les paquets de version supérieure ouégale à la version installée (sauf configuration particulière dans /etc/apt/-preferences forçant la priorité de certains paquets au-delà de 1 000).

ASTUCE apt-cache policy

Pour mieux comprendre le mécanisme despriorités, n’hésitez pas à employer apt-cache policy pour voir la priorité par dé-faut associée à chaque source de paquets, etapt-cache policy paquet pour consul-ter les priorités des différentes versions dispo-nibles d’un paquet donné.

Considérons un premier paquet installé depuis Stable et qui en est à la ver-sion 1, dont la version 2 se trouve dans Testing et la 3 dans Unstable. La ver-sion installée a une priorité de 100, mais la version disponible dans Stable(la même) a une priorité de 990 (en tant que version dans la distributioncible). Les paquets de Testing et Unstable ont une priorité de 500 (prioritépar défaut d’une version non installée). Le vainqueur est donc la version 1avec une priorité de 990. Le paquet « reste dans Stable ».Prenons le cas d’un autre paquet, dont la version 2 a été installée depuis Tes-ting ; la version 1 est disponible dans Stable et la 3 dans Unstable. La ver-sion 1 (de priorité 990 — donc inférieure à 1 000) est ignorée car plus petiteque la version installée. Restent donc les versions 2 et 3, toutes deux de prio-rité 500. Face à ce choix, APT choisit la version la plus récente, celle de ladistribution Unstable. Si vous ne souhaitez pas qu’un paquet installé depuisTesting puisse migrer vers Unstable il faut associer une priorité inférieureà 500 (par exemple, 490) aux paquets provenant d’Unstable en modifiant/etc/apt/preferences :Package: *

Pin: release a=unstable

Pin-Priority: 490

Commande apt-cache

VOCABULAIRE Cache

Un cache (« antémémoire », en français offi-ciel) est un système de stockage temporaireservant à accélérer des accès fréquents à desdonnées lorsque la méthode d’accès normaleest coûteuse (en termes de performances).Cette notion s’applique dans de très nom-breuses situations et à différentes échelles, de-puis le cœur des microprocesseurs jusqu’auxsystèmes de stockage de grande capacité.Dans le cas d’APT, les fichiers Packages de ré-férence sont ceux situés sur les miroirs Debian.Cependant, il serait très inefficace de devoirpasser à travers le réseau pour chaque re-cherche que l’on souhaite faire dans la base dedonnées des paquets disponibles. APT stockedonc (dans /var/lib/apt/lists/) unecopie de ces fichiers, et les recherches se font àl’aide de ces fichiers locaux. De même, /var/cache/apt/archives/ contient un cachedes paquets déjà téléchargés, ce qui évite deles télécharger de nouveau si on souhaite lesréinstaller après les avoir supprimés.

La commande apt-cache permet de consulter un certain nombred’informations stockées dans la base de données interne d’APT. Ces in-formations — qui constituent une sorte de cache — sont rassemblées depuisles différentes sources données dans le fichier sources.list au cours del’opération aptitude update.Le programme apt-cache permet notamment de rechercher des paquets àl’aide de mots-clés, en tapant apt-cache search mot-clé. On peut aussiconsulter les en-têtes des différentes versions disponibles d’un paquet avecapt-cache show paquet. Cette commande produira la description du pa-quet ainsi que ses dépendances, le nom de son mainteneur, etc. Signalonsque aptitude search et aptitude show fonctionnent de manière similaire.Certaines fonctions ne servent que bien plus rarement. Ainsi, apt-cachepolicy permet de consulter les priorités des différentes sources de paquets

104

Page 56: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

ainsi que celles des paquets qui bénéficient d’un traitement particulier. Onpeut encore citer apt-cache dumpavail qui affiche les en-têtes de toutes lesversions disponibles de tous les paquets. apt-cache pkgnames affiche uneliste de tous les paquets existants dans la mémoire cache.

Frontaux : aptitude, synapticAPT est un programme C++ dont la majorité du code est déportée dansla bibliothèque partagée libapt-pkg. La raison de ce choix est qu’il rendrelativement facile de réaliser une interface (un « frontal »), puisqu’il suffitde faire appel au code placé dans la bibliothèque. apt-get n’était d’ailleursà l’origine qu’un frontal développé pour tester libapt-pkg, bien que sonsuccès ait tendance à le faire oublier.

aptitudeaptitude est un programme interactif en mode semi-graphique, utilisablesur la console, qui permet de naviguer dans la liste des paquets installés etdisponibles, de consulter l’ensemble des informations, et de les marquer envue d’une installation ou d’une suppression. Comme il s’agit cette fois d’unprogramme réellement conçu pour être utilisé par les administrateurs, on ytrouve des comportements par défaut plus intelligents que dans apt-get, enplus d’une interface plus abordable.

Gestion des recommandations, suggestions et tâches

Un autre intérêt d’aptitude est qu’il respecte les recommandations entrepaquets tout en permettant à l’utilisateur de ne pas les installer au cas par cas.Ainsi, le paquet gnome-desktop-environment recommande (entre autres)gnome-accessibility. Si l’on sélectionne le premier pour l’installation, le se-cond sera également sélectionné (et marqué comme automatique s’il n’estpas déjà présent sur le système). Un appui sur g permet de s’en rendre compte :gnome-accessibility figure sur l’écran de résumé des actions en attente dans laliste des paquets ajoutés automatiquement pour satisfaire des dépendances.On peut cependant décider de ne pas l’installer, en le désélectionnant avantde valider les opérations.

105

Page 57: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

Figure 6.1 Gestionnaire de paquets aptitude

DOCUMENTATION aptitude

Nous n’entrons pas ici dans tous les détailsde l’utilisation de ce frontal, en nous conten-tant de donner le minimum de survie. apti-tude est relativement bien documenté, et l’onconsultera donc le mode d’emploi complet, quiest disponible lorsque le paquet aptitude-doc-fr est installé.I file:///usr/share/doc/aptitude/html/fr/

index.html

En ce qui concerne l’interface, aptitude présente initialement une vue sé-parant les paquets selon leur état actuel (installé, non installé, ou installémais non disponible sur les miroirs — d’autres sections affichent les tâches,les paquets virtuels, et les paquets apparus récemment sur les miroirs). Afinde faciliter la navigation thématique, il est possible d’employer d’autres vues.Dans tous les cas, aptitude affiche sur un écran une liste combinant caté-gories et paquets. Les catégories étant organisées dans une arborescence, onpourra déplier ou refermer les branches respectivement avec les touches En-trée, [ et ]. On utilisera + pour marquer un paquet comme à installer, - pourle marquer comme à supprimer, et _ pour le purger (à noter que ces touchespeuvent aussi être utilisées sur les catégories, auquel cas les actions concer-nées seront appliquées à tous les paquets de la catégorie) ; u met à jour leslistes de paquets disponibles, et Shift+u prépare une mise à jour globale dusystème. g bascule vers un résumé des modifications demandées (et un nou-vel appui sur g déclenche alors la mise en application de ces modifications),et q permet de sortir de la vue courante ; si l’on est dans la vue initiale, celaéquivaut à fermer aptitude.

106

Page 58: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

Pour chercher un paquet, on utilisera /, suivi d’un motif de recherche. Cemotif peut porter sur le nom du paquet, mais aussi sur sa description (sion le fait précéder de ~d), sa section (avec ~s) ou d’autres caractéristiquesdétaillées dans la documentation. Les mêmes motifs peuvent servir à filtrerles paquets affichés, fonctionnalité accessible grâce à la touche l (commelimit).

Suivi des paquets installés automatiquement

À SUIVRE Évolutions récentesde apt-get et aptitude

Certains des avantages que présentait histori-quement aptitude par rapport à apt-getont été gommés. En particulier, dans la ver-sion Lenny de Debian, apt-getmémorise lespaquets qui ne sont installés que pour satis-faire les dépendances, de la même manièrequ’aptitude l’a toujours fait. Il est égale-ment capable de suivre les recommandationsexprimées par un paquet sur un autre.Parmi les évolutions récentes d’aptitude,citons également l’apparition d’une versionavec une interface graphique. Cette fonction-nalité est encore en cours de développement ;bien qu’elle soit présente dans Squeeze (dansle paquet séparé aptitude-gtk), elle n’estpas complète et peut souffrir de défauts destabilité.

Une des fonctionnalités majeures d’aptitude (qui a été reprise dans la ver-sion d’apt-get depuis Lenny) est le suivi des paquets qui n’ont été instal-lés que par le jeu des dépendances. Ces paquets sont dits « automatiques »et marqués par un A dans la liste des paquets ; on y trouvera souvent desbibliothèques, par exemple. Lorsque l’on supprime un paquet du système,les paquets automatiques correspondants sont également sélectionnés pourla suppression si aucun paquet « manuel » n’est installé. Il est possible deforcer le caractère automatique d’un paquet (par Shift+m) ou de le désacti-ver (touche m). Une saine habitude, lorsque l’on maintient un système avecaptitude, consiste à marquer comme automatiques tous les paquets donton n’a pas un besoin direct, afin qu’ils soient automatiquement suppriméslorsqu’ils ne sont plus nécessaires. On pourra pour cela soit naviguer dansla liste des paquets installés et jouer du Shift+m, soit appliquer cet attributsur des sections entières (par exemple la section libs). Cette habitude, enplus d’aider à garder un système propre, présente l’avantage de permettre devisualiser simplement les paquets en usage sur une machine, sans que cetteliste soit polluée par toutes les bibliothèques et dépendances ; le motif consa-cré, à utiliser avec / (pour passer en mode filtrage), est ~i!~M, qui spécifieque l’on ne souhaite afficher que les paquets actuellement installés (~i) maisnon marqués comme automatiques (!~M).Il arrive que l’on veuille savoir pourquoi un paquet automatiquement installéest présent sur le système. Pour obtenir cette information directement depuisla ligne de commande, on peut employer aptitude why paquet :

$ aptitude why python-debian

i aptitude Recommande apt-xapian-index

i A apt-xapian-index Dépend python-debian (>= 0.1.15)

107

Page 59: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

OUTIL aptitude en ligne de commande

La plupart des fonctionnalités d’aptitude sont accessibles aussi bien par l’interface inter-active que par la ligne de commande, et cette ligne de commande ne dépaysera pas trop leshabitués d’apt-get et apt-cache.Mais les fonctionnalités évoluées d’aptitude se retrouvent également sur la ligne de com-mande. On retrouve ainsi les mêmes motifs de recherche de paquets qu’en version interactive.Ainsi, si on veut faire dans les paquets le ménage des paquets « automatiques », et qu’on saitqu’aucun programme localement installé n’a besoin de bibliothèques particulières ou de mo-dules Perl, on pourra marquer les paquets correspondants comme automatiques en une seulecommande :

# aptitude markauto '~slibs|~sperl'

On voit ici la puissance du système de motifs de recherche d’aptitude, qui permet de sé-lectionner d’un coup l’ensemble des paquets des sections libs et perl.Attention, s’il existe des paquets que cette commande marque comme automatiques, etqu’aucun autre paquet n’en dépend, ils seront immédiatement supprimés (avec une demandede confirmation).

ALTERNATIVE deborphan et debfoster

Avant l’apparition d’aptitude et de son suivi des paquets automatiques, il existait deuxutilitaires qui permettaient de déterminer une liste de paquets non nécessaires, deborphanet debfoster.deborphan, le plus rudimentaire des deux, recherche simplement dans les sections libset oldlibs (à défaut d’instructions supplémentaires) les paquets actuellement installés dontaucun autre paquet installé ne dépend. Cette liste peut ensuite servir de point de départ poursupprimer les paquets inutiles.debfoster a une approche plus évoluée, qui se rapproche un peu de celle d’aptitude :il maintient une liste de paquets installés explicitement, et se rappelle d’une invocation surl’autre quels paquets sont réellement requis. Si de nouveaux paquets sont apparus sur lesystème, et que debfoster ne les connaît pas comme des paquets requis, ils seront présentésà l’écran, ainsi qu’une liste de leurs dépendances. Le programme propose alors un choix,permettant de supprimer le paquet (ainsi que ceux dont il dépend, le cas échéant), de lemarquer comme explicitement requis, ou de l’ignorer temporairement.

On notera que cette fonction de suivi des recommandations ne s’appliquepas lors d’une mise à jour. Ainsi, si une nouvelle version de gnome-desktop-environment recommande un paquet qu’il ne recommandait pas auparavant,il ne sera pas marqué pour l’installation. En revanche, il sera mentionné dansl’écran de mise à jour, afin de vous laisser la possibilité de l’installer malgrétout.Les suggestions entre paquets sont également prises en compte, mais de ma-nière adaptée à leur statut particulier. Ainsi, comme gnome-desktop-

environment suggère gnome-audio, ce dernier sera listé sur l’écran de résumé

108

Page 60: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

des actions (dans la section des paquets qui sont proposés par d’autres pa-quets), afin qu’il soit visible et que l’administrateur puisse décider de tenircompte, ou non, de la suggestion. Mais comme il s’agit d’une simple sug-gestion et non d’une dépendance ou recommandation, le paquet ne sera passélectionné, et sa sélection devra être manuelle (et le paquet ne sera doncpas marqué comme automatique).Dans la même veine, rappelons qu’aptitude exploite intelligemment le con-cept de tâche. Ces tâches étant affichées comme des catégories dans lesécrans de listes de paquets, on peut soit choisir une tâche complète à ins-taller ou supprimer, soit consulter la liste des paquets inclus dans une tâcheafin d’en sélectionner un sous-ensemble plus limité.

Meilleurs algorithmes de résolutionNOTE Journal d’aptitude

De même que dpkg, aptitude garde dansson journal (/var/log/aptitude) la tracedes actions effectuées. Cependant, comme lesdeux commandes fonctionnent à un niveaubien différent, on ne trouve pas les mêmes in-formations dans les journaux respectifs. Là oùcelui de dpkg liste pas à pas les opérationsexécutées sur chaque paquet individuel, celuid’aptitude donne une vue d’ensemble surles opérations de plus haut niveau comme unemise à jour globale du système.Attention, ce journal ne contient que le ré-sumé des opérations initiées par aptitude.Si l’on utilise occasionnellement d’autres fron-taux (voire directement dpkg), le journald’aptitude n’aura qu’une vision partielledes choses, et on ne pourra pas s’en servir pourreconstituer un historique fiable du système.

Enfin, signalons pour terminer cette section qu’aptitude disposed’algorithmes plus évolués qu’apt-get en ce qui concerne la résolution dessituations délicates. Si un ensemble d’actions est demandé, mais que cesactions, menées conjointement, aboutissent à un système incohérent, apti-tude évalue plusieurs scénarios possibles et les propose par ordre de perti-nence décroissante. Ces algorithmes ne sont cependant pas infaillibles ; heu-reusement, il reste la possibilité de sélectionner manuellement les actions àeffectuer. Si les actions actuellement sélectionnées mènent à des contradic-tions, le haut de l’écran mentionne un nombre de paquets « cassés » (et onpeut naviguer directement vers ces paquets en appuyant sur b). Il est alorspossible de construire manuellement une solution aux problèmes constatés.On peut notamment, en sélectionnant un paquet avec Entrée, avoir accèsaux différentes versions disponibles. Si le choix d’une de ces versions plutôtque d’une autre permet de résoudre le problème, on n’hésitera pas à utilisercette fonction. Lorsque le nombre de paquets cassés descendra à zéro, onpourra en toute confiance passer par le résumé des actions à effectuer pourune dernière vérification avant leur mise en application.

Synapticsynaptic est un gestionnaire de paquets Debian en mode graphique (ilutilise GTK+/GNOME). Il dispose d’une interface graphique efficace etpropre. Ses nombreux filtres prêts à l’emploi permettent de voir rapidementles nouveaux paquets disponibles, les paquets installés, ceux que l’on peutmettre à jour, les paquets obsolètes, etc. En naviguant ainsi dans les diffé-rentes listes, on indique progressivement les opérations à effectuer (installer,mettre à jour, supprimer, purger). Un simple clic suffit à valider l’ensemblede ces choix, et toutes les opérations enregistrées sont alors effectuées en uneseule passe.

109

Page 61: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

Figure 6.2 Gestionnaire de paquets synaptic

Véri cation d’authenticité des paquets

EN PRATIQUE Ajouter des clésde confiance

Lorsqu’une source de paquets tierce est ajou-tée au fichier sources.list, il faut désor-mais porter à la connaissance de APT la cléde confiance correspondante (sans quoi il seplaindra constamment qu’il ne peut pas véri-fier l’authenticité des paquets contenus dansle dépôt concerné). Pour cela, il faut avant toutrécupérer la clé en question : la plupart dutemps elle sera fournie sous la forme d’un petitfichier texte (qui sera nommé cle.asc dansles exemples ci-dessous).On peut alors ajouter cette clé de confiance parla commande apt-key add < cle.asc(à exécuter avec les droits adminstrateur). Uneautre manière de procéder exploite l’interfacegraphique synaptic : l’onglet Authentifica-tion dans le menu Configuration > Dépôts per-met d’importer le fichier cle.asc préalable-ment récupéré.Pour ceux qui préfèrent une application dé-diée et veulent plus de détails sur les clésde confiance, employez le programme gui-apt-key (du paquet éponyme). Il s’agit d’unepetite interface graphique qui gère le trous-seau de clés de confiance.

Étant donné l’importance qu’accordent les administrateurs de Falcot SA àla sécurité, ils veulent s’assurer de n’installer que des paquets garantis prove-nant de Debian et non altérés en cours de route. En effet, un pirate pourraittenter d’agir indirectement sur des machines en modifiant un paquet De-bian diffusé afin d’y ajouter les instructions de son choix. Si un paquet ainsimodifié est installé, ces instructions agiront, par exemple afin de déroberles mots de passe. C’est pourquoi Debian offre un moyen de s’assurer quele paquet installé provient bien de son mainteneur et qu’il n’a subi aucunemodification par un tiers : il existe un mécanisme de scellement des paquets.Cette signature n’est pas directe : le fichier signé est un fichier Release placésur les miroirs Debian et qui donne la liste des différents fichiers Packages(y compris sous leurs formes compressées Packages.gz et Packages.bz2,et les versions incrémentales), accompagnés de leurs sommes de contrôleMD5, SHA1 et SHA256 (pour vérifier que leur contenu n’a pas été altéré).Ces fichiers Packages renferment à leur tour une liste de paquets Debian etleurs sommes de contrôle, afin de garantir que leur contenu n’a pas lui nonplus été altéré.

110

Page 62: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

La gestion des clés de confiance se fait grâce au programme apt-key, fournipar le paquet apt. Ce programme maintient à jour un trousseau de clés pu-bliques GnuPG, qui sont utilisées pour vérifier les signatures des fichiersRelease.gpg obtenus depuis les miroirs Debian. Il est possible de l’utiliserpour ajouter manuellement des clés supplémentaires (si l’on souhaite ajouterdes miroirs autres que ceux officiels) ; mais dans le cas le plus courant, on n’abesoin que des clés officielles Debian, qui sont automatiquement mainte-nues à jour par le paquet debian-archive-keyring (qui appelle apt-key lors deson installation et de sa mise à jour). Cependant, la première installation dece paquet est également sujette à caution, car même s’il est signé comme lesautres paquets, cette signature ne peut pas être vérifiée extérieurement. Ons’attachera donc à vérifier les empreintes (fingerprints) des clés importées,avant de leur faire confiance pour installer de nouveaux paquets :# apt-key fingerprint

/etc/apt/trusted.gpg

--------------------

pub 1024D/F42584E6 2008-04-06 [expire: 2012-05-15]

Empreinte de la clé = 7F5A 4445 4C72 4A65 CBCD 4FB1 4D27 0D06 F425 84E6

uid Lenny Stable Release Key <[email protected]>

pub 4096R/55BE302B 2009-01-27 [expire: 2012-12-31]

Empreinte de la clé = 150C 8614 919D 8446 E01E 83AF 9AA3 8DCD 55BE 302B

uid Debian Archive Automatic Signing Key (5.0/lenny) <[email protected]>

pub 2048R/6D849617 2009-01-24 [expire: 2013-01-23]

Empreinte de la clé = F6CF DE30 6133 3CE2 A43F DAF0 DFD9 9330 6D84 9617

uid Debian-Volatile Archive Automatic Signing Key (5.0/lenny)

pub 4096R/B98321F9 2010-08-07 [expire: 2017-08-05]

Empreinte de la clé = 0E4E DE2C 7F3E 1FC0 D033 800E 6448 1591 B983 21F9

uid Squeeze Stable Release Key <[email protected]>

pub 4096R/473041FA 2010-08-27 [expire: 2018-03-05]

Empreinte de la clé = 9FED 2BCB DCD2 9CDF 7626 78CB AED4 B06F 4730 41FA

uid Debian Archive Automatic Signing Key (6.0/squeeze) <[email protected]>

Une fois ces clés placées dans le trousseau, APT effectuera systématique-ment les vérifications des signatures avant toute opération risquée ; les fron-taux sont alors en mesure d’afficher un avertissement si l’on demande à ins-taller un paquet dont l’authenticité n’a pu être vérifiée.

111

Page 63: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

Mise à jour d’une distribution à la suivanteUn des éléments les plus marquants de Debian est sa capacité à mettre à jourun système d’une distribution stable vers la suivante (le fameux dist-upgrade,qui a contribué à la réputation du projet). Avec un peu d’attention, on peutainsi migrer un ordinateur en quelques minutes ou dizaines de minutes, se-lon la rapidité d’accès aux sources de paquets.

Démarche à suivreComme le système Debian a le temps d’évoluer entre deux versions stables,on prendra soin de lire, avant d’entreprendre la mise à jour, les notes de pu-blication. Nous allons ici nous attacher particulièrement à la migration d’unsystème Lenny en Squeeze. Comme toute opération majeure sur un sys-tème, cette mise à jour comporte une certaine part de risque, et il est doncvivement conseillé de s’assurer que les données importantes sont sauvegar-dées avant de s’engager dans la procédure.Pour faciliter (et raccourcir) la mise à jour, il est également recommandé defaire un peu de nettoyage dans les paquets installés, pour ne garder que ceuxqui sont réellement nécessaires. Pour cela, on mettra à profit les fonctionsd’aptitude, éventuellement en conjonction avec deborphan et debfoster(voir page 105). On pourra par exemple utiliser la commande suivante :

# deborphan | xargs aptitude removeB.A.-BA Notes de publication

Les notes de publication (release notes)d’un logiciel ou d’un système d’exploitationsont un document, généralement court parrapport à la documentation complète, qui per-met de se faire une idée du logiciel en ques-tion, et particulièrement sur la version concer-née. Ces documents donnent souvent un ré-sumé des nouvelles fonctionnalités offertespar rapport aux versions précédentes, des ins-tructions de mise à jour, des avertissementspour les utilisateurs des anciennes versions, etparfois des errata.Pour les versions de Debian, on trouvera cesnotes de publication sur le Web, autant pourla version stable courante que pour les précé-dentes (qui restent accessibles par leur nom decode).I http://www.debian.org/releases/stable/releasenotes

I http://www.debian.org/releases/lenny/releasenotes

Passons à la mise à jour du système. On commencera par indiquer à APTqu’il doit utiliser Squeeze au lieu de Lenny, enmodifiant le fichier /etc/apt/-sources.list en conséquence. Si ce fichier ne contient que des références àStable et non à un de ces noms de code, c’est encore plus simple : la modifi-cation n’est pas nécessaire, puisque Stable est toujours identique à la dernièreversion publiée de Debian. Dans les deux cas, on n’oubliera pas de rafraîchirla base de données des paquets disponibles (aptitude update, ou le boutonde mise à jour dans synaptic).Une fois que ces nouvelles sources de paquets sont référencées, on mettra àjour les paquets aptitude et apt ; les versions fournies dans Lenny présententen effet des limitations qui risqueraient d’interrompre la mise à jour du sys-tème.Pour éviter de se retrouver avec un système qui ne démarre plus, on prendraensuite soin de mettre à jour (ou d’installer) les paquets les plus cruciaux :• le chargeur de démarrage grub-pc ou grub-legacy (parfois lilo) ;• les outils permettant de construire le « disque virtuel d’initialisation » ouinitrd : initramfs-tools ;

112

Page 64: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

• la bibliothèque standard : libc6 ou une de ses variantes optimisées pourcertains processeurs comme libc6-i686 ;

• le système de gestion des fichiers de périphériques : udev ;• enfin, le noyau : on installera, selon le matériel dont on dispose, linux-image-486, linux-image-686 ou linux-image-686-bigmem. Ces paquets cor-respondent uniquement à l’architecture i386, ceux qui disposent d’unemachine basée sur une autre architecture devront sélectionner d’autresnoyaux (citons notamment linux-image-2.6-amd64 pour AMD64, et leslinux-image-powerpc* pour les machines PowerPC).

Une fois ces préliminaires accomplis, on pourra passer à la mise à jour pro-prement dite, que ce soit avec aptitude ou synaptic. On vérifiera les actionsà effectuer avant de les déclencher (pour éventuellement ajouter des paquetssuggérés, ou désélectionner des paquets qui ne sont que recommandés) ; lefrontal devrait dans tous les cas arriver à un scénario dont la situation fi-nale est un système Squeeze cohérent et à jour. Il suffira alors de patienterdurant le téléchargement des paquets, de répondre aux questions Debconf,et de regarder la magie s’opérer pendant le reste de la procédure en gardantun œil attentif sur les éventuelles questions portant sur le remplacement defichiers de configuration qui auraient été localement modifiés.

Gérer les problèmes consécutifs à une mise à jourMalgré tous les efforts des mainteneurs Debian, une mise à jour majeure dusystème d’exploitation cause parfois quelques soucis. Les nouvelles versionsde certains logiciels sont parfois incompatibles avec les précédentes (évolu-tion d’un format de données, comportement par défaut qui diffère, etc.). Enoutre, certains bogues passent inaperçus malgré la période de test précédantla publication d’une nouvelle version.Pour anticiper les problèmes liés aux évolutions des logiciels mis à jour, il estutile d’installer le paquet apt-listchanges. Il affichera, au début d’une mise àjour de paquet, des informations relatives aux embarras possibles. Ces infor-mations sont rédigées par les mainteneurs de paquet à l’intention des utili-sateurs et placées dans des fichiers /usr/share/doc/paquet/NEWS.Debian,et en tenir compte évitera toute mauvaise surprise.Parfois, la nouvelle version d’un logiciel ne fonctionne plus du tout. C’estpar exemple le cas si le logiciel n’est pas très populaire et n’a pas été suf-fisamment testé ; une mise à jour de dernière minute peut aussi introduiredes régressions qui ne sont découvertes qu’après publication. Dans ce cas, lepremier réflexe sain est de consulter le système de suivi de bogue à l’adressehttp://bugs.debian.org/paquet pour déterminer si le problème est déjàconnu et signalé. Si ce n’est pas le cas, il faut le signaler avec reportbug.

113

Page 65: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

Sinon, la lecture du rapport de bogue sera généralement très instructive :• on peut y découvrir l’existence d’un correctif qui permet alors de recom-

piler une version corrigée du paquet Debian (voir page 396) ;• parfois d’autres utilisateurs ont trouvé un moyen de contourner le pro-

blème et partagent leur expérience dans l’historique du bogue ;• enfin un paquet corrigé peut avoir été préparé par le mainteneur et être

disponible en téléchargement.Selon la gravité du bogue, une nouvelle version peut être préparée pour êtreintégrée dans une nouvelle révision de la version stable. Dans ce cas, unpaquet corrigé est peut-être disponible dans la section proposed-updates

des miroirs Debian (voir page 94). On peut alors temporairement ajouterl’entrée correspondante dans son fichier sources.list et installer la mise àjour avec apt-get ou aptitude.

I http://release.debian.org/proposed-updates/stable.html

Si le paquet n’est pas encore disponible dans cette section, on peut vérifiers’il est en attente de validation par les SRM (les gestionnaires de la versionstable) en consultant leur page web. Les paquets listés sur cette page ne sontpas encore disponibles publiquementmais l’on sait aumoins que le processusde publication suit son cours.

Maintenir un système à jourDebian est une distribution qui évolue au fil du temps. Bien que les chan-gements soient surtout visibles dans les versions Testing et Unstable, mêmela version Stable voit quelques modifications de temps en temps (il s’agitprincipalement de correctifs pour des problèmes de sécurité). Quelle quesoit la version installée, il est souvent utile de rester à jour, pour profiter desdernières évolutions et des corrections de bogues.Bien sûr, il est possible de lancer régulièrement un outil permettant de véri-fier l’existence de paquets mis à jour, puis de déclencher l’opération. Cepen-dant, c’est une tâche fastidieuse et répétitive, surtout si l’on a plusieurs ma-chines à administrer. Il existe heureusement des outils permettantd’automatiser une partie des opérations.Citons tout d’abord apticron, dans le paquet du même nom. Il s’agit sim-plement d’un script, appelé quotidiennement par cron, qui met à jour la listedes paquets disponibles et envoie un courrier électronique à une adresse don-née pour lister les paquets qui ne sont pas installés dans leur dernière version,ainsi qu’une description des changements qui ont eu lieu. Ce script vise prin-cipalement les utilisateurs deDebian Stable, on s’en doute : cesmails seraientquotidiens et vraisemblablement très longs sur les versions plus mobiles deDebian. Lorsque des mises à jour sont disponibles, apticron les télécharge,

114

Page 66: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

mais ne les installe pas. L’administrateur peut ainsi exécuter la mise à jourplus rapidement, puisque les paquets sont déjà dans le cache d’APT, il nesera plus nécessaire d’attendre qu’ils transitent depuis la source de paquets.Si l’on administre plusieurs machines, il est certes intéressant d’être prévenulorsque certaines ont besoin d’une mise à jour, mais cette opération elle-même peut rester fastidieuse. On pourra donc tirer parti du script /etc/cron.daily/apt, installé par le paquet apt. Ce script est lui aussi lancé quo-tidiennement par cron, donc sans interface interactive. Pour contrôler sonfonctionnement, on utilisera des variables de configuration d’APT (qui se-ront donc stockées dans un fichier sous /etc/apt/apt.conf.d/). Les troisplus importantes sont :

APT::Periodic::Update-Package-Lists Cette option permet de spéci-fier une fréquence (en jours) de mise à jour des listes de paquets. Sil’on utilise apticron, on pourra s’en passer, puisque cela ferait doubleemploi.

APT::Periodic::Download-Upgradeable-Packages Cette option spéci-fie également une fréquence en jours, qui porte sur le téléchargementdes paquets mis à jour. Là encore, les utilisateurs d’apticron pourronts’en passer.

APT::Periodic::AutocleanInterval Enfin, cette option couvre une fonc-tion que n’a pas apticron : elle spécifie la fréquence à laquelle lecache d’APT pourra être automatiquement épuré des paquets obso-lètes(ceux qui ne sont plus disponibles sur les miroirs ni référencés paraucune distribution). Elle permet de ne pas avoir à se soucier de lataille du cache d’APT, qui sera ainsi régulée automatiquement.

D’autres options permettent de jouer plus finement sur le comportement dunettoyage de cache ; nous ne les aborderons pas ici, mais elles sont décritesdans le script /etc/cron.daily/apt lui-même.Ces outils conviennent très bien pour des serveurs, mais pour un ordina-teur de bureau, on préférera en général un mécanisme plus interactif. C’estpourquoi la tâche «Environnement graphique de bureau » référence update-notifier et update-manager. Le premier est une petite application qui af-fiche une icône dans la zone de notification d’un environnement de bureaulorsque des mises à jour sont disponibles. Dans ce cas, un clic sur cette icônelance update-manager, une interface simplifiée pour effectuer des mises àjour. Elle permet de naviguer dans les mises à jour disponibles, de lire lechangelog et la description des paquets concernés, et de décider indivi-duellement si une mise à jour doit être installée ou non. Notons au pas-

115

Page 67: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

sage que le paquet fournit des éléments de configuration afin que /etc/-

cron.daily/apt mette à jour la liste des paquets et télécharge les mises àjour disponibles. Loin de la puissance d’aptitude et de synaptic, ce tan-dem ne gère que les mises à jour des paquets déjà installés, et offre par soninterface minimaliste peu de risques de rendre le système incohérent.

Figure 6.3 Mise à jour avec update-manager

Mise à jour automatiqueDans le contexte de Falcot SA, qui inclut de nombreuses machines et desressources humaines limitées, les administrateurs souhaitent automatiser aumaximum les mises à jour. Les programmes chargés de ces opérationsdoivent donc fonctionner sans intervention humaine.

116

Page 68: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

Con guration de dpkgNous avons déjà vu (en page 78) comment interdire à dpkg de demanderconfirmation du remplacement d’un fichier de configuration (avec les op-tions --force-confdef --force-confold). Il reste trois éléments à prendreen compte : les interactions générées par APT lui-même, celles provenant dedebconf, et les interactions en ligne de commande intégrées dans les scriptsde configuration des paquets.

Con guration d’APTEn ce qui concerne APT, la réponse est simple. Il suffit de lui préciserl’option -y ou --assume-yes, qui répondra « oui » automatiquement à toutesles questions qu’il aurait pu poser.

Con guration de debconfPour debconf, la réponse mérite un plus long développement. Dès sa nais-sance, ce programme fut prévu pour permettre de vérifier la pertinence et levolume des questions posées à l’utilisateur, ainsi que la manière dont elles leseront. C’est pourquoi sa configuration demande la priorité minimale à par-tir de laquelle debconf posera une question. Quand il s’interdit d’interrogerl’humain, ce programme utilise automatiquement la valeur par défaut défi-nie par le mainteneur du paquet. Il faut encore choisir une interface pourl’affichage des questions (frontal, ou front-end en anglais).Parmi la liste des interfaces possibles, noninteractive (non interactive) esttrès particulière : la choisir désactive toute interaction avec l’utilisateur. Si unpaquet désire malgré tout lui communiquer une note d’information, celle-cisera automatiquement transformée en courrier électronique.Pour reconfigurer debconf, on utilise l’outil dpkg-reconfigure inclus dansle paquet debconf ; la commande est dpkg-reconfigure debconf. Il estaussi possible de changer temporairement les choix de configuration effec-tués à l’aide de variables d’environnement (DEBIAN_FRONTEND permet ainsi dechangerd’interface, comme expliqué dans la page de manuel debconf(7)).

Gestion des interactions en ligne de commandeFinalement, les interactions en ligne de commande des scripts de configu-ration exécutés par dpkg sont les plus difficiles à éliminer. Il n’existe en effetaucune solution standard, et aucune réponse n’est meilleure qu’une autre.La solution généralement employée est de supprimer l’entrée standard (en yredirigeant le contenu de /dev/null, par exemple avec la syntaxe commande

117

Page 69: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

</dev/null), ou d’y brancher un flux continu de retours à la ligne. Cetteméthode n’est pas fiable à 100 % mais elle permet en général d’accepter leschoix par défaut, puisque la plupart des scripts interprètent l’absence de ré-ponse explicite comme une validation de la valeur proposée par défaut.

La combinaison miracleSi l’on met bout à bout les éléments de configuration exposés dans les sec-tions précédentes, il est possible de rédiger un petit script capable d’effectuerune mise à jour automatique assez fiable.

Exemple Script pour mise à jour non interactive

export DEBIAN_FRONTEND=noninteractive yes '' | apt-get -y -o Dpkg

å::Options::="--force-confdef" -o Dpkg::Options::="--force-

åconfold" dist-upgrade

EN PRATIQUE Le cas de Falcot SA

Les administrateurs de Falcot doivent faire avec un système informatique hétérogène, dontles machines servent des buts différents. Ils choisiront donc pour chaque machine la solutionla plus adaptée.En pratique, les serveurs (sous Squeeze) utiliseront la « combinaison miracle » évoquée ci-dessus, pour être maintenus à jour automatiquement. Seuls les plus critiques (les pare-feu,par exemple) seront configurés pour utiliser apticron, afin que les mises à jour ne se fassentque sous le contrôle d’un administrateur.Les postes bureautiques du service administratif (en Squeeze aussi) seront configurés avec letandem update-notifier/update-manager, de sorte que les utilisateurs pourront dé-clencher les mises à jour eux-mêmes ; il est en effet important qu’elles se fassent à l’initiativedes utilisateurs principaux des ordinateurs, sans quoi des modifications imprévues et silen-cieuses (donc mystérieuses) pourraient les perturber.Enfin, pour les quelques ordinateurs du laboratoire qui utilisent Testing pour bénéficier desdernières versions des logiciels, les administrateurs de Falcot décident simplement de confi-gurer APT pour qu’il prépare périodiquement les mises à jour, sans les effectuer. De cettemanière, lorsqu’ils voudront mettre à niveau (manuellement) ces machines expérimentales,ils pourront se concentrer sur les actions réellement utiles, les phases fastidieuses de téléchar-gement ayant déjà été effectuées automatiquement.

Recherche de paquetsAvec la quantité énorme, et sans cesse croissante, de logiciels distribués parDebian, il se manifeste un paradoxe : lorsque l’on a un besoin, la quantitéde paquets disponibles rend parfois difficile la recherche d’un paquet corres-pondant à ce besoin. Il existe, mais il est enfoui si profond sous une myriaded’autres qu’il est introuvable. Le besoin d’outils de recherche de paquets s’est

118

Page 70: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

donc fait de plus en plus criant au fil du temps. Il semble que ce problèmeest en passe d’être résolu.La recherche la plus triviale correspond à une recherche sur le nom exactd’un paquet. Si apt-cache show paquet renvoie un résultat, c’est que lepaquet existe. Malheureusement, il n’est pas toujours facile de deviner lenom du paquet.

ASTUCE Conventions de nommagede certains paquets

Certaines catégories de paquets suivent unenomenclature conventionnelle qui peut per-mettre de deviner le nom du paquet Debian.Par exemple, pour les modules Perl, la conven-tion dicte qu’un module publié en amontsous le nom XML::Handler::Composer seraempaqueté en tant que libxml-handler-composer-perl. La bibliothèque permettantd’utiliser le système gconf en Python estempaquetée sous le nom python-gconf. Iln’est hélas pas possible d’établir une conven-tion de nommage pour tous les paquets, mêmesi le responsable essaie généralement de resterau plus près du nom choisi par le développeuramont.

On peut aussi effectuer des recherches textuelles sur les noms des paquets,mais cela ne fait pas beaucoup avancer les choses. On n’atteint quelque chosede réellement utilisable qu’avec les recherches sur les descriptions : chaquepaquet ayant, en plus de son nom, une description plus ou moins détaillée,une recherche par mots-clés pourra souvent rapporter des résultats. On uti-lisera pour cela apt-cache ; par exemple, apt-cache search video renverrala liste de tous les paquets contenant le mot-clé « video » dans leur nom ouleur description.Si l’on souhaite effectuer des recherches plus complexes, on pourra utiliseraptitude, qui permet de spécifier une expression logique portant sur diffé-rents champs des paquets. Par exemple, on pourra obtenir la liste des paquetsdont le nom contient kino, la description video et le nom du responsablepaul :

$ aptitude search kino~dvideo~mpaul

p kino - Non-linear editor for Digital Video data

$ aptitude show kino

Paquet : kino

État : non installé

Version : 1.3.4-1+b1

Priorité : supplémentaire

Section : video

Responsable : Paul Brossier <[email protected]>

Taille décompressée : 9 519k

Dépend: libasound2 (> 1.0.18), libatk1.0-0 (>= 1.20.0),

libavc1394-0 (>= 0.5.3), libavcodec52 (>= 4:0.5+svn20090706-3) |

libavcodec-extra-52 (>= 4:0.5+svn20090706-3), libavformat52

[…]

Recommande: ffmpeg, gawk | mawk, curl

Suggère: udev | hotplug, vorbis-tools, sox, mjpegtools, lame, ffmpeg2theora

Est en conflit: kino-dvtitler, kino-timfx, kinoplus

Remplace: kino-dvtitler, kino-timfx, kinoplus

Fournit: kino-dvtitler, kino-timfx, kinoplus

Description : Non-linear editor for Digital Video data

Kino allows you to record, create, edit, and play movies recorded with

DV camcorders. This program uses many keyboard commands for fast

navigating and editing inside the movie.

119

Page 71: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

Cahier

del’A

dminDebian

Squeeze

The kino-timfx, kino-dvtitler and kinoplus sets of plugins,

formerly distributed as separate packages, are now provided

with Kino.

Site : http://www.kinodv.org/

Étiquettes: hardware::camera, implemented-in::c,

implemented-in::c++, interface::x11,

role::program, scope::application,

suite::gnome, uitoolkit::gtk,

use::editing, works-with::video,

x11::application

Le résultat ne contient ici qu’un paquet, kino, qui satisfait bien les troisconditions requises.Ces recherchesmulti-critèresmanquent un peu de flexibilité, et ne sont doncpas toujours utilisées au maximum de leur puissance. Il a donc été mis enplace un système de «marqueurs » ou « étiquettes » (en anglais, tags), qui pro-pose une autre approche de la recherche. Ces étiquettes correspondent à uneclassification thématique des paquets selon plusieurs axes, appelée « classi-fication à facettes ». Pour reprendre l’exemple de kino ci-dessus, on constateque ce paquet se présente sous la forme d’une interface graphique (qui uti-lise GTK), qu’il s’agit d’un logiciel Gnome, que sa fonction principale estl’édition, et qu’il travaille sur des données de type vidéo.Il est alors possible de naviguer dans cette classification, à la recherche d’unpaquet correspondant aux besoins, ou du moins d’un petit nombre de pa-quets parmi lesquels on pourra faire le tri manuellement. Pour cela, on pourrasoit utiliser le motif de recherche ~G dans aptitude, soit plus simplementnaviguer vers le site qui centralise les étiquettes : http://debtags.alioth.debian.org/cloud/ Si l’on sélectionne les étiquettes works-with::video et use::editing,on obtient une poignée de paquets, dont les éditeurs vidéo kino et pitivi.Ce système de classement est appelé à se généraliser et les gestionnaires depaquets intégreront progressivement des interfaces pour rechercher effica-cement les logiciels.En résumé, selon la complexité des recherches que l’on souhaite mener, onutilisera un programme adapté :• apt-cache ne permet que les recherches textuelles dans le nom et la des-

cription des paquets, il est très pratique pour retrouver rapidement le nomprécis d’un paquet qu’on peut facilement décrire avec quelques mots clésbien ciblés ;

• pour des recherches portant également sur les relations entre paquets et lenom du responsable, on pourra utiliser synaptic ;

120

Page 72: de l’Admin Debian - multimedia.fnac.commultimedia.fnac.com/multimedia/editorial/pdf/9782212132489.pdf · Sous-projetsDebianexistants 14 ... DHCP 226 Présentation 226 ... (Ubuntu,

6–Maintenance

etmise

àjour

:les

outilsAP

T

• si l’on souhaite ajouter une recherche par étiquettes, on se dirigera verspackagesearch, interface graphique dont le seul but est de mener des re-cherches dans la liste des paquets disponibles, selon plusieurs critères ;on peut même chercher des paquets d’après le nom des fichiers qu’ilscontiennent ;

• enfin, si l’on a besoin de construire des requêtes complexes avec des opé-rateurs logiques, on utilisera la très puissante (mais relativement obscure)syntaxe des motifs de recherche d’aptitude, aussi bien en ligne de com-mande qu’en mode interactif.

121