La FAQ Debian GNU/Linux ----------------------- Vous trouverez la liste des auteurs à Auteurs de la FAQ Debian version 4.0.3, 26 June 2008 ------------------------------------------------------------------------------- Résumé ------ Ce document répond aux questions fréquemment posées sur Debian GNU/Linux. Copyright --------- Copyright (C) 1996-2005 par Software in the Public Interest Il est permis de produire et distribuer des copies conformes de ce document à condition que la présente notice de copyright et la présente notice de permission soient préservées sur toutes les copies. Il est permis de copier et distribuer des versions modifiées de ce document selon les conditions d'une copie conforme, à condition que le travail dérivé résultant soit entièrement distribué selon les termes d'une notice de permission identique à celle-ci. Il est permis de copier et distribuer des traductions de ce document dans d'autres langues, selon les conditions pour versions modifiées ci-dessus, sauf que cette notice de permission peut être incluse sous forme d'une traduction approuvée par la Free Software Foundation à la place de l'Anglais original. Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. ------------------------------------------------------------------------------- Table des matières ------------------ 1. Définitions et vue d'ensemble 1.1. Qu'est-ce que cette FAQ ? 1.2. Qu'est-ce que Debian GNU/Linux ? 1.3. D'accord, maintenant je sais ce qu'est Debian, qu'est-ce que Linux ? 1.4. Debian fournit uniquement GNU/Linux ? 1.5. Quelles sont les différences entre Debian GNU/Linux et les autres distributions Linux ? Pourquoi choisir Debian plutôt qu'une autre ? 1.6. Comment le projet Debian s'insère-t-il avec le projet GNU de la Free Software Foundation ? 1.7. Comment prononce-t-on Debian et quel est le sens de ce mot ? 2. Obtenir et installer Debian GNU/Linux 2.1. Quelle est la dernière version de Debian ? 2.2. Existe-t-il des mises à jour de la distribution « stable » ? 2.3. Où et comment puis-je obtenir les disques d'installation de Debian ? 2.4. Comment installer Debian depuis les CD-ROM ? 2.5. Pourquoi le CD-ROM officiel de la publication stable contient-il des liens symboliques pour _frozen_ et _unstable_ ? Je pensais que ce CD contenait seulement _stable_ ! 2.6. Puis-je installer directement depuis un site Internet distant ? 2.7. Existe-t-il d'autres alternatives pour démarrer l'installateur ? 3. Choisir une distribution de Debian 3.1. Quelle version de Debian (stable/testing/unstable) me convient le mieux ? 3.1.1. Vous m'avez demandé d'installer stable, mais en stable tel et tel matériel ne sont pas détectés ou ne fonctionnent pas. Que dois-je faire ? 3.1.2. Y aura-t-il des différences de versions des paquets entre les différentes distributions ?  3.1.3. La distribution stable contient des paquets vraiment obsolètes. Regardez Kde, Gnome, Xorg ou même le noyau. Ils sont très anciens. Pourquoi cette situation ? 3.1.4. Et si je désire changer de distribution, puis-je le faire ? 3.1.5. Faut-il installer testing ou unstable ? 3.1.6. Vous parlez de cas où testing est cassée. Qu'entendez-vous par là ? 3.1.7. Pourquoi testing peut-elle être cassée pendant plusieurs mois ? Les correctifs introduits dans unstable n'arrivent-ils par directement dans testing ? 3.1.8. Du point de vue d'un administrateur, quelle distribution requiert le plus d'attention ? 3.1.9. Que se passe-t-il lors d'une nouvelle publication ? 3.1.10. Je dispose d'une machine de bureau / de serveurs utilisant Debian. Comment savoir quelle distribution j'utilise ? 3.1.11. J'utilise actuellement stable. Puis-je changer pour testing ou unstable ? Si oui, comment ? 3.1.12. J'utilise actuellement testing (lenny). Que se passera-t-il lors de la prochaine publication ? Utiliserai-je encore testing ou ma machine utilisera la nouvelle distribution stable ? 3.1.13. Cela reste confus pour moi. Que devrais-je installer selon vous ? 3.2. Et à propos de Knoppix, Linex, Ubuntu, et des autres ? 3.2.1. Je sais que Knoppix/Linex/Ubuntu/... est basée sur Debian. Donc après l'avoir installée sur disque dur, puis-je utiliser l'outil apt de gestion des paquets ? 3.2.2. J'ai installé Knoppix/Linex/Ubuntu/... sur mon disque dur. Maintenant j'ai un problème. Que devrais-je faire ? 3.2.3. J'utilise Knoppix/Linex/Ubuntu/... et maintenant je veux utiliser Debian. Comment puis-je migrer ? 4. Problèmes de compatibilité 4.1. Sur quelle architecture matérielle fonctionne Debian GNU/Linux ? 4.2. Debian est-elle compatible avec les autres distributions ? 4.3. Comment le code source compatible Debian l'est-il avec d'autres systèmes Unix ? 4.4. Peut-on utiliser des paquets Debian (fichiers « .deb ») sur un système Linux Red Hat/Slackware/... ? Peux-t-on utiliser des paquets Red Hat (fichiers « .rpm ») sur un système Debian GNU/Linux ? 4.5. Comment installer un programme n'appartenant pas à Debian ? 4.6. Pourquoi ne peut-on pas compiler de programme nécessitant libtermcap ? 4.7. Pourquoi ne peut-on pas installer AccelX ? 4.8. Pourquoi mes vieilles applications Motif sous XFree 2.1 plantent-elles ? 5. Logiciels disponibles sur un système Debian 5.1. Quelles sont les applications et les logiciels de développement disponibles sous Debian GNU/Linux ? 5.2. Qui a écrit tous ces logiciels ? 5.3. Comment puis-je obtenir la liste de tous les programmes qui ont été empaquetés pour Debian ? 5.4. Comment puis-je installer un environnement de développeur pour construire des paquets ? 5.5. Que manque-t-il dans Debian GNU/Linux ? 5.6. Pourquoi est-ce que j'obtiens le message « ld: cannot find -lfoo » quand je compile un programme ? Pourquoi n'y a-t-il pas de fichier libfoo.so dans les paquets de bibliothèque Debian ? 5.7. Comment Debian gère-t-elle Java ? 5.8. Comment puis-je vérifier que j'emploie un système Debian, et quelle est sa version ? 5.9. Comment Debian gère-t-elle les langues non anglophones ? 5.10. Où est le programme pine ? 5.11. Où sont les programmes qmail, ezmlm et djbdns ? 5.12. Où y a-t-il un lecteur pour Flash (SWF) ? 5.13. Où est Google Earth ? 5.14. Où est le logiciel de VoIP ? 5.15. J'ai une carte réseau sans-fil qui ne fonctionne pas avec Linux. Que dois-je faire ? 6. Les archives FTP de Debian 6.1. Combien de distributions de Debian y a-t-il ? 6.2. À quoi correspondent tous les noms comme etch, lenny, etc. ? 6.2.1. Quels noms de code ont déjà été utilisés ? 6.2.2. D'où proviennent les noms de code ? 6.3. Que dire de « sid » ? 6.4. Que contient le répertoire stable ? 6.5. Que contient la distribution testing ? 6.5.1. Que dire de « testing » ? Comment est-elle gelée (« frozen ») ? 6.6. Que contient la distribution unstable ? 6.7. Quels sont tous ces répertoires dans les archives FTP de Debian ? 6.8. Que sont tous ces répertoires dans `dists/stable/main' ? 6.9. Où trouve-t-on le code source ? 6.10. Que trouve-t-on dans le répertoire `pool' ? 6.11. Qu'est-ce que le répertoire incoming ? 6.12. Comment mettre en place son propre dépôt pour apt ? 7. Les bases du système de gestion des paquets Debian 7.1. Qu'est ce qu'un paquet Debian ? 7.2. Quel est le format d'un paquet binaire Debian ? 7.3. Pourquoi les noms des paquets Debian sont-ils si longs ? 7.4. Qu'est ce qu'un fichier de contrôle ? 7.5. Qu'est ce qu'un Debian conffile ? 7.6. Qu'est-ce qu'un script Debian preinst, postinst, prerm, et postrm ? 7.7. Qu'est ce qu'un paquet _Essential_, _Required_, _Important_, _Standard_, _Optional_ ou _Extra_ ? 7.8. Qu'est-ce qu'un paquet virtuel ? 7.9. Que signifie qu'un paquet dépend (_Depends_), recommande (_Recommends_), suggère (_Suggests_), est en conflit (_Conflicts_), remplace (_Replaces_) ou fournit (_Provides_) un autre paquet ? 7.10. Quel est le sens de « Pre-Depends » ? 7.11. Quelle est la signification de _unknown_, _install_, _remove_, _purge_ et _hold_ dans le statut du paquet ? 7.12. Comment est-ce que je mets un paquet en « hold » ? 7.13. Comment est-ce que j'installe un paquet source ? 7.14. Comment est-ce que je peux construire les paquets binaires depuis les paquets sources ? 7.15. Comment est-ce que je crée un paquet Debian ? 8. Outils de gestion des paquets Debian 8.1. Quels sont les programmes fournis par Debian pour la gestion des paquets ? 8.1.1. dpkg 8.1.2. APT 8.1.3. aptitude 8.1.4. synaptic 8.1.5. tasksel 8.1.6. Autres outils de gestion des paquets 8.2. Debian prétend pouvoir mettre à jour un programme en fonctionnement ; comment est-ce que c'est possible ? 8.3. Comment savoir si un paquet est déjà installé sur un système Debian ? 8.4. Comment afficher la liste des fichiers d'un paquet installé ? 8.5. Comment trouver le paquet contenant un fichier particulier ? 8.6. Pourquoi « foo-data » n'est-il pas supprimé quand je désinstalle « foo » ? Comment m'assurer que des paquets obsolètes de bibliothèques sont purgés ? 9. Garder son système Debian à jour 9.1. Comment puis-je garder mon système à jour ? 9.1.1. aptitude 9.1.2. apt-get, dselect et apt-cdrom 9.1.3. aptitude 9.1.4. mirror 9.1.5. dpkg-mountable 9.2. Faut-il être dans le mode mono-utilisateur pour mettre à jour un paquet ? 9.3. Faut-il garder toutes les achives .deb sur le disque ? 9.4. Comment puis-je garder un journal des paquets que j'ai ajoutés au système ? J'aimerais savoir quand et quelles mises à jour et suppressions de paquets ont eu lieu ! 9.5. Puis-je mettre à jour automatiquement le système ? 9.6. J'ai plusieurs machines : comment puis-je télécharger les mises à jour seulement une fois ? 10. Debian et le noyau 10.1. Puis-je installer et compiler un noyau sans spécificité Debian ? 10.2. Quel est l'outil fourni par Debian pour construire des noyaux personnalisés ? 10.3. Comment puis-je faire des disquettes de démarrage personnalisées ? 10.4. Quelles dispositions spéciales Debian fournit-elle pour manipuler les modules ? 10.5. Puis-je sans risque désinstaller un vieux paquet de noyau et si oui comment ? 11. Personnaliser votre installation de Debian GNU/Linux 11.1. Comment puis-je m'assurer que tous les programmes utilisent le même format de papier ? 11.2. Comment autoriser l'accès aux périphériques matériels sans compromettre la sécurité ? 11.3. Comment charger une police pour la console au démarrage de Debian ? 11.4. Comment configurer les paramètres par défaut des programmes X11 ? 11.5. Chaque distribution semble avoir une méthode de démarrage différente. Qu'en est-il de Debian ? 11.6. Il semble que Debian n'utilise pas `rc.local' pour personnaliser le processus de démarrage ; comment faire ? 11.7. Comment le système de gestion de paquet traite-t-il les paquets qui contiennent des fichiers de configuration pour d'autres paquets ? 11.8. Comment remplacer un fichier installé par un paquet, de sorte qu'une version différente puisse être employée à la place ? 11.9. Comment puis-je inclure mon paquet construit localement dans la liste des paquets disponibles connus par le système de gestion des paquets ? 11.10. Certains utilisateurs apprécient mawk, d'autres gawk ; certains utilisent vim, d'autres elvis ; certains préfèrent trn, d'autres tin ; comment Debian gère-t-elle la diversité ? 12. Obtenir de l'aide sur Debian GNU/Linux 12.1. Quelles autres documentations existent sur le système Debian ? 12.2. Y a-t-il des ressources en ligne pour discuter de Debian ? 12.2.1. Listes de diffusion 12.2.2. Forums web 12.2.3. Wiki 12.2.4. Responsables 12.2.5. Groupes de discussion Usenet 12.3. Y a-t-il un moyen rapide pour rechercher des informations sur Debian GNU/Linux ? 12.4. Y a-t-il une base des bogues connus ? 12.5. Comment signaler un bogue dans Debian ? 13. Participer au projet Debian 13.1. Comment devenir un développeur Debian ? 13.2. Comment fournir des ressources au projet Debian ? 13.3. Comment contribuer financièrement au projet Debian ? 13.3.1. Software in the Public Interest 13.3.2. Free Software Foundation 14. Distribuer Debian GNU/Linux dans un produit commercial 14.1. Puis-je construire et vendre des CD-ROM Debian ? 14.2. Debian peut-elle être empaquetée avec des logiciels non-libres ? 14.3. Je fais une distribution Linux particulière pour « un marché vertical ». Puis-je utiliser Debian GNU/Linux comme base du système et ajouter mes propres applications au-dessus ? 14.4. Est-ce que je peux créer un paquet Debian pour mon programme commercial de sorte qu'il s'installe facilement sur n'importe quel système de Debian ? 15. Changements prévus dans la prochaine version principale de Debian 15.1. Gestion étendue pour les utilisateurs non anglophones 15.2. Démarrage plus rapide : séquence d'amorçage basée sur les dépendances 15.3. Améliorations apportées à l'installateur Debian 15.4. Plus d'architectures 15.5. Plus de noyaux 16. Informations générales sur la FAQ 16.1. Auteurs 16.2. Commentaires 16.3. Disponibilité 16.4. Format du document ------------------------------------------------------------------------------- 1. Définitions et vue d'ensemble -------------------------------- 1.1. Qu'est-ce que cette FAQ ? ------------------------------ Ce document présente les questions les plus fréquemment posées (ainsi que les réponses !) à propos de la distribution Debian (Debian GNU/Linux et les autres) et à propos du projet Debian. Des liens vers d'autres documentations sont indiqués le cas échéant : nous préférons ne pas citer de trop grands extraits des documentations externes à ce document. Vous verrez que certaines réponses supposent quelques connaissances des systèmes d'exploitation de type Unix. Nous essayons de supposer ces pré-requis les plus réduits possible : les réponses aux questions générales des débutants resteront simples. Si vous ne trouvez pas réponse à votre question dans cette FAQ, vous devriez vérifier dans Section 12.1, `Quelles autres documentations existent sur le système Debian ?'. Si cela ne vous aide pas, référez-vous à Section 16.2, `Commentaires'. 1.2. Qu'est-ce que Debian GNU/Linux ? ------------------------------------- Debian GNU/Linux est une distribution spécifique du système d'exploitation Linux disposant de nombreux paquets. Debian GNU/Linux est : * _complète_ : actuellement, Debian inclut plus de 18200 logiciels. Les utilisateurs peuvent choisir quels paquets installer ; Debian fournit un outil à cette fin. Vous pouvez trouver une liste et la description des paquets actuellement disponibles dans Debian sur n'importe quel miroir (http://www.debian.org/distrib/ftplist) Debian. * _libre d'utilisation et de distribution_ : il n'y a aucune exigence d'adhésion ou de paiement à un établissement pour participer à sa distribution et à son développement. Tous les paquets qui font formellement partie de Debian GNU/Linux sont libres d'être redistribués, généralement sous les termes de la licence GNU GPL. Les archives FTP de Debian fournissent également environ 560 logiciels (dans les sections `non-free' et `contrib'), qui sont distribuables selon les conditions spécifiques incluses avec chaque paquet. * _dynamique_ : avec environ 1060 volontaires qui contribuent constamment à la création et à l'amélioration du code, Debian évolue rapidement. Les archives FTP sont mises à jour deux fois par jour. La plupart des utilisateurs de Linux font appel à une _distribution_ spécifique de Linux, comme l'est Debian GNU/Linux. Cependant, les utilisateurs peuvent en principe obtenir le noyau Linux via Internet ou ailleurs et le compiler eux-mêmes. De la même manière, ils peuvent récupérer le code source de nombreuses applications, compiler les programmes et les installer sur leur système. Pour des programmes complexes, ce processus peut être non seulement long mais aussi source d'erreurs. Pour éviter cela, les utilisateurs choisissent souvent d'obtenir le système d'exploitation et l'ensemble des applications d'un des distributeurs de Linux. Ce qui distingue les différentes distributions Linux, ce sont les logiciels, les protocoles, et les pratiques employées pour empaqueter, installer et vérifier l'ensemble des applications sur les systèmes des utilisateurs, combinés avec des outils d'installation et d'administration, de la documentation, et d'autres services. Debian GNU/Linux est le résultat d'un effort de volontaires pour créer un système d'exploitation, compatible Unix, libre et de bonne qualité, complété avec une suite d'applications. L'idée d'un système libre de type Unix provient du projet GNU et plusieurs des applications qui rendent Debian GNU/Linux si utile ont été développées par le projet de GNU. Pour Debian, le terme libre a le sens donné par le projet GNU (voir les principes du logiciel libre selon Debian (http://www.debian.org/social_contract#guidelines)). Quand nous parlons de logiciel libre, nous faisons référence à la liberté et non au prix (NdT : ambiguïté du mot anglais « free » signifiant libre et gratuit). Logiciel libre signifie que vous avez la liberté de distribuer des copies des logiciels, que vous recevez le code source ou que vous pouvez l'obtenir si vous le voulez, que vous pouvez modifier le logiciel ou employer des parties du code dans de nouveaux projets libres et que vous savez que vous pouvez faire tout cela. Le projet Debian a été créé par Ian Murdock en 1993, initialement sous le patronage du projet GNU de la Free Software Foundation. Aujourd'hui, les développeurs Debian le voient comme un descendant direct du projet GNU. Comme Debian GNU/Linux est elle-même un logiciel libre, elle peut servir de base pour des distributions Linux à valeur ajoutée. En fournissant un système de base fiable et complet, Debian fournit aux utilisateurs Linux une compatibilité accrue, et permet à des créateurs de distribution Linux d'éliminer la duplication des efforts en se concentrant sur les choses qui rendent leur distribution particulière. Voir Section 14.3, `Je fais une distribution Linux particulière pour « un marché vertical ». Puis-je utiliser Debian GNU/Linux comme base du système et ajouter mes propres applications au-dessus ?' pour plus d'informations. 1.3. D'accord, maintenant je sais ce qu'est Debian, qu'est-ce que Linux ? ------------------------------------------------------------------------- En résumé, Linux est le noyau d'un système d'exploitation de type Unix. Il a été à l'origine conçu pour les ordinateurs 386 (et plus récents) ; aujourd'hui Linux fonctionne également sur une douzaine d'autres systèmes. Linux est développé par Linus Torvalds et beaucoup d'informaticiens du monde entier. En plus du noyau, un système Linux contient habituellement : * un système de fichiers qui suit la norme de hiérarchie du système de fichiers Linux (« Filesystem Hierarchy Standard », FHS) http://www.pathname.com/fhs/, * un ensemble d'utilitaires Unix, dont la plupart ont été développés par le projet GNU et la Free Software Foundation. La combinaison du noyau Linux, du système de fichiers, des utilitaires GNU de la FSF, et des autres utilitaires a été conçue pour être en conformité avec la norme POSIX (IEEE 1003.1). Voir Section 4.3, `Comment le code source compatible Debian l'est-il avec d'autres systèmes Unix ?'. Pour plus d'informations sur Linux, voir le document en anglais What is Linux (http://www.linux.org/info/) par Linux Online (http://www.linux.org/). 1.4. Debian fournit uniquement GNU/Linux ? ------------------------------------------ Actuellement, Debian n'est disponible que pour Linux, mais avec Debian GNU/Hurd et Debian pour les noyaux BSD, nous avons aussi commencé à fournir comme plate-forme de développement des systèmes d'exploitations autres que ceux basés sur Linux. Cependant, ces portages non Linux ne sont pas encore officiellement publiés. Le Hurd est un ensemble de serveurs s'exécutant au dessus du micro-noyau GNU Mach. Ensemble, ils forment la base du système d'exploitation GNU. Veuillez vous reporter au site http://www.gnu.org/software/hurd/ pour plus d'informations en général sur GNU/Hurd et au site http://www.debian.org/ports/hurd/ pour des informations particulières à Debian GNU/Hurd. Le deuxième effort de portage est celui du noyau BSD. Les développeurs travaillent à la fois sur les noyaux NetBSD et les noyaux FreeBSD. Veuillez consulter http://www.debian.org/ports/#nonlinux pour plus d'informations sur les portages autres que Linux. 1.5. Quelles sont les différences entre Debian GNU/Linux et les autres distributions Linux ? Pourquoi choisir Debian plutôt qu'une autre ? ---------------------------------------------------------------------------- Ces fonctions principales distinguent Debian des autres distributions Linux : Liberté : Comme déclaré dans le Contrat social de Debian (http://www.debian.org/social_contract), Debian restera 100% libre. Le projet Debian est très strict quant à fournir des logiciels vraiment libres. Les principes appliqués pour déterminer si un travail est « libre » sont fournis dans Les principes du logiciel libre selon Debian (http://www.debian.org/social_contract#guidelines). Le système de gestion de paquets de Debian : Le système entier ou n'importe quel composant individuel peut être mis à jour sans reformater, sans perdre les fichiers de configuration personnalisés et (dans la plupart des cas) sans redémarrer le système. Aujourd'hui, la plupart des distributions Linux disponibles ont leur propre système de gestion de paquets ; le système de gestion de paquets de Debian est unique et particulièrement robuste. (voir Chapitre 7, `Les bases du système de gestion des paquets Debian') Développement ouvert : Alors que d'autres distributions Linux sont développées par des individus, des petits groupes fermés, ou des fournisseurs commerciaux. Debian est la seule distribution Linux majeure qui est développée coopérativement par beaucoup d'individus grâce à Internet, dans le même esprit que Linux et d'autres logiciels libres. Plus de 1060 responsables de paquet travaillent bénévolement sur plus de 18200 paquets et participent à l'amélioration de Debian GNU/Linux. Les développeurs Debian contribuent au projet non pas en programmant de nouvelles applications (dans la plupart des cas) mais en empaquetant les logiciels existants suivant les normes du projet, en envoyant des rapports de bogue aux développeurs amont et en fournissant de l'aide aux utilisateurs. Voir aussi les informations sur comment devenir un contributeur dans Section 13.1, `Comment devenir un développeur Debian ?'. Le système d'exploitation universel : Debian fournit plus de 18200 paquets (http://packages.debian.org/stable/) et fonctionne sur 11 architectures (http://www.debian.org/ports/). C'est bien plus que dans n'importe quelle autre distribution GNU/Linux. Consultez Section 5.1, `Quelles sont les applications et les logiciels de développement disponibles sous Debian GNU/Linux ?' pour avoir une vue d'ensemble des logiciels proposés et Section 4.1, `Sur quelle architecture matérielle fonctionne Debian GNU/Linux ?' pour une description des plateformes matérielles prises en charge. Le système de gestion des bogues : La répartition géographique des développeurs Debian demande des outils sophistiqués et une communication rapide des bogues et de leur résolution pour accélérer le développement du système. Les utilisateurs sont encouragés à envoyer des rapports de bogue dans un modèle formel, qui est rapidement accessible par les archives web ou par courrier électronique. Reportez-vous aux informations supplémentaires dans cette FAQ, sur la gestion des bogues dans Section 12.4, `Y a-t-il une base des bogues connus ?'. La charte Debian : Debian a des spécifications étendues des normes de qualité, la charte Debian. Ce document définit les exigences de qualité et les normes que doit satisfaire chaque paquet Debian. Pour d'autres informations sur le sujet, veuillez voir la page web sur les raisons pour choisir Debian (http://www.debian.org/intro/why_debian). 1.6. Comment le projet Debian s'insère-t-il avec le projet GNU de la Free Software Foundation ? ---------------------------------------------------------------------------- Le système Debian est construit sur les idéaux du logiciel libre d'abord soutenus par la Free Software Foundation (http://www.gnu.org/) et en particulier par Richard Stallman (http://www.stallman.org/). Les outils de développement puissants ainsi que les utilitaires, et les applications de la FSF sont également une partie principale du système Debian. Le projet Debian est indépendant de la FSF, cependant nous communiquons régulièrement et coopérons sur différents projets. La FSF a explicitement demandé que nous appelions notre système « Debian GNU/Linux » et nous sommes heureux de nous conformer à cette demande. L'objectif de longue date de la FSF est de développer un nouveau système d'exploitation appelé GNU, basé sur Hurd (http://www.gnu.org/software/hurd/). Debian travaille avec la FSF sur ce système, nommé Debian GNU/Hurd (http://www.debian.org/ports/hurd/). 1.7. Comment prononce-t-on Debian et quel est le sens de ce mot ? ----------------------------------------------------------------- Le nom du projet est prononcé Deb'-i-an, avec un e court dans Deb et l'accentuation portée sur la première syllabe. Ce mot est la contraction des noms Debra et Ian Murdock, qui a fondé le projet. (Les dictionnaires semblent laisser une certaine ambiguïté dans la prononciation de Ian, mais Ian préfère i'-an.) ------------------------------------------------------------------------------- 2. Obtenir et installer Debian GNU/Linux ---------------------------------------- 2.1. Quelle est la dernière version de Debian ? ----------------------------------------------- Actuellement il existe trois versions de Debian GNU/Linux : _La version 4.0, c.-à-d. la distribution « stable » ou etch_, c'est la version stable et bien testée, seuls sont incorporés les changements dus à des problèmes importants de sécurité ou d'utilisation. _La distribution « testing », actuellement appelée lenny_, c'est dans cette distribution que sont placés les paquets qui seront dans la prochaine distribution « stable » ; ils ont déjà été testés lors de leur passage dans « unstable » mais ne sont pas encore complètement prêts. Cette distribution est mise à jour plus souvent que la distribution « stable », mais moins souvent que la distribution « unstable ». _La distribution « unstable »_, c'est la version actuellement en développement ; elle est continuellement mise à jour. Vous pouvez récupérer des paquets archives instables sur n'importe quel site FTP de Debian et les employer pour améliorer votre système, mais vous ne devez pas vous attendre à ce que le système soit aussi utilisable ou aussi stable qu'avant. C'est pourquoi cette version s'appelle « unstable ». Reportez-vous à la question Section 6.1, `Combien de distributions de Debian y a-t-il ?' pour plus d'informations. 2.2. Existe-t-il des mises à jour de la distribution « stable » ? ----------------------------------------------------------------- Aucune nouvelle fonctionnalité n'est ajoutée à la version stable. Une fois qu'une version de Debian est publiée et considérée comme stable, les seules mises à jours de la distribution sont des mises à jour de sécurité. C'est-à-dire que seuls les paquets pour lesquels une faille de sécurité a été trouvée après la publication sont mis à jour. Toutes les mises à jour de sécurité sont effectuées à partir du serveur security.debian.org (ftp://security.debian.org). Les mises à jour de sécurité ont un but : fournir une correction pour une faille de sécurité. Elles ne sont pas là pour ajouter discrètement des modifications dans la version stable sans passer par la procédure normale de version intermédiaire. En conséquence, les correctifs pour les paquets avec des problèmes de sécurité ne sont pas une mise à jour du logiciel, mais un rétroportage par l'équipe de sécurité du correctif nécessaire pour la version distribuée dans stable. Pour plus d'informations liées à la gestion de la sécurité, veuillez lire la FAQ de l'équipe Debian sur la sécurité (http://www.debian.org/security/faq) ou le Manuel de sécurisation de Debian (http://www.debian.org/doc/manuals/securing-debian-howto/). 2.3. Où et comment puis-je obtenir les disques d'installation de Debian ? ------------------------------------------------------------------------- Vous pouvez obtenir les disques d'installation en téléchargeant les fichiers appropriés depuis les miroirs Debian (http://www.debian.org/mirror/list). Consultez la page Debian GNU/Linux sur CD (http://www.debian.org/CD) pour plus d'informations sur les images CD et DVD. 2.4. Comment installer Debian depuis les CD-ROM ? ------------------------------------------------- Installer Debian depuis un CD est tout simple : configurez votre système pour démarrer depuis le CD, insérez le CD, et redémarrez. Votre système démarrera l'installateur Debian. Consultez le Manuel d'installation pour la distribution Debian GNU/Linux (http://www.debian.org/releases/stable/installmanual) pour plus d'informations. 2.5. Pourquoi le CD-ROM officiel de la publication stable contient-il des liens symboliques pour _frozen_ et _unstable_ ? Je pensais que ce CD contenait seulement _stable_ ! ---------------------------------------------------------------------------- Les images officielles des CD Debian contiennent en effet des liens symboliques comme : /dists/frozen -> etch/ /dists/stable -> etch/ /dists/testing -> etch/ /dists/unstable -> etch/ afin qu'ils puissent fonctionner dans le cas où votre sources.list possède une entrée du type deb cdrom:[]/ unstable main [...] . La présence de ces liens symboliques _ne_ signifie _pas_ que cette image est celle de la distribution _unstable_, _testing_ ou encore autre chose. Reportez-vous au nom du CD présent dans `/.disk/info' pour savoir quelle version de Debian ce CD contient. Cette information est également présente dans le fichier `/README.txt' sur le CD. Consultez http://www.debian.org/releases/ pour savoir quelles sont les distributions _stable_ et _testing_ actuelles. 2.6. Puis-je installer directement depuis un site Internet distant ? -------------------------------------------------------------------- Oui. Vous pouvez démarrer le système d'installation de Debian depuis un ensemble de fichiers que vous pouvez télécharger de notre site ftp ou de l'un de ses miroirs. Vous pouvez télécharger une petite image de CD, créer avec elle un CD amorçable, installer le système de base à partir de l'image puis finir l'installation à travers le réseau. Pour plus d'informations, veuillez-vous reporter à http://www.debian.org/CD/netinst/. Vous pouvez aussi télécharger les fichiers d'image de disquette encore plus petits, créer les disquettes amorçables à partir d'elles, commencer la procédure d'installation et obtenir le reste de Debian depuis le réseau. 2.7. Existe-t-il d'autres alternatives pour démarrer l'installateur ? --------------------------------------------------------------------- Oui. Mis à part les CD ou DVD, vous pouvez installer Debian en démarrant depuis des disquettes, une clé USB, directement depuis le disque dur, ou encore par amorçage réseau et TFTP. Il est possible d'effectuer de manière complètement automatique les installations sur plusieurs ordinateurs. N.B. : toutes les méthodes ne sont pas possibles sur toutes les architectures. Une fois l'installateur démarré, le reste du système peut être téléchargé par le réseau ou depuis un média local. Consultez le Manuel d'installation pour la distribution Debian GNU/Linux (http://www.debian.org/releases/stable/installmanual) pour plus d'informations. ------------------------------------------------------------------------------- 3. Choisir une distribution de Debian ------------------------------------- Il existe plusieurs versions de Debian. Choisir la version appropriée est une décision importante. Cette section donne des informations utiles aux utilisateurs désirant choisir la version qui convient le mieux à leurs besoins, et répond également aux questions qui peuvent être soulevées lors de ce choix. Il ne s'agit pas de répondre à la question « pourquoi vous devriez choisir Debian ? » mais plutôt « quelle version de Debian ? ». Pour plus d'informations sur les versions disponibles, consultez Section 6.1, `Combien de distributions de Debian y a-t-il ?'. 3.1. Quelle version de Debian (stable/testing/unstable) me convient le mieux ? ---------------------------------------------------------------------------- La réponse est un peu compliquée. Cela dépend de ce que vous voulez faire. Une solution serait de demander à un ami qui utilise Debian. Mais cela signifierait que vous ne pouvez pas prendre votre décision de manière indépendante. Vous devriez pouvoir prendre votre décision après la lecture de ce chapitre. * Si la sécurité ou la stabilité vous importent par-dessus tout : installez la version stable. Il s'agit du choix favori des utilisateurs. * Si vous êtes un nouvel utilisateur installant une machine de bureau, démarrez avec la version stable. Certains logiciels sont un peu anciens, mais c'est l'environnement le moins boggué pour travailler. Vous pourrez basculer vers la version _unstable_ plus récente une fois que vous serez plus en confiance. * Si vous êtes un utilisateur d'une machine de bureau avec de l'expérience dans les systèmes Linux, et que cela nous vous dérange pas de faire face à des bugs étranges de temps en temps, utilisez _unstable_. Cette version comporte tous les derniers logiciels, et les bogues sont généralement corrigés rapidement. * Si vous utilisez un serveur, en particulier avec des contraintes importantes de stabilité ou s'il est connecté à Internet, installez la version _stable_. Il s'agit de loin du choix le plus sûr et le plus solide. Les questions suivantes vous donnent, nous l'espérons, plus de détails sur ces choix. Si après avoir lu toute cette FAQ, vous n'arrivez pas à choisir, restez sur le choix de la distribution stable. 3.1.1. Vous m'avez demandé d'installer stable, mais en stable tel et tel matériel ne sont pas détectés ou ne fonctionnent pas. Que dois-je faire ? ---------------------------------------------------------------------------- Essayez de rechercher sur le web à l'aide d'un moteur de recherche afin de voir si quelqu'un d'autre a été capable de faire fonctionner ce matériel avec _stable_. La plupart du matériel devrait fonctionner correctement avec _stable_. Dans le cas où vous avez du matériel à la pointe, il peut ne pas fonctionner avec _stable_. Dans ce cas, vous pourriez installer ou basculer vers _unstable_. Concernant les ordinateurs portables, http://www.linux-on-laptops.com/ est un très bon site web permettant savoir si quelqu'un d'autre a fait fonctionner un modèle précis sous Linux. Ce site web n'est pas spécifique à Debian, mais constitue néanmoins une source fantastique. À notre connaissance, il n'existe pas de tel site pour les ordinateurs de bureau. Une autre option est de demander sur la liste de diffusion debian-user en envoyant un courriel à debian-user@lists.debian.org. Il est possible d'envoyer des messages à liste sans être abonné. Les archives sont disponibles depuis http://lists.debian.org/debian-user/, où se trouvent également les informations sur l'abonnement. Nous vous incitons fortement à poser vos questions sur la liste de diffusion plutôt que sur irc (http://www.debian.org/support). En effet, les messages de la liste de diffusion sont archivés, ce qui peut aider les personnes ayant le même problème que le vôtre à trouver la solution. 3.1.2. Y aura-t-il des différences de versions des paquets entre les différentes distributions ?  ---------------------------------------------------------------------------- Oui. La distribution _unstable_ inclut les versions les plus récentes, mais qui ne sont pas encore suffisamment testées et peuvent donc comporter des bogues. En revanche, _stable_ contient d'anciennes versions des paquets, qui sont ainsi bien éprouvés et sont moins susceptibles de comporter des bogues. Les paquets dans _testing_ se trouvent entre ces deux extrêmes. 3.1.3. La distribution stable contient des paquets vraiment obsolètes. Regardez Kde, Gnome, Xorg ou même le noyau. Ils sont très anciens. Pourquoi cette situation ? ---------------------------------------------------------------------------- Il est possible que vous ayez raison. L'âge des paquets dans _stable_ dépend de la date de la publication. Comme il s'écoule généralement plus d'un an entre les publications, vous pouvez penser que stable contient des vieilles versions des paquets. Cependant, ils ont été testés intensivement. On peut raisonnablement dire que ces paquets ne comportent aucun bogue grave connu, ni de trous de sécurité, etc. Les paquets de _stable_ s'intègrent de manière transparente avec les autres paquets de _stable_. Ces caractéristiques sont très importantes pour les serveurs de production qui doivent fonctionner 24 heures par jour et 7 jours par semaine. En revanche, les paquets de _testing_ ou _unstable_ peuvent comporter des bogues cachés, des trous de sécurité, etc. De plus, certains de ces paquets peuvent ne pas fonctionner comme prévu. Généralement les personnes travaillant sur un unique ordinateur de bureau préfèrent avoir les paquets les plus récents. La distribution _unstable_ est la solution pour cette catégorie d'utilisateurs. Comme vous pouvez le constater, la stabilité et la nouveauté sont les deux extrémités du spectre. Besoin de stabilité ? Utilisez la distribution _stable_. Si vous voulez travailler avec les paquets les plus récents, alors installez la distribution _unstable_. 3.1.4. Et si je désire changer de distribution, puis-je le faire ? ------------------------------------------------------------------ Oui, mais il s'agit d'une opération irréversible. Vous pouvez mettre à jour votre système de stable --> testing --> unstable. L'opération en sens inverse est impossible. Soyez bien sûr de votre décision si vous prévoyez d'installer ou de mettre à jour pour _unstable_. En fait, si vous êtes un expert, prêt à passer du temps, vraiment prudent et que vous savez ce que vous faites, alors il peut être possible de passer de la distribution _unstable_ vers _testing_ puis vers _stable_. Les scripts d'installation des paquets ne sont pas prévus pour cela, il est donc possible par exemple que vous perdiez certains fichiers de configuration au cours de l'opération. 3.1.5. Faut-il installer testing ou unstable ? ---------------------------------------------- C'est plutôt subjectif. Il n'existe pas de réponse parfaite mais seulement une « estimation sage » à faire lors du choix entre unstable et testing. L'auteur conseille dans l'ordre de préférence : _stable_, _unstable_ puis _testing_. Le problème est le suivant : * Stable est solide comme un roc. Elle est incassable. * Testing est cassée moins souvent que _unstable_. Mais lorsque cela arrive, la correction met du temps à être appliquée. Des fois il peut s'agir de plusieurs jours, et dans certains cas plusieurs mois. * Unstable change beaucoup, et peut être cassée à n'importe quel moment. Cependant, les problèmes sont souvent corrigés en quelques jours et cette distribution offre toujours les dernières versions des logiciels empaquetés pour Debian. Pourtant il existe des cas où utiliser testing serait plus avantageux qu'unstable. L'auteur a rencontré ce cas lors de la transition de gcc3 à gcc4. Le paquet `labplot' était impossible à installer sur une machine unstable car certaines de ses dépendances avaient passé la transition gcc4 et d'autres pas. Au même moment, le paquet de testing était installable sur une machine testing puisque les paquets ayant effectué la transition gcc4 n'avaient pas atteint testing. 3.1.6. Vous parlez de cas où testing est cassée. Qu'entendez-vous par là ? -------------------------------------------------------------------------- Parfois, un paquet peut ne pas être installable par les outils de gestion des paquets. Parfois, un paquet peut ne pas être disponible du tout, éventuellement supprimé temporairement en raison de bogues ou de dépendances non résolues. Enfin, un paquet peut s'installer mais ne pas offrir un comportement satisfaisant. Lorsque cela arrive, on dit que la distribution est cassée (du moins pour ce paquet). 3.1.7. Pourquoi testing peut-elle être cassée pendant plusieurs mois ? Les correctifs introduits dans unstable n'arrivent-ils par directement dans testing ? ---------------------------------------------------------------------------- Les corrections de bogues et les améliorations introduits dans la distribution _unstable_ atterrissent dans _testing_ après un certain nombre de jours. Disons que ce seuil est de 10 jours. Les paquets d'unstable arrivent dans testing seulement si aucun bogue critique pour la publication (« RC » pour « Release Critical ») n'est signalé à leur égard. Si un bogue RC est signalé sur un paquet d'unstable, il n'entrera pas dans testing avant les 10 prochains jours. En effet on considère que si le paquet a un problème, celui-ci sera découvert par les utilisateurs d'unstable et sera corrigé avant que le paquet puisse atteindre testing. Cela permet à testing de rester utilisable la plupart du temps. Le concept est génial la plupart du temps, mais les choses ne sont jamais si simples. Considérez par exemple la situation suivante : * Vous êtes intéressé par le paquet XYZ. * Le 10 juin, la version dans testing est XYZ-3.6 et dans unstable XYZ-3.7 * 10 jours après, XYZ-3.7 migre d'unstable vers testing. * Donc le 20 juin, testing et unstable ont toutes deux XYZ-3.7. * Un utilisateur de la distribution testing repère qu'une nouvelle version de XYZ est disponible et met à jour sa version XYZ-3.6 en XYZ-3.7. * Le 25 juin, quelqu'un utilisant testing ou unstable découvre un bogue RC dans XYZ-3.7 et le signale dans le BTS. * Le responsable de XYZ corrige ce bogue et l'envoie vers unstable le 30 juin. On suppose ici que 5 jours sont nécessaires au responsable pour corriger et envoyer la nouvelle version. Ce chiffre de 5 ne doit pas être pris au pied de la lettre ; il peut être supérieur ou inférieur, suivant la sévérité du bogue RC. * Cette nouvelle version arrivée dans unstable, XYZ-3.8 est programmée pour atteindre testing le 10 juillet. * Mais le 5 juillet, un autre utilisateur découvre un autre bogue dans XYZ-3.8. * Considérons que le responsable de XYZ corrige ce nouveau bogue et envoie la nouvelle version en 5 jours. * Ainsi le 10 juillet, testing propose XYZ-3.7 alors que unstable propose XYZ-3.9. * Cette nouvelle version XYZ-3.9 est reprogrammée pour atteindre testing le 20 juillet. * Puisque vous utilisez testing et que XYZ-3.7 est boggué, vous ne pourrez sans doute utiliser XYZ qu'après le 20 juillet. Ainsi vous aurez passé près d'un moins avec une version XYZ cassée. La situation peut être bien plus compliquée, si par exemple XYZ dépend de 4 autres paquets. Cela peut rendre la distribution testing inutilisable pendant plusieurs mois. Le scénario ci-dessus est fictif et peut se produire dans la réalité, même si de tels cas sont rares. 3.1.8. Du point de vue d'un administrateur, quelle distribution requiert le plus d'attention ? ---------------------------------------------------------------------------- L'une des principales raisons pour laquelle de nombreuses personnes choisissent Debian plutôt que d'autres distributions, est qu'elle demande très peu d'administration. Les gens désirent un système qui se contente de fonctionner. De manière générale, on peut dire que la distribution _stable_ exige très peu de maintenance alors que _testing_ et _unstable_ demandent une maintenance constante à l'administrateur. Si vous utilisez stable, tout ce dont vous avez à vous soucier est d'appliquer les mises à jour de sécurité. Si vous utilisez testing ou unstable, c'est une bonne idée d'être au courant des nouveaux bogues découverts dans les paquets installés, les correctifs et fonctionnalités introduits, etc. 3.1.9. Que se passe-t-il lors d'une nouvelle publication ? ---------------------------------------------------------- Cette question ne vous aidera pas à choisir une distribution de Debian, mais vous vous la poserez tôt ou tard. La distribution stable est actuellement etch; la prochaine distribution stable s'appelera lenny. Considérons le cas particulier de ce qui se produira lors de la publication de lenny comme nouvelle version stable. * oldstable = sarge; stable = etch; testing = lenny; unstable = sid * Unstable fait toujours référence à sid, indépendamment du processus de publication. * Les paquets migrent continuellement de sid vers testing (c.-à.-d. lenny). Mais les paquets dans stable (c.-à-d. etch) restent les mêmes sauf s'il existe des mises à jour de sécurité. * Après un certain temps _testing_ est gelée, mais reste appelée _testing_. À partir de ce moment-là, plus aucun nouveau paquet d'unstable ne peut migrer vers testing, à moins qu'ils corrigent des bogues critiques pour la publication (RC). * Lors du gel de testing, tous les correctifs introduits doivent être vérifiés par les membres de l'équipe de publication. Cela permet de s'assurer qu'aucun problème sévère inconnu n'est introduit dans la distribution _testing_ gelée. * Les bogues RC de la testing gelée sont réduits à zéro. * La testing gelée sans bogue RC sera publiée comme nouvelle version stable. Dans notre exemple, cette nouvelle publication stable sera appelée lenny. * À cette étape, oldstable = etch, stable = lenny. Les contenus de _stable_ et la testing gelée sont alors identiques. * Une nouvelle testing est dérivée de l'actuelle stable. * Les paquets commencent de nouveau à migrer de sid vers testing. La communauté Debian travaille déjà à préparer la nouvelle publication stable. 3.1.10. Je dispose d'une machine de bureau / de serveurs utilisant Debian. Comment savoir quelle distribution j'utilise ? ---------------------------------------------------------------------------- Dans la plupart des cas, c'est très simple à savoir. Regardez le contenu du fichier `/etc/apt/sources.list'. Vous trouverez une entrée similaire à la ligne suivante : deb http://ftp.us.debian.org/debian/ unstable main contrib Le troisième champ (« unstable » dans l'exemple ci-dessus) indique quelle distribution le système utilise actuellement. Vous pouvez également utiliser `lsb_release' (disponible dans le paquet `lsb-release'). Si vous exécutez ce programme sur un système utilisant _unstable_, vous obtiendrez : $ lsb_release -a LSB Version: core-2.0-noarch:core-3.0-noarch:core-3.1-noarch:core-2.0-ia32:core-3.0-ia32:core-3.1-ia32 Distributor ID: Debian Description: Debian GNU/Linux unstable (sid) Release: unstable Codename: sid Pourtant, cela n'est pas toujours si facile. Certains systèmes peuvent comporter un fichier `sources.list' avec plusieurs entrées vers différentes distributions. Cela peut arriver lorsque l'administrateur utilise des paquets depuis différentes distributions. Ce mélange de plusieurs distributions est appelé apt-pinning. 3.1.11. J'utilise actuellement stable. Puis-je changer pour testing ou unstable ? Si oui, comment ? ---------------------------------------------------------------------------- Si vous utilisez actuellement stable, alors le troisième champ du fichier `/etc/apt/sources.list' sera soit etch ou stable. Vous devez remplacer cette valeur par le nom de la version que vous voulez utiliser. Si vous voulez utiliser testing, alors remplacez ce troisième champ de `/etc/apt/sources.list' par testing. Si vous souhaitez utiliser unstable, alors remplacez le troisième champ par unstable. Actuellement testing est appelée lenny. Ainsi, si vous remplacez le troisième champ de `/etc/apt/sources.list' en lenny, vous utiliserez alors testing. Mais lorsque lenny deviendra stable, vous continuerez à utiliser lenny. Unstable est toujours appelée Sid. Si vous remplacez le troisième champ de `/etc/apt/sources.list' par sid, vous utiliserez alors unstable. Actuellement, Debian propose des mises à jour de sécurité pour testing mais pas pour unstable, puisque les correctifs pour unstable sont directement appliqués dans l'archive standard. Ainsi si vous utilisez unstable, assurez-vous d'avoir supprimé dans `/etc/apt/sources.list' les lignes relatives aux mises à jour de sécurité. Si des notes de publication sont disponibles pour la distribution vers laquelle vous effectuez la mise à niveau (même si la distribution n'a pas été encore publiée), il serait sage de les consulter car elles peuvent fournir des informations expliquant comment vous devriez procéder à la mise à niveau. Néanmoins, une fois les changements ci-dessus effectués, vous pouvez exécuter `aptitude update' puis installer les paquets de votre choix. Notez qu'installer un paquet d'une autre distribution peut déclencher la mise à jour de la moitié de votre système. Si vous installez des paquets individuels, vous finirez avec un système utilisant un mélange de plusieurs distributions. Dans certaines situations, il est mieux d'effectuer la mise à nouveau complète vers la nouvelle distribution en exécutant `apt-get dist-upgrade', `aptitude safe-upgrade' ou `aptitude full-upgrade'. Lisez les pages de manuel d'apt et d'aptitude pour plus d'informations. 3.1.12. J'utilise actuellement testing (lenny). Que se passera-t-il lors de la prochaine publication ? Utiliserai-je encore testing ou ma machine utilisera la nouvelle distribution stable ? ---------------------------------------------------------------------------- Cela dépend des entrées du fichier `/etc/apt/sources.list'. Si vous utilisez actuellement testing, les entrées sont similaires soit à : deb http://ftp.us.debian.org/debian/ testing main soit à : deb http://ftp.us.debian.org/debian/ lenny main Si le troisième champ de `/etc/apt/sources.list' a pour valeur « testing », alors vous utiliserez testing même après la prochaine publication. Ainsi après la publication de lenny, vous utiliserez une nouvelle distribution de Debian dotée d'un nouveau nom de code. Les changements peuvent ne pas être visibles au départ mais deviendront évidents dès que les nouveaux paquets d'unstable atteindront la distribution testing. En revanche, si le troisième champ contient « lenny », alors vous utiliserez la distribution stable (puisque lenny sera alors la nouvelle distribution stable). 3.1.13. Cela reste confus pour moi. Que devrais-je installer selon vous ? ------------------------------------------------------------------------- Si vous n'êtes pas certain, le meilleur pari est la distribution stable. 3.2. Et à propos de Knoppix, Linex, Ubuntu, et des autres ? ----------------------------------------------------------- Ces distributions ne viennent pas du projet Debian ; elles sont _basées sur Debian_. Bien qu'il y ait de nombreuses similarités et de points communs, il existe également des différences cruciales. Toutes ces distributions ont leurs propres avantages et sont appropriées à certains utilisateurs spécifiques. Pour plus d'informations, consultez la page du site Debian sur les distributions basées sur Debian (http://www.debian.org/misc/children-distros). 3.2.1. Je sais que Knoppix/Linex/Ubuntu/... est basée sur Debian. Donc après l'avoir installée sur disque dur, puis-je utiliser l'outil apt de gestion des paquets ? ---------------------------------------------------------------------------- Ces distributions sont basées sur Debian, mais elles ne sont pas Debian. Il vous sera toujours possible d'utiliser l'outil apt de gestion des paquets en pointant le fichier `/etc/apt/sources.list' vers les dépôts de ces distributions. Mais dans ce cas vous n'utilisez pas Debian, mais une autre distribution. Elles ne sont pas identiques. Dans la plupart des situation si vous utilisez une distribution particulière, vous devriez n'utiliser que celle-ci et non pas la mélanger avec des paquets d'autres distributions. De nombreux dysfonctionnements apparaissent lorsque des personnes essaient d'installer des paquets Debian alors qu'ils utilisent une autre distribution. Le fait qu'elles utilisent le même format et nom (.deb) ne les rend pas nécessairement compatibles. Par exemple, Knoppix est une distribution Linux conçue pour être bootée sur un live CD alors que Debian est conçue pour être installée sur disque dur. Knoppix est géniale si vous voulez connaître si un matériel particulier fonctionne, ou si vous voulez expérimenter comment est un système Linux, etc. Knoppix est bien pour une démonstration tandis que Debian est conçu pour fonctionner 24/7. De plus, le nombre de paquets disponibles, le nombre d'architectures supportées par Debian sont de loin plus grands que ceux de Knoppix. Si vous voulez utiliser Debian, le mieux est d'installer directement Debian après l'avoir téléchargé. Même s'il est possible d'installer Debian en passant par d'autres distributions, comme Knoppix, cette méthode nécessite de très bonnes connaissances du système. Si vous lisez cette FAQ, nous supposons que Debian et Knoppix sont nouveaux pour vous. Dans ce cas, économisez vous beaucoup de soucis plus tard et installez Debian dès le départ. 3.2.2. J'ai installé Knoppix/Linex/Ubuntu/... sur mon disque dur. Maintenant j'ai un problème. Que devrais-je faire ? ---------------------------------------------------------------------------- Il vous est conseillé de ne pas utiliser les forums Debian (ni les listes de diffusion ni IRC) pour demander de l'aide, car les gens qui pourraient vous conseiller penseront que vous faites fonctionner un système Debian, et les « correctifs » qu'ils fournissent pourraient ne pas convenir à votre système. Ils pourraient même aggraver le problème auquel vous êtes confronté. Utilisez les forums de la distribution spécifique que vous utilisez en premier. Si vous n'obtenez vraiment pas d'aide ou que l'aide fournie ne corrige pas votre problème, vous pourriez vouloir essayer de demander sur les forums Debian mais gardez à l'esprit les conseils du paragraphe précédent. 3.2.3. J'utilise Knoppix/Linex/Ubuntu/... et maintenant je veux utiliser Debian. Comment puis-je migrer ? ---------------------------------------------------------------------------- Considérez le changement d'une distribution basée sur Debian vers Debian juste comme un changement d'un système d'exploitation vers un autre. Vous devriez effectuer une sauvegarde de toutes vos données et réinstaller le système d'exploitation de zéro. Vous ne devriez pas tenter de « mettre à jour » vers Debian en utilisant les outils de gestion de paquets, car vous pourriez finir avec un système inutilisable. Si toutes vos données d'utilisateur (i.e. votre `/home') sont dans une partition séparée, migrer vers Debian est en effet assez simple ; vous avez juste à dire au système d'installation de monter (mais de ne pas reformater) cette partition lors de la réinstallation. Effectuer des sauvegardes de vos données aussi bien que de la configuration de votre système précédent (i.e. `/etc/' et, peut-être, `/var/') est toujours conseillé. ------------------------------------------------------------------------------- 4. Problèmes de compatibilité ----------------------------- 4.1. Sur quelle architecture matérielle fonctionne Debian GNU/Linux ? --------------------------------------------------------------------- Debian GNU/Linux fournit le code source complet pour tous les programmes, donc elle peut fonctionner sur tous les systèmes supportant le noyau Linux. Voir la FAQ Linux (http://en.tldp.org/FAQ/Linux-FAQ/intro.html#DOES-LINUX-RUN-ON-MY-COMPUTER) pour plus de détails. La version actuelle de Debian GNU/Linux, la 4.0, contient une distribution binaire complète pour les architectures suivantes : _i386_ : ceci couvre les systèmes basés sur les processeurs Intel et compatible, incluant les processeurs Intel 386, 486, Pentium, Pentium Pro, Pentium II (Klamath et Celeron), et Pentium III, et la plupart des processeurs compatibles de AMD, Cyrix et autres. _amd64_ : ceci couvre les systèmes avec des processeurs AMD 64 bits avec l'extension AMD64, ainsi que tous les processeurs Intel avec l'extension EM64T, et fournit un environnement utilisateur en 64 bits. _alpha_ : les systèmes Alpha de Compaq/Digital. _sparc_ : ceci couvre les SPARC de SUN et la plupart des systèmes UltraSPARC. _powerpc_ : ceci couvre certaines machines IBM/Motorola PowerPC, incluant les machines CHRP, PowerMac et PReP. _arm_ : les machines ARM et StrongARM. _mips_ : les systèmes MIPS gros-boutiens de SGI, Indy et Indigo2; _mipsel_ : les machines MIPS petit-boutiennes, Digital DECstations. _hppa_ : les machines PA-RISC de Hewlett-Packard (712, C3000, L2000, A500). _ia64_ : les ordinateurs Intel IA-64 (« Itanium »). _s390_ : les systèmes mainframe S/390 de IBM. Le développement d'une distribution binaire Debian pour les architectures Sparc 64 (native UltraSPARC) est actuellement en cours. La prise en charge de l'architecture _m68k_ a été arrêtée pour cette version, car elle ne remplissait plus les critères fixés par les responsables de publication de Debian. Cette architecture couvre les Amiga et les ATARI avec un processeur 680x0 avec x supérieur à 2 ; avec MMU. Cependant, ce portage est toujours actif et disponible à l'installation même s'il ne fait pas partie de la publication stable officielle. Ce portage pourrait être réactivé lors de futures publications. Pour plus d'informations sur les portages disponibles, consultez les pages web sur les portages (http://www.debian.org/ports/). Pour de plus amples informations sur le démarrage, le partitionnement du disque, l'activation des périphériques PCMCIA (« PC Card ») et sur des questions semblables, veuillez-vous référer aux instructions du manuel d'installation, qui est disponible sur notre site web à l'adresse http://www.debian.org/releases/stable/installmanual. 4.2. Debian est-elle compatible avec les autres distributions ? --------------------------------------------------------------- Les développeurs Debian communiquent avec les responsables des autres distributions Linux pour maintenir la compatibilité binaire entre les distributions Linux. La plupart des produits Linux commerciaux fonctionnent aussi bien sous Debian que sur le système pour lequel ils ont été construits. Debian GNU/Linux se conforme à la norme de hiérarchie du système de fichiers Linux (http://www.pathname.com/fhs/) (« Linux Filesystem Hierarchy Standard »). Cependant, certaines des règles de cette norme laissent une part à l'interprétation, de ce fait il peut y avoir de légères différences entre un système Debian et les autres systèmes Linux. Debian GNU/Linux prend en charge les logiciels développés pour Linux Standard Base (http://www.linuxbase.org/). LSB est une spécification visant à permettre l'exécution d'un unique paquet binaire par différentes distributions. La distribution Debian Etch est certifiée pour la version 3.1 de LSB, voir la page web des certifications de la Linux Foundation (https://www.linux-foundation.org/lsb-cert/productdir.php). Les discussions et la coordination visant la conformité de Debian aux exigences de la LSB se tiennent sur la liste de diffusion debian-lsb (http://lists.debian.org/debian-lsb/). 4.3. Comment le code source compatible Debian l'est-il avec d'autres systèmes Unix ? ---------------------------------------------------------------------------- Pour la plupart des applications, le code source de Linux est compatible avec les autres systèmes Unix. Il gère presque tout qui est disponible pour les systèmes Unix de type système V et pour les systèmes dérivés des BSD libres et commerciaux. Cependant dans le monde Unix une telle déclaration n'a presque aucune valeur parce qu'il n'y a aucune possibilité de la prouver. Dans le secteur du développement logiciel, la compatibilité complète est exigée et pas seulement une compatibilité dans « la plupart des » cas. Ainsi il y a des années le besoin de normes s'est ressenti, et de nos jours POSIX.1 (norme 1003.1-1990 d'IEEE) est une des normes principales pour la compatibilité du code source des systèmes d'exploitation de type Unix. Linux est prévu pour adhérer à POSIX.1, mais les normes de POSIX ne sont pas gratuites et la certification POSIX.1 (et FIPS 151-2) est très chère ; ce qui fait qu'il est très difficile pour les développeurs Linux de travailler sur une conformité complète de la norme Posix. Les coûts de certification rendent peu probable l'obtention par Debian d'une certification officielle de conformité même s'il passait complètement la suite de validation (la suite de validation est maintenant disponible gratuitement, ainsi on s'attend à ce que plus de personnes travaillent sur les questions POSIX.1). Unifix GmbH (Braunschweig, Allemagne) a développé un système Linux qui a été certifié conforme à la norme FIPS 151-2 (un sur-ensemble de POSIX.1). Cette technologie était disponible dans une distribution de Unifix appelée Unifix Linux 2.0 et dans Linux-FT de Lasermoon. 4.4. Peut-on utiliser des paquets Debian (fichiers « .deb ») sur un système Linux Red Hat/Slackware/... ? Peux-t-on utiliser des paquets Red Hat (fichiers « .rpm ») sur un système Debian GNU/Linux ? ---------------------------------------------------------------------------- Les différentes distributions Linux utilisent des formats de paquets et des programmes de gestion de paquets différents. _Vous pouvez probablement :_ Un programme pour installer un paquet de Debian sur une machine Linux d'une autre distribution est disponible et fonctionnera généralement, dans le sens que les fichiers seront désarchivés. L'inverse est probablement vraie également, c.-à-d. : un programme pour désarchiver un paquet Red Hat ou Slackware sur une machine Debian GNU/Linux réussira probablement avec succès à désarchiver le paquet et à placer la plupart des fichiers dans leur répertoire prévu. C'est en grande partie une conséquence de l'existence (et de la large adhérence) à la norme de hiérarchie du système de fichiers Linux. Le paquet alien (http://packages.debian.org/alien) est utilisé pour convertir les différents formats des paquets. _Vous ne voulez probablement pas :_ La plupart des responsables de paquet écrivent des fichiers de contrôle utilisés pour le désarchivage des paquets. Ces fichiers de contrôle ne sont généralement pas standardisés. Par conséquent, l'effet de désarchiver un paquet Debian sur une machine d'une autre distribution aura (certainement) des effets imprévisibles sur le gestionnaire de paquets du système. De même, les utilitaires d'autres distributions pourraient réussir à dépaqueter leurs archives sur des systèmes Debian, mais feront probablement échouer le système de gestion de paquets de Debian quand le temps viendra d'améliorer ou d'enlever quelques paquets, ou même simplement pour rapporter exactement quels paquets sont présents sur un système. _Une meilleure méthode :_ La norme de système de fichiers Linux (et donc aussi de Debian GNU/Linux) exige que le sous-répertoire `/usr/local/' soit entièrement à la discrétion de l'utilisateur. Donc les utilisateurs peuvent désarchiver leur paquet dans ce répertoire, puis administrer leur configuration, les mettre à niveau et les déplacer individuellement. 4.5. Comment installer un programme n'appartenant pas à Debian ? ---------------------------------------------------------------- Les fichiers sous le répertoire `/usr/local/' ne sont pas sous le contrôle du système de gestion des paquets Debian. Ainsi, c'est une bonne habitude de mettre le code source de vos programmes dans le répertoire `/usr/local/src'. Par exemple, vous pouvez extraire les fichiers d'une archive appelée « foo.tar » dans le répertoire `/usr/local/src/foo'. Après la compilation, déposez les binaires dans `/usr/local/bin/', les bibliothèques dans `/usr/local/lib/' et les fichiers de configuration dans `/usr/local/etc/'. Si vos programmes et/ou fichiers doivent vraiment être placés dans un autre répertoire, vous pourriez les stocker tout de même dans `/usr/local/', et établir les liens symboliques appropriés de l'endroit exigé vers son emplacement dans `/usr/local/', par exemple, vous pourriez faire le lien ln -s /usr/local/bin/foo /usr/bin/foo De toute façon, si vous récupérez un programme dont le copyright permet la redistribution, vous devriez considérer la possibilité d'en faire un paquet Debian et de le télécharger pour le système de Debian. Les directives pour devenir un responsable de paquet sont incluses dans le manuel de la charte Debian (voir Section 12.1, `Quelles autres documentations existent sur le système Debian ?'). 4.6. Pourquoi ne peut-on pas compiler de programme nécessitant libtermcap ? --------------------------------------------------------------------------- Debian emploie la base de données de terminfo et la bibliothèque de ncurses pour les interfaces des terminaux, plutôt que la base de données et la bibliothèque de termcap. Les utilisateurs qui compilent des programmes demandant des connaissances sur l'interface terminal devraient remplacer les références à `libtermcap' par des références à `libncurses'. Pour faire fonctionner les binaires qui ont déjà été liés avec la bibliothèque `termcap' et dont vous n'avez pas les sources, Debian fournit un paquet appelé `termcap-compat'. Ceci fournit les deux bibliothèques `libtermcap.so.2' et `/etc/termcap'. Installez ce paquet si le programme refuse de s'exécuter et affiche le message d'erreur « can't load library 'libtermcap.so.2' », ou ce plaint au sujet du fichier `/etc/termcap' manquant. 4.7. Pourquoi ne peut-on pas installer AccelX ? ----------------------------------------------- AccelX utilise la bibliothèque `termcap' pour son installation. Voir Section 4.6, `Pourquoi ne peut-on pas compiler de programme nécessitant libtermcap ?' ci-dessus. 4.8. Pourquoi mes vieilles applications Motif sous XFree 2.1 plantent-elles ? ---------------------------------------------------------------------------- Vous avez besoin d'installer le paquet `motifnls' qui fournit les fichiers de configuration de XFree-2.1 nécessaire pour permettre aux applications compilées sous XFree-2.1 de tourner sous XFree-3.1. Sans ces fichiers, certaines applications Motif compilées sur une autre machine (comme Netscape) peuvent se planter lors d'un copier-coller depuis ou vers un champ texte et il peut y avoir d'autres problèmes. ------------------------------------------------------------------------------- 5. Logiciels disponibles sur un système Debian ---------------------------------------------- 5.1. Quelles sont les applications et les logiciels de développement disponibles sous Debian GNU/Linux ? ---------------------------------------------------------------------------- Comme pour la plupart des distributions Linux, Debian GNU/Linux fournit : * la majorité des applications GNU pour le développement de logiciels, de manipulation de fichiers et de traitement de textes, y compris GCC, g++, make, texinfo, Emacs, le shell Bash et de nombreux utilitaires améliorés d'Unix, * Perl, Python, Tcl/Tk, différents programmes apparentés, des modules et des bibliothèques pour chacun d'eux, * TeX (LaTeX) et Lyx, dvips, Ghostscript, * le système X Window, qui fournit pour Linux une interface utilisateur graphique gérée en réseau, et de nombreuses applications X comme les environnements de bureau GNOME, KDE et Xfce. * un ensemble complet d'applications réseau, incluant des serveurs pour les protocoles internet (IP), telles que HTTP (WWW), FTP, NNTP (groupes de discussion), SMTP et POP (courrier) et DNS (serveur de noms) ; des bases de données relationnelles comme PostgreSQL, MyQSL ; des navigateurs web incluant les divers produits Mozilla [1], * un ensemble complet d'applications de bureau, incluant la suite OpenOffice.org, Gnumeric et d'autres tableurs, des éditeurs WYSIWYG (« What You See Is What You Get », i.e. « vous obtenez ce que vous voyez »), des calendriers. Plus de 18040 paquets, allant des serveurs, aux lecteurs de nouvelles, aux gestionnaires de son, aux programmes de fax, aux bases de données et aux tableurs, aux programmes de traitement d'image, de communication, de réseau, aux utilitaires de courrier, aux serveurs web, et même des programmes de radio amateur sont inclus dans la distribution. 560 autres logiciels sont disponibles sous forme de paquets Debian, mais ne font pas formellement partie de Debian à cause des restrictions de leurs licences. [1] Ils ont été, cependant, démarqués et sont fournis avec des noms différents à cause de problèmes liés à la marque commerciale 5.2. Qui a écrit tous ces logiciels ? ------------------------------------- Pour chaque paquet les _auteurs_ des programmes sont indiqués dans le fichier `/usr/share/doc/PAQUET/copyright', où PAQUET doit être substitué par le nom du paquet. Les _responsables_ qui ont créé le paquet de ce logiciel pour le système Debian GNU/Linux sont listés dans le fichier de contrôle Debian (voir Section 7.4, `Qu'est ce qu'un fichier de contrôle ?') présent dans tous les paquets. Le changelog Debian, disponible à `/usr/share/doc/PACKAGE/changelog.Debian.gz', mentionne aussi les personnes qui ont travaillé au paquetage Debian. 5.3. Comment puis-je obtenir la liste de tous les programmes qui ont été empaquetés pour Debian ? ---------------------------------------------------------------------------- Une liste complète est disponible sur n'importe quel miroir Debian (http://www.debian.org/distrib/ftplist), dans le fichier `indices/Maintainers'. Ce fichier contient le nom des paquets et les noms et adresses électroniques de leurs responsables respectifs. L'interface web pour les paquets Debian (http://packages.debian.org/) regroupe de façon pratique les paquets de l'archive Debian dans une trentaine de sections. 5.4. Comment puis-je installer un environnement de développeur pour construire des paquets ? ---------------------------------------------------------------------------- Si vous voulez construire des paquets pour votre système Debian, vous aurez besoin d'un environnement de développement basique, comprenant un compilateur C/C++ et quelques autres paquets essentiels. Afin d'installer cet environnement, vous avez juste besoin d'installer le `build-essential'. Ce paquet est un méta-paquet qui dépend des outils standards de développement dont on a besoin pour construire un paquet Debian. Quelques logiciels peuvent cependant avoir besoin de programmes supplémentaires pour être reconstruits, comprenant les en-têtes de bibliothèqye ou des outils additionnels tels que `autoconf' ou `gettext'. Debian fournit beaucoup des outils nécessaires pour construire d'autres logiciels en paquets Debian. Trouver quel logiciel est précisément requis peut être embêtant. Cependant, à moins que vous n'ayez l'intention de reconstruire des paquets Debian. Cette dernière tâche est assez facile à faire, puisque les paquets officiels doivent inclure une liste des logiciels additionnels (en plus des paquets dans `build-essential') nécessaires pour construire le paquet, connus sous le nom de `Build-Dependencies' (dépendances pour construire). Pour installer tous les paquets nécessaires à la construction d'un paquet source donné et ensuite construire le-dit paquet source vous pouvez juste lancer : # apt-get build-dep # apt-get source --build Veuillez noter que si vous voulez construire les noyaux Linux distribués par Debian, vous voudrez également installer le paquet `kernel-package'. Pour plus d'informations, consultez Section 10.2, `Quel est l'outil fourni par Debian pour construire des noyaux personnalisés ?'. 5.5. Que manque-t-il dans Debian GNU/Linux ? -------------------------------------------- Il existe une liste de paquets ayant encore besoin d'être empaquetés, les paquets en souffrance et paquets souhaités (http://www.debian.org/devel/wnpp/) Pour plus d'informations sur l'ajout des choses manquantes, allez voir Section 13.1, `Comment devenir un développeur Debian ?'. 5.6. Pourquoi est-ce que j'obtiens le message « ld: cannot find -lfoo » quand je compile un programme ? Pourquoi n'y a-t-il pas de fichier libfoo.so dans les paquets de bibliothèque Debian ? ---------------------------------------------------------------------------- La charte de Debian exige que de tels liens symboliques (sur libfoo.so.x.y.z ou semblable) soient placés dans des paquets séparés, les paquets de développement. Ces paquets sont habituellement appelés libfoo-dev ou libfooX-dev (si la bibliothèque est appelée libfooX où X est un nombre). 5.7. Comment Debian gère-t-elle Java ? -------------------------------------- Quelques implémentations _libres_ de la technologie Java sont disponibles comme paquets Debian, fournissant à la fois des kits de développement Java (JDK) et des environnments d'exécution (Runtime Environment). Vous pouvez écrire, déboguer et lancer des programmes Java en utilisant Debian. L'exécution d'applets Java nécessite un navigateur web possédant les capacités de les identifier et de les exécuter. Plusieurs navigateurs web disponibles dans Debian, tels que Mozilla ou Konqueror gèrent les greffons Java qui permettent l'exécution des applets Java. Reportez-vous à la FAQ Java et Debian GNU/Linux (http://www.debian.org/doc/manuals/debian-java-faq/) pour plus d'informations. 5.8. Comment puis-je vérifier que j'emploie un système Debian, et quelle est sa version ? ---------------------------------------------------------------------------- Afin de s'assurer que votre système a été installé à partir des disques d'installation de Debian, vérifiez l'existence du fichier `/etc/debian_version', qui contient une seule ligne donnant le numéro de version, défini par le paquet `base-files'. L'existence sur votre système du programme `dpkg' prouve que vous devriez pouvoir installer des paquets Debian, mais comme le programme a été porté sur beaucoup d'autres systèmes d'exploitation et d'architectures, ce n'est donc pas une méthode fiable pour déterminer si c'est un système Debian GNU/Linux. Les utilisateurs devraient se rendre compte, cependant, que le système de Debian est constitué de beaucoup de composants, dont chacun peut être mis à jour (presque) indépendamment. Chaque version de Debian possède un contenu bien défini et invariable. Les mises à jour sont disponibles séparément. Pour avoir sur une ligne la description de l'état d'installation du paquet `foo', utilisez la commande `dpkg --list foo'. Pour voir les numéros de versions de tous les paquets installés, exécutez : dpkg -l Pour une description plus détaillée, employez : dpkg --status foo 5.9. Comment Debian gère-t-elle les langues non anglophones ? ------------------------------------------------------------- * Debian GNU/Linux est distribuée avec des cartes de clavier (keymaps) pour presque deux douzaines de clavier, et avec des utilitaires (dans le paquet `kbd') pour installer, regarder, et modifier ces tables. Lors de l'installation, l'utilisateur doit indiquer le clavier qu'il emploiera. * La grande majorité des logiciels que nous avons empaquetés gèrent la saisie de caractères non-US-ASCII utilisés dans d'autres langues latines (par exemple iso-8859-1 ou iso-8859-2), et un certain nombre de programmes gèrent les langues sur plusieurs octets telles que le japonais ou le chinois. * Actuellement, la gestion pour les pages de manuel est fournie en allemand, coréen, espagnol, finnois, français, hongrois, italien, japonais, coréen, hollandais, polonais, portugais, russe, turc et chinois grâce au paquet `manpages-LANG' (où LANG est constitué des deux lettres du code ISO du pays). Pour accéder à une page de manuel NLS, l'utilisateur doit positionner la variable d'environnement LC_MESSAGES correctement. Par exemple, dans le cas des pages de manuel en français, LC_MESSAGES doit être positionnée à « french ». Le programme `man' recherchera alors les pages de manuel en français sous /usr/share/man/fr/. 5.10. Où est le programme pine ? -------------------------------- En raison de sa licence restrictive, il est dans la section « non-free ». D'ailleurs, puisque la licence ne permet même pas de distribuer des binaires modifiés, vous devrez le compiler vous-même avec les sources et les correctifs Debian. Le paquet source s'appelle `pine'. Vous pouvez utiliser le paquet `pine-tracker' pour être informé quand vous devez le mettre à jour. Notez qu'il existe beaucoup de remplaçants pour les programmes pine et pico, tels que `mutt' et `nano', qui eux sont situés dans la section « main ». 5.11. Où sont les programmes qmail, ezmlm et djbdns ? ----------------------------------------------------- Dan J. Bernstein publiait tous les logiciels qu'il développe (http://cr.yp.to/software.html) avec une licence restrictive qui n'autorisait pas à modifier les binaires distribués. Cependant, en novembre 2007, Bernstein a déclaré : « [...] j'ai décidé de mettre tous mes programmes futurs et [...] passés dans le domaine public. » Consultez la FAQ des distributeurs (http://cr.yp.to/distributors.html) pour les termes de sa distribution. Depuis avril 2008, `daemontools', `djbdns' et `ucspi-tcp' sont distributés dans Debian lenny (dans la section main). Au moment où ces lignes ont été écrites (avril 2008), `qmail' n'est pas encore empaqueté pour Debian main ; consultez Bug #457318 (ITP qmail) (http://bugs.debian.org/457318) pour connaître le statut actuel du paquet. En avril 2008, `publicfile' et `ezmlm' n'étaient pas encore des logiciels libres. Pour `ezmlm', il y a le paquet `ezmlm-src' dans la section non-free. 5.12. Où y a-t-il un lecteur pour Flash (SWF) ? ----------------------------------------------- Debian contient `gnash' et `swfdec' : 2 lecteurs libres de films SWF. 5.13. Où est Google Earth ? --------------------------- Google Earth, disponible pour GNU/Linux à partir du site web de Google, n'est non seulement pas un logiciel libre, mais est complètement non distribuable par un tiers. Cependant, `googleearth-package' (dans la section contrib) peut aider à utiliser ce logiciel. 5.14. Où est le logiciel de VoIP ? ---------------------------------- Deux protocoles ouverts principaux sont utilisés pour la voix sur IP : SIP et H.323. Les deux sont implémentés par une large variété de programmes dans la section main de Debian. `ekiga' est l'un des clients les plus populaires. 5.15. J'ai une carte réseau sans-fil qui ne fonctionne pas avec Linux. Que dois-je faire ? ---------------------------------------------------------------------------- Achetez-en une qui le fait. :-) Autrement, utilisez `ndiswrapper' pour utiliser un pilote pour Windows (si vous en avez un) avec votre système Linux. Consultez la page ndiswrapper du Wiki Debian (http://wiki.debian.org/NdisWrapper) pour plus d'informations. ------------------------------------------------------------------------------- 6. Les archives FTP de Debian ----------------------------- 6.1. Combien de distributions de Debian y a-t-il ? -------------------------------------------------- Il y a trois distributions majeures, la distribution « stable », la distribution « testing », et la distribution « unstable ». La distribution « testing » est quelque fois gelée (« frozen ») (voyez Section 6.5.1, `Que dire de « testing » ? Comment est-elle gelée (« frozen ») ?'). À côté de celles-là, on trouve également la distribution « oldstable » (celle qui précédait la « stable » ainsi que la distribution « experimental ». « Experimental » est utilisée pour les paquets encore en cours de développement qui comportent des risques importants pour le fonctionnement de votre système. Elle est utilisée par les développeurs qui veulent étudier et tester les versions les plus récentes des logiciels. Les utilisateurs ne devraient pas utiliser ces paquets-là, car ils peuvent être dangereux et endommager les systèmes des utilisateurs même les plus expérimentés. Consultez Chapitre 3, `Choisir une distribution de Debian' pour de l'aide sur le choix d'une distribution Debian. 6.2. À quoi correspondent tous les noms comme etch, lenny, etc. ? ----------------------------------------------------------------- Ce sont justes des noms de code. Quand une distribution Debian est en cours de développement, elle n'a aucun numéro de version mais un nom de code. Le but de ces noms de code est de faciliter la copie sur les miroirs des distributions Debian (si un véritable répertoire comme `unstable' est soudainement renommé en `stable', beaucoup de choses devraient être inutilement téléchargées). Actuellement, la version `stable' est un lien symbolique vers `etch' (c.-à-d. Debian GNU/Linux 4.0) et la version `testing' est un lien symbolique vers `lenny'. Ceci signifie que `etch' est la distribution « stable » actuelle et `lenny' est la distribution « testing » actuelle. `Unstable' est un lien symbolique permanent vers `sid', car `sid' est toujours la distribution « unstable ». 6.2.1. Quels noms de code ont déjà été utilisés ? ------------------------------------------------- Les autres noms de code qui ont déjà été employés sont : `buzz' pour la version 1.1, `rex' pour la version 1.2, `bo' pour les versions 1.3.x, `hamm' pour la version 2.0, `slink' pour la version 2.1, `potato' pour la version 2.2, `woody' pour la version 3.0, `sarge' pour la version 3.1 et `etch' pour la version 4.0. 6.2.2. D'où proviennent les noms de code ? ------------------------------------------ Jusqu'ici les noms de code proviennent des personnages du film « Toy Story » par Pixar. * _buzz_ (Buzz Lightyear) est le cosmonaute, * _rex_ est le tyrannosaure, * _bo_ (Bo Peep) est la bergère, * _hamm_ est la tirelire en forme de cochon, * _slink_ (Slinky Dog ®) est le chien, * _potato_ est bien sûr, Mr. Patate ®, * _woody_ est le cowboy, * _sarge_ est le sergent de l'armée de plastique vert, * _etch_ est l'ardoise magique (Etch-a-Sketch ®), * _lenny_ est la paire de jumelles. * _sid_ est le garçon des voisins qui détruit les jouets. 6.3. Que dire de « sid » ? -------------------------- _Sid_ ou _« unstable »_ est le lieu où la plupart des paquets sont initialement téléchargés. Elle ne sera jamais directement publiée, parce que les paquets devront d'abord être inclus dans _« testing »_, afin d'être publiés dans _« stable »_ plus tard. Sid contient des paquets pour l'ensemble des architectures publiées ou non. Le nom « sid » vient aussi du film d'animation Toy Story : Sid est le garçon des voisins qui détruit les jouets. [1] [1] Quand la sid n'existait pas, l'organisation du site FTP avait un défaut majeur. On supposait que quand une architecture était créée dans la distribution « unstable » actuel, elle serait publiée quand la distribution deviendrait la nouvelle distribution « stable ». Pour beaucoup d'architectures ce n'était pas le cas, ce qui obligeait à déplacer ces répertoires lors de la sortie d'une version. Ce n'était pas pratique parce que le déplacement aurait consommé beaucoup de bande passante. Les administrateurs ont évité le problème pendant plusieurs années en plaçant les binaires pour les architectures non publiées dans un répertoire particulier nommé « sid ». Pour les architectures non encore publiées, lors de leurs sorties, un lien entre la stable courante et sid était créé et à partir de là elles étaient créées normalement dans l'arborescence « unstable ». Cette disposition était légèrement déconcertante pour les utilisateurs. Avec l'arrivée des répertoires communs (voir Section 6.10, `Que trouve-t-on dans le répertoire `pool' ?'), les paquets ont commencé à être placés dans un endroit standard dans le pool, quelle que soit la distribution, donc la publication d'une distribution n'entraîne plus de consommation excessive de bande passante sur les miroirs (mais il y a cependant une consommation graduelle de la bande passante pendant le processus de développement). 6.4. Que contient le répertoire stable ? ---------------------------------------- * stable/main/ : Ce répertoire contient les paquets qui constituent la version la plus récente du système Debian GNU/Linux. Ces paquets sont tous conformes aux principes du logiciel libre selon Debian (http://www.debian.org/social_contract#guidelines) (Debian Free Software Guidelines, DFSG) et sont tous librements utilisables et librements distribuables. * stable/non-free/ : Ce répertoire contient les paquets de la distribution ayant certaines restrictions, ce qui oblige les distributeurs à tenir compte soigneusement des conditions définies dans les copyright. Par exemple, certains paquets ont une licence avec une clause interdisant une distribution commerciale. D'autres peuvent être redistribués mais sont en fait des partagiciels (shareware) et non pas des logiciels libres (free software). La licence de chaque paquet doit être étudiée, et probablement négociée, avant qu'ils ne soient inclus dans toutes distributions (par exemple sur un cédérom). * stable/contrib/ : Ce répertoire contient les paquets qui sont conformes aux DFSG et _librement distribuables_, mais dépendent d'une façon ou d'une autre d'un paquet qui _n'est pas_ librement distributable et ainsi disponible seulement dans la section non-free. 6.5. Que contient la distribution testing ? ------------------------------------------- Des paquets sont installés dans le répertoire « testing » après qu'ils aient subi un certain nombre de tests dans « unstable ». Ils doivent être synchronisés sur toutes les architectures où ils ont été construits et ne doivent pas avoir de dépendances qui empêcheraient leur installation ; ils doivent également avoir moins de bogues critiques que les versions actuellement dans « testing ». De cette façon, nous espérons que « testing » soit une version toujours prête à la publication. Plus d'informations sur l'état de « testing » en général et sur les différents paquets sont disponibles à http://www.debian.org/devel/testing. 6.5.1. Que dire de « testing » ? Comment est-elle gelée (« frozen ») ? ---------------------------------------------------------------------- Quand la distribution « testing » est suffisamment mature, le gestionnaire de version commence à geler la distribution. Le temps de propagation des paquets entre les distribution est augmenté pour s'assurer que le moins possible de bogues passe de la distribution « unstable » dans « testing ». Après un moment, la distribution « testing » devient vraiment gelée. Ceci signifie que tous les nouveaux paquets qui devaient entrer dans « testing » sont bloqués, à moins qu'il ne corrige un bogue critique (release critical). La distribution « testing » peut également demeurer dans un gel profond pendant les cycles d'essai, quand la publication est imminente. Nous conservons un enregistrement des bogues de la distribution « testing » qui peuvent empêcher un paquet d'être publié, ou retarder la publication de la distribution. Pour plus de détails, veuillez-vous reporter aux informations sur la version testing actuelle (http://www.debian.org/releases/testing/). Une fois que le nombre de bogues a atteint une valeur maximale acceptable, la distribution « testing » gelée est déclarée « stable » et publiée avec un numéro de version. Avec chaque nouvelle version, l'ancienne distribution « stable » devient obsolète et est déplacée de l'archive. pour plus d'informations, reportez-vous à Debian archive (http://www.debian.org/distrib/archive). 6.6. Que contient la distribution unstable ? -------------------------------------------- Le répertoire « unstable » contient une image du système en cours de développement. Les utilisateurs sont les bienvenus pour utiliser et tester ces paquets, mais soyez averti au sujet de leur état. L'avantage d'utiliser la distribution « unstable » est que votre système est toujours à jour avec la dernière version des logiciels GNU/Linux, mais s'il y a un problème, vous en découvrirez les mauvais côtés. Il y a aussi dans « unstable » des sous-répertoires main, contrib et non-free remplis avec les mêmes critères que dans « stable ». 6.7. Quels sont tous ces répertoires dans les archives FTP de Debian ? ---------------------------------------------------------------------- Le logiciel empaqueté pour Debian GNU/Linux est disponible dans un des nombreux répertoires présent sur chaque site miroir de Debian. Le répertoire `dists' est une abréviation pour « distributions » et c'est la manière canonique pour accéder à la version (et pré-versions) Debian actuellement disponible. Le répertoire `pool' contient les paquets actuels, voir Section 6.10, `Que trouve-t-on dans le répertoire `pool' ?'. On trouve aussi les répertoires supplémentaires suivant : _/tools/_ : Utilitaire DOS pour la création de disque de démarrage, pour le partitionnement de votre disque, pour la compression et la décompression de fichiers et pour le démarrage de Linux. _/doc/_ : La documentation de base de Debian, comme cette FAQ, les instructions pour le système de rapport de bogues, etc. _/indices/_ : Différents fichiers d'indices (comme le fichier Maintainers et les fichiers override). _/project/_ : Principalement des ressources pour les développeurs et divers fichiers. 6.8. Que sont tous ces répertoires dans `dists/stable/main' ? ------------------------------------------------------------- Dans chacune des arborescences des répertoires majeurs [1], il y a trois ensembles de sous-répertoires contenant les fichiers catalogues. Il y a un ensemble de sous-répertoires `binary-' contenant les fichiers catalogues pour les paquets binaires de chaque architecture disponible. Par exemple, `binary-i386' pour les paquets s'exécutant sur les machines Intel x86 ou `binary-sparc' pour les paquets s'exécutant sur les SPARCStations Sun. La liste complète de toutes les architectures disponibles pour chaque version est accessible à l'adresse the release's web page (http://www.debian.org/releases/). Pour la version en cours, veuillez-vous reporter à Section 4.1, `Sur quelle architecture matérielle fonctionne Debian GNU/Linux ?'. Les fichiers catalogues dans les répertoires `binary-*' sont nommés Packages(.gz, .bz2) et fournissent un résumé de chaque paquet binaire présent dans la distribution. Les paquets binaires se trouvent à la racine du répertoire `pool'. De plus, il y existe un sous-répertoire nommé `source/' contenant les fichiers catalogues pour les paquets sources contenus dans la distribution. Le fichier catalogue est nommé Sources(.gz, .bz2). Le dernier mais non des moindre, est un ensemble de sous-répertoires utilisé pour les fichiers catalogues du système d'installation. Ils sont présents dans un répertoire `debian-installer/binary-'. [1] `dists/stable/main', `dists/stable/contrib', `dists/stable/non-free' et `dists/unstable/main/', etc. 6.9. Où trouve-t-on le code source ? ------------------------------------ Le code source est inclus pour tout le système Debian. De plus, les termes de la licence de la plupart des programmes du système _requièrent_ que le code source soit distribué avec le programme, ou qu'un moyen de récupérer ce code accompagne le programme. Le code source est distribué dans le répertoire `pool' (voir Section 6.10, `Que trouve-t-on dans le répertoire `pool' ?') avec les binaires de toutes les architectures. Pour récupérer le code source sans être familier avec la structure de l'archive FTP, exécutez une commande comme `apt-get source monpaquet'. Certains paquets ne sont distribués que sous forme de code source à cause de restrictions de leur licence. Notamment, l'un de ces paquets est `pine', voir Section 5.10, `Où est le programme pine ?' pour plus d'informations. Le code source peut ou non être disponible pour les paquets dans les sections « contrib » et « non-free », qui ne font pas formellement partie du système Debian. 6.10. Que trouve-t-on dans le répertoire `pool' ? ------------------------------------------------- Les paquets sont gardés dans un répertoire commun (« pool »), structuré selon le nom des paquets sources. Pour rendre cela gérable, le répertoire est divisé par section (« main », « contrib » et « non-free ») et dans chaque section par la première lettre du nom des paquets sources. Ces répertoires contiennent plusieurs fichiers : les paquets binaires pour chaque architecture et les paquets sources à partir desquels sont construits les paquets binaires. Vous pouvez voir où chaque paquet est conservé en exécutant la commande `apt-cache showsrc monpaquet' et en regardant la ligne « Directory: ». Par exemple, les paquets `apache' sont conservés dans `pool/main/a/apache/'. De plus, comme il existe de nombreux paquets de bibliothèque `lib*', ceux-ci sont traités différemment. Par exemple, le paquet `libpaper' est placé dans le répertoire `pool/main/libp/libpaper/'. [1] [1] Historiquement, les paquets étaient conservés dans le sous-répertoire `dists' correspondant aux distributions. Ceci s'est avéré poser certains problèmes, comme une grande consommation de bande passante sur des miroirs lors de changements majeurs. Ces problèmes ont été résolus avec l'introduction du répertoire pool. Le répertoire `dists' est encore utilisé pour les fichiers catalogues servant à des programmes comme `apt'. 6.11. Qu'est-ce que le répertoire incoming ? -------------------------------------------- Après qu'un développeur a envoyé un paquet, il est conservé dans le répertoire « incoming » avant de vérifier son origine et de l'autoriser dans l'archive. Généralement personne ne devrait installer des paquets provenant de ce répertoire. Cependant, dans certains rares cas d'urgence le répertoire « incoming » est disponible à http://incoming.debian.org/. Vous devrez télécharger manuellement les paquets, vérifier les signatures GPG et les sommes MD5 dans les fichiers .changes et .dsc et les installer ensuite. 6.12. Comment mettre en place son propre dépôt pour apt ? --------------------------------------------------------- Si vous avez construit quelques paquets Debian que vous voudriez pouvoir installer en utilisant les outils de gestion de paquets de Debian, vous pouvez mettre en place votre propre archive de paquets pour apt. C'est également utile si vous voulez partager vos paquets Debian tant qu'ils ne sont pas distribués par le projet Debian. Les instructions de mise en oeuvre sont données dans le Guide pratique des référentiels Debian (http://www.debian.org/doc/manuals/repository-howto/repository-howto). ------------------------------------------------------------------------------- 7. Les bases du système de gestion des paquets Debian ----------------------------------------------------- Ce chapitre touche aux mécanismes internes de bas niveau du système de gestion de paquets Debian. Si vous êtes avant tout intéressé par l'_utilisation_ des outils appropriés, passez aux chapitres Chapitre 8, `Outils de gestion des paquets Debian' et Chapitre 9, `Garder son système Debian à jour'. 7.1. Qu'est ce qu'un paquet Debian ? ------------------------------------ Les paquets contiennent généralement tous les fichiers nécessaires pour implémenter un ensemble de commandes ou de fonctionnalités. Il y a deux sortes de paquets Debian : * _Les paquets binaires_ contenant les exécutables, les fichiers de configuration, les pages de manuel ou d'info, les informations de copyright et d'autres documentations. Ces paquets sont distribués sous un format d'archive spécifique à Debian (voir Section 7.2, `Quel est le format d'un paquet binaire Debian ?'). Ils sont habituellement reconnaissables par l'extension « .deb ». Ils peuvent être installés en utilisant l'utilitaire `dpkg' (éventuellement avec une interface comme `aptitude') ; vous trouverez plus de détails dans les pages de manuel. * _Les paquets sources_ sont constitués d'un fichier `.dsc' décrivant le paquet source (incluant le nom des fichiers suivants), un fichier `.orig.tar.gz' contenant les sources originales non modifiés au format tar compressé et habituellement un fichier `.diff.gz' contenant les modifications spécifiques à Debian par rapport au source original. L'utilitaire `dpkg-source' permet l'archivage et le désarchivage des sources Debian ; vous trouverez plus de détails dans les pages de manuel. (Le programme `apt-get' peut être utilisé comme une interface pour `dpkg-source'.) L'installation de logiciels par le système de paquets utilise les dépendances qui sont définies avec attention par le responsable du paquet. Ces dépendances sont documentées dans le fichier `control' associé à chaque paquet. Par exemple, le paquet du compilateur GNU C (`gcc') dépend du paquet `binutils' qui contient l'éditeur de lien et l'assembleur. Si un utilisateur essaye d'installer `gcc' sans avoir préalablement installé `binutils', le système de gestion de paquets (dpkg) renverra un message d'erreur disant qu'il a aussi besoin de `binutils' et arrêtera l'installation de `gcc'. (Cependant ceci peut être forcé par un utilisateur insistant, voir dpkg(8)). Pour plus d'informations, voir Section 7.9, `Que signifie qu'un paquet dépend (_Depends_), recommande (_Recommends_), suggère (_Suggests_), est en conflit (_Conflicts_), remplace (_Replaces_) ou fournit (_Provides_) un autre paquet ?' plus loin. Les outils de gestion de paquets Debian peuvent être utilisés pour : * manipuler ou administrer les paquets ou une partie des paquets, * administrer les modifications locales (« overrides ») des fichiers d'un paquets, * aider les développeurs dans la construction de paquets et * aider les utilisateurs dans l'installation de paquets résidant sur un serveur FTP distant. 7.2. Quel est le format d'un paquet binaire Debian ? ---------------------------------------------------- Un paquet Debian ou un fichier d'archive Debian, contient les fichiers exécutables, les bibliothèques, et la documentation liée à une suite particulière de programme ou à un ensemble de programmes. Normalement, un fichier archive Debian a un nom se terminant par `.deb'. Les mécanismes internes du format des paquets binaires Debian sont décrits dans la page de manuel de deb(5). Ce format interne est susceptible de changer (entre chaque version principale de Debian GNU/Linux), donc utilisez toujours dpkg-deb(1) si vous avez besoin d'effectuer des opérations de bas niveau sur des fichiers `.deb'. 7.3. Pourquoi les noms des paquets Debian sont-ils si longs ? ------------------------------------------------------------- Le nom des paquets binaires Debian se conforme à la convention suivante : _-_.deb Notez que `foo' est supposé être le nom du paquet. On peut connaître le nom associé à un fichier d'archive Debian particulier (fichier .deb) d'une de ces manières : * inspecter le fichier « Packages » dans le répertoire où il a été stocké sur un site FTP d'archive Debian. Ce fichier contient une description pour chaque paquet ; le premier champ de chaque description est le nom formel du paquet. * utiliser la commande `dpkg --info foo_VVV-RRR_AAA.deb' (où VVV, RRR et AAA sont respectivement le numéro de version, le numéro de révision, et l'architecture du paquet en question). Ceci affiche, entre autres, le nom du paquet correspondant au fichier archive. Le composant `VVV' est le numéro de version fourni par le développeur amont. Il n'y a pas de standard ici, donc le numéro de version peut avoir différents formats comme « 19990513 » ou « 1.3.8pre1 ». Le composant `RRR' est le numéro de révision Debian et il est choisi par le développeur Debian (ou un utilisateur s'il choisit de construire lui-même son paquet). Ce numéro correspond au niveau de révision du paquet Debian, ainsi, une nouvelle révision signifie généralement des modifications du Makefile Debian (`debian/rules'), du fichier de contrôle Debian `debian/control'), des scripts d'installation ou de désinstallation (`debian/p*') ou des fichiers de configurations utilisés avec le paquet. Le composant `AAA' identifie le processeur pour lequel le paquet a été construit. Il s'agit généralement de `i386', pour les processeurs compatibles avec l'Intel 386 et ultérieurs. La structure de l'archive Debian Section 6.7, `Quels sont tous ces répertoires dans les archives FTP de Debian ?' montre les autres possibilités. Pour plus de détails, consultez la description de « l'architecture Debian » dans la page de manuel dpkg-architecture(1). 7.4. Qu'est ce qu'un fichier de contrôle ? ------------------------------------------ Des détails concernant le contenu du fichier `control' Debian sont fournis dans la charte Debian, au chapitre cinq, voir Section 12.1, `Quelles autres documentations existent sur le système Debian ?'. Brièvement, un fichier `control' est montré ci-dessous pour le paquet Debian hello : Package: hello Priority: optional Section: devel Installed-Size: 45 Maintainer: Adam Heath Architecture: i386 Version: 1.3-16 Depends: libc6 (>= 2.1) Description: Le classique et bon exemple Le programme bonjour de GNU produit une salutation familière et amicale. Il permet à des non-programmeurs d'utiliser un outil classique d'informatique qui leur serait autrement indisponible. . Sérieusement: c'est un exemple sur comment faire un paquet Debian. C'est la version Debian du programme du projet GNU « bonjour le monde » (qui est lui-même un exemple pour le projet de GNU). Le champ « Package » contient le nom du paquet. C'est le nom par lequel les outils de gestion de paquet peuvent le manipuler. Il est habituellement similaire mais pas nécessairement le même à la première chaîne composant le nom de l'archive Debian. Le champ de « Version » donne le numéro de version du développeur amont et (dans le dernier composant) le niveau de révision du paquet de Debian de ce programme comme expliqué dans Section 7.3, `Pourquoi les noms des paquets Debian sont-ils si longs ?'. Le champ « Architecture » indique pour quel processeur ce binaire particulier a été compilé. Le champ « Depends » donne une liste des paquets qui doivent être installés afin d'installer ce paquet avec succès. Le champ « Installed-Size » indique l'espace disque utilisé par le paquet une fois installé. Ceci est prévu pour être employé par les programmes d'installation pour vérifier s'il y a suffisamment d'espace disque disponible pour installer le programme. La ligne « Section » indique la section où le paquet Debian est conservé sur les sites FTP de Debian. Le champ « Priority » indique l'importance d'un paquet pour l'installation, de sorte que des logiciels semi-intelligents comme dselect ou aptitude peuvent trier les paquets dans une catégorie, par exemple les paquets installés facultativement. Voir Section 7.7, `Qu'est ce qu'un paquet _Essential_, _Required_, _Important_, _Standard_, _Optional_ ou _Extra_ ?'. Le champ « Maintainer » contient l'adresse électronique de la personne actuellement responsable de la maintenance du paquet. Le champ « Description » fournit un bref résumé des fonctionnalités du paquet. Pour plus d'informations sur les champs disponibles dans un paquet, reportez-vous au chapitre 5 de la charte Debian, « Fichiers control et leurs champs ». 7.5. Qu'est ce qu'un Debian conffile ? -------------------------------------- Conffiles est une liste de fichiers de configuration (habituellement placés dans `/etc') que le système de gestion de paquet n'écrasera pas quand le paquet est mis à jour. Ceci s'assure que les valeurs locales pour ces fichiers seront préservées, et c'est un dispositif critique permettant la mise à niveau des paquets sur un système en fonctionnement. Pour déterminer exactement quels fichiers sont préservés pendant la mise à jour, lancez : dpkg --status package et regardez la section « Conffiles: ». 7.6. Qu'est-ce qu'un script Debian preinst, postinst, prerm, et postrm ? ------------------------------------------------------------------------ Ces fichiers sont des scripts exécutables qui sont lancés automatiquement avant ou après l'installation d'un paquet. Avec le fichier appelé `control', tous ces fichiers font partie de la section commande d'une archive Debian. Les fichiers individuels sont : preinst Ce script est exécuté avant que le paquet soit désarchivé du fichier archive (.deb). Beaucoup de scripts « preinst » arrêtent les services des paquets qui sont mis à jour jusqu'à ce que leurs installations ou leurs mises à jour soient terminées (suivant le succès de l'exécution du script « postinst »). postinst Ce script termine typiquement n'importe quelle configuration exigée du paquet `foo' une fois que `foo' a été désarchivé à partir du fichier d'archive Debian (« deb »). Souvent le script « postinst » demande à l'utilisateur des informations et avertit l'utilisateur que s'il accepte les valeurs par défaut, il devrait se souvenir de revenir en arrière et de reconfigurer le paquet lorsque la situation le demandera. Beaucoup de scripts « postinst » exécutent toutes les commandes nécessaires au démarrage ou au redémarrage d'un service une fois qu'un nouveau paquet a été installé ou mis à jour. prerm Ce script arrête généralement tous les démons qui sont associés avec le paquet. Il est exécuté avant la suppression des fichiers associés au paquet. postrm Ce script modifie généralement les liens ou les autres fichiers associés avec `foo' et/ou supprime les fichiers créés par le paquet (Voir aussi Section 7.8, `Qu'est-ce qu'un paquet virtuel ?'.) Actuellement tous les fichiers de commande peuvent être trouvés dans le répertoire `/var/lib/dpkg/info'. Les fichiers concernant le paquet `foo' commencent par le nom "foo" et sont suivis par les extensions "preinst", "postinst" etc. Le fichier `foo.list' dans ce répertoire liste tous les fichiers installés par le paquet `foo'. (Notez que l'emplacement de ces fichiers est interne à dpkg ; vous ne devriez pas compter sur eux). 7.7. Qu'est ce qu'un paquet _Essential_, _Required_, _Important_, _Standard_, _Optional_ ou _Extra_ ? ---------------------------------------------------------------------------- À chaque paquet Debian est assignée une priorité par les développeurs de la distribution, c'est une aide pour le système de gestion de paquet. Les priorités sont : * Nécessaire (_Required_) : paquets nécessaire pour le fonctionnement correct du système. Ceci inclut tous les outils nécessaires pour la réparation d'un système défectueux. Vous ne devez pas supprimer ces paquets ou votre système risque de devenir complètement instable et vous ne pourrez probablement pas utiliser dpkg pour corriger cela. Avec seulement les paquets nécessaires, le système sera probablement inutilisable mais il aura suffisamment de fonctionnalités pour permettre de démarrer et d'installer plus de logiciels. * _Important_ : paquets devant être présents sur tous systèmes de type Unix Les autres paquets sans lesquels le système ne fonctionnera pas correctement ou ne sera pas utilisable ont cette priorité. Ceci n'inclut _PAS_ Emacs, X, TeX ou aucune autre grosse application. Ces paquets constituent seulement l'infrastructure de base. * _Standard_ : paquets présents sur n'importe quel système Linux, y compris un système raisonnablement petit mais pas limité à un système en mode console. Des outils sont disponibles pour naviguer sur Internet (en utilisant w3m), envoyer des courriels (avec mutt) et télécharger des fichiers depuis des serveurs FTP. C'est ce qui sera installé par défaut si les utilisateurs ne sélectionnent rien. Cela n'inclut pas les grosses applications, mais intègre l'interpréteur Python et certains serveurs comme OpenSSH (pour l'administration à distance), Exim (pour la livraison des courriels, même s'il peut être configuré en mode local uniquement), un serveur identd (pidentd) et le portmapper RPC (`portmap'). Sont également intégrées certaines documentations générales considérées utiles par la plupart des utilisateurs. * Optionnel (_Optional_) : paquets incluant tous ce que vous pourriez raisonnablement vouloir installer si vous ne savez pas ce que c'est ou si vous n'avez pas précisé de condition. Ceci inclut X, une distribution TeX complète et beaucoup d'applications. * _Extra_ : paquets qui entrent en conflit avec d'autres ayant des priorités plus élevées ou ayant des conditions particulières qui les rendent peu convenables pour être optionnels. Ils sont utiles seulement si vous savez déjà ce qu'ils font. Si vous faites une installation Debian par défaut, tous les paquets ayant une priorité _standard_ ou supérieure seront installés sur votre système. Si vous choisissez des tâches prédéfinies, vous obtiendrez aussi les paquets de priorité plus faible. De plus, certain paquets sont marqués comme essentiels (_Essential_) puisqu'ils sont absolument nécessaires pour un fonctionnement correct du système. Les outils de gestion de paquets refuseront de les supprimer. 7.8. Qu'est-ce qu'un paquet virtuel ? ------------------------------------- Un paquet virtuel est un nom générique qui s'applique à n'importe quel groupe de paquets fournissant une fonctionnalité de base semblable. Par exemple, les programmes `tin' et `trn' sont des programmes de lecture de nouvelles Usenet et devraient donc satisfaire n'importe quelle dépendance d'un programme exigeant la présence d'un programme de lecture de nouvelles sur le système, afin de fonctionner ou pour être utiles. Les deux sont donc capables de fournir le paquet virtuel appelé `news-reader'. De la même façon, `smail' et `sendmail' fournissent tous les deux les fonctionnalités d'un agent de transport de courrier électronique. Les deux sont donc capables de fournir le paquet virtuel `mail-transport-agent'. Si l'un ou l'autre est installé, alors n'importe quel programme exigeant l'installation d'un agent de transport de courrier électronique sera satisfait par l'existence de ce paquet virtuel. Debian fournit un mécanisme de sorte que, si plus d'un paquet fournissant le même paquet virtuel est installé sur le système, alors les administrateurs peuvent choisir leur paquet préféré. La commande appropriée est `update-alternatives', et est décrite plus loin dans Section 11.10, `Certains utilisateurs apprécient mawk, d'autres gawk ; certains utilisent vim, d'autres elvis ; certains préfèrent trn, d'autres tin ; comment Debian gère-t-elle la diversité ?'. 7.9. Que signifie qu'un paquet dépend (_Depends_), recommande (_Recommends_), suggère (_Suggests_), est en conflit (_Conflicts_), remplace (_Replaces_) ou fournit (_Provides_) un autre paquet ? ---------------------------------------------------------------------------- Le système de paquet Debian a une gamme de « dépendances » sur les paquets qui permet d'indiquer (avec un simple drapeau) à quel niveau un programme A peut fonctionner indépendamment de l'existence du programme B sur un système donné : * Le paquet A _dépend_ du paquet B si B doit absolument être installé pour pouvoir exécuter A. Dans certain cas, A dépend non seulement de B mais d'une version de B. Dans ce cas, la dépendance de version est une limite basse, dans le sens que A dépend de toutes versions plus récentes que celle spécifiée. * Le paquet A _recommande_ le paquet B si le responsable du paquet pense que la plupart des utilisateurs ne voudraient pas A sans avoir également la fonctionnalité fournie par B. * Le paquet A _suggère_ le paquet B si B contient des fichiers qui sont liés aux (et augmentent habituellement) fonctionnalités de A. * Le paquet A est en _conflit_ avec le paquet B quand A ne peut pas fonctionner si B est installé sur le système. Le plus souvent les conflits sont des cas où A contient des fichiers qui sont une amélioration de ceux de B. Le conflit est souvent combiné avec le remplacement. * Le paquet A _remplace_ le paquet B quand les fichiers installés par B sont supprimés et (dans certains cas) écrasés par les fichiers de A. * Le paquet A _fournit_ le paquet B quand tous les fichiers et toutes les fonctionnalités de B sont incorporés dans A. Ce mécanisme fournit aux utilisateurs ayant une contrainte d'espace disque un moyen d'obtenir seulement la partie du paquet dont ils ont vraiment besoin. Une information plus détaillée sur l'utilisation de chacun de ces termes peut être trouvée dans la charte Debian. 7.10. Quel est le sens de « Pre-Depends » ? ------------------------------------------- « Pre-Depends » est une dépendance particuilère. Dans le cas de la plupart des paquets, `dpkg' désarchivera les fichiers archives (c.-à-d. les fichiers `.deb') indépendamment de l'existence sur le système des fichiers dont il dépend. De manière simpliste, le désarchivage signifie que `dpkg' extraira à partir du fichier archive les fichiers qui sont censés être installés sur votre système de fichiers, et les mettra en place. Si ces paquets dépendent de l'existence de quelques autres paquets sur votre système, `dpkg' refusera d'accomplir l'installation (par l'exécution de l'action de configuration) jusqu'à ce que les autres paquets soient installés. Cependant, pour certain paquets, `dpkg' refusera de les désarchiver jusqu'à ce que certaines dépendances soient résolues. De tels paquets sont dits « Pré-dépendants » de la présence de quelques autres paquets. Le projet Debian fournissait ce mécanisme pour gérer la mise à jour de systèmes utilisant le format `a.out' vers le format `ELF', où l'ordre de désarchivage était critique. Il y a d'autres situations de mise à jour où cette méthode est utile, par exemple pour les paquets ayant une priorité « required » et des dépendances sur la libc. Comme ci-dessus, une information plus détaillée sur l'utilisation de ce terme peut être trouvée dans la charte Debian. 7.11. Quelle est la signification de _unknown_, _install_, _remove_, _purge_ et _hold_ dans le statut du paquet ? ---------------------------------------------------------------------------- Ces drapeaux indiquent ce que souhaite faire l'utilisateur avec un paquet (ils sont positionnés par les actions de l'utilisateur dans la section « Section » de `dselect' ou par des appels directs de `dpkg' par l'utilisateur). Leurs significations sont : * unknown - L'utilisateur n'a jamais indiqué s'il souhaitait le paquet. * install - L'utilisateur souhaite installer ou mettre à jour le paquet. * remove - L'utilisateur souhaite supprimer le paquet, mais ne désire pas effacer les fichiers de configuration existants. * purge - L'utilisateur souhaite supprimer le paquet complètement, incluant ses fichiers de configuration. * hold - L'utilisateur ne souhaite pas traiter le paquet, c.-à-d. qu'il veut conserver la version courante avec l'état actuel de celui-ci. 7.12. Comment est-ce que je mets un paquet en « hold » ? -------------------------------------------------------- Il y a trois moyens de bloquer un paquet, avec dpkg, aptitude ou dselect. Avec dpkg, vous devez exporter la liste de sélection des paquets, avec la commande : dpkg --get-selections \* > selections.txt puis éditer le fichier `selections.txt', changer la ligne contenant le paquet que vous souhaitez conserver, par exemple pour `libc6', de ceci : libc6 install à ceci : libc6 hold sauvegarder le fichier et le recharger dans la base de données de dpkg avec : dpkg --set-selections < selections.txt Avec aptitude, vous pouvez conserver un paquet en faisant aptitude hold package_name et enlever le drapeau « hold » avec aptitude unhold package_name Avec dselect, vous devez entrer dans l'écran [S]elect, trouver le paquet que vous souhaitez conserver dans l'état actuel, et appuyer sur la touche '=' (ou sur 'H'). Les changements seront pris en compte à la sortie de l'écran [S]elect. 7.13. Comment est-ce que j'installe un paquet source ? ------------------------------------------------------ Les paquets sources Debian ne peuvent pas être véritablement installés, ils sont seulement dépaquetés dans n'importe quel répertoire où vous voulez en construire les paquets binaires. Les paquets sources sont distribués sur la plupart des serveurs où vous pouvez obtenir les paquets binaires. Si vous configurez votre fichier sources.list(5) pour APT en ajoutant la ligne « deb-src » appropriée, vous pourrez facilement télécharger toutes les sources des paquets en lançant la commande apt-get source foo Pour vous aider réellement à la construction du paquet de source, Debian fournit un mécanisme pour les dépendances de construction. Ceci signifie que le responsable du paquet tient une liste des autres paquets nécessaires à la construction du paquet. Po