La FAQ Debian GNU/Linux ----------------------- Vous trouverez la liste des auteurs à Auteurs de la FAQ Debian version CVS, 17 June 2006 ------------------------------------------------------------------------------- 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 Debian GNU/Linux ? 1.2. D'accord, maintenant je sais ce qu'est Debian, qu'est-ce que Linux ? 1.3. Quelle est cette nouvelle chose, le « Hurd » ? 1.4. Quelles sont les différences entre Debian GNU/Linux et les autres distributions Linux ? Pourquoi choisir Debian plutôt qu'une autre ? 1.5. Comment le projet Debian s'insère-t-il avec le projet GNU de la Free Software Foundation ? 1.6. 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 cédéroms ? 2.5. J'ai mon propre graveur de cédérom, existe-t-il des images de cédérom disponibles quelque part ? 2.6. Puis-je faire l'installation depuis des disquettes ? 2.7. Puis-je installer directement depuis un site Internet distant ? 3. Problèmes de compatibilité 3.1. Sur quelle architecture matérielle fonctionne Debian GNU/Linux ? 3.2. Debian est-elle compatible avec les autres distributions ? 3.3. Comment le code source compatible Debian l'est-il avec d'autres systèmes Unix ? 3.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 ? 3.5. Debian est-elle capable d'exécuter de vieux programmes basés sur la libc5 ? 3.6. Debian peut-elle être utilisée pour compiler des programmes avec la libc5 ? 3.7. Comment installer un programme n'appartenant pas à Debian ? 3.8. Pourquoi ne peut-on pas compiler de programme nécessitant libtermcap ? 3.9. Pourquoi ne peut-on pas installer AccelX ? 3.10. Pourquoi mes vieilles applications Motif sous XFree 2.1 plantent-elles ? 4. Logiciels disponibles sur un système Debian 4.1. Quelles sont les applications et les logiciels de développement disponibles sous Debian GNU/Linux ? 4.2. Qui a écrit tous ces logiciels ? 4.3. Comment puis-je obtenir la liste de tous les programmes qui ont été empaquetés pour Debian ? 4.4. Que manque-t-il dans Debian GNU/Linux ? 4.5. 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 ? 4.6. Comment Debian gère-t-elle Java ? 4.7. Comment puis-je vérifier que j'emploie un système Debian, et quelle est sa version ? 4.8. Comment Debian gère-t-elle les langues non anglophones ? 4.9. Que dire de la législation américaine sur l'exportation ? 4.10. Où est le programme pine ? 4.11. Où sont les programmes qmail, ezmlm et djbdns ? 5. Les archives FTP de Debian 5.1. Quels sont tous ces répertoires dans les archives FTP de Debian ? 5.2. Combien de distributions de Debian y a-t-il dans le répertoire `dists' ? 5.3. À quoi correspondent tous les noms comme slink, potato, etc. ? 5.3.1. Quels noms de code ont déjà été utilisés ? 5.3.2. D'où proviennent les noms de code ? 5.4. Que dire de « sid » ? 5.5. Que contient le répertoire stable ? 5.6. Que contient le répertoire testing ? 5.6.1. Que dire de « testing » ? Comment est-elle gelée (« frozen ») ? 5.7. Que contient le répertoire unstable ? 5.8. Que sont tous ces répertoires dans `dists/stable/main' ? 5.9. Où trouve-t-on le code source ? 5.10. Que trouve-t-on dans le répertoire `pool' ? 5.11. Qu'est-ce que le répertoire incoming ? 6. Les bases du système de gestion des paquets Debian 6.1. Qu'est ce qu'un paquet Debian ? 6.2. Quel est le format d'un paquet binaire Debian ? 6.3. Pourquoi les noms des paquets Debian sont-ils si longs ? 6.4. Qu'est ce qu'un fichier de contrôle ? 6.5. Qu'est ce qu'un Debian conffile ? 6.6. Qu'est-ce qu'un script Debian preinst, postinst, prerm, et postrm ? 6.7. Qu'est ce qu'un paquet _Essential_ _Required_, _Important_, _Standard_, _Optional_ ou _Extra_ ? 6.8. Qu'est-ce qu'un paquet virtuel ? 6.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 ? 6.10. Quel est le sens de « Pre-Depends » ? 6.11. Quelle est la signification de _unknown_, _install_, _remove_ _purge_ et _hold_ dans le statut du paquet ? 6.12. Comment est-ce que je mets un paquet en « hold » ? 6.13. Comment est-ce que j'installe un paquet source ? 6.14. Comment est-ce que je peux construire les paquets binaires depuis les paquets sources ? 6.15. Comment est-ce que je crée un paquet Debian ? 7. Outils de gestion des paquets Debian 7.1. Quels sont les programmes fournis par Debian pour la gestion des paquets ? 7.1.1. dpkg 7.1.2. APT 7.1.3. aptitude 7.1.4. dselect 7.1.5. Autres outils de gestion de paquet 7.2. Debian prétend pouvoir mettre à jour un programme en fonctionnement ; comment est-ce que c'est possible ? 7.3. Comment savoir si un paquet est déjà installé sur un système Debian ? 7.4. Comment trouver le paquet contenant un fichier particulier ? 7.5. Pourquoi « foo-data » n'est-il pas supprimé quand je désinstalle « foo » ? 8. Garder son système Debian à jour 8.1. Comment puis-je garder mon système à jour ? 8.1.1. APT 8.1.2. dpkg-ftp 8.1.3. mirror 8.1.4. dpkg-mountable 8.2. Faut-il être dans le mode mono-utilisateur pour mettre à jour un paquet ? 8.3. Faut-il garder toutes les achives .deb sur le disque ? 8.4. Comment puis-je garder un journal des paquets que j'ai ajouté sur le système 9. Debian et le noyau 9.1. Puis-je installer et compiler un noyau sans spécificité Debian ? 9.2. Quel est l'outil fourni par Debian pour construire des noyaux personnalisés ? 9.3. Comment puis-je faire des disquettes de démarrage personnalisées ? 9.4. Quelles dispositions spéciales Debian fournit-elle pour manipuler les modules ? 9.5. Puis-je sans risque désinstaller un vieux paquet de noyau et si oui comment ? 10. Personnaliser votre installation de Debian GNU/Linux 10.1. Comment puis-je m'assurer que tous les programmes utilisent le même format de papier ? 10.2. Comment autoriser l'accès aux périphériques matériels sans compromettre la sécurité ? 10.3. Comment charger une police pour la console au démarrage de Debian ? 10.4. Comment configurer les paramètres par défaut des programmes X11 ? 10.5. Chaque distribution semble avoir une méthode de démarrage différente. Qu'en est-il de Debian ? 10.6. Il semble que Debian n'utilise pas `rc.local' pour personnaliser le processus de démarrage ; comment faire ? 10.7. Comment le système de gestion de paquet traite-t-il les paquets qui contiennent des fichiers de configuration pour d'autres paquets ? 10.8. Comment remplacer un fichier installé par un paquet, de sorte qu'une version différente puisse être employée à la place ? 10.9. Comment puis-je inclure mon paquet construit localement dans la liste des paquets disponibles connus par le système de gestion des paquets ? 10.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é ? 11. Obtenir de l'aide sur Debian GNU/Linux 11.1. Quelles autres documentations existent sur le système Debian ? 11.2. Y a-t-il des ressources en ligne pour discuter de Debian ? 11.2.1. Listes de diffusion 11.2.2. Responsables 11.2.3. Groupes de discussion Usenet 11.3. Y a-t-il un moyen rapide pour rechercher des informations sur Debian GNU/Linux ? 11.4. Y a-t-il une base des bogues connus ? 11.5. Comment signaler un bogue dans Debian ? 12. Participer au projet Debian 12.1. Comment devenir un développeur Debian ? 12.2. Comment fournir des ressources au projet Debian ? 12.3. Comment contribuer financièrement au projet Debian ? 12.3.1. Software in the Public Interest 12.3.2. Free Software Foundation 13. Distribuer Debian GNU/Linux dans un produit commercial 13.1. Puis-je construire et vendre des cédéroms Debian ? 13.2. Debian peut-elle être empaquetée avec des logiciels non-libres ? 13.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 ? 13.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 ? 14. Changements prévus dans la prochaine version principale de Debian 14.1. Augmenter la sécurité 14.2. Gestion étendue pour les utilisateurs non anglophones 14.3. Plus d'architectures 14.4. Plus de noyaux 15. Informations générales sur la FAQ 15.1. Auteurs 15.2. Commentaires 15.3. Disponibilité 15.4. Format du document ------------------------------------------------------------------------------- 1. Définitions et vue d'ensemble -------------------------------- 1.1. Qu'est-ce que Debian GNU/Linux ? ------------------------------------- Debian GNU/Linux est une distribution particulière du système d'exploitation Linux et des nombreux paquets qui fonctionnent dessus. En principe, les utilisateurs peuvent 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. 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 adhésion ou paiement à un établissement exigé pour participer à sa distribution et à son développement. Tous les paquets qui font formellement parties 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. De nouvelles versions sont prévues pour être construites chaque mois et les archives FTP sont mises à jour quotidiennement. 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 13.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.2. 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écent) ; maintenant, le portage vers d'autres systèmes, y compris des systèmes multiprocesseurs, est en cours de développement. Linux a été 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 3.3, `Comment le code source compatible Debian l'est-il avec d'autres systèmes Unix ?'. Pour plus d'informations sur Linux, voir les documents (en anglais) de Michael K. Johnson Linux Information Sheet (ftp://ibiblio.org/pub/Linux/docs/HOWTO/INFO-SHEET) et Meta-FAQ (ftp://ibiblio.org/pub/Linux/docs/HOWTO/META-FAQ). 1.3. Quelle est cette nouvelle chose, le « Hurd » ? --------------------------------------------------- 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. Actuellement, Debian n'est disponible que pour Linux, mais avec Debian GNU/Hurd nous avons aussi commencé à fournir GNU/Hurd comme plate-forme de développement. Debian GNU/Hurd n'est pas encore officiellement publiée, et ne sortira pas avant quelques temps. 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. 1.4. 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 : 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 6, `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 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 12.1, `Comment devenir un développeur Debian ?'. 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 leurs résolutions 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 11.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.5. 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 Debian GNU/Hurd (http://www.debian.org/ports/hurd/). 1.6. 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 »_, 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 »_, 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 5.2, `Combien de distributions de Debian y a-t-il dans le répertoire `dists' ?' 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). Les fichiers du système d'installation sont répartis dans les sous-répertoires de `dists/stable/main', et les noms de ces sous-répertoires correspondent aux différentes architectures comme ceci : `disks-' ( est « i386 », « sparc », etc. Reportez-vous au site pour une liste exacte). Dans chacun de ces sous-répertoires d'architecture, il peut y avoir plusieurs répertoires, chacun pour une version du système d'installation. Le système actuellement utilisé est dans le répertoire « current » (c'est un lien symbolique). Lisez le fichier `README.txt' dans ce répertoire pour des instructions complémentaires. 2.4. Comment installer Debian depuis les cédéroms ? --------------------------------------------------- Linux gère le système de fichiers ISO 9660 (CD-ROM) avec les extensions Rock Ridge (autrefois connues sous le nom « High Sierra »"). Plusieurs vendeurs (http://www.debian.org/CD/vendors/) fournissent Debian GNU/Linux sous ce format. Attention : quand vous faites une installation depuis les cédéroms, c'est généralement une mauvaise idée de choisir la méthode d'accès au cédérom par dselect. Cette méthode est habituellement très lente. Les méthodes `mountable' et `apt', par exemple, sont bien meilleures pour l'installation depuis un cédérom (voir Section 8.1.4, `dpkg-mountable' et Section 8.1.1, `APT'). 2.5. J'ai mon propre graveur de cédérom, existe-t-il des images de cédérom disponibles quelque part ? ---------------------------------------------------------------------------- Oui. Pour permettre aux vendeurs de cédérom de fournir des disques de bonne qualité, nous fournissons des images de cédérom officiel (http://cdimage.debian.org/). 2.6. Puis-je faire l'installation depuis des disquettes ? --------------------------------------------------------- Avant de commencer, notez que l'ensemble de Debian GNU/Linux est trop important pour être installé depuis un média aussi petit que les disquettes de 1,44 Mo. Vous risquez de ne pas trouver très agréable une installation par ce type de média. Copiez les paquets de Debian sur les disquettes formatées. Vous pouvez utiliser les formats de système de fichiers DOS, ext2 ou minix, vous devriez juste employer la commande mount appropriée pour pouvoir utiliser vos disquettes. L'emploi de disquettes a comme inconvénients : * Nom de fichier MS-DOS court : si vous essayez de mettre sur une disquette formatée avec MS-DOS un paquet Debian, vous constaterez que leurs noms sont généralement trop longs et ne sont pas conformes à la limitation des noms de fichier MS-DOS (8.3). Pour surmonter ceci, vous devriez utiliser le système de fichiers VFAT, puisque VFAT permet la gestion des noms longs pour les fichiers. * Taille de fichier trop grande : certains paquets font plus de 1,44 Mo et ne peuvent pas être placés sur une simple disquette. Pour résoudre ce problème, vous pouvez utiliser la commande dpkg-split (voir Section 7.1.5.2, `dpkg-split'), disponible dans le répertoire `tools' sur les miroirs Debian (http://www.debian.org/mirror/list). Votre noyau doit avoir la gestion des disquettes activée avant de pouvoir lire et écrire sur une disquette ; la plupart des noyaux sont construits avec la gestion des disquettes. Pour monter une disquette au point de montage `/floppy' (le répertoire devrait avoir été créé pendant l'installation), utilisez : * mount -t msdos /dev/fd0 /floppy/ Si la disquette est dans le lecteur A: et si son système de fichiers est de type MS-DOS, * mount -t msdos /dev/fd1 /floppy/ Si la disquette est dans le lecteur B: et si son système de fichiers est de type MS-DOS, * mount -t ext2 /dev/fd0 /floppy/ Si la disquette est dans le lecteur A: et si son système de fichiers est de type ext2 (le type normal pour Linux). 2.7. 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 cédérom, créer avec elle un cédérom amorçable, installer le système de base à partir de l'image puis finir l'installation à travers le réseau. Pour plus d'information, 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. Pour plus d'informations, veuillez-vous reporter à http://www.debian.org/distrib/floppyinst. ------------------------------------------------------------------------------- 3. Problèmes de compatibilité ----------------------------- 3.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 ordinateurs PCs 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. _m68k_ : ceci couvre les machines Amigas et ATARIs ayant un processeur Motorola 680x0 pour x>=2 avec MMU. _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. Pour de plus amples informations sur le démarrage, le partitionnement du disque, l'activation des périphériques PCMCIA (carte PC) 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. 3.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. 3.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. 3.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. 3.5. Debian est-elle capable d'exécuter de vieux programmes basés sur la libc5 ? ---------------------------------------------------------------------------- Oui. Installez simplement la bibliothèque `libc5' nécessaire, depuis la section `oldlibs' (contenant des paquets obsolètes gardés pour compatibilité avec d'anciennes applications). 3.6. Debian peut-elle être utilisée pour compiler des programmes avec la libc5 ? ---------------------------------------------------------------------------- Oui. Installez les paquets `libc5-altdev' et `altgcc' (depuis la section `oldlibs'). Vous trouverez les compilateurs `gcc' et `g++' compilés avec la libc5 dans le répertoire `/usr/i486-linuxlibc1/bin'. Mettez ce chemin dans votre variable $PATH de façon à ce que make et les autres programmes les exécutent en premier. Faite attention que l'environnement libc5 n'est plus complètement géré par nos autres paquets. 3.7. 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 11.1, `Quelles autres documentations existent sur le système Debian ?'). 3.8. 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. 3.9. Pourquoi ne peut-on pas installer AccelX ? ----------------------------------------------- AccelX utilise la bibliothèque `termcap' pour son installation. Voir Section 3.8, `Pourquoi ne peut-on pas compiler de programme nécessitant libtermcap ?' ci-dessus. 3.10. 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, certaine applications Motif compilées sur une autre machine (comme Netscape) peuvent se planter lors d'un copier-coller depuis ou vers un champs texte et il peut y avoir d'autres problèmes. ------------------------------------------------------------------------------- 4. Logiciels disponibles sur un système Debian ---------------------------------------------- 4.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 GNOME et KDE. * 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) et aussi des navigateurs web et des outils de développement. Plus de 18040 paquets, allant des serveurs, aux lecteurs de nouvelles, au gestionnaire 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 licence. 4.2. Qui a écrit tous ces logiciels ? ------------------------------------- Pour chaque paquet les _auteurs_ des programmes sont indiqués dans le fichier `/usr/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 6.4, `Qu'est ce qu'un fichier de contrôle ?') présent dans tous les paquets. 4.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 vingtaine de sections. 4.4. 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 12.1, `Comment devenir un développeur Debian ?'. 4.5. 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). 4.6. Comment Debian gère-t-elle Java ? -------------------------------------- Comme le kit de développement Java (JDK) et l'environnement d'exécution (Runtime Environment) officiel de Sun Microsystems ne sont pas libres, ils ne sont pas distribuables par Debian et ils ne peuvent donc pas être inclus dans Debian. Si vous voulez les installer quand même, regardez le paquet `java-package' dans la section « contrib ». Cependant, le JDK et plusieurs réalisations libres de technologie Java sont disponibles sous forme de paquets de Debian. Vous pouvez écrire, déboguer et exécuter des programmes en utilisant Debian. L'exécution d'applet 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. Netscape Navigator, qui est non libre, est également disponible dans un paquet Debian et peut aussi lancer 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. 4.7. 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 4.8. 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 et polonais grâce au paquet `manpages-LANG' (où LANG est les 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 placé à « french ». Le programme `man' recherchera alors les pages de manuels en français sous /usr/share/man/fr/. 4.9. Que dire de la législation américaine sur l'exportation ? -------------------------------------------------------------- Les lois aux États-Unis placent des restrictions sur l'exportation des articles de défense, qui inclut certains logiciels de cryptographie. PGP et ssh, entre autres, entrent dans cette catégorie. Pour ne pas prendre de risques légaux inutiles, certains paquets de Debian GNU/Linux sont seulement fournis sur le site non-us à l'adresse ftp://non-US.debian.org/debian-non-US/. Il y a de nombreux sites miroirs qui sont également en dehors des États-Unis, allez voir ftp://non-US.debian.org/debian-non-US/README.non-US pour une liste complète. 4.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 ». 4.11. Où sont les programmes qmail, ezmlm et djbdns ? ----------------------------------------------------- Dan J. Bernstein publie tous les logiciels qu'il développe (http://cr.yp.to/software.html) avec une licence restrictive, en conséquence on les retrouve dans la section « non-free ». Puisque la licence utilisée ne permet pas de modifier les binaires distribués, vous devez les compiler vous-même à partir des sources et des correctifs Debian afin d'obtenir le paquet que vous pourrez installer sur votre système Debian GNU/Linux. Les noms des paquets source sont `qmail-src', `ezmlm-src' et `djbdns-installer', respectivement. Pour `qmail' vous devez installer en premier `qmail-src' et puis lancer `build-qmail' pour construire le paquet Debian. Vous avez aussi besoin d'installer le paquet `ucspi-tcp-src' pour avoir ucspi-tcp dont `qmail' dépend. Dan J. Bernstein maintient la page « FAQ from distributors (http://cr.yp.to/distributors.html) ». Lisez-la, si vous êtes intéressés par ses raisons (l'une d'elles est de permettre la compatiblité entre les plateformes (http://cr.yp.to/compatibility.html)). ------------------------------------------------------------------------------- 5. Les archives FTP de Debian ----------------------------- 5.1. 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 5.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 la FAQ, les instructions pour le système de rapport de bogues, etc. _/indices/_ : Le fichier Maintainers et les fichiers override. _/project/_ : Principalement des ressources pour les développeurs, comme : _project/experimental/_ : Ce répertoire contient des paquets et des outils qui sont encore en développement et sont encore en état de test alpha. Les utilisateurs ne devraient pas utiliser ces paquets parce qu'ils peuvent être dangereux même pour les personnes les plus expérimentées. 5.2. Combien de distributions de Debian y a-t-il dans le répertoire `dists' ? ---------------------------------------------------------------------------- Il y a trois distributions, la distribution « stable », la distribution « testing », et la distribution « unstable ». La distribution « testing » est quelque fois gelée (« frozen ») (voyez Section 5.6.1, `Que dire de « testing » ? Comment est-elle gelée (« frozen ») ?'). 5.3. À quoi correspondent tous les noms comme slink, potato, 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 3.1) 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 ». 5.3.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 et `woody' pour la version 3.0. 5.3.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 ®), * _sid_ est le garçon des voisins qui détruit les jouets. 5.4. 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 5.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). 5.5. 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 que les distributeurs doivent 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 des graticiels (freeware). 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 d'autre d'un paquet qui _n'est pas_ librement distributable et ainsi disponible seulement dans la section non-free. 5.6. Que contient le répertoire 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. 5.6.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 devait 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). 5.7. Que contient le répertoire 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 ». 5.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 3.1, `Sur quelle architecture matérielle fonctionne Debian GNU/Linux ?'. Les fichiers catalogues dans les répertoires `binary-*' sont nommés Packages(.gz) et fournissent un résumé de chaque paquets binaires présents dans la distribution. Les paquets binaires (pour _woody_ et les versions suivantes) 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). Le dernier mais non des moindre, est un ensemble de sous-répertoires utilisé pour les fichiers catalogues du système d'installation. Pour la version _woody_ ils sont nommés `disks-' et pour _sarge_ c'est `debian-installer/binary-'. [1] `dists/stable/main', `dists/stable/contrib', `dists/stable/non-free' et `dists/unstable/main/', etc. 5.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 5.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 sont seulement distribués sous forme de code source à cause de restriction de leur licence. Notamment, l'un de ces paquets est `pine', voir Section 4.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. 5.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'. Vous pouvez également voir les chemins `dists/potato' ou `dists/woody' dans les champs des entêtes de fichier de certains anciens paquets. 5.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 après les installer. ------------------------------------------------------------------------------- 6. Les bases du système de gestion des paquets Debian ----------------------------------------------------- 6.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 6.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' 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. L'installation de logiciels par le système de paquet 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 6.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, * aider les utilisateurs dans le découpage de paquets qui doivent être transmis sur des médium de taille limitée comme les disquettes, * 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. 6.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 est décrit 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) pour manipuler les fichiers `.deb'. 6.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.deb' (où VVV et RRR sont respectivement le numéro de version et de révision du paquet en question). Ceci affiche, entre autre, le nom du paquet correspondant au fichier archive. Le composant `VVV' est le numéro de version fournit 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. 6.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 11.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 6.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. C'est le nom d'un sous-répertoire (dans l'un des répertoires principaux, voir Section 5.1, `Quels sont tous ces répertoires dans les archives FTP de Debian ?') où le paquet est conservé. Le champ « Priority » indique l'importance d'un paquet pour l'installation, de sorte que des logiciels semi-intelligents comme dselect ou console-apt peuvent trier les paquets dans une catégorie par exemple les paquets installés facultativement. Voir Section 6.7, `Qu'est ce qu'un paquet _Essential_ _Required_, _Important_, _Standard_, _Optional_ ou _Extra_ ?'. Le champ « Maintener » 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 ». 6.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: ». 6.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 6.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). 6.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, X11, 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. 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 certains logiciels de développement comme les compilateurs GNU C et C++ (`gcc', `g++'), GNU make, ainsi que l'interpréteur Python et certains serveurs comme OpenSSH, le démon d'impression BSD (`lpr') et le portmapper RPC (`portmap'). * 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 X11, 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érieur 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 essentiel (_Essential_) puisqu'ils sont absolument nécessaire pour un fonctionnement correct du système. Les outils de gestion de paquets refuseront de les supprimer. 6.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 10.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é ?'. 6.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é. * 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. 6.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'existance sur le système des fichiers dont il dépend. De manière simpliste, le désarchivage signifie que `dpkg' extraira les fichiers à partir du fichier archive 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épendant » de la présence de quelques autres paquets. Le projet Debian fournissait ce mécanisme pour gérer la mise à jour de système utilisant le format `a.out' vers le format `ELF', où l'ordre de désarchivage était critique. Il y a d'autre 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. 6.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. 6.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 seulement 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. 6.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. Pour voir comment cela fonctione, exécutez apt-get build-dep foo avant de construire les sources. 6.14. Comment est-ce que je peux construire les paquets binaires depuis les paquets sources ? ---------------------------------------------------------------------------- Vous aurez besoin de tous les fichiers foo_*.dsc, foo_*.tar.gz et foo_*.diff.gz pour compiler les sources (remarquez que pour certain paquets il n'y a pas de fichier .diff.gz, ce sont les paquets natifs à Debian). Une fois que vous les avez récupérés (voir Section 6.13, `Comment est-ce que j'installe un paquet source ?'), si vous avez le paquet `dpkg-dev' installé, la commande suivante : dpkg-source -x foo_version-revision.dsc désarchivera le paquet dans un répertoire nommé `foo-version'. Si vous souhaitez juste compiler le paquet, vous devez vous placer dans le répertoire `foo-version' et lancer la commande dpkg-buildpackage -rfakeroot -b pour construire le paquet (notez que la paquet `fakeroot' est aussi nécessaire) et faites dpkg -i ../foo_version-revision_arch.deb pour installer le nouveau paquet. 6.15. Comment est-ce que je crée un paquet Debian ? --------------------------------------------------- Pour une description plus détaillée, lisez le « guide des nouveaux responsables Debian » disponible dans le paquet `maint-guide' ou à l'adresse http://www.debian.org/doc/devel-manuals#maint-guide. ------------------------------------------------------------------------------- 7. Outils de gestion des paquets Debian --------------------------------------- 7.1. Quels sont les programmes fournis par Debian pour la gestion des paquets ? ---------------------------------------------------------------------------- Il y a beaucoup d'outils utilisés pour la gestion des paquets Debian, depuis des outils basés sur des interfaces texte ou graphique aux outils de bas niveau utilisés pour l'installation des paquets. Tous les outils disponibles reposent sur les outils de plus bas niveau pour fonctionner correctement et sont présentés ici selon un niveau de complexité décroissant. Il est important de comprendre que les outils de gestion des paquets Debian de haut niveau comme `aptitude' ou `dselect' reposent sur `apt' qui lui-même utilise `dpkg' pour la gestion des paquets sur le système. 7.1.1. dpkg ----------- C'est le programme principal de gestion des paquets. `Dpkg' peut être exécuté avec beaucoup d'options. Quelques utilisations courantes : * Afficher toutes les options : `dpkg --help'. * Afficher le fichier control (et d'autres informations) pour un paquet particulier : `dpkg --info foo_VVV-RRR.deb' * Installer un paquet (incluant le désarchivage et la configuration) sur le disque dur : `dpkg --install foo_VVV-RRR.deb'. * Désarchiver (mais pas configurer) une archive Debian dans le système de fichiers du disque dur : `dpkg --unpack foo_VVV-RRR.deb'. Notez que cette opération ne laisse _pas_ nécessairement le paquet dans un état utilisable ; certains fichiers peuvent avoir besoin de personnalisation pour fonctionner correctement. Cette commande supprime toute version déjà installée du programme et exécute le script preinst (voir Section 6.6, `Qu'est-ce qu'un script Debian preinst, postinst, prerm, et postrm ?') du paquet. * Configurer un paquet qui a déjà été désarchivé : `dpkg --configure foo'. Entre autre chose, cette action lance le script postinst (voir Section 6.6, `Qu'est-ce qu'un script Debian preinst, postinst, prerm, et postrm ?') du paquet. Il met aussi à jour les fichiers listés dans le fichier `conffiles' pour ce paquet. Notez que l'option configure prend un nom de paquet (par exemple, foo) et _non_ le nom de l'archive Debian (par exemple, foo_VVV-RRR.deb). * Extraire un fichier nommé « blurf » (ou un groupe de fichiers nommés « blurf* ») depuis une archive Debian : `dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf - blurf*' * Supprimer un paquet (mais pas ses fichiers de configuration) : `dpkg --remove foo'. * Supprimer un paquet (ainsi que ses fichiers de configuration) : `dpkg --purge foo'. * Lister l'état de l'installation des paquets contenant la chaîne (ou l'expression rationnelle) « foo* » : `dpkg --list 'foo*''. 7.1.2. APT ---------- APT est le _Advanced Package Tool_ et fournit le programmme `apt-get'. `Apt-get' fournit un moyen simple pour installer des paquets depuis la ligne de commande. À la différence `dpkg', `apt-get' ne comprend pas les fichiers .deb, il travaille avec le nom du paquet et peut seulement installer les archives .deb depuis une source indiqué dans `/etc/apt/sources.list'. `Apt-get' peut appeler directement `dpkg' après avoir téléchargé l'archive [1] .deb depuis les sources. Les options les plus courantes de `apt-get' : * Pour mettre à jour la liste des paquets connus par votre système : apt-get update (vous devriez exécuter cette commande régulièrement pour mettre à jour vos listes de paquets) * Pour mettre à jour tous les paquets de votre système : apt-get upgrade * Pour installer le paquet et toutes ses dépendances : apt-get install foo * Pour supprimer le paquet `foo' de votre système : apt-get remove foo * Pour supprimer le paquet `foo' et ses fichiers de configuration de votre système : apt-get --purge remove foo * Pour mettre à jour votre système vers une nouvelle version de Debian GNU/Linux : apt-get dist-upgrade Notez que vous devez être authentifié en tant que root pour exécuter toutes commandes qui modifient le système de paquets. La suite d'outils apt inclut aussi le programme `apt-cache' pour questionner les listes de paquet. Vous pouvez l'utiliser pour trouver des paquets fournissant des fonctionnalités spécifiques à l'aide d'une simple requête ou d'une expression rationnelle et par des questions sur les dépendances dans le système de gestion des paquets. Les options les plus courantes de `apt-cache' : * Pour trouver les paquets dont la description contient : apt-cache search * Pour afficher des informations détaillées sur un paquet : apt-cache show * Pour afficher les dépendances d'un paquet : apt-cache depends * Pour afficher des informations détaillées des versions disponibles pour un paquet et les paquets ayant des dépendances inverses sur lui : apt-cache showpkg Pour plus d'informations, installez le paquet `apt' et lisez les pages de manuel apt-get(8) et sources.list(5). Vous pouvez aussi lire la documentation sur apt-get, installez le paquet `apt-doc' et lisez `/usr/share/doc/apt-doc/guide.html/index.html'. [1] Notez qu'il y a des portages qui rendent cet outil disponible pour d'autres systèmes de gestion de paquet, comme le gestionnaire de paquets de Red Hat, aussi connu sous `rpm' 7.1.3. aptitude --------------- `Aptitude' est un gestionnaire de paquet pour les systèmes Debian GNU/Linux qui fournit une interface au gestionnaire de paquet apt. `Aptitude' est une interface texte basée sur la bibliothèque curses, il peut être utilisé pour effectuer des tâches d'administration de manière rapide et facile. `Aptitude' fournit les mêmes fonctionnalités que `dselect' et `apt-get', ainsi que des fonctions additionelles non présentes dans les autres programmes : * `Aptitude' permet d'accéder à toutes les versions d'un paquet. * `Aptitude' garde un journal de toutes ses actions dans `/var/log/aptitude'. * `Aptitude' facilite la recherche de logiciels obsolètes en les listant sous « Paquets obsolètes ou créés localement » * `Aptitude' inclut un système assez puissant pour rechercher des paquets particuliers. Les utilisateurs familiers avec `mutt' le maîtriseront rapidement car la syntaxe a été inspirée de celle de `mutt'. * `Aptitude' recherche les paquets qui ont été installés pour satisfaire les dépendances et les supprimera automatiquement quand les paquets qui les utilisaient seront supprimés. * `Aptitude' peut installer automatiquement les paquets _Recommandés_[1]. * `Aptitude' en mode plein écran intègre les fonctionnalités de `su', et peut être utilisé par un utilisateur normal. Le programme `su' sera appelé (et le mot de passe root demandé) lorsque les privilèges d'administrateur seront nécessaires. Vous pouvez utiliser `aptitude' au travers d'une interface graphique (en lançant simplement `aptitude') ou directement en ligne de commande. La syntaxe utilisée en ligne de commande est très similaire à celle utilisée avec `apt-get'. Par exemple, pour installer le paquet vous pouvez lancez `aptitude install '. Notez que `aptitude' est le gestionnaire de paquet recommandé par Debian pour installer un paquet et/ou mettre à jour votre système. Pour plus d'informations, lisez la page de manuel aptitude(8) et installez le paquet de documentation `aptitude-doc-en'. [1] Cela peut amener à avoir sur votre système plus de paquets qu'il n'en a réeellement besoin pour fonctionner. 7.1.4. dselect -------------- Ce programme est une interface pilotée par menu pour le système de gestion de paquet de Debian. Il est particulièrement utile pendant les premiers moments de l'installation et pour les mises à niveau à grande échelle. `dselect' peut : * guider l'utilisateur dans son choix parmi les paquets à installer ou à enlever, en s'assurant qu'on n'installe aucun paquet qui soit en conflit entre eux et que tous les paquets nécessaires au fonctionnement correct de chaque paquet sont installés ; * avertir l'utilisateur sur les contradictions ou les incompatibilités de ses choix ; * déterminer l'ordre d'installation des paquets ; * effectuer automatiquement l'installation ou la suppression et * guider l'utilisateur à travers le processus de configuration exigé pour chaque paquet. Au lancement `dselect' présente à l'utilisateur un menu avec sept choix, chacun d'eux est une action spécifique. L'utilisateur peut choisir l'une de ces actions, en déplaçant la sélection avec les flèches du clavier, puis en appuyant sur la touche __ pour choisir l'action désirée. Ce que l'utilisateur voit va dépendre de l'action qu'il a choisi. S'il choisit une des options autre que `Accéder' ou `Sélection', alors `dselect' exécutera simplement l'action choisie : par exemple, si l'utilisateur choisit l'action `Retirer', alors `dselect' procédera à la suppression de tous les fichiers marqués à supprimer la dernière fois que l'utilisateur a choisi l'action `Sélection'. Les deux menus, `Accéder' et `Sélection', amènent dans un nouveau menu. Dans les deux cas, l'écran est divisé en deux : l'écran du haut donne une liste défilable de choix, tandis que l'écran du bas donne une courte explication de chaque choix. Une aide en ligne est disponible, appuyez sur la touche __ pour obtenir l'aide à tout moment. L'ordre de présentation des actions dans le premier menu de `dselect' reflète l'ordre dans lequel un utilisateur exécutera normalement `dselect' pour installer des paquets. Cependant, un utilisateur peut sélectionner n'importe lequel des choix principaux de menu aussi souvent que nécessaire (y compris pas tous, selon ce qu'il veut faire). * Premièrement choisir la _Méthode d'accès_. C'est la méthode par laquelle l'utilisateur projette d'accéder aux paquets de Debian ; par exemple, certains utilisateurs accèdent aux paquets Debian sur cédéroms tandis que d'autres y accèderont par FTP anonyme. La « méthode d'accès » est conservée après la sortie de `dselect' donc si elle ne change pas, cette option n'a plus besoin d'être choisie. * Ensuite _Mise à jour_ de la liste des paquets disponibles. Pour faire cela, `dselect' lit le fichier « Packages.gz » qui devrait être inclus à la racine du répertoire où les paquets Debian installés sont conservés. (Mais s'il ne le trouve pas, `dselect' vous proposera de le créer pour vous.) * _Sélection_ des paquets spécifiques pour installation sur le système. Après avoir choisi ce menu, l'utilisateur se retrouve face à un écran d'aide (à moins que l'option « --expert » a été utilisée). Une fois que l'utilisateur a quitté l'écran d'aide, il lui est présenté un écran divisé en deux parties, pour choisir les paquets à installer (ou à supprimer). La partie supérieure de l'écran est une fenêtre relativement étroite montrant la liste des 18200 paquets Debian ; dans la partie inférieure de l'écran est affichée la description du paquet ou des groupes de paquets qui ont été sélectionnés au dessus. Vous pouvez indiquer quels paquets devraient être activés en mettant en surbrillance le nom d'un paquet ou d'un groupe de paquets. Après quoi, vous pouvez sélectionner des paquets : pour être installés : Ceci est accompli en appuyant sur la touche '+'. pour être supprimés : Les paquets peuvent être effacés de deux façons : * supprimé : ceci supprime la plupart des fichiers associés avec le paquet, mais conserve les fichiers listés comme fichiers de configuration (voir Section 6.5, `Qu'est ce qu'un Debian conffile ?') et l'information de configuration du paquet. Ceci est accompli en appuyant sur la touche '-'. * purgé : ceci supprime _tous_ les fichiers qui font partie du paquet. Ceci est accompli en appuyant sur la touche '_'. Notez qu'il n'est pas possible de supprimer tous les paquets. Si vous essayez de faire cela, votre système sera à la place réduit aux paquets de base installés initialement. pour les bloquer (« on hold ») : Ceci est accompli en appuyant sur la touche '=', ceci indique à `dselect' de ne pas mettre à jour le paquet même si la version installée sur votre système n'est pas la version la plus récente qui est disponible dans le référentiel Debian que vous utilisez (défini quand vous avez indiqué la « méthode d'accès » et obtenu quand vous avez mis à jour la liste de paquet disponible). Vous pouvez inverser la configuration en appuyant sur la touche ':'. ceci indique à `dselect' que le(s) paquet(s) peut(peuvent) de nouveau être mis à jour s'il existe une version disponible. C'est la configuration par défaut. On peut changer l'ordre de présentation en utilisant la touche 'o' qui va le changer cycliquement. L'ordre par défaut présente les paquets par priorité ; pour chaque priorité, les paquets sont présentés selon le répertoire (c.-à-d. par section) des archives dans lesquelles ils sont stockés. De cette manière, quelques paquets (disons) de la section A peuvent apparaître en premier, suivis de paquets de la section B, suivis d'autres paquets (de priorité plus faible) de la section A. Vous pouvez aussi agrandir les étiquettes de la partie supérieur de l'écran en utilisant la touche 'v' (verbeux). Cette action déplace une grande partie du texte qui était adapté à l'affichage vers la droite de l'écran. Pour le faire défiler, utilisez les flèches droite et gauche du clavier. Si vous choisissez un paquet à installer ou à supprimer, par exemple, le `foo.deb' et que ce paquet dépend (ou recommande) un autre paquet, par exemple `blurf.deb', alors `dselect' vous présentera un sous-écran de l'écran principal de sélection. Là vous pourrez choisir parmi les paquets relatifs, en acceptant les actions suggérées (pour installer ou pas), ou en les rejetant. Pour le faire plus tard, appuyez sur Shift-D ; pour retourner aux suggestions appuyez sur Shift-U. Dans tous les cas, vous pouvez sauvegarder votre sélection et retourner au menu principal de sélection en appuyant sur Shift-Q. * Une fois revenu au menu principal les utilisateurs peuvent choisir le menu « Installer » pour désarchiver et configurer les paquets choisis. Alternativement, les utilisateurs qui souhaitent supprimer des fichiers peuvent choisir le menu « Retirer » n'importe où, l'utilisateur peut choisir l'option « Quitter » pour sortir de `dselect' ; toutes les sélections seront sauvegardées par `dselect'. 7.1.5. Autres outils de gestion de paquet ----------------------------------------- 7.1.5.1. dpkg-deb ----------------- Ce programme travaille sur les fichiers archive Debian (`.deb'). Quelques utilisations courantes : * Afficher toutes les options : `dpkg-deb --help'. * Afficher les fichiers présents dans une archive Debian : `dpkg-deb --contents foo_VVV-RRR.deb') * Extraire les fichiers contenus dans une archive Debian dans un répertoire particulier de l'utilisateur : `dpkg-deb --extract foo_VVV-RRR.deb tmp' extrait tous les fichiers de `foo_VVV-RRR.deb' dans le répertoire `tmp/'. C'est pratique pour examiner le contenu d'un paquet dans un répertoire localisé, sans installer le paquet sur le système de fichiers racine. Notez que tous les paquets qui ont été simplement désarchivés en utilisant `dpkg-deb --extract' ne seront pas correctement installés, vous devriez employer `dpkg --install' à la place. Vous trouverez plus d'informations dans la page de manuel dpkg-deb(1). 7.1.5.2. dpkg-split ------------------- Ce programme permet de diviser de gros paquets en fichiers plus petits (par exemple, pour les copier sur un ensemble de disquettes) et peut aussi être utilisé pour concaténer un ensemble de fichiers dans un seul fichier. On peut seulement l'utiliser sur un système Debian (c.-à-d. un système contenant le paquet `dpkg'), puisqu'il utilise le programme `dpkg-deb' pour analyser le paquet Debian. Par exemple, pour diviser un gros fichier .deb en N parties, * Exécuter la commande `dpkg-split --split foo.deb'. Ceci créera N fichiers d'une longueur approximative de 460 Ko chacun dans le répertoire courant. * Copier ces fichiers sur des disquettes. * Copier le contenu des disquettes sur le disque dur de votre choix sur une autre machine. * Concaténer ces fichiers ensemble en utilisant `dpkg-split --join "foo*"'. 7.2. Debian prétend pouvoir mettre à jour un programme en fonctionnement ; comment est-ce que c'est possible ? ---------------------------------------------------------------------------- Le noyau (et le système de fichiers) dans les système Debian GNU/Linux permet le remplacement de fichiers même lorsqu'ils sont utilisés. Debian fournit aussi un programme appelé `start-stop-daemon' qui est utilisé pour activer les démons au démarrage du système ou les arrêter lors d'un changement de niveau d'execution (par exemple, lors du passage du mode multi-utilisateur au niveau mono-utilisateur ou lors de l'arrêt du système). Ce programme est aussi utilisé par les scripts d'installation, lors de l'installation d'un paquet contenant un démon, pour arrêter les démons en fonctionnement et les redémarrer si nécessaire. 7.3. Comment savoir si un paquet est déjà installé sur un système Debian ? -------------------------------------------------------------------------- Pour connaître l'état de tous les paquets installés sur un système Debian exécutez la commande dpkg --list Ceci affiche un résumé sur une ligne pour chaque paquet, donnant un symbole de l'état avec deux lettre (expliqué dans l'entête), le nom du paquet, la version _installée_, et une courte description. Vous pouvez connaître l'état de paquets dont le nom correspond au motif commençant par « foo » en exécutant la commande : dpkg --list 'foo*' Pour obtenir un rapport plus détaillé pour un paquet particulier, lancez la commande : dpkg --status packagename 7.4. Comment trouver le paquet contenant un fichier particulier ? ----------------------------------------------------------------- Pour identifier le paquet qui a produit le fichier appelé `foo' exécutez l'une des commandes suivantes : * `dpkg --search foo' Ceci recherche `foo' dans les paquets installés. (Ceci est équivalent à la recherche de tous les fichiers ayant une extension `.list' dans le répertoire `/var/lib/dpkg/info/' et à afficher le noms de tous les paquets le contenant). Une alternative plus rapide à ceci est l'outil `dlocate'. * `zgrep foo Contents-ARCH.gz' Ceci recherche les fichiers contenant la sous-chaîne `foo' dans leurs noms de chemin complet. Les fichiers `Contents-ARCH.gz' (où ARCH représente l'architecture voulue) se trouvent dans les répertoires de paquets principaux (main, non-free, contrib) sur un site FTP Debian (c.-à-d. sous `/debian/dists/etch'). Un fichier `Contents' se réfère seulement aux paquets contenus dans le sous-répertoire où il se trouve. Par conséquent, un utilisateur doit rechercher dans plus d'un fichier `Contents' pour trouver le paquet contenant le fichier `foo'. Cette méthode a l'avantage par rapport à `dpkg --search' parce qu'elle permet de trouver des fichiers dans des paquets qui ne sont pas installés sur votre système. * `apt-file search ' Similaire à ce qui précède, recherche des fichiers qui contiennent la sous-chaîne ou l'expression rationelle `foo' dans leurs noms de chemin. L'avantage par rapport à ci-dessus est qu'il n'y a aucun besoin de rechercher les fichiers `Contents-ARCH.gz' car ceci est fait automatiquement pour toutes les sources définies dans le fichier `/etc/apt/sources.list' quand vous lancez (sous le compte root) `apt-file update'. 7.5. Pourquoi « foo-data » n'est-il pas supprimé quand je désinstalle « foo » ? ---------------------------------------------------------------------------- Certains paquets sont découpés en un paquet pour le programme (« foo ») et un paquet pour les données (« foo-data »). Cela est vrai pour beaucoup de jeux, d'applications multimédia et de dictionnaires dans Debian, cela a été introduit parce que certains utilisateurs pourraient vouloir accéder aux données sans installer le programme ou parce que le programme peut être exécuté sans les données. Dans ces cas, « foo-data » ne dépend pas de « foo », donc quand vous supprimez le paquet « foo » la plupart des outils de gestion de paquets ne supprimeront pas automatiquement « foo-data ». Ceci est nécessaire pour ne pas avoir de dépendance circulaire. Si vous utilisez `aptitude' (voir Section 7.1.3, `aptitude') comme outil de gestion de paquet, il dépistera les paquets installés automatiquement et les supprimera quand ils ne seront plus utilisés par aucun paquet. ------------------------------------------------------------------------------- 8. Garder son système Debian à jour ----------------------------------- L'un des buts de Debian est de fournir un chemin de mise à jour compatible et un processus de mise à jour sûr. Nous faisons toujours de notre mieux pour que la mise à jour des nouvelles versions soit une procédure douce. Dans certain cas, il peut y avoir des avertissements importants lors du processus de mise à jour, l'utilisateur en sera alerté et souvent une solution à un possible problème sera fournie. Vous pouvez aussi lire les notes de publication, qui décrivent en détail les spécificités de la mise à jour, présentes sur tous les cédéroms de Debian et disponibles sur le site web à l'adresse http://www.debian.org/releases/stable/releasenotes. 8.1. Comment puis-je garder mon système à jour ? ------------------------------------------------ On pourrait simplement ouvrir une session FTP anonyme vers une archive Debian, parcourir les répertoires jusqu'à ce qu'on trouve le fichier désiré, le récupérer et enfin l'installer en utilisant `dpkg'. Notez que dpkg installera les fichiers mis à jour à leur place, même sur un système en marche. Parfois, la mise à jour d'un paquet aura besoin de l'installation d'une nouvelle version d'un autre paquet, auquel cas l'installation échouera si l'autre paquet n'est pas installé. Beaucoup de gens trouvent cette approche trop gourmande en temps, car Debian évolue très rapidement ; typiquement, une douzaine ou plus de nouveaux paquets sont téléchargés chaque semaine. Ce nombre est encore plus grand avant la sortie d'une version majeure. Pour gérer cette avalanche, beaucoup de gens préfèrent utiliser une méthode automatique. Plusieurs outils de gestion des paquets sont disponibles dans ce but : 8.1.1. APT ---------- APT est une interface avancée pour le système de gestion des paquets Debian. Apt-get est l'outil en ligne de commande pour la gestion des paquets et la méthode APT de dselect est une interface pour APT via `dselect'. Tous les deux fournissent une manière plus simple et plus sûre pour installer et mettre à jour les paquets. APT fournit les fonctionnalités d'ordonnancement d'installation complet, de possibilités de sources multiples et plusieurs autres fonctionnalités uniques, voir le guide de l'utilisateur `/usr/share/doc/apt-doc/guide.html/index.html' (vous pouvez aussi installer le paquet `apt-doc'). Installez le paquet `apt' et éditez le fichier `/etc/apt/sources.list' pour le configurer. Si vous souhaitez mettre à jour votre système vers la dernière version stable de Debian, vous voudriez probablement utiliser une ligne comme celle-la http://http.us.debian.org/debian stable main contrib non-free Vous pouvez remplacer http.us.debian.org avec le nom d'un miroir Debian plus proche de chez vous et plus rapide. Voir la liste des miroirs à l'adresse http://www.debian.org/misc/README.mirrors pour plus d'informations. Vous trouverez plus d'informations en lisant les pages de manuel apt-get(8) et sources.list(8), ainsi que le guide de l'utilisateur d'APT mentionné ci-dessus, `/usr/share/doc/apt-doc/guide.html/index.html'. Exécutez apt-get update suivi par apt-get dist-upgrade répondez à toutes les questions qui vous seront posées et votre système sera mis à jour. Pour utiliser APT avec `dselect', choisissez la méthode d'accès par APT dans l'écran de sélection de méthode de dselect (option 0) et indiquez les sources devant être utilisées. Le fichier de configuration est `/etc/apt/sources.list' et son format est décrit dans la page de manuel sources.list(5). Si vous souhaitez utiliser les cédéroms pour installer les paquets, vous pouvez utiliser le programme `apt-cdrom'. Pour plus de détails, veuillez-vous reporter aux notes de publication, paragraphe « Ajouter des sources Internet à apt ». Veuillez noter que quand vous installez un paquet, les archives sont conservées dans un sous-répertoire de /var. Pour ne pas saturer votre partition, vous devriez supprimer les archives en utilisant `apt-get clean' et `apt-get autoclean' ou les déplacer à un autre endroit (conseil : utiliser `apt-move'). 8.1.2. dpkg-ftp --------------- C'est une ancienne méthode d'accès pour `dselect'. Il peut être appelé dans `dselect', laissant ainsi à un utilisateur la possibilité de télécharger les fichiers et de les installer directement en une étape. Pour faire ceci, choisissez la méthode d'accès `ftp' dans `dselect' (option 0) et indiquez le nom d'hôte distant et le répertoire. `Dpkg-ftp' téléchargera alors automatiquement les fichiers qui ont été choisis (soit dans cette session de `dselect' ou soit dans la précédente). Notez qu'à la différence du programme `mirror', `dpkg-ftp' ne capture pas tout le site miroir. Il télécharge seulement les fichiers que vous avez choisis (au premier lancement de `dpkg-ftp') et qui ont besoin d'être mis à jour. `dpkg-ftp' est quelque peu obsolète. Vous devriez à la place utiliser APT avec des URLs ftp:// dans votre fichier `sources.list'. 8.1.3. mirror ------------- Ce script Perl et son programme (optionel) de gestion nommé `mirror-master', peuvent être employés pour rechercher des parties indiquées par l'utilisateur d'une arborescence de répertoire sur un serveur particulier _via_ un FTP anonyme. `Mirror' est particulièrement utile pour télécharger un grand nombre de logiciels. Après le premier téléchargement, un fichier nommé `.mirrorinfo' est conservé sur l'ordinateur local. Les changements du système de fichiers distant sont détectés automatiquement par `mirror', qui compare le fichier local avec un fichier semblable sur le système distant et télécharge seulement les fichiers modifiés. Le programme `mirror' est généralement utile pour mettre à jour les copies locales des arborescences de répertoire distant. Les fichiers cherchés n'ont pas besoin d'être des fichiers Debian. (Depuis que le programmme `mirror' a été porté en Perl, il peut aussi être exécuté sur des systèmes non-Unix). Bien que le programme `mirror' fournisse des mécanismes pour exclure des fichiers dont les noms correspondent à des chaînes indiquées par l'utilisateur, ce programme est plus utile quand son objectif est de télécharger des arborescences entières, plutôt que des paquets choisis. 8.1.4. dpkg-mountable --------------------- Dpkg-mountable ajoute une méthode d'accès nommée « mountable » à la liste de dselect, qui vous permet d'installer depuis tout système de fichiers indiqué dans /etc/fstab. Par exemple, l'archive peut être sur un disque dur local ou sur un serveur NFS qui sera automatiquement monté et démonté si nécessaire. Il a aussi quelques fonctionnalités supplémentaires que l'on ne trouve pas avec les méthodes standards de dselect, telle que la disposition dans une arborescence locale de fichier (soit en parallèle de la distribution principale soit totalement séparée), et en obtenant seulement les paquets qui sont exigés, plutôt qu'en effectuant un long balayage récursif de répertoires et également la journalisation de toutes les actions de dpkg dans la méthode d'installation. 8.2. Faut-il être dans le mode mono-utilisateur pour mettre à jour un paquet ? ---------------------------------------------------------------------------- Non. Les paquets peuvent être mis à jour en mode multi-utilisateur, même quand le système est en fonctionement. Il y a sur les systèmes Debian le programme `start-stop-daemon' qui permet d'arrêter et de redémarrer les processus en cours d'exécution si cela est nécessaire pendant la mise à jour du paquet. 8.3. Faut-il garder toutes les achives .deb sur le disque ? ----------------------------------------------------------- Non. Si vous avez téléchargé les fichiers sur votre disque (ce qui n'est absolument pas nécessaire, voir au-dessus pour la description de dpkg-ftp), alors après avoir installé les paquets vous pouvez les supprimer de votre système. 8.4. Comment puis-je garder un journal des paquets que j'ai ajouté sur le système ---------------------------------------------------------------------------- `Dpkg' garde une trace des paquets que vous avez configurés, supprimés et/ou purgés mais ne garde pas (actuellement) de journal sur l'affichage du terminal qui a lieu lors de la manipulation d'un paquet. Le moyen le plus simple pour contourner ce problème est de lancer vos sessions `dpkg'/`dselect'/`apt-get' avec le programme script(1). ------------------------------------------------------------------------------- 9. Debian et le noyau --------------------- 9.1. Puis-je installer et compiler un noyau sans spécificité Debian ? --------------------------------------------------------------------- Oui. La bibliothèque C de Debian est construite avec la version _stable_ la plus récente des entêtes du _noyau_. Si vous devez compiler un programme avec des entêtes de noyau plus récentes que celles de la branche stable, vous devriez alors mettre à jour le paquet contenant les entêtes (`libc6-dev'), ou employer les nouvelles entêtes incluses dans l'arborescence des sources du nouveau noyau installé. C'est-à-dire, si les sources du noyau sont dans `/usr/src/linux', alors vous devriez ajouter `-I/usr/src/linux/include/' à votre ligne de commande pour la compilation. 9.2. Quel est l'outil fourni par Debian pour c