aboutsummaryrefslogtreecommitdiffstats
path: root/french/international
diff options
context:
space:
mode:
authorThomas Lange <lange@debian.org>2023-10-06 18:04:47 +0200
committerThomas Lange <lange@debian.org>2023-10-06 18:04:47 +0200
commit5a291ecd6699b496150fcad06504d6d28b554755 (patch)
tree1fe9c2731765d2ef093496fd5f4ff377a0b5d701 /french/international
parentc10246023456c1541141c3d1049a2083bbc21da1 (diff)
remove old unused files
Diffstat (limited to 'french/international')
-rw-r--r--french/international/french/translations/debian-guide_fr-1.0.sgml8390
-rw-r--r--french/international/french/translations/debian_package_intro.html/b414.html172
-rw-r--r--french/international/french/translations/debian_package_intro.html/book1.html179
-rw-r--r--french/international/french/translations/debian_package_intro.html/c19.html345
-rw-r--r--french/international/french/translations/debian_package_intro.html/c364.html253
-rw-r--r--french/international/french/translations/debian_package_intro.html/c400.html176
-rw-r--r--french/international/french/translations/debian_package_intro.html/c95.html575
-rw-r--r--french/international/french/translations/debian_package_intro.html/c95190.html353
-rw-r--r--french/international/french/translations/debian_package_intro.html/c95211.html259
-rw-r--r--french/international/french/translations/debian_package_intro.html/c95223.html156
-rw-r--r--french/international/french/translations/debian_package_intro.html/c95230.html182
-rw-r--r--french/international/french/translations/debian_package_intro.html/c95236.html153
-rw-r--r--french/international/french/translations/debian_package_intro.html/c95241.html276
-rw-r--r--french/international/french/translations/debian_package_intro.html/c95264.html145
-rw-r--r--french/international/french/translations/debian_package_intro.html/c95267.html527
-rw-r--r--french/international/french/translations/debian_package_intro.html/docbook.css20
-rw-r--r--french/international/french/translations/debian_package_intro.html/f13.html145
-rw-r--r--french/international/french/translations/debian_package_intro.sgml1738
-rw-r--r--french/international/french/translations/internals.sgml573
-rw-r--r--french/international/french/translations/libc5-libc6-Mini-HOWTO.fr.html192
-rw-r--r--french/international/french/translations/libc5-libc6-Mini-HOWTO.fr.sgml185
-rw-r--r--french/international/french/translations/markup.fr.html/ch-chaptsectpar.html84
-rw-r--r--french/international/french/translations/markup.fr.html/ch-inline.html242
-rw-r--r--french/international/french/translations/markup.fr.html/ch-listexamp.html144
-rw-r--r--french/international/french/translations/markup.fr.html/ch-markup.html103
-rw-r--r--french/international/french/translations/markup.fr.html/ch-structure.html112
-rw-r--r--french/international/french/translations/markup.fr.html/footnotes.html49
-rw-r--r--french/international/french/translations/markup.fr.html/index.html93
-rw-r--r--french/international/french/translations/markup.fr.sgml451
-rw-r--r--french/international/french/translations/policy.fr.sgml9260
-rw-r--r--french/international/french/translations/project-history.fr.html/ch1.html67
-rw-r--r--french/international/french/translations/project-history.fr.html/ch2.html90
-rw-r--r--french/international/french/translations/project-history.fr.html/ch3.html282
-rw-r--r--french/international/french/translations/project-history.fr.html/index.html107
34 files changed, 0 insertions, 26078 deletions
diff --git a/french/international/french/translations/debian-guide_fr-1.0.sgml b/french/international/french/translations/debian-guide_fr-1.0.sgml
deleted file mode 100644
index 465a3448aba..00000000000
--- a/french/international/french/translations/debian-guide_fr-1.0.sgml
+++ /dev/null
@@ -1,8390 +0,0 @@
-<!doctype debiandoc system>
-<book>
-<title>Guide d'introduction à Debian GNU-Linux</title>
-
-<author>John Goerzen et Ossama Othman</author>
-<author>Traduction française de Patrice Karatchentzeff
-<email>p.karatchentzeff@free.fr</email>
-
-<version>Traduction du document du 2 octobre 2000</version>
-<abstract>
-Ceci est la version française du guide d'introduction à la
-distribution Debian GNU-Linux.
-</abstract>
-<copyright>
-Copyright &copy 1998, 1999, 2000 Software in the Public Interest, Inc
-
-<p>
-Il est autorisé de faire et de distribuer des copies modifiées du
-présent document sous les conditions de reproduction déclarées dans la
-«&nbsp;GNU General Public License&nbsp;» ainsi que dans tous les
-autres paragraphes où les conditions particulières de
-<em>copyright</em> s'appliquent, et que le résultat dérivé du
-précédent manuel dans son intégralité soit redistribué dans les mêmes
-conditions.
-
-<p>
-Il est autorisé de faire et de distribuer des copies traduites de ce
-manuel dans d'autres langues dans les conditions des versions
-modifiées. La «&nbsp;GNU General Public License&nbsp;» peut être
-incluse en version traduite approuvée par la <em>Free Software
-foundation</em> à la place de la version anglaise du document.
-
-<p>
-Vous pouvez comme vous le souhaîter distribuer des versions exactes ou
-modifiées du présent document en respectant les termes de la
-«&nbsp;GNU General Public License&nbsp;», à l'exception des sections
-clairement marquées avec un <em>copyright</em> séparé.
-</copyright>
-
-<toc sect>
-<chapt> Remerciements
-<p>
-De nombreuses personnes ont contribué à ce manuel. Nous aimerions toutes
-les remercier et nous allons essayer ici.
-<p>
-En espérant n'oublier personne parmi les nombreux collaborateurs à ce
-manuel, nous remercions : Havoc Pennington, Ardo van Rangelooij,
-Larry Greenfield, Thalia Hooker, Day Irmiter, James Treacy, Graig
-Sawyer, Oliver Elphick, Ivan E. Moore, Eric Fischer, Mike Touloumtzis
-et le <em>Projet de documentation de Linux</em> pour leur travail sur
-ce qu'est devenu le <em>Guide d'introduction à Debian GNU-Linux</em>.
-<p>
-Nous remercions Richard Stallman de la <em>Free Software
-Foundation</em> pour ses conseils et pour l'édition.
-<p>
-Nous disons un gros merci à Bruce Perens, Sven Rudolph, Igor Grobman,
-James Treacy, Adam Di Carlo, Tapio Lehtonen et Stéphane Bortzmeyer
-pour leurs travaux sur ce qui allait devenir une collection de
-documents d'installation.
-<p>
-Enfin, nous souhaitons vivement remercier les centaines de développeur
-Debian et que les milliers d'auteurs de logiciels libres qui nous ont
-donnés matière à penser et à écrire.
-</chapt>
-<chapt> Préface
-
-<p>
- <em>«&nbsp;La liberté est la plus radicale de toutes les idées.&nbsp;»</em>
-<p>
-Cette citation de Nathaniel Branden décrit bien, à nos yeux, le mouvement du
-logiciel libre. En l'espace de quelques décennies, à peine, l'informatique a
-transformé la vie de tout un pan de l'humanité. Par notre engagement dans le
-mouvement du logiciel libre, nous accentuons ce changement en offrant au plus
-grand nombre d'individus et de communautés la possibilité d'accéder
-pleinement aux ressources logicielles qui, dès lors, ne sont plus la
-chasse gardée de certains éditeurs et de leurs développeurs. Composants
-essentiels de cet objectif, ce livre et ce cédérom contiennent un précieux
-lot de logiciels libres, plus d'un millier de paquets, dont le plus populaire
-des serveurs web. Vous pouvez utiliser ces logiciels pour n'importe quoi, du
-dessin à la gestion de bases de données SQL.
-<p>
-La révolution de Logiciel Libre a pris l'industrie par surprise. Linux,
-conçu à partir de zéro il y a moins de dix ans, est devenu le noyau
-favori des auteurs de logiciels libres. Les idées et les expériences
-accumulées depuis ont propulsé Linux et les outils GNU de la <em>Free
-Sofware Foundation</em> aux avant-postes partout dans le monde. Des
-systèmes libres, comme celui de Debian GNU-Linux, rassemblent des
-milliers d'applications. Et qu'on ne s'y trompe pas, leur stabilité et
-leur puissance dépassent celles de bien des systèmes vedettes de
-l'industrie traditionnelle.
-<p>
-De nos jours, le système GNU-Linux joue un rôle dominant dans les
-serveurs Internet, parmi les fournisseurs d'accès, dans les
-universités, parmi les passionnés et dans le monde de la recherche
-informatique. Le système Debian GNU-Linux a mis la puissance des
-logiciels libres au service de tous, des ordinateurs portables aux
-engins spatiaux.
-<p>
-De très nombreuses entreprises dans le monde ont connu les
-satisfactions et les avantages qui découlent de l'utilisation de
-logiciels libres. Cette puissance et cette stabilité impressionnantes
-de même que la possibilité de communiquer directement avec l'auteur
-des programmes que vous utilisez, la capacité de les modifier
-à volonté, si, bien sûr, vous avez appris à le faire, et le support
-technique convivial que vous pouvez obtenir en ligne, en rien
-comparable, se combinent pour transformer l'usage au quotidien d'un
-ordinateur en une expérience pleine de découvertes et, surprise !
-d'émotions.
-<p>
-Entrer dans l'univers du logiciel libre, c'est sûrement la meilleure
-chose que vous ayez faite avec votre ordinateur; le faire à partir
-d'une Debian GNU-Linux, c'est d'autant mieux : elle est puissante,
-robuste, très bien documentée et, en prime, ludique !
-<p>
-Bienvenue à la révolution !
- <p>
- - John Goerzen.
-</chapt>
- <chapt> Introduction
-
-<p>
-Nous sommes heureux d'avoir la chance de vous présenter Debian. Avant
-d'entamer la discussion sur GNU-Linux, nous aimerions d'abord parler
-un peu de ce qu'est exactement Debian - ce qu'elle fait et qu'elle
-sont ses buts dans le monde vaste du Logiciel Libre.
-
-<sect> Qu'est-ce que Debian ?
-
-<p>
-Debian est un système d'exploitation (OS pour <em>Operating
-System</em>) libre pour votre ordinateur. Un système d'exploitation
-est un rassemblement de programmes élémentaires et d'utilitaires qui
-font fonctionner votre ordinateur. Au coeur du système se trouve le
-noyau. Le noyau est le programme le plus fondamental de votre
-ordinateur. Il s'occupe de toutes les tâches élémentaires et permet de
-lancer les autres programmes. Debian utilise le noyau Linux, un
-ensemble de logiciels entièrement libres initié par Linus Torvalds et
-supportant des milliers de logiciels dans le monde. Une part
-importante des outils de base qui forment le système d'exploitation
-vient du projet GNU (<em>https://www.gnu.org/</em>) et ces outils
-sont aussi libres.
-
-<p>
-Une autre facette d'un système d'exploitation est la partie logiciels
-applicatifs: ce sont les programmes qui vous aident dans votre travail, de
-l'édition de documents en passant par les jeux jusqu'à l'écriture
-d'autres programmes. Debian rassemble plus de 1500 paquets (ce sont
-des logiciels pré-empaquetés dans un format pratique pour
-l'installation sur votre machine) tous libres.
-
-<p>
-Le système Debian ressemble un peu à une pyramide. À la base se trouve
-le noyau Linux. Juste au-dessus se trouve les outils de base, la
-plupart en provenance du mouvement GNU. Ensuite, on trouve les
-logiciels applicatifs que vous utilisez sur votre ordinateur; la
-plupart d'entre eux sont aussi d'origine GNU. Les développeurs Debian
-agissent comme des architectes et des coordinateurs: ils organisent
-avec soin le système en ajustant l'ensemble dans un système
-d'exploitation cohérent et stable: Debian GNU-Linux.
-
-<p>
-La philosophie d'un système GNU-Linux est de répartir ses
-fonctionnalités en un ensemble de petites tâches élémentaires. De
-cette façon, il est aisé d'ajouter une nouvelle fonctionnalité en
-combinant les petits bouts de programmes de nouvelle façon. Debian est
-un jeu de construction: vous pouvez construire toutes sortes de choses
-avec.
-
-<p>
-Lorsque vous utilisez votre système d'exploitation, vous désirez
-réduire la quantité de travail pour effectuer une tâche donnée. Debian
-vous fournit quantité d'outils pour vous aider mais seulement si vous
-connaissez ce que font ces outils. Perdre une heure à faire
-fonctionner quelque chose pour l'abandonner ensuite n'est pas très
-productif. Ce guide a pour but de vous apprendre ces outils de base
-qui sont le coeur de Debian: quels outils utilisés dans certains cas
-et comment les combiner.
-
-<sect1> Qui est l'auteur de Debian ?
-
-<p>
-Debian est un projet de développement à travers Internet basé sur le
-volontariat. Il y a plusieurs centaines de volontaires travaillant
-dessus. La plupart sont responsables d'un petit nombre de paquets de
-logiciel et connaissent très bien les logiciels qu'ils empaquètent.
-
-<p>
-Ces volontaires travaillent de concert en respectant un ensemble de
-directives dans la façon d'assembler un paquet. Ces directives sont
-développées en coopération sur Internet lors de discussions dans des
-listes de diffusion.
-</sect1>
-</sect>
-
-<sect> Un système d'exploitation multi-tâches et multi-utilisateurs.
-
-<p>
-Comme nous l'avons précédemment mentionné dans la section 3.1,
-l'architecture de Debian GNU-Linux vient directement de celle
-d'Unix. À la différence des systèmes d'exploitation comme le DOS,
-Windows et MacOS, on trouve habituellement le système GNU-Linux sur de
-grands serveurs et des systèmes multi-utilisateurs.
-
-<p>
-Ceci veut donc dire que Debian possède des avantages que les
-précédents systèmes n'ont pas. Il autorise un nombre important de
-personnes à utiliser le système en même temps, tant que chaque
-utilisateur possède son propre terminal. <footnote>Un terminal est un
-simple écran et clavier qui sont connectés à l'ordinateur à travers le
-réseau, par l'intermédiaire d'un modem, ou directement. Votre clavier
-et l'écran forment alors un terminal qui est directement rattaché
-à l'ordinateur. Ce terminal spécial est souvent appelé
-<em>console</em></footnote> Pour autoriser de nombreux utilisateurs
-à travailler simultanément, Debian doit gérer de nombreux programmes et
-applications en même temps. Cette faculté s'appelle le
-<em>multi-tâches</em>.
-
-<p>
-Une grande partie de la puissance (et de la complexité) des systèmes
-GNU-Linux proviennent de ces deux fonctionnalités. Par exemple, le
-système doit avoir une solution pour empêcher un utilisateur de
-détruire accidentellement les fichiers d'un autre utilisateur. Le
-système d'exploitation doit aussi coordonner les nombreux programmes
-tournant en même temps et s'assurer qu'ils n'utilisent pas la même
-ressource, comme le disque dur, ensemble.
-
-<p>
-Si vous gardez à l'esprit la raison pour laquelle Debian a été créée,
-de nombreux de ses aspects vont alors avoir plus de sens. Vous
-apprendrez à tirer parti de la puissance de ces fonctionnalités.
-</sect>
-
-
-<sect> Qu'est-ce qu'un logiciel libre ?
-
-<p>
-Lorsque les développeurs et les utilisateurs de Debian parlent de
-logiciels libres, ils pensent à liberté plutôt qu'à gratuité.
-<footnote>NDT: En anglais, le <em>free</em> de <em>free
-software</em> veut aussi bien dire libre que gratuit d'où une
-confusion souvent ignorée du profane entre logiciel libre et
-gratuit.</footnote> Debian est libre dans le sens où vous êtes libre
-de la modifier et de la redistribuer, et vous aurez toujours accès au
-code source pour le faire. Les «&nbsp;Directives du Logiciel Libre de
-Debian&nbsp;»
-(<em>https://www.debian.org/social_contract#guidelines</em>) décrivent
-avec plus de détails ce que Debian appelle exactement libre. La <em>
-Free Software Foundation </em>, (<em>http://www.fsf.org</em>),
-à l'origine du projet GNU, est aussi une excellente source
-d'information. Vous pouvez trouver plus de détails sur le libre sur
-le site web de Debian (<em>https://www.debian.org</em>). Un des travaux
-les plus connus en la matière est un essai de Richard Stallman
-«&nbsp;Why Software should be free<footnote>Pourquoi les logiciels
-devraient être libres ?</footnote> ?&nbsp;»
-(<em>http://www.fsf.org/philosophy/shoudbefree.html</em>). Jetez-y
-donc un coup d'oeil pour connaître les raisons pour lesquelles nous
-supportons les logiciels libres comme nous le faisons. Récemment, des
-gens ont commencé à appeler les logiciels libres des logiciels
-<em>Open Source</em> (à code ouvert); ces deux termes sont
-interchangeables.
-
-<p>
-Il se peut que vous vous demandiez pourquoi certaines personnes
-prennent sur leur temps libre et passent des heures à écrire des
-logiciels et les empaqueter soigneusement juste pour les
-donner. Les réponses à cette question sont aussi variées que les
-contributeurs.
-
-<p>
-Beaucoup croient au partage de l'information et à la liberté de
-coopérer avec quelqu'un d'autre et ils pensent que le logiciel libre
-encourage cette pratique. Une longue tradition de mise en avant de ces
-valeurs, parfois appelée l'Éthique du Hacker<footnote> Notez bien que
-le terme «&nbsp;<em>hacker</em>&nbsp;» ne doit pas être confondu avec
-celui de « <em>cracker</em>&nbsp;». Pour faire simple, un
-<em>hacker</em> est un être bienveillant tandis qu'un <em>cracker</em>
-est malveillant. Les films et les autres formes de média utilisent la
-plupart du temps à tord le terme <em>hacker</em> au lieu de celui de
-<em>cracker</em></footnote>, a commencé dans les années cinquante. Le
-Projet Debian GNU-Linux a été fondé sur les bases de l'éthique de
-liberté des logiciels libres, sur le partage et la coopération.
-
-<p>
-D'autres désirent apprendre davantage sur les ordinateurs. De plus en
-plus de gens recherchent des solutions pour éviter les prix sans cesse
-croissants des logiciels propriétaires. C'est une communauté
-grandissante d'utilisateurs qui ne cesse d'apprécier tous les
-logiciels libres qu'elle a reçu d'autres personnes.
-
-<p>
-De nombreuses personnes dans les universités créent des logiciels
-libre pour favoriser le résultat de leur recherche dans des domaines
-non exploités. Certaines entreprises aident à maintenir certains
-logiciels libres et ont ainsi leur mot à dire dans la direction du
-développement - il n'y a pas de solutions plus rapide pour obtenir une
-nouvelle fonctionnalité que de l'implémenter vous-même ou d'embaucher
-un consultant pour le faire. Les entreprises sont aussi intéressées
-par la plus grande souplesse et la possibilité de choisir entre
-plusieurs vendeurs pour le support.
-
-<p>
-Quelques autres personnes voient les logiciels libres comme un bien
-social qui démocratise l'accès à l'information et prévient d'une
-centralisation excessive de l'infrastructure de l'information
-mondial. Bien sûr, beaucoup d'entre nous trouve cela tout simplement
-sympa.
-
-<p>
-Debian est tant rattachée au logiciel libre que nous avons pensé qu'il
-serait bien de tout formaliser dans un document. Notre <em>Contrat
-Social</em> (<em>https://www.debian.org/social_contract</em>) nous
-promet que Debian sera toujours composée à 100% de logiciels
-libres. Lorsque vous installez un paquet de la distribution
-<em>main</em> de Debian, vous pouvez être certain qu'il respecte nos
-Directives du Logiciel Libre.
-
-<p>
-Bien que Debian croit aux logiciels libres, il y a des cas où
-certaines personnes désirent ajouter des logiciels propriétaires sur
-leurs machines. Dans la mesure du possible, Debian le supporte; bien
-que les logiciels propriétaires ne sont pas inclus dans la partie
-<em>main</em> de la distribution Debian, on peut parfois les trouver
-sur le site ftp dans le répertoire <em>non free</em>. Et il y a un
-nombre grossissant de paquets dont le but unique est d'installer des
-logiciels propriétaires que nous ne sommes pas autorisés nous-mêmes
-à distribuer !
-
-<p>
-Il est important de bien distinguer les logiciels <em>commerciaux</em>
-de ceux <em>propriétaires</em>. Les logiciels propriétaires ne sont
-pas des logiciels libres; les logiciels commerciaux sont des logiciels
-vendus contre de l'argent. Debian autorise les logiciels commerciaux,
-mais pas les propriétaires, à faire partie de la distribution
-<em>main</em>. Rappelez-vous bien que l'expression <em>logiciel
-libre</em> ne se rapporte pas au prix; il est parfaitement possible de
-vendre un logiciel libre. Pour un peu plus de clarification sur la
-terminologie employée, voir <em>http://www.fsf.org/philosophy/categories.html</em>.
-</sect>
-
-<sect> Au sujet de ce livre
-
-<p>
-Ce livre a été conçu pour les lecteurs fraîchement arrivés
-à Debian GNU-Linux. Il n'est pas nécessaire d'avoir des connaissances
-sur le système GNU-Linux ou tout autre système de type Unix mais il
-est nécessaire d'avoir quelques connaissances de base sur les
-ordinateurs et leurs composants. Il vous faut connaître les
-différentes parties d'un ordinateur et ce que l'on peut faire avec.
-
-<p>
-De façon générale, ce tutoriel essaie de vous aider à comprendre ce
-qui se passe à l'intérieur d'un système Debian. L'idée est de vous
-rendre apte à résoudre de nouveaux problèmes et de tirer le meilleur
-parti de votre ordinateur. Ainsi, vous rencontrerez plein de théories
-et de faits amusants dans les différents aspects des «&nbsp;How
-To<footnote>Littéralement: Comment faire...</footnote>&nbsp;» de ce
-manuel.
-
-<p>
-Nous aimerions recevoir vos commentaires sur ce livre ! Vous pouvez
-joindre les auteurs debian-guide_fr-1.0_chap1.sgml
-à <em>debian-guide@complete.org</em>. Nous sommes tout particulièrement
-intéressés par le fait de savoir comment ce livre a pu vous aider et
-comment le rendre meilleur. Si vous avez des commentaires ou bien que
-vous pensez que ce livre est la meilleure chose depuis l'apparition du
-pain brioché, alors, s'il vous plaît, envoyez-nous un courriel.
-
-<p>
-N'envoyez pas s'il vous plaît de questions techniques aux auteurs sur
-Debian car il y a plein de forum pour cela. Allez au chapitre 17 pour
-obtenir de l'information ou de l'aide. N'envoyez des courriels qu'au
-sujet du livre à proprement parlé à l'adresse ci-dessus.
-
-
-<sect1> Comment lire ce livre
-
-<p>
-La meilleure façon d'apprendre n'importe quel programme informatique
-est de l'utiliser. La plupart des gens pensent que se contenter de
-lire un livre sans utiliser le programme n'est pas bénéfique. La
-meilleur voie pour apprendre Unix et GNU-Linux est encore de les
-utiliser. Utilisez GNU-Linux pour tout ce que vous pouvez. Sentez vous
-libre d'expérimenter !
-
-<p>
-Debian n'est pas aussi intuitive que certains autres systèmes
-d'exploitation. Il vous sera certainement nécessaire de lire au moins
-quelques chapitres de ce livre. La puissance et la complexité de
-GNU-Linux le rendent difficile au premier abord mais bien plus
-rentable par la suite.
-
-<p>
-Pour apprendre, nous vous suggérons de lire un petit peu, et de
-jouer ensuite un petit peu. Continuez de bidouiller jusqu'à ce que
-vous soyez à l'aise avec les concepts, et alors seulement poursuivez
-la lecture du livre. Vous trouverez une variété importante de sujets
-traités parmi lesquels certains vous intéresseront. Après quelque
-temps, vous serez assez confiant pour utiliser des commandes sans
-savoir exactement ce qu'elles font. Ce sera une bonne chose.
-
-<p>
-Si jamais vous vous trompez en tapant une commande ou que ne savez pas
-comment sortir d'un programme, appuyez sur CTRL-c (la touche
-<em>Ctrl</em> et la lettre minuscule <em>c</em> doivent être pressées
-simultanément). Cela stoppe la plupart du temps le programme.
-</sect1>
-
-<sect1> Conventions typographiques
-
-<p>
-Avant d'aller plus en avant, il est important de se familiariser avec
-les conventions typographiques utilisées dans ce livre.
-
-<p>
-Quand vous aurez à presser simultanément plusieurs touches, une
-notation comme CTRL-a sera utilisée. Cela signifie «&nbsp;pressez la touche
-<em>Ctrl</em> et pressez la touche de la lettre minuscule <em>a</em>
-». Certains claviers ont à la fois la touche <em>Alt</em> et
-<em>Meta</em>; la plupart des ordinateurs n'ont que la
-touche <em>Alt</em> mais celle-ci va simuler le comportement
-de la touche <em>Meta</em>. Donc, si vous n'avez pas de touche
-<em>Meta</em>, utilisez la touche <em>Alt</em> à la place.
-
-<p>
-Les touches comme <em>Alt</em> et <em>Meta</em> sont appelées des
-<em>modificateur</em> parce qu'elle change le mécanisme des touches
-standard comme la lettre <em>A</em>. Parfois, il est nécessaire
-d'avoir recours à plusieurs modificateurs simultanément. Par exemple,
-<em>Meta-Ctrl-a</em> signifie d'appuyer simultanément sur les touches
-<em>Meta</em>, <em>Ctrl</em> et <em>a</em> minuscule.
-
-<p>
-Quelques touches ont une notation spéciale. Par exemple,
-<em>Entrée</em> (<em>RET</em>, la touche avec une flèche descendante et
-allant à gauche), <em>Suppr</em> (<em>Suppr</em> ou quelque fois le
-<em>retour arrière</em> (la touche avec une flèche vers la gauche)),
-<em>Échap</em> (<em>Échappement</em> ou <em>Esc</em>). Ces touches
-portent généralement un nom bien explicite.
-
-<p>
-Les espaces utilisés dans les expressions signifient d'appuyer sur les
-touches séquentiellement. Par exemple, <em>CTRL-a x RET</em> signifie
-d'appuyer simultanément sur <em>Ctrl</em> et <em>a</em>, puis sur la
-lettre <em>x</em> et enfin sur la touche <em>Entrée</em>.
-
-<p>
-Dans certaines sections, le texte en <em>caractère gras</em> servira
-à marquer le texte de l'utilisateur, celui en <em>italique</em> des
-commentaires sur un point donné de la partie et tout autre type de
-texte servira au renvoi de la commande. Pour certaines commandes très
-courtes, vous pourrez rencontrer un autre format, en surimpression
-avec un <prgn>espacement fixe</prgn>.
-</sect1>
-</sect>
-</chapt>
-
-<chapt> Bien débuter
-
-<p>
-<em>«&nbsp;Une journée de plusieurs centaines de kilomètres doit
-commencer par un petit pas&nbsp;» - Lao-Tseu</em>
-
-<p>
-Maintenant que vous avez vu les idées et la philosophie se cachant
-derrière Linux et Debian, il est temps de l'installer sur votre
-matériel ! Nous allons commencer par parler des préparatifs
-à l'installation de Debian, notamment en partitionnant le disque et
-finir par comment démarrer l'installation de votre système.
-
-<sect> Matériel supporté
-
-<p>
-Debian n'impose pas un matériel requis, si ce n'est celui supporté
-par le noyau Linux et les outils GNU.
-
-<p>
-Plutôt que de tenter de décrire toutes les différentes configurations
-matérielles qui sont supportées sur la plateforme PC, cette section
-contient des informations générales et des pointeurs où trouver de
-l'information supplémentaire.
-
-<p>
-Il y a deux excellents endroits pour vérifier des informations
-détaillées. La liste du matériel supporté par Debian
-(<em>https://www.debian.org/releases/slink/i386/ch-hardware-req.en.html</em>)
-et le HOWTO du Projet de Documentation Linux
-<em>Compatibility-HOWTO</em>
-(<em>http://metalba.unc.edu/LDP/HOWTO/Hardware-HOWTO.html</em>). Pour
-des informations sur le support des cartes vidéos, vous pouvez aussi
-jeter un coup d'oeil à <em>XFree86</em>
-(<em>http://www.xfree86.org/</em>) sur leur site web.
-
-<sect1> Espace disque et de mémoire
-
-<p>
-Vous devez avoir au minimum 4 Mo de mémoire et 35 Mo d'espace
-disponible sur votre disque. Si vous désirez installer un nombre
-raisonnable de logiciels, avec en particulier le système X Window, et
-quelques programmes de développement ainsi que des bibliothèques, vous
-aurez certainement besoin d'au moins 300 Mo. Pour une installation
-complète, il vous faudra 800 Mo. Pour installer <em>tous</em> les
-paquets de Debian, il vous faudra probablement environ 2
-Go. Actuellement, tout installer n'a pas de sens car certains paquets
-procurent le même service.
-
-</sect1>
-</sect>
-
-<sect> Avant de commencer
-
-<p>
-Avant de commencer, assurez-vous bien de sauvegarder toutes vos
-données présentes sur le système. La procédure d'installation peut
-détruire toutes les données d'un disque dur ! Les programmes utilisés
-lors de l'installation sont assez sûrs et nombreux ont des années
-d'existence et d'exploitation; mais un faux mouvement de votre part
-peut vous coûter cher. Même après avoir sauvegardé vos données,
-réfléchissez bien lors de vos réponses et de vos actions. Deux minutes
-de réflexion peuvent vous épargner des heures de travail non
-nécessaire.
-
-<p>
-Debian s'efforce au mieux de partager la place avec un ou plusieurs
-autres systèmes d'exploitation. Si vous prévoyez cette option,
-assurez-vous d'avoir le cédérom original ou les disquettes pour
-pouvoir réinstaller les autres systèmes d'exploitation. Si vous
-repartitionnez votre disque de boot, il se peut que vous ayez
-à réinstaller le système d'amorçage<footnote><em>boot loader</em> en
-anglais. C'est le responsable de la procédure de choix du système
-d'exploitation au démarrage.</footnote> ou le système dans son
-intégralité.
-
-<sect1> Les informations nécessaires
-
-<p>
-Si votre ordinateur est connecté à un réseau vingt-quatre heures sur
-vingt-quatre (<em>i-e</em> par une connexion Ethernet ou similaire et
-non par une connexion <prgn>ppp</prgn>), vous devez demander à votre
-administrateur les informations suivantes:
-
-<p>
-<list>
-<item> Votre nom d'hôte («&nbsp;<em>hostname</em>&nbsp;»);
-<item> Votre nom de domaine («&nbsp;<em>domain name</em>&nbsp;»);
-<item> L'adresse IP de votre ordinateur;
-<item> L'adresse IP de votre réseau;
-<item> Le masque réseau utilisé par votre réseau;
-<item> L'adresse de votre réseau de diffusion en usage sur votre réseau («&nbsp;<em>broadcast</em>&nbsp;»);
-<item> L'adresse IP de la passerelle de routage par défaut («&nbsp;<em>gateway</em>&nbsp;»), si votre réseau en possède une;
-<item> Le système de votre réseau que vous devrez utiliser comme serveur DNS;
-<item> La façon dont vous vous connectez au réseau via <em>ethernet</em>;
-<item> Vérifiez si votre interface <em>Ethernet</em> est de type PCMCIA, et dans l'affirmative, relevez le type du contrôleur.
-</list>
-
-<p>
-Si votre seule connexion réseau est celle du téléphone via
-<prgn>ppp</prgn>, ou tout autre type équivalent de connexion, il n'est
-pas nécessaire de s'occuper du paramètrage réseau avant la fin
-d'installation. Voir la partie 13.1 concernant le paramètrage d'une
-connexion <prgn>ppp</prgn> sous Debian.
-</sect1>
-</sect>
-
-<sect> Partitionner son disque dur
-
-<p>
-Avant d'installer la Debian sur votre ordinateur, il est généralement
-de bon ton de planifier à l'avance l'organisation de votre disque
-dur. Une partie de ce travail consiste à partitionner le disque.
-
-<sect1> Travaux préliminaires
-
-<p>
-Le partitionnement d'un disque consiste simplement au fait de le
-diviser en parties. Chaque partie sera indépendante des autres. C'est
-un peu comme ajouter des murs à l'intérieur d'une maison: après,
-décorer une pièce n'affecte pas l'aspect des autres pièces.
-
-<p>
-Si vous avez déjà un système d'exploitation sur votre disque (Windows
-95, Windows NT, DOS, etc.) et que vous désirez installer Debian
-GNU-Linux au même endroit, il sera probablement nécessaire de
-repartitionner le disque. De manière générale, transformer une
-partition contenant déjà un système de fichier détruit toutes les
-informations le contenant. Ainsi, vous devez absolument faire une
-sauvegarde de toutes vos données avant tout repartitionnement. Pour
-reprendre l'analogie avec la maison, vous devrez probablement retirer
-tous les ornements d'un mur avant de le déplacer ou sinon, vous
-risqueriez des les endommager. Heureusement, il existe une possibilité
-pour certains utilisateurs; voir partie 4.3.6 pour plus
-d'informations.
-
-<p>
-Dans le cas le plus simple, le système GNU-Linux demande au moins une
-partition pour fonctionner. Vous pouvez avoir une seule partition
-contenant tout le système d'exploitation et vos fichiers
-personnels. De nombreuses personnes optent pour un partitionnement
-plus important pour le système GNU-Linux. Il y a deux raisons de
-subdiviser son système avec un nombre plus important de petites
-partitions. La première est pour une raison de sécurité. Si quelque
-chose arrive et corrompt le système de fichiers, seule une partition
-est généralement affectée. Ainsi, il n'est simplement nécessaire que
-de remplacer la portion incriminée (à l'aide des sauvegardes que vous
-avez pris soin d'effectuer consciencieusement). Au minimum, vous allez
-devoir créer ce que l'on appelle généralement une <em>partition
-root</em> ou <em>partition racine</em>. Elle contient les composants
-essentiels du système. Si une autre partition est corrompue, vous
-pouvez toujours amorcer votre système pour essayer de le réparer. Cela
-peut vous épargner les ennuis d'une réinstallation complète du système
-à partir de zéro.
-
-<p>
-La seconde raison est généralement plus critique dans un environnement
-commercial, mais elle dépend énormément de la finalité du
-système. Supposons que quelque chose échappe à tout contrôle et
-qu'elle se mette à dévorer l'espace disque disponible. Si le programme
-en question a des privilège de super-utilisateur (<em>root</em>), le
-système lui réservant un pourcentage du disque non disponible pour
-les utilisateurs, vous pouvez tout à coup vous retrouver sans
-ressource disque. Ce n'est vraiment pas une bonne idée étant donné que
-le système en a besoin tout le temps (au moins au travers de la zone
-d'échange<footnote>plus communément appelée le
-<em>swap</em>.</footnote>) pour de nombreux usages. Par exemple, des
-courriels non sollicités, comme le <em>spam</em>, peuvent
-rapidement saturer une partition. En utilisant de nombreuses
-partitions, vous pouvez vous protéger de ce genre de problème. Pour
-garder l'exemple du courrier électronique, placer le répertoire
-<em>/var/spool/mail</em> dans sa propre partition n'empêchera pas le
-système de continuer à fonctionner, même en cas de saturation par
-<em>spam</em>.
-
-<p>
-Une autre raison apparaît lorsque vous avez des disques IDE de grande
-capacité et que vous n'utilisez ni le mode LBA ni un pilote de
-surcharge.<footnote>Voir le manuel de votre disque pour une
-description de ces fonctionnalités.</footnote> Dans ce cas, il est
-nécessaire de placer la partition racine à l'intérieur des 1024
-premiers cylindres de votre disque dur, ce qui représente généralement
-environ 524 méga-octets. Voir la partie 4.3.3 pour obtenir plus
-d'informations à ce sujet.
-
-<p>
-La plupart des gens pensent qu'une partition d'échange est aussi une
-nécessité absolue alors que ce n'est pas exact. Le <em>swap</em> est
-une zone de stockage du système d'exploitation qui l'utilise comme une
-<em>mémoire virtuelle</em> en complément de la mémoire vive. La placer
-dans une partition séparée offre des performances accrues. Il est
-aussi possible de forcer Linux à utiliser un simple fichier comme zone
-d'échange mais ce n'est pas recommandé.
-
-<p>
-Le seul réel inconvénient à utiliser des partitions multiples est
-qu'il est généralement difficile d'appréhender à l'avance ses
-besoins. Si vous sous-dimensionnez vos partitions, soit vous aurez
-à réinstaller le système, soit vous aurez à jongler en déplaçant
-quantité de choses pour faire de la place dans la partie
-sous-taillée. D'un autre côté, si la partition est surdimensionnée,
-vous perdrez de la place qui pourrait être utilisée pour autre chose...
-</sect1>
-
-<sect1> Planifier l'usage du système
-
-<p>
-Les besoins en place sur un disque et son schéma de partitionnement
-sont fortement dépendants du type d'installation que vous avez décidé
-de créer.
-
-<p>
-Pour vous faciliter la vie, Debian offre un certain nombre de
-<em>profils</em> par défaut dont certains sont énumérés un peu plus
-loin. Les profils sont de simples jeux de paquets pré-sélectionnés en
-vue d'une tâche particulière sur votre système. L'installation est
-facilitée car tous les paquets requis dans le profil voulu sont
-automatiquement marqués à installer. Chaque profil fournit la taille
-globale du système après installation. Même si vous n'utilisez pas ces
-profils, cette aparté est important pour planifier car il vous permet
-de vous donner une idée de la taille de votre ou vos partitions
-suivant vos besoins. La liste suivante donne quelques profils ainsi
-que la taille associée:
-
-<list>
-<item><prgn>Server_std</prgn>
-<p>
-Ceci est une petite configuration de serveur utile pour de très
-petites machines qui ne conviendraient plus à un usage courant pour un
-utilisateur. Elle possède par défaut un serveur FTP, un serveur web,
-DNS, NIS et POP. Cela occupe environ 50 Mo. Bien sûr, ceci correspond
-simplement à la taille des logiciels installés ; toutes les données
-que vous aurez à traiter sont à rajouter.
-<item><prgn>Dialup</prgn>
-<p>
-Ceci est typique d'une configuration classique de bureau avec un
-système X Window, des applications graphiques, du son, de l'édition,
-etc. La taille de l'ensemble des paquets occupe près de 500 Mo.
-<item><prgn>Work_std</prgn>
-<p>
-Cette configuration convient aux petites machines ne pouvant supporter
-X Window et ses applications graphiques. C'est aussi parfait pour un
-ordinateur portable ou mobile. Cela occupe environ 140 Mo. Il est
-possible aussi d'avoir une configuration sous X avec moins de 100 Mo.
-<item><prgn>Devel_comp</prgn>
-<p>
-Ceci est un environnement de travail rassemblant tous les paquets de
-développement populaires comme PERL, C et C++. Cela demande environ
-475 Mo. En rajoutant X et quelques autres paquets utiles, vous devriez
-tourner autour de 800 Mo pour ce type d'installation.
-</list>
-
-Garder en mémoire que ces tailles n'incluent pas toutes les données
-généralement présentes sur un disque, comme les fichiers des
-utilisateurs, les courriels et les données. Il est toujours préférable
-d'être généreux avec la taille de vos propres données et fichiers. De
-plus, le répertoire Debian <em>/var</em> contient quantités
-d'informations du système. Les fichiers de gestionnaire d'installation
-des paquets peut facilement occuper 20 Mo de disque. En général, vous
-devriez allouer au moins 50 Mo pour le répertoire <em>/var</em> car
-les journaux de bord<footnote>plus communément appelés les fichiers de
-<em>log</em></footnote>du système sont aussi stockés là.
-</sect1>
-
-<sect1> Les limitations des disques PC
-
-<p>
-Les BIOS des PC ajoutent de nouvelles contraintes au partitionnement
-de disque. Il y a une limite au nombre de partitions
-<em>primaires</em> et <em>logique</em> qu'un disque peut contenir. En
-plus, il y a des limites à la taille de l'endroit où le BIOS va
-chercher ses informations d'amorçage. On peut trouver plein
-d'informations à ce sujet dans le mini-HOWTO Partition
-(<em>http://metalab.unc.edu/LDP/HOWTO/mini/Partition.html</em>). Cette
-partie va inclure une bref résumé pour vous aider à affronter la
-plupart des situations.
-
-<p>
-Les partitions <em>primaires</em> sont les partitions originelles des
-disques durs de PC. On ne pouvait en créer plus de quatre. Pour
-s'affranchir de cette limitation, les partitions <em>étendues</em> ou
-<em>logiques</em> ont été inventées. En configurant une de vos
-partitions <em>primaires</em> en <em>étendue</em>, vous pouvez
-subdiviser la zone de cette partition en partitions logiques. Le
-nombre de partitions logiques que vous pouvez créer est beaucoup moins
-limité que le nombre de partitions primaires. Dans tous les cas, vous
-ne pouvez créer qu'une seule partition étendue par disque.
-
-<p>
-Linux limite le nombre de partitions par disque à quinze partitions
-pour les disques SCSI (trois partitions primaires utilisables et douze
-partitions logiques) et soixante trois partitions pour les disques IDE
-(trois partitions primaires et soixante partitions logiques).
-
-<p>
-La dernière chose qu'il est nécessaire de connaître au sujet du BIOS
-du PC est que votre partition racine - c'est-à-dire la partition
-contenant l'image du noyau - doit être incluse dans les 1024 premiers
-cylindres de votre disque. Puisque généralement votre partition
-racine est aussi votre partition d'amorçage, il faut vous assurer que
-votre partition racine se trouve bien à l'intérieur des 1024 premiers
-cylindres.
-
-<p>
-Si vous avez un disque de grande capacité, il se peut que vous
-utilisiez des techniques de translation de cylindres à l'intérieur de
-votre BIOS comme la translation LBA (On peut se référer pour plus
-d'informations au sujet des disques de grande capacité dans le
-<em>Large Disk mini-HOWTO</em>
-(<em>http://metalab.unc.edu/LDP/HOWTO/mini/Large-Disk.html</em>)). Si
-vous utilisez ce schéma de translation de cylindres, votre partition
-d'amorçage doit se trouver à l'intérieur de la représentation
-translatée des 1024 cylindres.
-</sect1>
-
-<sect1> Nom de périphériques sous Linux
-
-<p>
-Les noms des disques et partitions sous Linux peuvent être différents
-que ceux utilisés par d'autres systèmes d'exploitation. Vous devez
-connaître ces noms que Linux utilise au moment de la création et du
-montage des partitions. On trouve un schéma élémentaire dans la table
-suivante.
-
-<p>
-<example>
- ----------------------------------------------------------
-| Périphériques | Nom sous Linux |
-|----------------------------------------------------------|
-| Premier lecteur de disquette | /dev/fd0 |
-| Second lecteur de disquette | /dev/fd1 |
-| Première partition sur /dev/hda | /dev/hda1 |
-| (typiquement C: dans d'autres OS)| |
-| Cinquième partition sur /dev/hdc | /dev/hdc5 |
-| Seconde partition sur /dev/sdb | /dev/sdb2 |
-| Disque IDE sur la première nappe | /dev/hda |
-| IDE en maître ou cédérom | |
-| Disque IDE sur la première nappe | /dev/hdb |
-| IDE en esclave ou cédérom | |
-| Disque IDE sur la seconde nappe | /dev/hdc |
-| IDE en maître ou cédérom | |
-| Disque IDE sur la seconde nappe | /dev/hdd |
-| IDE en esclave ou cédérom | |
-| Premier disque SCSI | /dev/sda |
-| Second disque SCSI et les autres | /dev/sbb et ainsi de |
-| | suite |
-| Premier port série (COM1 dans | /dev/ttyS0 |
-| d'autres OS) | |
-| Second, troisième, etc. port | /dev/ttyS1, /dev/ttyS2|
-| série | etc. |
-| Unités de sauvegarde SCSI (à | /dev/st0, /dev/st1, |
-| rembobinage automatique) | etc. |
-| Unités de sauvegarde SCSI (à | /dev/nst0, /dev/nst1, |
-| rembobinage non automatique) | etc. |
-| Cédéroms SCSI | /dev/scd0, /dev/scd1, |
- ----------------------------------------------------------
-</example>
-
-<p>
-Les partitions de chaque disque sont représentées en ajoutant un
-chiffre au numéro de disque. Par exemple, les noms <em>hda1</em> et
-<em>hda2</em> représentent les première et seconde partitions du
-premier disque IDE de votre système. Linux représente les partitions
-primaires avec le nom du périphérique plus les nombres 1 à 4. Par
-exemple, la première partition primaire du premier disque IDE est
-<em>/dev/hda1</em>. Les partitions logiques sont numérotées à partir
-de 5 donc la première partition logique est <em>/dev/hda5</em>. Garder
-bien en mémoire que la partition étendue - c'est-à-dire la partition
-primaire contenant les partitions logiques - n'est pas utilisable en
-tant que tel. Ceci s'applique aussi bien aux disques SCSI qu'aux disques
-IDE.
-
-<p>
-Imaginons que vous ayez un système avec deux disques SCSI, un
-à l'adresse 2 et l'autre à l'adresse 4. Le premier disque, à l'adresse
-2, est appelé <em>sda</em> tandis que le second est appelé
-<em>sdb</em>. Si le disque <em>sda</em> a trois partitions, elles
-seront appelées <em>sda1, sda2</em> et <em>sda3</em>. On applique le
-même raisonnement pour les partitions du disque <em>sdb</em>. Remarquez
-que si vous possédez deux adaptateurs pour bus SCSI (contrôleurs),
-l'ordre des périphériques peut porter à confusion. La meilleure
-solution dans ce cas est encore de regarder les messages de
-<em>boot</em>, en supposant que vous connaissez le modèle de vos
-périphériques.
-</sect1>
-
-<sect1> Schéma de partitionnement recommandé
-
-<p>
-Comme décrit auparavant, il est recommandé d'avoir une petite
-partition racine séparée et une grosse pour <em>/usr</em> s'il y a
-suffisamment de place. Pour la plupart des utilisateurs, ce
-partitionnement est très largement suffisant. Ceci est spécialement
-recommandé si vous avez un petit disque car la création de nombreuses
-partitions peut vous faire perdre de la place.
-
-<p>
-Dans certains cas, il se peut que vous ayez besoin d'une partition
-<em>/usr/local</em> séparée si vous planifier l'installation de
-nombreux programmes non-inclus dans Debian. Si votre machine est un
-serveur de courriel, vous aurez besoin d'une partition séparée pour
-<em>/var/spool/mail</em>. Mettre <em>/tmp</em> sur sa propre partition
-de 20 à 32 Mo est aussi une bonne idée. Si vous préparez un serveur
-avec un grand nombre de comptes d'utilisateurs, c'est généralement une
-bonne idée de préparer une grande partition séparée contenant
-<em>/home</em> à des fins de sauvegarde des comptes des utilisateurs.
-De façon générale, le partitionnement varie énormément d'un ordinateur
-à l'autre et dépend essentiellement de son usage.
-
-<p>
-Pour des systèmes très complexes, vous devez aller jeter un coup
-d'oeil au <em>Multi Disks HOWTO</em>
-(<em>http://metalab.unc.edu/LDP/HOWTO/Multi-Disk-HOWTO.html</em>). Il
-contient de nombreuses informations techniques pour les gens désirant
-configurer des serveurs.
-
-<p>
-La taille de la partition de <em>swap</em> doit aussi être étudiée. Il
-y a beaucoup de points de vue à ce sujet. Une règle approximative qui
-ne fonctionne pas trop mal est d'avoir autant de <em>swap</em> que de
-mémoire vive, quoiqu'il ne soit pas nécessaire de dépasser 64 Mo pour la
-plupart des utilisateurs. Elle ne doit pas non plus être plus petite
-que 16 Mo non plus. Bien sûr, il y a des tas d'exceptions. Si vous
-essayez de résoudre simultanément 10 000 équations avec une machine
-dotée de 256 Mo de mémoire vive, vous pouvez avoir besoin d'un
-giga-octet (si ce n'est plus...) de <em>swap</em>.
-
-<p>
-Par exemple, considérons une machine dotée de 32 Mo de mémoire vive et
-d'un disque IDE de 1,7 Go sur <em>/dev/hda</em>. Il y a une partition
-de 500 Mo pour un autre système d'exploitation sur
-<em>/dev/hda1</em>. Une partition de <em>swap</em> de 32 Mo est
-utilisée en <em>/dev/hda3</em> et le reste, environ 1,2 Go, sur
-<em>/dev/hda2</em> est la partition Linux.
-</sect1>
-
-<sect1> Partitionnement avant installation
-
-<p>
-Il existe deux moments différents pendant lesquels partitionner: avant ou
-après l'installation de Debian. Si votre ordinateur est entièrement
-consacré à Debian, vous pouvez partitionner pendant l'installation
-comme décrit dans la partie 5.5. Si vous avez une
-machine équipée de plus d'un système d'exploitation, vous devez
-généralement laisser l'autre système créer ses propres partitions.
-
-<p>
-Les paragraphes suivant contiennent des informations sur la manière de
-partitionner votre premier système d'exploitation avant l'installation
-de Debian. Remarquez que vous allez avoir besoin de savoir comment
-relier les noms des périphériques de votre système d'exploitation
-à ceux des partitions Linux.
-
-<p>
-<em>Partitionner à partir de DOS ou Windows</em>
-
-<p>
-Si vous manipuler des partitions FAT ou NTFS existantes, il est
-recommandé d'utiliser soit les outils natifs de Windows ou DOS, soit
-le schéma plus loin. Sinon, il n'est pas nécessaire de partitionner
-à partir de DOS ou Windows: les outils de partitionnement de Linux font
-généralement un travail de meilleure qualité.
-
-<p>
-<em>Réduire une partition existante</em>
-
-<p>
-Un des cas les plus classiques d'installation est de le faire sur un
-système contenant déjà le DOS (y compris Windows 3.1), Win32 (comme
-Windows 95, 98 ou NT) ou OS/2 et d'y ajouter Debian sur le même disque
-sans détruire l'ancien système. Comme décrit précédemment, réduire la
-taille d'une partition existante conduit presque immanquablement à la
-perte des données qu'elle contient, du moins sans prendre de
-précautions. La méthode que nous allons décrire ici, bien que ne
-garantissant pas de protéger vos données, marche très bien en
-pratique. Mais vous <em>devez faire une sauvegarde</em> par
-précaution.
-
-<p>
-Avant d'aller plus loin, vous devez savoir comment vous comptez
-diviser votre disque. La méthode décrite ici découpe seulement la
-partition initiale en deux morceaux. Un contiendra l'ancien système
-d'exploitation. L'autre sera utilisé par Debian. Pendant
-l'installation de Debian, on vous laissera le choix de partitionner la
-partie Debian à votre convenance, pour le <em>swap</em> ou pour le
-système de fichiers.
-
-<p>
-L'idée est de rassembler l'ensemble des données de la partition à son
-début de façon à ce que l'on ne perde rien lors de la réduction. Il
-est important de déplacer les données par paquets aussi petits que
-possible de façon à réduire les chances qu'un fichier soit écrit en
-fin de partition et réduise ainsi la taille disponible que vous pouvez
-extraire de cette partition.
-
-<p>
-La première chose que vous devez faire est une copie de FIPS qui est
-disponible dans le répertoires <em>tools</em> de votre cédérom
-Debian. Cette disquette doit être bootable. Sous DOS, une disquette
-bootable peut être créée en utilisant la commande <prgn> sys a:</prgn>
-sur un support précédemment formaté ou bien <prgn>format a; /s</prgn>
-pour une disquette non formatée. Dézipez l'archive et copiez les
-fichiers RESTORRB.EXE, FIPS.EXE et ERRORS.TXT sur la disquette
-bootable. FIPS est fourni avec une très bonne documentation que l'on
-vous recommande de lire. Vous devez absolument la lire si vous
-utilisez une compression de disque ou un gestionnaire de disque. Créer
-la disquette et lisez la documentation <em>avant</em> de poursuivre.
-
-<p>
-L'étape suivante consiste à déplacer toutes les données au début de la
-partition. DEFRAG, qui est fourni en standard dans les versions de DOS
-6.0 et supérieures, peut très bien effectuer cette tâche. Regardez la
-documentation de FIPS pour une liste d'outils analogues. Remarquez
-bien que si vous utilisez Windows 95 ou plus, vous devez lancer DEFRAG
-de cet environnement car le DOS ne connaît pas le système de fichier
-VFAT utilisé pour accepter les noms longs dans les versions 95 et
-ultérieures de Windows.
-
-<p>
-Après avoir défragmenté le disque (ce qui peut prendre un certain
-temps sur les disques de grande capacité), rebooter sur la disquette
-FIPS que vous avez créée. Taper tout simplement <prgn>a:\ fips</prgn> et
-suivez les instructions.
-
-<p>
-Remarquez au passage qu'il existe de nombreux autres gestionnaires de
-partitions que celui-ci, au cas où FIPS ne fonctionnerait pas bien
-pour vous.
-</sect1>
-
-<sect1> Les étapes d'installation de Debian
-<p>
-
-Pour installer Debian la première fois, il vous faudra passer par les
-différentes étapes suivantes:
-
-<list>
-<item> Booter sur le système d'installation;
-<item> Configurer le système de base;
-<item> Installer le système de base;
-<item> Booter sur le système de base précédemment installé;
-<item> Installer le reste du système.
-</list>
-
-<p>
-Booter sur le système d'installation, pour la première étape,
-s'effectue généralement avec la disquette de
-secours<footnote><em>Rescue floppy</em> dans la distribution
-Debian.</footnote> ou sur le cédérom.
-
-<p>
-Aussitôt que vous avez booté le système Linux, le programme
-<prgn>dbootstrap</prgn> se lance et vous guide pour effectuer la seconde
-étape, la configuration du système de base. Cette étape est décrite en
-détail dans le chapitre suivant.
-
-<p>
-Le <em>système de base Debian</em> est un ensemble de paquets de base
-recquis pour faire tourner Debian avec un système minimal et de façon
-autonome. <prgn>dbootstrap</prgn> va vous l'installer à partir du cédérom,
-comme décrit dans la partie 5. À partir du moment où vous avez
-installé et configuré le système de base, votre machine est
-complètement autonome.
-
-<p>
-La dernière étape consiste à installer le reste du système
-Debian. Ceci va inclure les applications et les documents que vous
-utilisez vraiment sur votre ordinateur, comme le système X Window, des
-éditeurs, des interpréteurs de commandes (plus connus sous leur
-vocable anglaise <em>shell</em>) et des environnements de
-développements. Ceci se fait à partir du cédérom. À partir de ce
-point, vous aurez à utiliser les outils standard de gestion de
-paquets sous Debian comme <prgn>dselect</prgn>. Cette étape est décrite
-dans la partie 5.20.
-</sect1>
-</sect>
-
-<sect> Choisir son support d'installation
-
-<p>
-Il faut choisir dans un premier temps le support à partir duquel vous
-installerez le système. Ensuite, il faut choisir la méthode
-d'installation du système de base.
-
-<p>
-Pour booter sur la procédure d'installation, vous avez les choix
-suivants: un cédérom bootable, des disquettes ou un système de
-chargement au boot différent de celui fourni sous Linux.
-
-<p>
-Booter avec les cédéroms est bien entendu la manière la plus facile
-d'installer Debian. Mais toutes les machines ne supportent pas cette
-méthode et il se peut que vous ayez besoin d'utiliser les disquettes.
-Booter à partir de disquettes est supporté pour la plupart des
-plateformes. La façon de le faire est décrit à la partie 4.4.2.
-
-<sect1> Installation à partir du cédérom
-
-<p>
-Si votre machine supporte de booter sur un cédérom, vous n'avez pas
-besoin de disquette. Mettez le cédérom dans son lecteur, éteignez
-votre ordinateur et rallumez-le. Vous devriez voir un écran d'accueil
-avec un curseur de boot en bas. Vous pouvez passez alors directement
-à la partie 4.5.
-
-<p>
-Si votre ordinateur ne «&nbsp;voit&nbsp;» pas vos cédéroms Debian, la solution
-la plus simple est de se fabriquer deux disquettes de boot
-(description dans la partie suivante) et de les utiliser pour lancer
-Debian. Mais ne vous inquiétez pas: Debian en aura alors fini avec les
-deux disquettes et elle trouvera le cédérom sans problème.
-</sect1>
-
-<sect1> Installation à partir de disquettes
-
-<p>
-Ce n'est pas difficile de booter à partir des disquettes. En effet,
-votre cédérom contient toutes les informations pour créer les
-disquettes nécessaires. Il vous sera demandé d'avoir deux
-disquettes. Nommez la première <em>Disquette d'installation-secours
-Debian 2.1</em> et la seconde <em>Disquette de modules-pilotes Debian
-2.1</em>.
-
-<p>
-<em> Créer des disquettes à partir des images de disquettes </em>
-
-<p>
-Les images des disquettes sont des fichiers contenant l'ensemble
-complet des éléments de la disquette de boot sous forme binaire. Les
-images de disquette, comme <em>resc1440.bin</em>, ne peuvent être
-copiées directement sur la disquette. Un programme spécial est utilisé
-pour recopier les images des fichiers au format binaire.
-
-<p>
-La première étape consiste à obtenir une invite DOS. Dans Windows 95,
-et supérieur, vous pouvez l'obtenir en double-cliquant sur l'icône
-MS-DOS ou en allant dans <em>Démarrer -> Programme ->
-MS-DOS</em>. Ensuite, insérer le cédérom Debian GNU-Linux dans son
-lecteur. Déplacez-vous alors dessus. Dans la plupart des cas, il
-s'agit de D:
-
-<p>
-<example>
-C:\WINDOWS>D:
-</example>
-
-<p>
-Maintenant, déplacez-vous dans le répertoire contenant les images des
-disquettes:
-
-<p>
-<example>
-D:\> CD \DISTS\SLINK\MAIN\DISKS-I386\2.1.8-1999-02-22
-</example>
-
-<p>
-Si vous obtenez une erreur, vérifiez bien ce que vous avez tapé. Si
-l'erreur persite, déplacez-vous manuellement dans
-<prgn>\DISTS\SLINK\MAIN\DISKS-I386</prgn> et taper alors
-<prgn>DIR</prgn> et allez alors dans le répertoire précité. Remarquez
-que les commandes ci-dessus, et peut-être celles données un peu plus
-loin, peuvent tenir sur une seule ligne sur votre écran même si elles
-tiennent sur plusieurs lignes ici.
-
-<p>
-Maintenant, vous êtes prêt à créer la première des deux
-disquettes. Lancer le programme <prgn>rawrite2</prgn> pour les écrire:
-
-<p>
-<example>
-D:\DISTS\SLINK\MAIN\DISKS-I386\2.1.8-1999-02-22>rawrite2
-RaWrite 2.0 - Write disk file ta raw floppy diskette<footnote> Pour
-écrire un fichier du disque dur vers une disquette au format
-binaire.</footnote>
-</example>
-<p>
-<prgn>Rawrite2</prgn> lance ainsi ses messages de démarrage. Ensuite, il
-demande le nom du fichier et le lecteur de disquette:
-
-<p>
-<example>
-Enter disk image source file name<footnote>Entrer le nom du
-fichier image cible</footnote>: resc1440.bin
-Enter target diskette drive<footnote>Entrer le nom du lecteur de
-disquette</footnote>: a:
-</example>
-
-<p>
-<prgn>Rawrite2</prgn> vous demande maintenant de bien vouloir insérer une
-disquette dans le lecteur de disquette. Faîtes-le et appuyez sur
-<em>Entrée</em>
-
-<p>
-<example>
-Please insert a formatted diskette into drive A: and press -ENTER-<footnote>Veuillez insérer une disquette formatée dans le lecteur A et appuyez sur Entrée</footnote>:
-</example>
-
-<p>
-À ce moment, <prgn>rawrite2</prgn> va créer la première des deux
-disquettes. Il vous faut répéter le processus pour la seconde
-disquette:
-
-<p>
-<example>
-D:\DISTS\SLINK\MAIN\DISKS-I386\2.1.8-1999-02-22>rawrite2
-RaWrite 2.0 - Write disk file ta raw floppy diskette
-Enter disk image source file name: drv1440.bin
-Enter target diskette drive: a:
-Please insert a formatted diskette into drive A: and press -ENTER- :
-</example>
-
-<p>
-À partir de maintenant, les disquettes sont prêtes: vous pouvez les
-utiliser pour booter.
-
-<p>
-<em> Booter sur Debian</em>
-
-<p>
-Vous êtes maintenant prêt à booter sur Debian. Éteignez votre système
-d'exploitation en cours et placez la disquette d'installation-secours
-dans le lecteur de disquette. Rallumez votre ordinateur. Vous devriez
-avoir un écran de bienvenue et un curseur de prompteur en bas.
-</sect1>
-</sect>
-
-<sect> Booter sur la procédure d'installation
-
-<p>
-Vous devriez avoir à ce stade un curseur de boot. Presser simplement
-sur <em>Entrée</em> à cet endroit.
-
-<p>
-Après avoir appuyé sur la touche <em>Entrée</em>, vous devriez voir le
-message <prgn>Loading...</prgn> et ensuite <prgn>Uncompressing
-Linux....</prgn> et une quantité d'informations partout sur l'écran,
-voire sur plusieurs, au sujet du matériel de votre
-système. Généralement, vous pouvez ignorer ces messages. Linux
-recherche un grand nombre de périphériques variés et vous indique ce
-qu'il trouve et ce qu'il ne trouve pas. Ne vous inquiétez pas de tous
-ces messages à ce moment là. Attendez simplement jusqu'à ce que vous
-aperceviez l'écran de choix en couleur. Si vous avez des problèmes,
-voir le chapitre 17.
-</sect>
-
-</chapt>
-<chapt> Installation pas à pas
-
-<p>
-<prgn>dbootstrap</prgn> est le nom du programme qui est lancé après avoir
-booté sur la procédure d'installation. Il est responsable de la
-configuration initiale du système et de l'installation du système de
-base.
-
-<p>
-Le travail principal de <prgn>dbootstrap</prgn> et celui de la
-configuration de base du système sont de configurer certains éléments
-basiques de votre système. Par exemple, cela inclut votre adresse IP,
-votre nom de domaine et quelques autres paramètres de configuration
-réseau, en cas de besoin. Cela comprend aussi la configuration des
-modules du noyau qui sont les pilotes chargés par le noyau. Ces
-modules comprennent les pilotes de sauvegarde externe, les pilotes
-réseau, le support multilingues et plein d'autres
-périphériques. Configurer ces choses fondamentales est fait
-prioritairement car elles sont souvent nécessaires au bon
-fonctionnement ultérieur de la machine lors des étapes de
-configurations suivantes.
-
-<p>
-<prgn>dbootstrap</prgn> est une application simple orientée
-caractères. Elle est très facile à utiliser. Généralement, elle vous
-guide à travers chaque étape du processus d'installation de façon
-linéaire. Vous pouvez aussi revenir en arrière et répéter une étape si
-vous vous êtes trompé. La navigation à l'intérieur de
-<prgn>dbootstrap</prgn> s'effectue à l'aide des flèches du clavier, des
-touches <em>Entrée</em> et <em>Tab</em>.
-
-<sect> Sélection d'un écran monochrome ou couleur
-
-<p>
-Une fois que le système a terminé de booter, <prgn>dbootstrap</prgn> est
-invoqué. La première chose que <prgn>dbootstrap</prgn> vous demande
-concerne votre écran. Vous devez voir une fenêtre de dialogue <em>Select
-Color or Monochrome display</em> (Sélectionner un écran
-couleur ou monochrome). Si votre moniteur est capable
-d'afficher de la couleur, appuyez sur <em>Entrée</em>. L'écran devrait
-alors passer du noir et blanc en couleur. Déplacez-vous à l'aide des
-flèches sur le bouton <em>Next</em> (suivant) et pressez alors de
-nouveau la touche <em>Entrée</em> pour continuer l'installation.
-</sect>
-
-<sect> Menu principal d'installation de Debian GNU/Linux
-
-<p>
-Il se peut que vous aperceviez une boîte de dialogue disant <em>The
-installation program is determining the current state of your system
-and the next installation step should be performed</em> (Le
-programme d'installation est en train de déterminer l'état actuel de
-votre système et l'étape suivante d'installation ne devrait pas
-tarder). C'est une phase pendant laquelle le programme
-d'installation cherche à détecter automatiquement ce que vous aurez
-probablement besoin de faire ensuite. Dans certains cas, il se peut
-que vous n'aperceviez même pas cette boîte de dialogue.
-
-<p>
-Pendant toute la procédure d'installation, vous aurez affaire au menu
-principal, intitulé <em>Debian GNU-Linux Installation Main Menu</em>
-(Menu principal d'installation de Debian GNU-Linux). Les choix situés
-en haut du menu changent au fur et à mesure pour indiquer votre
-progression dans l'installation du système. Phil Hughes écrivait dans
-le <em>Linux Journal</em> (<em>http://www.linuxjournal.com</em>) que
-vous pouviez apprendre à un poulet à installer une Debian ! Il
-soulignait ainsi le fait que le menu de la procédure d'installation
-consistait essentiellement à appuyer sur la touche <em>Entrée</em>. Le
-premier choix du menu d'installation est l'action suivante que vous
-aurez à effectuer si le système ne détecte pas que vous l'avez
-déjà fait. Si vous sélectionnez <em>Next</em> (suivant) ici, l'étape
-suivante dans l'installation du système est sélectionnée.
-</sect>
-
-<sect> Configurer le clavier
-
-<p>
-Assurez-vous que le bouton <em>Next</em> est mis en surbrillance et
-appuyez sur <em>Entrée</em> pour entrer dans le menu de configuration
-du clavier.
-
-<p>
-Déplacez le curseur lumineux vers le clavier sélectionné et appuyer
-sur <em>Entrée</em>. Utilisez les flèches pour vous déplacer. Dans de
-nombreux cas, vous n'aurez qu'à sélectionner
-<em>U.S. layout</em><footnote>NDT: surtout pas pour nous francophones
-car vous risqueriez de vous arracher les cheveux... Prenez bien soin
-de sélectionner un clavier conforme à vos origines (française, suisse,
-belge ou canadienne) si tel est le cas.</footnote>.
-</sect>
-
-<sect> Dernière chance de sauvegarder vos données !
-
-<p>
-Ne vous a-t-on pas déjà dit de sauvegarder vos disques ? Voici la
-première occasion de les détruire et la dernière chance de sauvegarder
-vos vieux systèmes. Si vous n'avez encore sauvegardé vos disques,
-sortez la disquette ou le cédérom de son lecteur, éteignez le système
-puis faîtes vos sauvegardes.
-</sect>
-
-<sect> Partitionner un disque dur
-
-<p>
-Quelque soit le choix proposé par le menu de sélection <em>Next</em>,
-vous pouvez utiliser les flèches « haut » et « bas » pour sélectionner
-<em>Partition a Hard Disk</em> (Partitionner un disque
-dur). Allez-y et à partir de là, appuyez sur
-<em>Entrée</em>.
-
-<p>
-Le menu de <em>Partition a Hard Disk</em> vous présente une liste de
-type de disques que vous pouvez partitionner et lance une application
-de partitionnement appelée <prgn>cfdisk</prgn>. Vous devez créer au moins
-une partition <em>Linux native</em> (de type 83) et vous aurez
-probablement besoin d'une partition <em>Linux swap</em> (de type 82)
-comme expliqué plus loin dans cette partie.
-
-<p>
-Vous devez créer maintenant les partitions dont vous aurez besoin pour
-installer Debian. Par exemple, on supposera que vous partionnerez un
-disque dur vierge.
-
-<p>
-La partition de boot doit se trouver à l'intérieur des 1024 premiers
-cylindres de votre disque dur (voir paragraphe 4.3.3). En gardant cela
-à l'esprit, utilisez la flèche droite pour mettre en surbrillance le
-menu <em>New</em> (nouveau) et pressez alors sur <em>Entrée</em>. On
-vous demandera alors de créer soit une partition <em>primaire</em>
-soit une partition <em>logique</em>. Pour vous assurer que la
-partition contenant l'information de boot soit bien dans les 1024
-premiers cylindres, créez en premier votre partition primaire. La
-partition primaire sera votre partition <em>Linux native</em>.
-
-<p>
-Mettez en surbrillance le menu principal et appuyez sur la touche
-<em>Entrée</em>. Vous devez ensuite entrer la largeur de votre future
-partition. Si vous ne savez pas quelle taille lui donner, allez voir
-la partie 4.3.2. Ne pas oublier de laisser une place suffisante pour
-la partition de <em>swap</em> (voire la partie 4.3.5). Entrez la
-taille de la partition que vous désirez et presser sur
-<em>Entrée</em>. Ensuite, il vous sera demandé si vous voulez la
-placer au début de l'espace disponible ou à la fin. Placez la au début
-pour être sûr d'être à l'intérieur des 1024 premiers cylindres. Mettez
-en surbrillance <em>Beginning</em> et tapez sur <em>Entrée</em>. À ce
-moment, vous devriez être retourné à l'écran principal. Remarquez bien
-que la partition que vous venez de créer est maintenant affichée. Par
-défaut, c'est une partition <em>Linux native</em>. Cette partition
-doit maintenant être rendue amorçable. Assurez-vous que le menu
-<em>Bootable</em> est en surbrillance et appuyez sur la touche
-<em>Entrée</em>. On doit maintenant voir apparaître la champ
-<em>Boot</em> dans cette partition dans la colonne <em>Flags</em> .
-
-<example>
-IMPRESSION D'ÉCRAN DE CFDISK
-</example>
-
-<p>
-Avec la place restante, créez une nouvelle partition primaire. En
-utilisant la flèche de direction du clavier, mettez en surbrillance le
-champ <em>free space</em> (espace disponible) dans la liste des
-partitions. Mettez en surbrillance maintenant le champ <em>New</em> et
-faîtes de même que lorsque vous avez fabriqué la première partiton
-primaire. Remarquez qu'elle est aussi affichée comme une partition
-<em>Linux native</em>. Puisque vous allez la dédier au <em>swap</em>,
-il va falloir la signaler comme telle. Assurez-vous de bien l'avoir
-mis en surbrillance et ensuite appuyez sur la flèche gauche du clavier
-jusqu'à ce que le menu <em>Type</em> soit mis en surbrillance. Pressez
-alors sur la touche <em>Entrée</em>. On vous présente alors une liste
-de types de partitions supportées. Le type <em>Linux swap</em> devrait
-déjà être sélectionné. Si tel n'était pas le cas, entrez le numéro
-dans la liste correspondant au <em>swap</em> (82) et pressez sur
-<em>Entrée</em>. Votre partition de <em>swap</em> doit maintenant se
-présenter sous forme de <em>Linux swap</em> dans la colonne <em>FS
-Type</em> de l'écran principal.
-
-<p>
-Votre écran <prgn>cfdisk</prgn> devrait ressembler à celui de la
-figure 5.1. Les chiffres peuvent différer mais les colonnes
-<em>Flags</em> et <em>FS Type</em> doivent être identiques.
-
-<p>
-Jusqu'à maintenant, rien sur votre disque n'a été modifié. Si vous êtes
-content de votre partionnement, appuyez sur la flèche gauche
-jusqu'à <em>write</em> et appuyez alors sur la touche <em>Entrée</em>.
-Votre disque dur est maintenant partitionné. Quittez l'application
-<prgn>cfdisk</prgn> en sélectionnant le menu <em>Quit</em>. Une fois
-quitté <prgn>cfdsik</prgn>, vous devez vous retrouvez dans
-<prgn>dbootstrap</prgn>, l'application d'installation de Debian.
-</sect>
-
-<sect> Initialiser et activer une partition de <em>swap</em>
-
-<p>
-Cela doit être le choix suivant après avoir créé une partition de
-disque (<em>initialize and Activate a Swap Partition</em>). Vous avez
-le choix d'initialiser et d'activer une nouvelle partition de
-<em>swap</em>, d'activer une partition déjà initialisée ou bien de
-faire sans partition de <em>swap</em>.
-
-<p>
-Une partition de <em>swap</em> est chaudement recommandée mais vous
-pouvez faire sans si vous insistez et que votre système a plus de 4 Mo
-de mémoire vive. Si vous désirez le faire, sélectionnez le choix
-<em>Do Without a Swap Partition</em> (Faire sans partition de
-<em>swap</em>) du menu et allez directement à la partie suivante.
-
-<p>
-Il est toujours possible de réinitialiser une partition de
-<em>swap</em>. Ainsi, sélectionnez <em>Initialize and Activate a Swap
-Partition</em> (Activer et initialiser une partition de <em>swap</em>)
-si vous n'êtes pas sûr de ce que vous faîtes. Dans un premier temps,
-le menu va vous proposer une boîte de dialogue dans laquelle vous
-pourrez lire <em> Please select the partition to activate as a swap
-device</em> (veuillez sélectionner la partition à activer comme
-<em>swap</em>). Le choix par défaut devrait être la partition de
-<em>swap</em> que vous venez de paramétrer; si tel est le cas, appuyez
-simplement sur la touche <em>Entrée</em>.
-
-<p>
-Ensuite, on vous propose d'activer l'option de recherche des blocs non
-lisibles, causés par des défauts sur la surface des plateaux des disques
-sur l'intégralité de la partition. Ceci est très utile si vous avez
-des disques MFM, RLL ou de vieux SCSI. Dans tous les cas, cela ne peut
-pas faire de mal (bien que cela demande pas mal de temps). La plupart
-des disques modernes fonctionnant correctement n'ont pas besoin de
-cette étape car ils possèdent leur propre mécanisme interne pour
-s'affranchir des blocs défectueux.
-
-<p>
-Finalement, vous obtenez un message de confirmation car
-l'initialisation va détruire toutes les données présentes
-antérieurement sur la partition. Si tout est correct, sélectionnez
-<em>Yes</em>. L'écran s'allumera lorsque le programme d'initialisation
-tournera.
-</sect>
-
-<sect> Initialiser une partition Linux
-
-<p>
-À cet endroit, le choix suivant devrait s'intituler <em>Initialize a
-Linux Partition</em> (Initialiser une partition Linux). Si ce n'est
-pas le cas, soit vous n'avez pas achevé correctement le processus de
-partitionnement, soit vous n'avez pas rempli un des menus concernant
-la partition de <em>swap</em>.
-
-<p>
-Vous pouvez initialiser une partition Linux, ou bien vous pouvez en
-monter<footnote> francisation de <em>mount</em> qui est passé dans le
-langage courant. On trouve parfois <em>mounter</em> qui est assez
-laid il faut bien l'avouer :-)</footnote> une précédemment
-initialisée. Remarquez bien que <prgn>dbootstrap</prgn> ne fera pas de
-mise à jour d'un vieux système sans le détruire. Si vous êtes en train
-de mettre à jour, Debian peut très bien le faire tout seul et il n'est
-pas nécessaire d'utiliser <prgn>dbootstrap</prgn>. Les <em>releases
-notes</em> de la Debian 2.1 contiennent les instructions de mise
-à jour<footnote>https://www.debian.org/releases/slink/i386/releases-notes/ch-upgrading.en.html</footnote>.
-
-<p>
-Si vous utilisez de vieilles partitions non vides, c'est-à-dire que
-vous voulez juste nettoyer ce qu'il y a dessus, il suffit de les
-initialiser (ce qui écrase tous les fichiers). De plus, vous devez
-initialiser toutes les partitions que vous avez créées lors de l'étape
-de partitionnement. La seule raison pour laquelle vous pourriez
-omettre d'initialiser une partition à cette étape serait de monter une
-partition que vous auriez déjà faîte à l'aide des disquettes
-d'installation.
-
-<p>
-Sélectionnez le menu <em>Next</em> pour initialiser et monter la
-partition de disque « / ». La première partition que vous montez ou
-que vous initialisez sera montée comme « / » (prononcer
-<em>root</em><footnote>se prononce « route »...</footnote>
-(racine)). On vous proposera, à l'instar de l'initialisation du
-<em>swap</em> de vérifier les blocs défectueux. Cela ne mange pas de
-pain de le faire mais cela peut prendre dix minutes ou plus si vous
-possédez des disques de grande capacité.
-
-<p>
-Une fois la partition / de montée, le menu suivant devrait être
-<em>Install Operating system and modules</em> (Installer le système
-d'exploitation et ses modules) à moins que vous n'ayez pas terminé une
-des étapes précédentes. Vous pouvez utiliser les flèches de
-déplacement pour sélectionner les menus d'initialisation ou de montage
-de partitions de disques si vous avez d'autres partitions
-à fabriquer. Si vous avez créé des partitions séparées pour
-<em>/var</em>, <em>/usr</em> ou d'autres systèmes de fichiers, c'est
-le moment de les initialiser et de les monter.
-
-<sect1> Monter une partition précédemment initialisée.
-
-<p>
-Un pendant à l'étape <em>Initialise a Partition</em> (Initialiser une
-partition) est celle de <em>Mount a Previously-Initialised
-Partition</em> (Monter une partition précédemment
-initialisée). Utilisez la si vous recommencez une installation qui a
-été interrompue ou bien si vous montez des partitions
-déjà initialisées.
-</sect1>
-</sect>
-
-<sect> Installation du système d'exploitation et ses modules
-
-<p>
-Cela doit être l'étape suivante après avoir monté la partition racine,
-sauf si vous avez déjà effectué cette tâche précédemment avec
-<prgn>dbootstrap</prgn>. Vous devrez confirmer dans un premier temps
-que le périphérique que vous avez monté sur la partition racine est
-bien le bon. Par la suite, il vous sera proposé un ensemble de
-périphériques à partir desquels vous pourrez installer le noyau et les
-modules; ce sera généralement soit un cédérom soit le premier lecteur
-de disquette.
-
-<p>
-Si vous faîtes l'installation à partir de disquettes, vous aurez
-à travailler avec la disquette de secours (<em>Rescue Floppy</em>) qui
-est déjà probablement dans le lecteur et ensuite avec la disquette de
-pilotes (<em>Drivers Floppy</em>).
-</sect>
-
-<sect> Configuration du support PCMCIA
-
-<p>
-Il y a une autre étape <em>avant</em> la configuration des
-modules de pilotes de périphériques appelée « Configuration du
-support PCMCIA » (<em>Configure PCMCIA Support</em>). Elle est utilisé
-pour activer le support PCMCIA.
-
-<p>
-Si vous avez une extension PCMCIA mais que vous ne l'utilisez pas pour
-installer votre système Debian (c'est-à-dire installation avec une
-carte ethernet PCMCIA), il n'est pas nécessaire de configurer le
-support PCMCIA ici. Il est très facile de le configurer et de
-l'activer plus tard, à la fin de l'installation. Dans tous les cas, si
-vous devez installer quand même une extension PCMCIA pour le réseau,
-vous devez la choisir ici et son support sera configuré antérieurement
-à celui du réseau.
-
-<p>
-Si vous avez besoin de PCMCIA, sélectionnez l'autre choix en dessous
-de « Configuration des modules de pilotes de périphériques »
-(<em>Configure Device Driver Modules</em>). On vous demandera alors le
-nom du contrôleur PCMCIA de votre système. Dans la plupart des cas, ce
-sera <prgn>i82365</prgn>. Quelques fois, vous pourrez aussi rencontrer
-<prgn>tcic</prgn>. Votre vendeur-fournisseur d'ordinateur portable
-doit vous procurer l'information. Vous pouvez généralement laisser les
-autres champs d'options vides. Attention, certains matériels ont des
-besoins particuliers; le <em>PCMCIA-HOWTO</em>
-(<em>http://metalab.unc.edu/LDP/HOWTO/PCMCIA-HOWTO.html</em>) contient
-plein d'informations au cas où les options par défaut ne
-conviendraient pas.
-
-<p>
-Dans certains cas exceptionnels, il se peut que vous ayez à modifier
-le fichier <em>/etc/pcmcia/config.opts</em>. Vous devez ouvrir votre
-seconde console virtuelle (<em>Alt-F2</em>) et éditer le fichier
-dedans pour reconfigurer votre extension PCMCIA. Vous pouvez aussi
-forcer un rechargement des modules par l'intermédiaire de
-<prgn>insmod</prgn> et <prgn>rmmode</prgn>.
-
-<p>
-Une fois que votre interface PCMCIA est correctement configurée et
-installée, il vous faut passer à la configuration des pilotes de
-périphériques comme décrit dans le paragraphe suivant.
-</sect>
-
-<sect>Configuration des modules de pilotes de périphériques
-
-<p>
-Sélectionnez le menu <em>Configure Device Driver Modules</em>
-(configuration des modules de pilotes de périphériques) et passez en
-revue les périphériques présents sur votre système. Configurez les
-pilotes de ces périphériques et ces derniers seront chargés lors des
-amorçages de votre système.
-
-<p>
-Il n'est pas nécessaire de tout configurer à cette étape; ce qui est
-crucial est d'avoir configuré les périphériques requis pour
-l'installation d'un système de base.
-
-<p>
-Une fois le système installé, vous pouvez reconfigurer les modules
-à +tout moment grâce au programme <prgn>modconf</prgn>.
-
-<sect1> Configuration du réseau
-
-<p>
-Vous aurez à configurer le réseau même si vous n'en avez pas. Dans ce
-cas, vous n'aurez qu'à répondre aux deux premières questions -
-<em>Choose the hostname</em> (Choisir le nom de domaine) et <em>Is
-your systeme connected to a network ?</em> (Est-ce que votre système
-est connecté à un réseau?).
-
-<p>
-Si vous êtes connecté à un réseau, les informations de la partie 4.2.1
-vous seront nécessaires. Si votre connexion principale au réseau
-utilise <prgn>ppp</prgn>, il ne vous faut PAS configurer le réseau
-ici.
-
-<p>
-<prgn>dbootstrap</prgn> va vous poser un certain nombre de questions
-au sujet de votre réseau. Vous les obtiendrez à partir du paragraphe
-4.2.1. Le système va au final faire un résumé des informations réseau
-et vous demander une confirmation. Ensuite, vous devrez spécifier le
-périphérique réseau que votre connexion réseau principale
-utilise. Généralement, il s'agit de <prgn>eth0</prgn> (le premier
-périphérique Ethernet). Sur un ordinateur portable, on rencontre plus
-souvent comme périphérique réseau principal une interface
-<prgn>pcmcia</prgn>.
-
-<p>
-Voici quelques détails techniques pratiques: le programme s'assure que
-l'adresse réseau IP est bien la résultante d'un <prgn>AND</prgn> de
-votre adresse IP et de celle de votre masque réseau. Il s'assure aussi
-que votre adresse de réseau de diffusion est bien la résultante d'un
-<prgn>OR</prgn> de votre adresse IP avec l'inverse des bits de
-l'adresse du masque réseau. Il s'assure aussi que votre passerelle de
-routage est identique à votre serveur DNS. Vous pouvez les changer une
-fois le système installé, si nécessaire, en éditant le fichier
-<em>/etc/init.d/network</em> (sur un système Debian, les
-<em>daemons</em> sont lancés par scripts dans le répertoire
-<em>/etc/init.d</em>).
-</sect1>
-</sect>
-
-<sect> Installation du système de base.
-
-<p>
-Lors la phase <em>Install the Base System</em> (Installation du
-système de base), on vous proposera une liste de périphériques
-à partir desquels installer votre système de base. Vous devrez
-sélectionner ici le périphérique cédérom.
-
-<p>
-Il apparaîtra alors un champ pour spécifier le chemin vers le fichier
-<em>base2_1.tgz</em>. Si vous avez une version officielle du support
-Debian, la valeur par défaut devrait être correcte. Sinon, entrez le
-chemin où le système de base peut être trouvé, relativement au point
-de montage du support. Comme lors de l'étape <em>Install Operating
-System Kernel and Modules</em>, vous pouvez soit laisser
-<prgn>dbootstrap</prgn> trouver seul le fichier ou taper le chemin
-dans le champ.
-
-<sect1> Configuration du système de base
-
-<p>
-À ce moment, vous avez chargé tous les fichiers qui font un système
-Debian minimal mais vous devez faire quelques ajustements de
-configuration avant que le système ne se lance.
-
-<p>
-On vous demandera de sélectionner la zone horaire (<em>time
-zone</em>). Il y a de nombreuses façons de spécifier votre zone
-horaire; nous vous suggérons d'aller dans le tableau
-<em>Directories</em> et de sélectionner votre pays (ou
-continent). Cela change les zones horaires disponibles donc allez-y et
-sélectionnez votre localité (c'est-à-dire, pays, province, état ou
-ville) dans le tableau <em>Timezones</em>.
-
-<p>
-Ensuite, on vous demandera si votre horloge système est réglée sur
-l'heure GMT ou sur une heure locale. Sélectionnez GMT (c'est-à-dire,
-répondez <em>Yes</em>) si vous ne désirez faire tourner que Linux sur
-votre ordinateur; sélectionnez l'heure local (<em>local time</em>)
-(c'est-à-dire, <em>No</em>) si vous utilisez un système autre que
-Debian. Les systèmes Unix en général (et Linux en particulier)
-utilisent l'heure GMT comme horloge système en interne et la convertissent
-en heure locale pour les utilisateurs. Cela permet de garder des
-traces des sauvegardes journalières au fil des ans et autorise aussi
-un utilisateur à se loguer à partir d'une autre zone horaire pour
-utiliser individuellement son heure locale sur son terminal.
-</sect1>
-
-<sect1> Faire que Linux soit bootable directement à partir du disque dur
-
-<p>
-Si vous choisissez de booter directement sur Linux à partir du disque
-dur, on vous demandera d'installer un secteur d'enregistrement
-principal (<em>master boot record</em> ou encore <em>MBR</em>). Si
-vous utilisez un gestionnaire d'amorce (<em>boot manager</em>) (et c'est
-probablement le cas si vous ne savez pas ce que c'est) et que vous
-n'avez pas d'autres systèmes d'exploitation sur votre machine,
-répondez <em>Yes</em> à cette question<footnote>Make Linux Bootable
-Directly from the Hard Disk</footnote>. Remarquez bien que dans ce
-cas, il ne vous sera plus possible de booter le DOS normalement sur
-votre machine par exemple. Faîtes donc bien attention. Si vous
-répondez <em>Yes</em>, la question suivante concernera l'endroit
-chercher Linux pour booter au démarrage. Cela doit se régler dans la
-<em>partition bootable</em> - celle qui doit être chargée à partir du
-disque dur.
-
-<p>
-Remarquez bien que booter différents systèmes d'exploitation sur une
-seule machine relève un peu de la cuisine. Ce livre ne documente pas
-l'ensemble des nombreux gestionnaires d'amorçage, qui varient beaucoup
-selon l'architecture et même selon les sous architectures. Vous devrez
-lire la documentation de votre gestionnaire d'amorçage pour avoir plus
-d'informations. Dans tous les cas, gardez bien à l'esprit qu'en
-travaillant sur les gestionnaires d'amorçage, il ne faut jamais être
-trop prudent...
-
-<p>
-Le gestionnaire d'amorçage standard pour les architectures i386 est
-appelé <prgn>LILO</prgn>. C'est un programme complexe qui offre plein
-de fonctionnalités, avec entre autre, un support du lancement de DOS,
-NT et OS/2. Pour obtenir plus d'informations à ce sujet, vous pouvez
-lire la documentation dans <em>/usr/doc/lilo</em> après que votre
-système ait été configuré.
-</sect1>
-</sect>
-
-<sect> Fabriquer une disquette de boot
-
-<p>
-Vous devrez faire une disquette de boot (<em>Boot floppy</em>) même si
-vous avez prévu de booter directement à partir du disque. La raison
-est qu'il est toujours possible d'avoir un défaut d'installation
-à partir de <prgn>dbootstrap</prgn> mais jamais à partir d'une
-disquette. Sélectionnez <em>Make a Boot Floppy</em> (Fabriquer une
-disquette de boot) à partir du menu principal et insérer une disquette
-vierge directement. Assurez-vous que la disquette n'est pas protégée
-en écriture car le logiciel va la formater et écrire dessus. Écrivez
-dessus <em>Boot personnalisé</em> et protégez la en écriture une fois
-qu'elle a été fabriquée.
-</sect>
-
-<sect> Le moment de vérité
-
-<p>
-Le premier boot de votre système de son propre chef est ce que les
-ingénieurs en électronique appellent le <em>test de la fumée</em>. Si
-vous avez une disquette dans son lecteur, retirez-la. Puis
-sélectionnez le menu <em>Reboot the system</em> (Rebooter le système).
-
-<p>
-Si vous bootez directement sur Debian et que le système ne se lance
-pas, utilisez soit votre support original d'installation (par exemple,
-les disquettes de secours), soit votre disquette de boot personnalisé
-si vous en avez créé une, et relancez votre système. Si vous
-n'utilisez pas la disquette de boot personnalisé, il vous sera
-probablement nécessaire d'ajouter des arguments lors du boot. Si vous
-bootez via la disquette de secours ou tout autre support similaire,
-il vous sera nécessaire de spécifier <prgn>rescue root=rootfs</prgn>
-où <prgn>rootfs</prgn> est votre partition racine, comme
-<em>/dev/hda1</em>.
-
-<p>
-Debian devrait alors booter, et vous devriez voir les mêmes messages
-que lorsque vous avez booté la première fois le système, avec ensuite
-quelques nouveaux messages.
-</sect>
-
-<sect> Ajouter un mot de passe root
-
-<p>
-Le compte root est aussi appelé le compte <em>super-utilisateur</em>;
-c'est un utilisateur qui permet d'outrepasser tous les systèmes de
-protection sur votre système. Le compte root ne devrait être utilisé
-que pour des tâches d'administration et pour une durée aussi courte que
-possible.
-
-<p>
-Chaque mot de passe créé devrait contenir six à huit caractères,
-mélangeant minuscules et majuscules ainsi que des caractères de
-ponctuation. Faîtes très attention en choisissant le mot de passe de
-root car ce compte est vraiment très sensible. Évitez tous mots
-contenus dans un dictionnaire ou bien tout renseignement personnel qui
-peut être deviné.
-
-<p>
-Si quelqu'un vous demande un jour le mot de passe de root, soyez très
-prudent. Vous ne devriez jamais avoir à le donner, à moins de
-ne pas être le seul à administrer la machine.
-</sect>
-
-<sect> Créer un compte utilisateur ordinaire
-
-<p>
-Le système va alors vous demander de créer un compte utilisateur
-ordinaire (<em>Create an Ordinary User</em>). Ce compte pourrait être
-votre compte principal personnel. Vous ne <em>devez pas utiliser</em>
-le compte root pour une utilisation ordinaire quotidienne ou comme
-compte personnel.
-
-<p>
-Pourquoi donc ? Il est beaucoup plus difficile d'endommager le système
-en étant un simple utilisateur qu'en root ; le système de fichiers est
-bien protégé. Une autre raison est que vous pouvez à votre insu faire
-tourner un <em>troyen</em><footnote>programme planqué sous un autre
-pour ouvrir des brèches de sécurité dans votre système </footnote> -
-c'est-à-dire un programme qui pourra utiliser les avantages du
-super-utilisateur pour compromettre la sécurité du système dans votre
-dos... Tout bon livre d'administration Unix traite ce sujet en
-détail. Il est nécessaire d'en lire un si ce sujet est nouveau pour
-vous.
-
-<p>
-Nommez le compte utilisateur à votre convenance. Si votre nom est John
-Smith, vous pouvez utiliser « smith », « john », « jsmith » ou « js ».
-</sect>
-
-
-<sect> Support des mots de passe cachés.
-
-<p>
-Ensuite, on vous demandera si vous voulez activer les mots de passe
-cachés (<em>shadow Password</em><footnote>terme tellement usité qu'il
-vaut mieux le connaître...</footnote>). C'est un système
-d'authentification qui sécurise un peu plus votre système Linux. Nous
-vous recommandons ainsi de l'activer. La reconfiguration du <em>shadow
-password</em> peut être faite ultérieurement avec le programme
-<prgn>shadowconfig</prgn>.
-</sect>
-
-<sect> Retirer le support PCMCIA
-
-<p>
-Si vous n'utilisez pas d'interface PCMCIA, vous pouvez choisir de la
-retirer maintenant. Cela permettra de faire un démarrage plus propre;
-cela permet de remplacer votre noyau plus facilement (l'interface
-PCMCIA requiert un grand nombre de dépendances entre les pilotes
-PCMCIA, les modules du noyau et le noyau proprement dit). De façon
-général, vous n'avez pas besoin du support PCMCIA si vous n'utilisez
-pas de portable...
-</sect>
-
-<sect> Sélection et installation de <em>profil</em>
-
-<p>
-Le système va maintenant vous demander si vous désirez utiliser les
-configurations prédéterminées offertes par Debian. Il est toujours
-possible d'installer paquet par paquet ce que l'on veut installer sur
-une nouvelle machine. C'est la tâche de <prgn>dselect</prgn> dont la
-description se trouve plus loin. Mais cela peut être une longue tâche
-avec les milliers de paquets disponibles dans Debian !
-
-<p>
-Ainsi, vous avez la possibilité de choisir à la place des
-<em>tâches</em> ou des <em>profils</em>. Une <em>tâche</em> est la
-finalité du travail que vous allez effectuer avec la machine, comme la
-programmation en PERL, le traitement HTML ou bien la mise en page de
-document en chinois. Vous pouvez choisir de nombreuses
-<em>tâches</em>. Un <em>profil</em> est une catégorie de machines,
-comme serveur de réseau ou station de travail personnelle. À la
-différence des tâches, vous ne pouvez choisir qu'un profil à la fois.
-
-<p>
-Pour résumé, si vous êtes pressé, choisissez un profil. Si vous avez
-plus de temps, choisissez le profil personnalisé (<em>Custom
-Profile</em>) et sélectionnez un ensemble de tâches. Si vous avez
-beaucoup de temps et que vous désirez être minutieux avec le contrôle
-de ce qui sera ou non installé, sortez de cette étape et lancez-vous
-dans la toute puissance de <prgn>dselect</prgn>.
-
-<p>
-Ensuite, vous allez entrer dans <prgn>dselect</prgn>. Si vous avez
-sélectionné des tâches ou des profils, n'oubliez pas de sauter
-l'étape <em>Select</em> (Sélectionner) de <prgn>dselect</prgn> car les
-sélections ont déjà été effectuées.
-
-<p>
-Un petit avertissement en ce qui concerne la taille des tâches telle
-qu'elles sont présentées: la taille présentée pour chaque tâche est la
-somme des tailles de ses paquets. Si vous choisissez deux tâches qui
-se partagent certains paquets, le véritable espace disque requis sera
-inférieur à la somme des tailles de deux tâches.
-
-<p>
-Une fois que vous avez ajouté tous les <em>logins</em> (root et
-personnel(s)), vous vous retrouvez dans le programme
-<prgn>dselect</prgn>. <prgn>dselect</prgn> vous permet de sélectionner
-les paquets à installer sur votre système. Si vous avez un cédérom ou
-un disque dur contenant les paquets additionnels de Debian que vous
-désirez installer sur votre système, ou bien si vous êtes connecté
-à Internet, cela vous facilitera la vie. Sinon, vous pouvez quitter
-<prgn>dselect</prgn> et le relancer plus tard après avoir ramener les
-paquets Debian sur votre système. Vous devez être super-utilisateur
-(root) quand vous voulez vous servir de <prgn>dselect</prgn>. Pour en
-savoir plus <prgn>dselect</prgn>, voir section suivante.
-</sect>
-
-<sect> Installation de paquets avec <prgn>dselect</prgn>
-
-<p>
-Il est maintenant temps d'installer les paquets de logiciels de votre
-choix sur votre système Debian. Ceci est effectué via l'outil de
-gestion des paquets de Debian, <prgn>dselect</prgn>.
-
-<sect1> Introduction
-
-<p>
-Cette partie documente <prgn>dselect</prgn> pour les utilisateurs
-débutants. Elle n'a pas pour but de tout expliquer alors n'hésitez pas
-à vous servir des écrans d'aide pour en savoir plus.
-
-<p>
-<prgn>dselect</prgn> est utilisé pour sélectionner quel paquet vous
-désirez installer (il y a à l'heure actuelle près de 2250 paquets dans
-la Debian 2.1). Cela serait fait pour vous durant
-l'installation. C'est un outil très puissant et quelque fois un peu
-complexe. Ainsi, posséder quelques connaissances sur lui avant de
-l'utiliser est fortement recommandé. Une utilisation incongrue de
-<prgn>dselect</prgn> peut gravement endommager votre système.
-
-<p>
-<prgn>dselect</prgn> va vous accompagner durant le processus
-d'installation décrit ci-après:
-
-<list>
-<item> Choix de la méthode d'accès à utiliser
-<item> Mise à jour de la liste des paquets disponibles, si possible
-<item> Sélection des paquets que vous voulez sur votre système
-<item> Installation et mis à jour des paquets désirés
-<item> Configuration des paquets non configurés
-<item> Enlèvement des paquets non désirés
-</list>
-
-
-<p>
-À chaque fois qu'une étape est achevée avec succès,
-<prgn>dselect</prgn> vous emmène automatiquement à la
-suivante. Effectuez chaque étape dans l'ordre sans en omettre une.
-
-<p>
-Nous parlons ici et là dans ce document de lancer un autre
-<em>shell</em>. Linux a six sessions de contrôle ou shell disponibles
-en même temps. Vous pouvez circuler entre eux en pressant la
-combinaison <em>Alt-F1</em> jusqu'à <em>Alt-F6</em>. Il vous suffit
-alors de vous loguer dans un nouveau shell. La console utilisée lors
-de l'installation est la première, c'est-à-dire <prgn>tty1</prgn>
-alors presser <em>Alt-F1</em> si vous désirez y retourner.
-</sect1>
-
-<sect1> Une fois que <prgn>dselect</prgn> est lancé
-
-<p>
-Une fois dans <prgn>dselect</prgn>, vous devriez avoir l'écran suivant:
-
-<p>
-<example>
-Debian Linux 'dselect' package handling frontend.
-0. [A]ccess Choose the access method to use.
-1. [U]pdate Update list of available packages, if possible.
-2. [S]elect Request which packages you want on your system.
-3. [I]nstall Install and upgrade wanted packages.
-4. [C]onfig Configure any packages that are unconfigured
-5. [R]emove Remove unwanted software
-6. [Q]uit Quit dselect
-</example>
-
-
-<p>
-Détaillons un peu ces six étapes:
-
-<p>
-<em>Access</em> (Accès)
-
-<p>
-<example>
-COPIE D'ÉCRAN DE dselect
-</example>
-
-<p>
-L'écran d'accès est visible sur la figure 5.2.
-
-<p>
-C'est le lieu où l'on dit à <prgn>dselect</prgn> où sont les
-paquets. Ignorez l'ordre d'apparition à l'intérieur du menu. Il est
-très important de sélectionner la bonne méthode pour
-l'installation. Il se peut que vous les ayez dans un ordre différent,
-ou bien que vous en ayez plus ou moins ; ne vous inquiétez pas. Dans
-la suite, on décrit les différentes méthodes.
-
-<p>
-<list>
-<item>multi_cd
-<p>
-Grande et puissante, cette méthode complexe est celle recommandée pour
-installer une version récente de Debian à partir d'un jeu de cédéroms
-de binaires. Chacun de ces cédéroms devraient contenir des
-informations sur ses paquets ainsi que sur les paquets des cédéroms
-précédents (dans le fichier <em>Package.cd</em>). Lorsque vous utilisez
-cette méthode pour la première fois, assurez-vous que le cédérom n'est
-pas monté. Placez ensuite le <em>dernier cédérom de binaires</em> du
-jeu (les sources ne sont pas nécessaires) dans le lecteur et répondez
-aux questions qui vous sont posés:
-
-<example>
-CD-ROM drive location<footnote>emplacement du lecteur de CD-ROM</footnote>
-Confirmation that your are using a multi-cd set<footnote>Confirmation de l'utilisation de l'option multi-cd</footnote>
-The location of the Debian distribution on the disk(s)<footnote>Emplacement de la distribution Debian sur le(s) disque(s)</footnote>
-[ possibly ] the location(s) of the Packages file(s)<footnote>[ peut-être ] l'(es) emplacement(s) des paquets</footnote>.
-</example>
-
-<p>
-Une fois que vous avez mis à jour la liste des paquets disponibles et
-que vous avez sélectionné les paquets à installer, la méthode
-<em>multi_cd</em> diverge d'une procédure normale. Il vous sera
-demandé de lancer une installation pour chaque cédérom que vous
-possédez, tour à tour. Malheureusement, en raison d'une limitation de
-<prgn>dselect</prgn>, il n'est pas possible de changer de cédérom
-à chaque étape ; la façon dont se déroule le travail pour chaque cédérom
-est le suivant:
-
-<p>
-<list>
-<item> Insérez le cédérom dans votre lecteur.
-<item> Sélectionnez <em>Install</em> à partir du menu principal de
-<prgn>dselect</prgn>.
-<item> Attendez jusqu'à ce que <prgn>dpkg</prgn> en ait fini avec
-l'installation à partir du cédérom. (Cela peut indiquer une
-installation effectuée avec succès, ou de possibles erreurs. Ne vous
-en occupez pas pour le moment).
-<item> Appuyez sur <em>Entrée</em> pour retourner à l'écran principal
-du menu <prgn>dselect</prgn>.
-<item> Répétez le tout avec le cédérom suivant.
-</list>
-
-<p>
-Il se peut qu'il soit nécessaire d'effectuer l'étape d'installation
-plus d'une fois pour respecter l'ordre d'installation des
-paquets. Certains paquets installés auparavant peuvent demander
-l'installation d'autres paquets pour se configurer proprement.
-
-<p>
-Lancer une étape de <em>Configure</em> est recommandée pour aider
-à débloquer les paquets qui le seraient à cette étape.
-
-<item>multi_nfs, multi_mount
-
-<p>
-Ceci est proche de la méthode de <em>multi_cd</em>: elles apportent
-quelques raffinements supplémentaires sur le thème de la copie en
-changeant de support - par exemple, installation à partir de multi_cd
-exporté via NFS sur le lecteur de cédérom d'une autre machine.
-
-<item>apt
-
-<p>
-Une des meilleures options pour installer à partir d'un miroir local
-des archives Debian ou à partir du réseau. Cette méthode utilise le
-système <prgn>apt</prgn> pour effectuer l'analyse complète des
-dépendances et de l'ordre. Il est donc recommandé d'installer les
-paquets dans le meilleur des ordres possibles.
-
-<p>
-La configuration de cette méthode est traitée plus loin. Vous pouvez
-choisir autant de sources différentes d'emplacements de paquets, en
-les mélangeant avec des fichiers: <em>URLs</em> (pour les disques
-locaux ou les disques montés par NFS) et <em>http:</em> ou
-<em>ftp</em> pour les accès sur Internet. Attention, les options
-<em>http</em> et <em>ftp</em> ne supportent pas l'authentification
-locale via un proxy.
-
-<p>
-Si vous avez un serveur de proxy soit pour le http soit pour le ftp
-(ou pour les deux), assurez-vous que les variables d'environnement
-<prgn>http_proxy</prgn> et <prgn>ftp_proxy</prgn> soient bien
-positionnés. Positionnez-les à partir du shell avant de lancer
-<prgn>dselect</prgn> en utilisant les commandes suivantes:
-
-<p>
-<example>
-# export http_proxy=http://gateway:3128/
-# dselect
-</example>
-</list>
-
-<p>
-<em>Update</em> (mise à jour)
-
-<p>
-<prgn>dselect</prgn> va lire les fichiers <em>Packages</em> ou
-<em>Packages.gz</em> à partir du miroir et créer une base de données
-sur votre système de tous les fichiers disponibles. Cela peut prendre
-un peu de temps, tant pour le téléchargement que pour l'exécution du
-traitement.
-
-<p>
-<em>Select</em> (Sélection)
-
-<p>
-Asseyez-vous sur votre chapeau: c'est ici que tout se passe. Le but de
-l'exercice est de sélectionner seulement le paquet que l'on désire
-installer.
-
-<p>
-Appuyez sur <em>Entrée</em>. Si vous avez une machine lente, faîtes
-très attention car l'écran va s'effacer et peut rester vierge pendant
-environ 15 secondes. Alors, n'essayez pas de taper sur des touches
-pendant ce temps-là.
-
-<p>
-La première chose qui apparaît à l'écran est la première page de
-l'aide. Vous pouvez obtenir l'aide à tout moment dans l'écrans
-<em>Select</em> en tapant sur « ? ». Vous pouvez dérouler l'aide par
-l'intermédiaire du «.».
-
-<p>
-Avant de plonger plus en avant, notons bien ceci:
-
-<list>
-
-<item> Pour sortir de l'écran de sélection (<em>Select</em>) après
-avoir tout sélectionné, il suffit de presser sur <em>Entrée</em>. Cela
-retourne à l'écran principal s'il n'y a pas de problème de
-sélection. Sinon, on vous demandera de régler le problème. Lorsque
-vous êtes content avec tous les écrans proposés, appuyez sur
-<em>Entrée</em> pour sortir.
-<item> Les problèmes sont quelque chose de normal et sont même
-attendus. Si vous sélectionnez un paquet A qui demande un paquet B
-pour fonctionner, <prgn>dselect</prgn> vous avertira du problème et
-tentera de vous proposer la meilleure des solutions. Si le paquet A
-est en conflit avec le paquet B (c'est-à-dire qu'ils sont mutuellement
-exclusifs), on vous demandera de trancher et d'en choisir un.
-</list>
-
-<p>
-Regardez les deux premières lignes de l'écran de
-<prgn>dselect</prgn>. Cette en-tête est un rappel de certains
-raccourcis claviers dressés dans le tableau suivant:
-
-<p>
-<example>
- ------------------------------------------------------
-| Touches | Description |
- ------------------------------------------------------
-| + | Sélectionne le paquet à installer |
-| = | Laisse le paquet en suspend |
-| - | Retire le paquet |
-| _ | Retire le paquet, ainsi que ses fichiers |
-| | de configuration |
-| i, I | Affichage cyclique des informations |
-| o, O | Affichage cyclique des options de tri |
-| v, V | Passage en mode verbeux/sobre |
- ------------------------------------------------------
-</example>
-
-<p>
-Le tableau suivant affiche les états que <prgn>dselect</prgn> utilise
-pour marquer l'état de chaque paquet et son comportement.
-
-<p>
-<example>
- -----------------------------------------------------------
-| Drapeau | État | Valeurs possibles |
-|-----------------------------------------------------------
-| E | Erreur | Espace, R, I |
-| I | État d'installation | Espace, *,-,U,C,I |
-| O | Marqueur désuet | *, -, =, _, n |
-| M | Marqueur | *, -, =, _, n |
- -----------------------------------------------------------
-</example>
-
-<p>
-Plutôt que de tout décrire ici, je vous renvoie aux écrans d'aide qui
-sont bien expliqués. Un exemple quand même:
-
-<p>
-Vous entrez dans <prgn>dselect</prgn> et trouver une ligne du genre:
-
-<p>
-<example>
-EIOM Pri Section Package Description
-** Opt misc loadlin a loader (running under DOS) for LINUX
-</example>
-
-<p>
-Ceci dit que <prgn>loadlin</prgn> a été sélectionné lorsque vous avez
-lancé <prgn>dselect</prgn> la dernière fois, et qu'il est toujours
-sélectionné mais non installé. Pourquoi donc ? Sûrement parce que le
-paquet <prgn>loadlin</prgn> n'est pas disponible physiquement. Il doit
-être absent de votre miroir.
-
-<p>
-L'information que <prgn>dselect</prgn> utilise pour obtenir tous les
-bons paquets installés se cache à l'intérieur des paquets
-eux-mêmes. Rien en ce bas monde n'est parfait, et il peut arriver que
-les dépendances d'un paquet soient erronées, ce qui veut simplement
-dire que <prgn>dselect</prgn> ne sera pas en mesure de résoudre la
-situation. Une solution est possible via l'utilisateur pour redonner
-le contrôle: cela prend la forme des commandes Q et X qui sont
-disponibles dans l'écran de sélection.
-
-<list>
-<item> Q
-<p>
- surcharge. Force <prgn>dselect</prgn> à ignorer les dépendances et
-à faire ce que vous lui imposez. Les résultats, bien sûr, sont sous
- votre entière responsabilité.
-<item> X
-<p>
- Utilisez X si vous êtes complètement perdu. Cela remet les choses
- telles qu'elles étaient auparavant et sort.
-</list>
-
-Les raccourcis de l'écran de sélection de <prgn>dselect</prgn> qui
-vous aide à ne pas être perdu sont R, U et D.
-
-<list>
-<item> R
-<p>
- Détruit toutes les sélections faîtes durant ce niveau. N'affecte pas
- les sélections faîtes aux niveaux précédents.
-<item> U
-<p>
- Si <prgn>dselect</prgn> a proposé des changements, et que vous les
- avez modifiés, U revient aux sélections de <prgn>dselect</prgn>.
-<item> R
-<p>
- Enlève les sélections de <prgn>dselect</prgn> en ne laissant que les
- vôtres.
-</list>
-
-<p>
-Un exemple suit. Le paquet <em>boot-floppies</em> (pas un exemple de
-débutant, je sais, mais il a été choisi car il possède de nombreuses
-dépendances) dépend des paquets suivants:
-
-<example>
-- libc6-pi
-- slang1-picn
-- sysutils
-- makedev
-- newt0.25
-- newt0.25-dev
-- popt
-- zlibig
-- zlibig-dev
-- recode
-</example>
-
-<p>
-Le développeur maintenant le paquet <em>boot-floppies</em> pense que les
-paquets suivants devraient aussi être installés. Ils ne sont pas, en
-tout cas, indispensables:
-
-<example>
-- lynx
-- debiandoc-sgml
-- unzip
-</example>
-
-<p>
-Lorsque vous sélectionnez <em>boot-floppies</em>, <prgn>dselect</prgn>
-vous envoie dans l'écran de résolution des conflits. Vous remarquerez
-que les paquets requis ont été sélectionnés.
-
-<p>
-Pressez alors sur la touche R pour remettre les choses à leur point de
-départ.
-
-<example>
-EIOM Pri Section Package Description
- __ Opt admin boot-floppie Scripts to create the Debian
- __ Opt devel newt0.25-dev Developer's toolkit for newt
- __ Opt devel slang1-dev The S-Lang programming library
- __ Opt devel slang1-pic The S-Lang programming library
-</example>
-
-<p>
-Si vous décidez maintenant que vous ne voulez plus du paquet
-<em>boot-floppies</em>, appuyez simplement sur <em>Entrée</em>.
-
-<p>
-Pressez alors sur la touche D remet les choses à la même place que
-lorsque vous les aviez sélectionnés la première fois:
-
-<example>
-EIOM Pri Section Package Description
- _* Opt admin boot-floppie Scripts to create the Debian
- __ Opt devel newt0.25-dev Developer's toolkit for newt
- __ Opt devel slang1-dev The S-Lang programming library
- __ Opt devel slang1-pic The S-Lang programming library
-</example>
-
-<p>
-Pressez alors sur la touche U revient les sélections initiales de
-<prgn>dselect</prgn>:
-
-<example>
-EIOM Pri Section Package Description
- _* Opt admin boot-floppie Scripts to create the Debian
- _* Opt devel newt0.25-dev Developer's toolkit for newt
- _* Opt devel slang1-dev The S-Lang programming library
- _* Opt devel slang1-pic The S-Lang programming library
-</example>
-
-<p>
-Je vous suggère de laisser les paramètres par défaut pour le moment:
-vous aurez amplement l'occasion de les modifier plus tard.
-
-<p>
-Quoique vous décidiez, appuyez sur la touche <em>Entrée</em> pour
-valider et retourner à l'écran principal. Si l'action résultante
-conduit toujours à des problèmes à résoudre, vous serez à nouveau
-renvoyé à un nouvel écran de résolution de conflit.
-
-<p>
-Les touches R, U et D sont très utiles dans les situations « qu'est-ce
-qui se passe si ? ». Vous pouvez expérimenter à volonté et ensuite
-revenir à la situation initiale. <em>Ne les regardez pas</em> comme
-une vitrine où il y aurait marqué « à ne briser qu'en cas de danger ».
-
-<p>
-Après avoir fait vos sélections dans l'écran de sélection, appuyez sur
-I pour obtenir une grande fenêtre, appuyez sur t pour aller au début
-et utilisez les touches <em>Page Up</em> et <em>Page
-Down</em><footnote>Écran haut et bas sur les claviers français: ce
-sont les touches de droite du pavé situé au-dessus des flèches de
-déplacement.</footnote> pour vous déplacer rapidement parmi les
-sélections. Vous pouvez ainsi vérifier le résultat de votre travail et
-détecter d'éventuelles erreurs. Certaines personnes ont
-déselectionné des groupes entiers de paquets par erreur et ne s'en
-sont rendu compte que trop tard. <prgn>dselect</prgn> est un outil
-très puissant: ne le sous-utilisez pas...
-
-<p>
-Vous devriez avoir la situation suivante:
-
-<example>
- -----------------------------------------------------
-| Package category | Status |
- -----------------------------------------------------
-| Recquired | all selected |
-| Important | all selected |
-| Standard | mostly selected |
-| Optional | mostly deselected |
-| Extra | mostly deselected |
- -----------------------------------------------------
-</example>
-
-<p>
-Heureux ? Appuyez sur la touche <em>Entrée</em> pour sortir du
-processus de sélection. Vous pouvez y revenir et à nouveau
-sélectionnez si vous le désirez.
-
-<p>
-<em>Install</em> (Installation)
-
-<p>
-<prgn>dselect</prgn> travaille sur la totalité des paquets et installe
-ceux sélectionnés. Il vous pose des questions pour appliquer vos
-décisions. Il est souvent pratique de passer sur un autre shell pour
-comparer une ancienne configuration avec une nouvelle. Si l'ancien
-fichier est <em>conf.modules</em>, le nouveau sera
-<em>conf.modules.dpkg-dist</em>.
-
-<p>
-Le défilement à l'écran se passe parfois très rapidement sur les
-machines puissantes. Vous pouvez toujours le stopper et le redémarrer
-à l'aide des combinaisons respectives de touches <em>Ctrl-s</em> et
-<em>Ctrl-q</em>. À la fin de la tâche, vous aurez une liste des
-paquets non installés.
-
-<p>
-Il peut arriver qu'un paquet ne soit pas installé car il dépend d'un
-autre qui est décrit comme à installer mais qui ne l'est pas
-encore. La solution consiste à relancer <em>Install</em> une nouvelle
-fois. Il a été reporté des cas où il a été nécessaire de le relancer
-quatre fois avant que tout ne se mette en place correctement. Cela
-varie beaucoup suivant votre méthode d'acquisition.
-
-<p>
-<em>Configure</em> (Configuration)
-
-<p>
-La plupart des paquets sont configurés à l'étape précédente mais toute
-chose restée en suspens peut être achevée ici.
-
-<p>
-<em>Remove</em> (Suppression)
-
-<p>
-Suppression des paquets installés que l'on désire retirer.
-
-<p>
-<em>Quit</em> (Quitter)
-
-<p>
-Je suggère de lancer <prgn>/etc/cron.daily/find</prgn> à ce moment car
-vous avez de nombreux nouveaux fichiers sur votre système. Ensuite,
-vous pourrez utiliser <prgn>locate</prgn> pour obtenir l'emplacement
-de n'importe quel fichier.
-</sect1>
-
-<sect1> Quelques remarques pour conclure
-
-<p>
-Lorsque le processus d'installation lance <prgn>dselect</prgn> pour
-vous, vous devez être impatient de lancer Debian aussitôt que
-possible. Hé bien, préparez-vous à prendre une heure - ou plus - pour
-apprendre à vous en servir et à l'utiliser judicieusement. Lorsque
-vous entrez pour la première fois dans l'écran de sélection, n'en
-faîtes <em>aucune</em> - appuyez simplement sur la touche
-<em>Entrée</em> - et observez les problèmes de dépendances. Essayez de
-les résoudre. Si vous vous retrouvez une nouvelle fois dans l'écran
-principal, lancer <em>Select</em> une nouvelle fois.
-
-<p>
-Vous pouvez vous faire une idée de la taille d'un paquet en appuyant
-deux fois sur i et en regardant le champ <em>Size</em> (Taille). Ceci
-est la taille du paquet avec compression donc la décompression du
-paquet risque d'être nettement plus importante (voir le champ
-<em>Installed-Size</em> (Taille après installation) qui est en
-kilo-octets, pour la déterminer).
-
-<p>
-Installer un nouveau système Debian est une chose complexe mais
-<prgn>dselect</prgn> peut vous aidez à rendre la chose la plus aisée
-possible. Prenez donc bien le temps d'apprendre à vous en servir. Lisez
-les écrans d'aide et expérimentez les touches i, I, o et O. Utilisez
-la touche R. Ce sera tout pour ici mais cela devrait être suffisant
-pour vous en servir avec efficacité.
-</sect1>
-</sect>
-
-<sect> Glossaire
-
-<p>
-Les termes suivants sont largement utilisés dans ce livre et de
-façon générale lorsque l'on parle de Debian.
-
-<p>
-<em>Paquet</em>
-
-<p>
-C'est un fichier contenant tout le nécessaire à l'installation, à la
-désinstallation et à l'utilisation d'un programme particulier. Le
-logiciel qui gère les paquets est
-<prgn>dpkg</prgn>. <prgn>dselect</prgn> est une interface
-à <prgn>dpkg</prgn>. Les utilisateurs expérimentés utilisent souvent
-<prgn>dpkg</prgn> pour installer ou retirer un paquet.
-
-<p>
-<em>Nom de paquet</em>
-
-<p>
-Tous les noms de paquets sont de la forme
-<em>xxxxxxxxxxx.deb</em>. Voici un exemple de noms de paquets simples:
-
-<example>
-- efax_08a-1.deb
-- lrzsz_0.12b-1.deb
-- mgetty_0.99.2-6.deb
-- minicom_1.75-1.deb
-- term_2.3.5-5.deb
-- uucp_1.06.1-2.deb
-- uutraf_1.1-1.deb
-- xringd_1.10-2.deb
-- xtel_3.1-2.deb
-</example>
-
-
-</sect>
-
- </chapt>
-<chapt> Se loguer
-
-<p>
-Votre système est maintenant installé ! Vous pouvez vous congratuler
-du bon travail effectué ! Il est temps maintenant de lancer le système
-pour l'utiliser. Dans ce chapitre, nous allons vous faire découvrir
-les lignes de commande Debian, quelques principes de sécurité et
-comment sortir du système. Dans les chapitres suivants, nous
-détaillerons plus ces sujets et nous vous ferons découvrir l'interface
-graphique de Debian, X11.
-
-<sect> Les premiers pas
-
-<p>
-Après avoir quitter <prgn>dselect</prgn>, le <em>login</em> suivi du
-prompteur se présentent à vous. Vous pouvez maintenant vous
-loguer<footnote>J'ai délibérément francisé le terme anglais <em>to log
-in</em> tellement ce terme est devenu un standard en français
-</footnote> en utilisant le <em>login</em> et le mot de passe que vous
-avez choisi. Votre système est maintenant prêt à être
-utilisé. Examinons ce que veut dire se loguer et comment cette
-procédure fonctionne.
-
-<p>
-Pour utiliser Debian, vous devez vous identifier personnellement au
-système. Cela lui permettra de savoir qui vous êtes, quels sont vos
-droits et quelles sont vos préférences.
-
-<p>
-Pour en arriver là, vous avez un <em>nom d'utilisateur</em> ou un
-<em>login</em><footnote>Encore une fois, le terme anglais est
-tellement usité qu'il vaut mieux l'apprendre et
-l'utiliser</footnote>. Si vous avez installé Debian vous-même, il vous
-a été demandé de fournir un tel nom durant l'installation. Si vous
-vous connectez à un système administré par quelqu'un d'autre, vous
-aurez à lui demander de vous fournir un compte sur le système ainsi
-que son nom.
-
-<p>
-Vous avez aussi un mot de passe et ainsi personne ne peut prétendre
-s'identifier à votre place. Si vous n'avez pas de mot de passe, tout
-le monde peut se connecter à votre place sur votre ordinateur depuis
-Internet et faire des tas de mauvaises choses. Si vous vous préoccupez
-un tant soit peu de sécurité, vous devez avoir un mot de passe.
-
-<p>
-De nombreuses personnes préfèrent croire que les autres ne feront rien
-de méchant sur leur compte. Il est raisonnable de croire que votre
-environnement de travail n'encourage pas la paranoïa. C'est une
-attitude parfaitement raisonnable. Cela dépend de vos priorités
-personnelles et de votre environnement. Il est certain qu'un système
-familial n'a pas les mêmes besoins en sécurité qu'une installation
-militaire. Debian vous permet aussi bien d'être sécurisé
-qu'insécurisé. Cela reste à votre convenance.
-
-<p>
-Lorsque vous démarrez Debian, vous apercevez un prompteur
-(<em>prompt</em>): c'est l'ordinateur qui se met en attente
-d'informations. Dans ce cas, le prompteur est <prgn>login:</prgn>.
-
-<p>
-Vous devez taper votre nom d'utilisateur et, lorsque l'on vous le
-demande, votre mot de passe. Le mot de passe n'apparaît pas à l'écran
-lors de sa frappe. Appuyez sur la touche <em>Entrée</em> après avoir
-entré le nom d'utilisateur et après le mot de passe. Si vous trompez
-lors de la frappe de votre nom d'utilisateur ou lors de celle du mot
-de passe, vous aurez à recommencer.
-
-<p>
-Si vous effectuez l'opération correctement, vous verrez un message
-rapide et ensuite un $ suivi d'un prompteur. Le $ est écrit par un
-programme spécial appelé le <em>shell</em><footnote>ou
-<em>interpréteur de commandes</em> en français mais le terme
-<em>shell</em> est aussi utilisé que <em>log</em> ou
-<em>login</em></footnote>. Il est appelé le <em>prompteur du
-shell</em>. C'est l'endroit où vous envoyez les commandes au système.
-
-<p>
-Essayez d'entrer la commande <prgn>whoami</prgn> maintenant. Il y a un
-<em>curseur</em> à la droite du prompteur du shell. Votre curseur est
-un petit tiret ou rectangle qui indique où l'on va taper. Il doit se
-déplacer au cours de la frappe. Finissez toujours une commande shell
-par la touche <em>Entrée</em>.
-
-<p>
-<prgn>whoami</prgn><footnote>littéralement <em>Qui
-suis-je</em></footnote> vous renvoie votre nom d'utilisateur. Vous
-obtenez ensuite un nouveau prompteur de shell.
-
-<p>
-Dans le reste du livre, lorsque nous parlons d'entrer une commande,
-vous aurez à la taper après le prompteur du shell puis la valider avec
-la touche <em>Entrée</em>.
-
-<p>
-Lorsque vous avez fini de travailler, il se peut que vous désiriez
-quitter votre système. Pour sortir du shell, entrez la commande
-<prgn>exit</prgn>. Gardez bien à l'esprit que si vous restez logué,
-quelqu'un peut venir et utiliser votre compte. Par chance, vous pouvez
-faire confiance en vos collègues de travail ou aux personnes de chez
-vous; mais si vous ne pouvez accorder votre confiance dans votre
-entourage, vous devrez être certain de vous être délogué avant votre
-départ.
-</sect>
-
-<sect> Historique des commandes et édition de la ligne de commande
-
-<p>
-Tout ce que vous tapez après le prompteur du shell et avant de valider
-par <em>Entrée</em> est appelé une <em>ligne de commande</em>. C'est
-une ligne de texte qui demande à l'ordinateur de faire quelque
-chose. Le shell par défaut de Debian offre de nombreuses
-fonctionnalités pour rendre plus aisée l'entrée de la ligne de
-commande.
-
-<p>
-Vous pouvez revenir aux commandes précédentes pour les lancer
-à nouveau ou vous pouvez les modifier avec facilité et ensuite les
-relancer. Essayez ceci: entrez n'importe quelle commande, comme
-<prgn>whoami</prgn>. Ensuite, appuyez sur la flèche de direction
-verticale vers le haut. La commande <prgn>whoami</prgn> va
-réapparaître après le prompteur. Vous pouvez alors appuyer sur
-<em>Entrée</em> pour lancer une seconde fois la commande
-<prgn>whoami</prgn>.
-
-<p>
-Si vous avez entré de nombreuses commandes, vous pouvez appuyer sur la
-flèche plusieurs fois pour naviguer au travers des différentes
-commandes. Cette fonctionnalité est très pratique si vous répétez la
-même chose plusieurs fois de suite, ou si vous tapez mal une commande
-et que vous la rappeliez pour la corriger. Vous pouvez aussi utiliser
-la flèche verticale vers le bas pour circuler dans l'autre sens, vers
-les commandes les plus récentes. Lorsqu'il n'y a plus de commande
-à afficher, l'ordinateur envoie alors un signal sonore.
-
-<p>
-Vous pouvez aussi vous déplacer sur la ligne de commande pour
-effectuer des transformations. La façon la plus simple est d'utiliser
-les flèches de déplacements horizontaux gauche et droite. Essayez de
-taper <prgn>whoami</prgn> à la place de <prgn>whoami</prgn>. Utilisez
-alors la flèche de déplacement horizontal vers la gauche pour revenir
-en arrière vers le s. Vous pouvez effacer le s à l'aide de la touche
-<em>backspace</em><footnote>touche située au-dessus de la touche
-<em>Entrée</em> et comportant une flèche horizontal en direction
-arrière du défilement normal de l'écran, d'où son nom (<em>back</em>
-arrière et <em>space</em> espace)</footnote> ou <em>Suppr</em>.
-
-<p>
-Il y a bien d'autres fonctionnalités avancées mais il n'est pas
-nécessaire de les mémoriser maintenant. Essayez <em>Ctrl-a</em> pour
-vous retrouver directement au début de la ligne de
-commande. <em>Ctrl-k</em> (le k est pour <em>kill</em>, tuer en
-anglais) détruira tous les caractères situés à droite jusqu'à la fin
-de la ligne; essayez-la à partir du milieu d'une ligne de
-commande. <em>Ctrl-y</em> renvoie la dernière chose que vous avez
-détruite en l'insérant à la position courante du curseur (y est pour
-<em>yank</em> en anglais). <em>Ctrl-e</em> déplace le curseur
-jusqu'à la fin de la ligne de commande.
-
-<p>
-Allez de l'avant et jouez avec l'édition de la ligne de commandes pour
-commencer à la maîtriser. Expérimentez.
-</sect>
-
-<sect> Travailler en tant que Root
-
-<p>
-Puisque Debian est un système multi-utilisateurs, il est nécessaire
-d'en désigner un de particulier ou un programme pour être capable de
-tout faire sur le système. Le noyau n'autorise pas l'utilisateur
-normal à changer des fichiers importants du système. Cela signifie
-que les choses restent dans l'état où elles sont, à l'abris des
-accidents, des virus et même des tours de magie. À la différence de
-certains autres systèmes d'exploitation, Debian est à l'abris de ce
-genre de tracas. Il n'est pas nécessaire d'utiliser un programme
-d'anti-virus.
-
-<p>
-Parfois, il est quand même nécessaire de changer des fichiers
-importants. Par exemple, vous pouvez avoir envie d'installer un
-nouveau logiciel ou bien de configurer votre connexion réseau. Pour le
-faire, il vous faut des pouvoirs plus étendus que ceux d'un
-utilisateur normal. Vous devez devenir l'utilisateur <em>root</em>
-(parfois appelé aussi le <em>super-utilisateur</em>).
-
-<p>
-Pour devenir root, il vous suffit de vous loguer avec le nom
-d'utilisateur <em>root</em> et le mot de passe de root. Ceci a été
-fait durant l'installation: voir la section 5.15 pour plus de détails.
-
-<p>
-Dans de nombreux sites, seul l'administrateur système possède le mot
-de passe de root et seul l'administrateur système peut faire les
-tâches dévolues à root. Si vous utilisez votre propre ordinateur
-personnel, <em>vous</em> êtes l'administrateur système, bien-sûr. Si
-vous n'avez pas les privilèges du super-utilisateur, il vous sera
-nécessaire de passer la main à votre administrateur système pour les
-tâches qui requièrent les privilèges de root.
-
-<p>
-Parfois, vous aurez accès au mot de passe de root, souvent dans des
-organisations ou sur des serveurs d'écoles, car l'administrateur
-système vous fait confiance dans sa juste utilisation. Dans ce cas, il
-vous sera possible d'aider l'administrateur et de personnaliser le
-système pour vos besoins. Mais vous devrez toujours agir de façon
-responsable, en respectant tout le temps les autres utilisateurs.
-
-<p>
-Si vous possédez le mot de passe de root, essayez de vous loguer en
-tant que root maintenant. Entrer la commande <prgn>whoami</prgn> pour
-vérifier votre identité. Et ensuite, <em>déloguez-vous
-immédiatement</em>. Lorsque vous êtes root, le noyau ne vous protège
-pas de vous-même car root a les permissions de tout faire sur tout le
-système. N'expérimentez pas en tant que root. En fait, ne faîtes rien
-sous root qui ne soit absolument nécessaire. Ce n'est pas tant un
-problème de sécurité qu'un problème de stabilité. Votre système s'en
-portera d'autant mieux qu'il est protégé de vos erreurs.
-
-<p>
-Il se peut que vous trouviez la commande <prgn>su</prgn> plus pratique
-pour se loguer en tant que root. <prgn>su</prgn> vous permet de
-prendre l'identité d'un autre utilisateur, généralement root à moins
-qu'elle ne soit suivie du nom de quelqu'un d'autre (Vous pouvez
-essayer de vous en souvenir en disant que <prgn>su</prgn> signifie
-<em>Super User</em> bien que certains disent que c'est pour <em>Set
-UserID</em> (positionne l'ID de l'utilisateur)).
-
-<p>
-Voici quelque chose à essayer. Loguez-vous en tant que simple
-utilisateur, c'est-à-dire, en n'étant pas root. Après, votre session
-devrait ressembler à quelque chose comme cela:
-
-<p>
-<example>
-$ whoami Vérifie votre nom d'utilisateur
-username Renvoie votre nom d'utilisateur
-$ su Demande au système les droits super-utilisateurs
-Password: Taper votre mot de passe root ici
-machine:~# whoami
-root Vous êtes maintenant root
-machine:~# exit Sort de votre shell root
-$ exit Sort de votre shell "normal"
-</example>
-
-<p>
-Lorsque vous faîtes des tâches d'administration système, vous devriez
-les faire autant que possible en tant que simple utilisateur. Ensuite,
-utilisez <prgn>su</prgn> pour la partie qui requiert les privilèges
-de root. Pour le faire, taper <prgn>su user</prgn> où
-<prgn>user</prgn> est l'utilisateur que vous voulez devenir. Vous
-devrez connaître le mot de passe de l'utilisateur en question,
-bien-sûr, à moins que vous ne soyez root à ce moment là ou bien que
-l'utilisateur n'ait pas de mot de passe.
-</sect>
-
-<sect> Consoles virtuelles
-
-<p>
-Le noyau Linux supporte les consoles virtuelles. Ceci permet de faire
-de votre simple écran et clavier un système de type terminaux
-multiples connectés au même système. Heureusement, l'utilisation des
-consoles virtuelles est triviale sous Debian: il y a des touches
-dédiées pour aller d'une console à l'autre rapidement. Pour l'essayer,
-loguez dans votre système puis pressez sur <em>Alt-F2</em> (appuyez
-simultanément sur la touche <em>Alt</em> et sur <em>F2</em> qui est la
-touche de fonction numéro deux).
-
-<p>
-Vous devriez vous retrouver avec une demande de login. Ne paniquez
-pas. Vous êtes maintenant sur la console virtuelle (<em>VC</em> pour
-<em>virtual console</em> en anglais) numéro deux ! Loguez-vous et
-faîtes quelque chose - quelques commandes <prgn>whoami</prgn> ou
-n'importe quoi d'autre - pour vous assurez qu'il s'agit bien d'un
-nouveau shell. Maintenant vous pouvez retourner à la console numéro un
-en pressant <em>Alt-F1</em>. Ou bien vous pouvez aussi aller sur la
-console numéro trois avec <em>Alt-F3</em>.
-
-<p>
-Debian est fourni avec six consoles actives par défaut, qui sont
-accessibles avec la combinaison de la touche <em>Alt</em> et des
-touches de fonctions <em>F1</em> jusqu'à <em>F6</em>. (Techniquement,
-il y a plus de six consoles actives mais seules six sont accessibles
-pour vous loguer. Les autres sont réservées pour le système X Window
-ou d'autres tâches.)
-
-<p>
-Si vous utilisez le système X Window, il se lance généralement sur la
-première console virtuelle non utilisable - probablement la
-sept. Dès-lors, pour passer de la console virtuelle sous X à une des
-six autres consoles, vous devez ajouter la touche <em>Ctrl</em> à la
-séquence de touches. Ainsi, il faut faire <em>Ctrl-Alt-F1</em> pour
-aller à la console virtuelle numéro un. Mais vous pouvez aller d'une
-console texte vers une console X en n'utilisant que la touche
-<em>Alt</em>. Si vous ne quitter jamais X, vous n'avez pas à vous
-inquiéter à ce sujet, X passera automatiquement sur sa console
-virtuelle au démarrage.
-
-<p>
-Une fois que vous les aurez maîtrisées, les consoles virtuelles
-deviendront certainement un outil indispensable pour faire plusieurs
-choses en même temps (Le système X Window offre la même
-fonctionnalité, au détail près qu'il s'agit de fenêtres multiples
-plutôt que de consoles). Vous pouvez lancer différents programmes dans
-chaque console virtuelle ou vous loguer en root dans une et en
-vous-même dans une autre. Ou bien chacun dans la famille n'utilise que
-sa console virtuelle. Ceci est particulièrement pratique si vous
-utilisez X car dans ce cas, vous pouvez lancer plusieurs sessions X en
-même temps dans différentes consoles.
-</sect>
-
-<sect> Arrêter le système
-
-<p>
-<em>N'éteignez pas simplement l'ordinateur ! Vous risquez de perdre
-des données de valeurs !</em>
-
-<p>
-Si vous êtes le seul utilisateur de la machine, vous pouvez avoir
-envie de l'éteindre une fois votre travail terminé.
-
-<p>
-Pour éviter de fatiguer certains composants, il est recommandé de
-n'éteindre sa machine qu'une fois par jour, lorsque tout le travail
-est terminé. L'allumage et l'arrêt des ordinateurs sont les deux
-causes principales d'usure et de fatigue des composants internes de
-l'ordinateur. Allumer et fermer votre ordinateur une fois par jour est
-certainement le meilleur compromis entre votre facture d'électricité
-et la durée de vie de votre machine.
-
-<p>
-C'est une mauvaise chose que d'éteindre l'ordinateur en appuyant
-simplement sur le bouton d'alimentation du courant lorsque vous avez
-fini de travailler. C'est aussi une mauvaise idée que de rebooter la
-machine (avec le bouton <em>Reset</em>) sans avoir pris auparavant
-quelques précautions. Le noyau Linux, pour augmenter ses performances,
-utilise un <em>cache disque</em>. Cela signifie qu'il garde
-temporairement en mémoire certaines informations stockées sur le
-disque. Puisque la mémoire est des milliers de fois plus rapide qu'un
-disque dur, certaines opérations sur les fichiers sont ainsi beaucoup
-plus rapides. Périodiquement, ces informations en mémoire sont
-retranscrites sur le disque. Cette opération est appelée
-<em>syncing</em>. En vue d'éteindre ou de rebooter votre machine, il
-est nécessaire de lui dire de tout nettoyer en mémoire et de le placer
-sur l'unité de stockage permanent.
-
-
-<p>
-Pour rebooter, tapez simplement <prgn>reboot</prgn> ou appuyez sur
-<em>Alt-Ctrl-Suppr</em>.
-
-<p>
-Pour éteindre l'ordinateur il vous faut vous loguer en tant que
-root. Vous n'avez alors qu'à taper la commande <prgn>shutdown -h
-now</prgn>. Le système va alors dérouler la procédure d'extinction, y
-compris la commande <prgn>sync</prgn> qui nettoie le cache disque
-comme décrit précédemment. Lorsque vous apercevez <em>System
-halted</em>, il est possible d'éteindre sans danger l'ordinateur. Si
-vous avez un BIOS qui supporte l'APM (<em>Advanced Power
-Management</em>) et un noyau aussi, l'ordinateur peut se couper tout
-seul et ainsi vous épargner des problèmes. APM est très commun pour
-les ordinateurs portables et on le trouve aussi parfois dans certaines
-cartes mères d'ordinateurs de bureau.
-
-</sect>
-
-</chapt>
-<chapt> Les bases
-
-<p>
-Il est maintenant temps d'explorer le système plus en détail. Vous
-avez vu comment se loguer et éteindre le système. Dans ce chapitre,
-nous allons explorer la ligne de commandes sous Linux, comment Linux
-gère fichiers et répertoires et quelques règles de base pour vous
-identifier des autres.
-
-<sect> La ligne de commandes et les pages de <prgn>man</prgn>
-
-<p>
-Nous avons déjà discuté de la ligne de commandes - qui sont,
-rappelons-le, les commandes que vous tapez après le prompteur du
-shell. Cette partie décrit la structure de lignes de commandes
-beaucoup plus compliquées.
-
-<p>
-Une ligne de commandes minimale contient juste le nom d'une commande,
-comme <prgn>whoami</prgn>. Mais bien d'autres choses sont
-possibles. Par exemple, vous pouvez taper <prgn>man
-whoami</prgn>. Cette commande appelle l'aide en ligne de la commande
-<prgn>whoami</prgn> (Vous devrez vous déplacer à l'aide de la touche
-<em>espace</em> page par page et taper sur <em>q</em> pour
-sortir). Une commande plus compliquée est <prgn>man -k
-PostScript</prgn>. Cette ligne de commandes se compose de trois
-parties. Elle commence par le nom de commande
-<prgn>man</prgn>. Ensuite, on trouve une <em>option</em> ou
-<em>indicateur</em>, <prgn>-k</prgn>, suivi d'un <em>argument</em>,
-<prgn>PostScript</prgn>. Certains disent que tout sauf le nom de la
-commande est <em>paramètre</em> de la commande. Ainsi, les options et
-les arguments sont tous deux des paramètres.
-
-<p>
-Les options changent le comportement d'une commande, en activant une
-fonctionnalité particulière. Généralement, on trouve un « - » les
-précédant. Les utilitaires GNU ont aussi une « forme longue » pour les
-options; la forme longue de <prgn>-k</prgn> est
-<prgn>--apropos</prgn>. Vous pouvez entrer <prgn>man -h</prgn> ou
-<prgn>man --help</prgn> pour obtenir la liste complète des options de
-la commande <prgn>man</prgn>. Chaque commande a sa propre liste
-d'options, bien qu'elle partage généralement les options
-<prgn>--help</prgn> et <prgn>--version</prgn>. Certaines commandes,
-comme <prgn>tar</prgn>, ne demande pas de « - » devant leurs options
-pour des raisons historiques.
-
-<p>
-Tout ce qui n'est pas une option et qui n'est pas le nom d'une
-commande est un <em>argument</em> (et dans le cas présent,
-<prgn>PostScript</prgn>). Les arguments ont des tas de finalités ;
-dans la plupart des cas, ce sont les noms de fichiers dont la commande
-doit s'occuper. Dans ce cas, <prgn>PostScript</prgn> est le mot que
-l'on fait chercher à la commande <prgn>man</prgn>. Dans le cas de
-<prgn>man whoami</prgn>, l'argument est le nom de la commande dont
-vous recherchez des informations.
-
-<p>
-Voici un résumé de la ligne de commande <prgn>man -k PostScript</prgn>
-
-<p>
-<list>
-<item> <prgn>man</prgn>
-<p>
-Le nom de la commande demande à l'ordinateur d'aller chercher les
-pages du manuel. Ceci est une documentation des commandes. Par
-exemple, <prgn>man whoami</prgn> ira vous chercher la documentation de
-la commande <prgn>whoami</prgn>.
-<item><prgn>-k</prgn>
-<p>
-L'option, change le comportement de la commande
-<prgn>man</prgn>. Normalement, <prgn>man</prgn> s'attend à un nom de
-commande, tel <prgn>whoami</prgn>, comme argument et va chercher la
-documentation de cette commande. Mais avec l'option <prgn>-k</prgn> ou
-<prgn>--apropos</prgn>, il s'attend à ce que l'option soit un
-mot-clé. Il sort alors la liste de toutes les pages de manuel le
-comportant.
-<item><prgn>PostScript</prgn>
-<p>
-est l'argument; en raison de la présence de l'option <prgn>-k</prgn>,
-c'est le mot-clé à rechercher.
-</list>
-
-<p>
-Allez-y et tapez la commande <prgn>man -k PostScript</prgn> et vous
-verrez apparaître une liste de pages de manuel de votre système qui
-ont un rapport avec le postscript. Si vous n'avez pas installé de
-nombreux logiciels, il se peut que vous voyiez apparaître à la place :
-<prgn>PostScript: nothing appropriate</prgn> (<prgn>PostScript: rien
-de trouvé</prgn>).
-</sect>
-
-<sect> Description de la ligne de commande
-
-<p>
-Remarque: vous pouvez sauter cette partie si vous voulez avancer
-rapidement.
-
-<p>
-Il existe une façon concise et traditionnelle de décrire la
-<em>syntaxe</em> d'une commande. La <em>syntaxe</em> veut dire la
-façon correcte de combiner les options variées ainsi que les
-arguments. Par exemple, si vous tapez <prgn>man man</prgn> pour
-obtenir la page de manuel de <prgn>man</prgn>, vous apercevrez un
-certain nombre de descriptions de syntaxe débutant par le nom de
-commande <prgn>man</prgn>. Une d'entre elle devrait ressembler à ceci:
-
-<p>
-<prgn>man -k [-M path] keyword ...</prgn>
-
-<p>
-Tout ce qui se trouve entre crochet ([ ]) est optionnel. Dans ce cas,
-il n'est pas nécessaire d'utiliser l'option <prgn>-M</prgn> mais si
-vous le faîtes, il est alors nécessaire d'utiliser un argument de type
-<prgn>path</prgn><footnote>C'est-à-dire le chemin d'accès en bon
-français.</footnote>. Vous devez utiliser l'option <prgn>-k</prgn> et
-l'argument <prgn>keyword</prgn> (mot-clé). Les <prgn>...</prgn>
-signifient qu'il peut y avoir encore beaucoup de choses à la suite,
-notamment plusieurs mots clés.
-
-<p>
-Regardons d'un peu plus près les descriptions complexes de la page de
-manuel de <prgn>man</prgn>:
-
-<example>
-man [-c|-w|-tZT device] [-adhu7V]
-[-m system[,...]] [-L locale] [-p string]
-[-M path] [=P pager] [-r prompt] [-S list]
-[-e extension] [[section] page ...] ...
-</example>
-
-<p>
-Il n'est pas nécessaire d'aller plus en avant (et ne vous inquiétez
-pas quant à sa signification), mais attirez votre attention sur
-l'organisation de la description.
-
-<p>
-Premièrement, ce rassemblement en grappe d'options veut généralement
-dire que vous pouvez en utiliser une ou plusieurs dans différentes
-combinaisons. Ainsi, <prgn>-adhu7V</prgn> veut tout simplement dire
-que vous pouvez aussi n'utiliser que <prgn>-h</prgn>. Bien sûr, vous
-pouvez utiliser toutes les combinaisons. Cette description ne rend pas
-forcément les choses très claires. Par exemple, <prgn>-h</prgn> est
-incompatible avec les autres options mais vous pouvez faire <prgn>man
--du</prgn>. Malheureusement, cette description de format ne rend pas
-cette approche très claire.
-
-<p>
-Ensuite, le symbole | signifie « ou ». Ainsi, vous pouvez utiliser
-l'option <prgn>-c</prgn>, l'option <prgn>-w</prgn> <em>ou</em>
-l'option <prgn>-tZT</prgn>, suivi d'un argument <prgn>device</prgn>.
-
-<p>
-Enfin, remarquez bien que vous devez respecter les crochets car ils
-indiquent les unités optionnelles. Ainsi, si vous avez une
-<prgn>section</prgn>, vous devez aussi avoir une <prgn>page</prgn>
-parce que <prgn>page</prgn> n'est pas optionnelle à l'intérieur du
-groupe <prgn>[[section] page]</prgn>.
-
-<p>
-Il n'est pas nécessaire de mémoriser tout cela. Il suffit juste de
-revenir à cette partie pour lire la documentation.
-</sect>
-
-<sect> Fichiers et répertoires
-
-<p>
-Les <em>fichiers</em> sont une facilité pour stocker et organiser
-l'information, analogue aux documents papier. Ils sont organisés en
-<em>répertoires</em> qui sont appelés <em>dossiers</em> sur certains
-autres systèmes. Regardons d'un peu plus près l'organisation des
-fichiers sur un système Debian:
-
-<p>
-<list>
-<item> /
-<p>
-Un simple / représente la répertoire racine. Tous les autres fichiers
-et répertoires sont contenus dans le répertoire racine. Si vous venez
-du monde DOS ou Windows, / est similaire à ce que le C: signifie pour
-le DOS qui est la racine du système de fichiers. Une différence
-importante entre DOS et Linux est que DOS garde toujours C: (pour le
-premier disque dur), A: (premier lecteur de disquettes) et D: (soit le
-lecteur de cédérom soit le second disque dur) alors que Linux organise
-tous ses fichiers autour de la même racine /. <item>
-<prgn>/home/janeq</prgn>
-<p>
-C'est le répertoire personnel de l'utilisateur <em>janeq</em>. En
-lisant de gauche à droite, pour aller dans ce répertoire, on commence
-dans le répertoire racine, puis dans le répertoire <prgn>home</prgn>
-et enfin dans celui de <prgn>janeq</prgn>.
-<item> <prgn>/etc/X11/XF86Config</prgn>
-<p>
-C'est le fichier de configuration du système X Window. Il réside dans
-le sous-répertoire <prgn>X11</prgn> du répertoire
-<prgn>/etc</prgn>. <prgn>/etc</prgn> est lui-même un sous-répertoire du
-répertoire racine /.
-</list>
-
-<p>
-<em>Choses importantes à retenir</em>
-
-<p>
-<list>
-<item>
- Les noms de fichiers sont sensibles à la casse utilisée. Cela veut
- dire que MONFICHIER et MonFichier sont différents.
-<item>
- Le répertoire racine (<em>root</em> en anglais) se réfère uniquement
- à /. Ne confondez pas avec le root de l'utilisateur root,
- l'utilisateur du système avec les « supers pouvoirs ». <item>Chaque
- répertoire a un nom, qui peut contenir n'importe quels lettres ou
- symboles <em> à l'exception de </em> /. Le répertoire racine est une
- exception; son nom est / (prononcé «&nbsp;slash&nbsp;» ou
- «&nbsp;répertoire racine&nbsp;» ou «&nbsp;répertoire root&nbsp;») et
- il ne peut être renommé.
-<item>
- Bien que vous puissiez utiliser n'importe quels lettres ou symboles
- pour un nom de fichier, en pratique c'est une assez mauvaise
- idée. Il est souhaîtable d'éviter les caractères qui ont souvent une
- signification particulière dans les lignes de commandes comme
- <prgn>{ } ( ) [ ] ' ` " \ / > < | ; ! # & ^ * %</prgn>
-<item>
- Évitez d'ajouter des espaces dans les noms de fichiers. Si vous
- désirez séparer les mots dans un nom, les meilleurs choix sont
- la période, l'hyphénation ou le tiret souligné « _ ». Vous pouvez
- aussi mettre en majuscule le début de chaque mot comme
- dans <prgn>CommeCeci</prgn>.
-<item>
- Chaque fichier et répertoire sont désignés par un <em>nom de fichier
- pleinement qualifié</em>, un <em>nom de fichier absolu</em> ou un
- <em>chemin</em> qui donne la séquence des répertoires que l'on doit
- traverser pour atteindre le fichier. Les trois termes sont
- synonymes. Tous les noms de fichiers absolus commencent par le
- répertoire racine / et il y a un / devant chaque répertoire ou
- fichier du nom de fichier. Le premier / est le nom du répertoire
- mais les autres sont de simples séparateurs pour distinguer les
- parties du nom de fichier.
-<item>
- Les noms utilisés portent parfois à confusion. Prenons l'exemple
- suivant:
-<example>
-/usr/share/keytables/us.map.gz
-</example>
- C'est un nom de fichier pleinement qualifié. Pourtant, certaines
- personnes le désignent comme un <em>chemin</em>. D'autres personnes
- s'en servent pour désigner le fichier <prgn>us.map.gz</prgn> comme
- un seul nom de fichier.
-<item>
- Il y a aussi une autre utilisation du mot
- <em>chemin</em><footnote><em>path</em> en anglais. À connaître aussi
- absolument.</footnote>. Mais le contexte est toujours suffisamment
- clair pour faire la distinction.
-<item>
- Les répertoires sont rangés sous forme d'arbre. Tous les noms de
- fichiers absolus commencent avec le répertoire racine. Le répertoire
- racine possède un certain nombre de branches, comme
- <prgn>/etc</prgn> et <prgn>/usr</prgn>. Ces sous-répertoires se
- subdivisent eux-mêmes en branches en de nombreux sous-répertoires,
- comme <prgn>/etc/init.d</prgn> et
- <prgn>/usr/local</prgn>. L'ensemble est appelé <em>l'arbre des
- répertoires</em>.
-<item>
- Vous pouvez faire l'analogie avec un nom de fichier absolu et la
- route partante de la base de l'arbre (/) à la fin d'une branche (le
- fichier). Vous entendrez aussi parler certaines personnes de l'arbre
- des répertoires comme d'un <em> arbre familial</em>. Certains
- répertoires ont des « parents » et un chemin montre l'arbre
- généalogique complet.
-<item>
- Il existe aussi des chemins relatifs qui commencent ailleurs que
- dans le répertoire racine. On y reviendra plus tard.
-<item>
- Aucun répertoire ne correspond à un périphérique physique comme
- votre disque dur. Ceci diffère profondément du DOS et de Windows
- pour qui tout chemin commence par un nom de périphérique comme
- C:\. L'arbre des répertoires est une abstraction du périphérique
- matériel et vous pouvez donc l'utiliser sans savoir ce qu'il y a
- dessous. Tous vos fichiers peuvent être contenus dans un disque - ou
- vous pouvez très bien avoir vingt disques, certains connectés sur
- des ordinateurs différents répartis n'importe où sur le réseau. Vous
- ne pouvez deviner en jetant juste un coup d'oeil sur l'arbre des
- répertoires sur quel(s) périphérique(s) matériel(s) se trouvent vos
- fichiers.
-</list>
-
-<p>
-Ne vous inquiétez si tout ceci n'est pas complètement clair pour vous:
-il y a de nombreux exemple à venir.
-
-<sect1> Utilisation des fichiers: un tutoriel
-
-<p>
-Pour utiliser votre système, vous devrez connaître comment créer,
-déplacer, renommer et détruire fichiers et répertoires. Cette partie a
-pour but de montrer comment le faire avec les commandes standard de
-Debian.
-
-<p>
-La meilleure méthode d'apprentissage est encore d'essayer. Tant que
-vous n'êtes pas root (et vous n'avez pas maintenant à créer
-d'importants fichiers personnels), vous ne pouvez faire de catastrophe
-irrémédiable. Lancez-vous - tapez chacune de ces commandes après le
-prompteur et appuyer ensuite sur la touche <em>entrée</em>:
-
-<p>
-<example>
-pwd
-</example>
-
-<p>
-Le répertoire en cours est toujours considéré comme le <em>répertoire
-courant de travail</em> pour le shell que vous utilisez. Vous pouvez
-toujours le visualiser à l'aide de la commande <prgn>pwd</prgn> qui
-signifie <em>Print Working Directory</em> (affiche le répertoire de
-travail). <prgn>pwd</prgn> affiche donc le nom du répertoire dans
-lequel vous travaillez - et probablement <prgn>/home/votrenom</prgn>.
-
-<p>
-<example>
-ls
-</example>
-
-<p>
-<prgn>ls</prgn> signifie <em>list</em> (affiche) comme pour <em>list
-files</em> (affiche les fichiers). Lorsque vous tapez la commande
-<prgn>ls</prgn>, le système renvoie une liste de tous les fichiers de
-votre répertoire courant. Si vous venez d'installer Debian, votre
-répertoire de travail est certainement vide et <prgn>ls</prgn> ne
-renvoie rien en sortie car il n'y a pas de fichier à afficher.
-
-<p>
-<example>
-cd /
-</example>
-
-<p>
-<prgn>cd</prgn> signifie <em>change directory</em> (change de
-répertoire). Dans ce cas, on lui a demandé de changer pour le
-répertoire racine.
-
-<p>
-<example>
-pwd
-</example>
-
-<p>
-Ceci pour vérifier que vous êtes bien dans le répertoire racine.
-
-<p>
-<example>
-ls
-</example>
-
-Pour jeter un coup d'oeil au contenu de /.
-
-<p>
-<example>
-cd
-</example>
-
-<p>
-Taper <prgn>cd</prgn> sans argument sélectionne votre répertoire
-personnel - <prgn>/home/votrenom</prgn> - comme répertoire
-courant. Essayez <prgn>pwd</prgn> pour vérifier.
-
-<p>
-Avant de continuer, il vous faut savoir qu'il y a vraiment deux sortes
-de fichiers. Certains d'entre eux commencent par /, le répertoire
-racine, comme <prgn>/etc/profile</prgn>. Ils sont appelés <em>noms de
-fichiers absolus</em> car ils se réfèrent au même fichier quelque soit
-le répertoire courant. L'autre sorte de fichiers sont les <em>fichiers
-relatifs</em>.
-
-<p>
-Seuls deux répertoires ne sont utilisés qu'avec des noms de fichiers
-relatifs: «&nbsp;.&nbsp;» et «&nbsp;..&nbsp;». Le répertoire . se
-réfère au répertoire courant et .. au répertoire parent. Ce sont des
-raccourcis. Ils existent dans <em>tous</em> les répertoires. Même le
-répertoire racine à un répertoire parent - c'est son propre parent !
-
-<p>
-Ainsi, tous les fichiers comprenant . ou .. sont <em>relatifs</em> car
-leur expression dépend du répertoire courant. Si je suis dans
-<prgn>/usr/bin</prgn> et que je tape <prgn>../etc</prgn>, je me réfère
-à <prgn>/usr/etc</prgn>. Si je suis dans <prgn>/var</prgn> et que je
-tape <prgn>../etc</prgn>, je me réfère à <prgn>/etc</prgn>. Remarquez
-bien que le nom de fichier sans le répertoire racine possède
-implicitement à son commencement ./ . Ainsi, vous pouvez taper
-indifféremment <prgn>/local/bin</prgn> ou bien
-<prgn>./local/bin</prgn>, ce qui signifie exactement la même chose.
-
-<p>
-Un dernier petit truc: le <em>tilda</em> ~ est équivalent à votre
-répertoire personnel. Ainsi, taper <prgn>cd ~</prgn> revient au même
-que taper <prgn>cd</prgn> sans argument. Vous pouvez donc taper
-<prgn>cd ~/divers/monsousrepertoire</prgn> à la place de <prgn>cd
-/home/votrenom/divers/monsousrepertoire</prgn>. De façon analogue,
-<prgn>~myuser</prgn> est l'équivalent du répertoire personnel de
-l'utilisateur <em>myuser</em> qui est probablement quelque chose comme
-<prgn>/home/myuser</prgn>; ainsi, <prgn>~myuser/docs/debian.ps</prgn>
-est équivalent à <prgn>/home/myuser/doc/debian.ps</prgn>.
-
-<p>
-Il y a encore quelques commandes à essayer maintenant que vous
-maîtrisez les chemins relatifs. Tapez <prgn>cd</prgn> pour revenir
-dans votre répertoire personnel.
-
-<p>
-<example>
-mkdir divers
-</example>
-
-<p>
-Cela fabrique dans votre répertoire personnel un répertoire nommé
-<prgn>divers</prgn>. Vous allez utiliser ce répertoire pour essayer
-quelques autres commandes. Vous pouvez essayer <prgn>ls</prgn> pour
-vérifier que votre nouveau répertoire existe bien.
-
-<p>
-<example>
-cd divers
-</example>
-
-<p>
-Ceci change le répertoire vers <prgn>divers</prgn>.
-
-<p>
-<example>
-mkdir monsousrepertoire
-</example>
-
-<p>
-Ceci crée un sous-répertoire de <prgn>divers</prgn>.
-
-<p>
-<example>
-cp /etc/profile .
-</example>
-
-<p>
-<prgn>cp</prgn> est un raccourci pour <em>copy</em>
-(copier). <prgn>/etc/profile</prgn> est juste un fichier quelconque de
-votre système. Ne vous souciez pas de ce qu'il fait pour le
-moment. Nous l'avons recopié dans . (rappelez-vous que . signifie
-simplement « le répertoire dans lequel je me trouve maintenant »
-c'est-à-dire le répertoire courant de travail). Donc, ceci crée une
-copie de <prgn>/etc/profile</prgn> et la place dans votre répertoire
-<prgn>divers</prgn>. Essayez de taper <prgn>ls</prgn> pour vérifier
-qu'il y a bien un fichier appelé <prgn>profile</prgn> dans votre
-répertoire courant de travail au même niveau que le répertoire
-<prgn>monsousrepertoire</prgn>.
-
-<p>
-<example>
-more profile
-</example>
-
-<p>
-Ceci vous permet de visualiser le contenu du fichier
-<prgn>profile</prgn>. <prgn>more</prgn> est utilisé pour visualiser le
-contenu des fichiers textes. Il est appelé <prgn>more</prgn> car il ne
-montre qu'une page d'écran du fichier à la fois et il faut appuyer sur
-la barre d'espace pour visualiser la suite. <prgn>more</prgn> sortira
-de lui-même lorsqu'il aura atteint la fin du fichier ou lorsque vous
-aurez taper sur q (<em>quit</em> pour quitter).
-
-<p>
-<example>
-more /etc/profile
-</example>
-
-<p>
-va s'assurer que la copie est bien conforme à l'original.
-
-<p>
-<example>
-mv profile monsousrepertoire
-</example>
-
-<p>
-<prgn>mv</prgn> signifie <em>move</em> (déplacer). Vous avez déplacé
-le fichier <prgn>profile</prgn> du répertoire courant dans le
-sous-répertoire <prgn>monsousrepertoire</prgn> que vous avez créé
-précédemment.
-
-<p>
-<example>
-ls
-</example>
-
-<p>
-vérifie qu'il n'existe plus de fichier <prgn>profile</prgn> dans le
-répertoire courant.
-
-<p>
-<example>
-ls monsousrepertoire
-</example>
-
-<p>
-s'assure que <prgn>profile</prgn> a bien été déplacé dans le
-répertoire <prgn>monsousrepertoire</prgn>.
-
-<p>
-<example>
-cd monsousrepertoire
-</example>
-
-<p>
-Ceci change de répertoire vers le répertoire
-<prgn>monsousrepertoire</prgn>.
-
-<p>
-<example>
-mv profile myprofile
-</example>
-
-<p>
-Remarquez bien que contrairement à de nombreux autres systèmes, il n'y
-a pas de différence entre renommer un fichier et le déplacer. Ainsi,
-on ne trouve pas de commande <prgn>rename</prgn> (renomme). Signalons
-aussi que le second argument peut aussi bien être un répertoire pour
-déplacer le fichier dedans qu'un nom de fichier pour le
-renommage. <prgn>cp</prgn> fonctionne de la même façon.
-
-<p>
-Comme d'habitude, vous pouvez taper <prgn>ls</prgn> pour regarder le
-résultat.
-
-<p>
-<example>
-mv myprofile ..
-</example>
-
-<p>
-De la même façon que . signifie « le répertoire où je suis maintenant
-», .. signifie « le parent du répertoire courant ». Et dans le cas
-présent, le répertoire <prgn>divers</prgn> créé précédemment. Utilisez
-<prgn>ls</prgn> pour vérifier où se trouve <prgn>myprofile</prgn>
-maintenant.
-
-<p>
-<example>
-cd ..
-</example>
-
-<p>
-Change de répertoire vers le répertoire parent, c'est-à-dire ici
-<prgn>divers</prgn> où vous venez de déplacer <prgn>myprofile</prgn>.
-
-<p>
-<example>
-rm myprofile
-</example>
-
-<p>
-<prgn>rm</prgn> signifie <em>remove</em> (effacer) donc cela efface le
-fichier <prgn>myprofile</prgn>. Faîtes très attention ! Détruire un
-fichier sur un système GNU-Linux est <em>définitif</em> car il n'y a
-pas de fonction inverse. Si vous effacez un fichier, c'est fini <em>
-à jamais</em>... Prenez bien vos précautions.... On répète: détruire un
-fichier sur un système GNU-Linux est <em>définitif</em> car il n'y a
-pas de fonction inverse. Si vous effacez un fichier, c'est fini <em>
-à jamais</em>... Prenez bien vos précautions<footnote>Relisez-le encore
-une fois: détruire un fichier sur un système GNU-Linux est
-<em>définitif</em> car il n'y a pas de fonction inverse. Si vous
-effacez un fichier, c'est fini <em> à jamais</em>... Prenez bien vos
-précautions....</footnote>....
-
-<p>
-<example>
-rmdir monsousrepertoire
-</example>
-
-<p>
-<prgn>rmdir</prgn> est la même chose que <prgn>rm</prgn> mais pour les
-répertoires. Remarquez que <prgn>rmdir</prgn> ne fonctionne qu'avec
-des répertoires vides. Si le répertoire contient des fichiers, vous
-devez les détruire en premier ou bien utiliser <prgn>rm -r</prgn> à la
-place de <prgn>rmdir</prgn>.
-
-<p>
-<example>
-cd ..
-</example>
-
-<p>
-Ceci vous permet de sortir du répertoire courant et de vous déplacer
-dans le répertoire parent. Maintenant vous pouvez taper la séquence
-suivante:
-
-<p>
-<example>
-rmdir divers
-</example>
-
-<p>
-Ceci détruira les derniers restes de notre essai.
-
-<p>
-Nous savons maintenant comment créer, copier, déplacer, renommer et
-détruire fichiers et répertoires. Nous avons aussi appris quelques
-raccourcis comme taper simplement <prgn>cd</prgn> pour revenir dans
-son répertoire personnel et comment . et .. désignent respectivement
-le répertoire courant et le répertoire parent. Vous devez aussi
-retenir les concepts de répertoire racine, ou /, et de l'alias ~ pour
-votre répertoire personnel.
-</sect1>
-
-<sect1> Fichiers cachés et <prgn>ls -a</prgn>
-
-<p>
-Lorsque vous tapez <prgn>ls</prgn> les fichiers commençant par un . ne
-sont pas affichés. Traditionnellement, ces fichiers contiennent des
-informations de configurations, de préférences et toutes sortes de
-choses du même acabit. Ils vous sont cachés dans votre travail
-quotidien. Des exemples simples de fichiers cachés sont
-<prgn>~/.emacs, ~/.newsrc, ~/.bashrc, ~/.xsession</prgn> et
-<prgn>~/.fvwmrc</prgn>. Ils sont respectivement utilisés par
-<em>Emacs</em>, le lecteur de niouses, le shell <em>Bash</em>, le
-système <em>X-Window</em> et le gestionnaire de fenêtres
-<em>fvwm</em>. Il est conventionnel d'ajouter un <prgn>rc</prgn> final
-aux fichiers cachés mais certains programmes ne le font pas. Il y a
-aussi des répertoires cachés, comme <prgn>~/.gimp</prgn> ou
-<prgn>~/.netscape</prgn> qui rassemblent les préférences pour <em>The
-Gimp</em> et <em>Netscape</em>.
-
-<p>
-Parfois, un fichier créera automatiquement un fichier caché ; par
-exemple, <em>Netscape</em> vous permets d'éditer dans une fenêtre
-graphique vos préférences et de sauvegarder vos choix. D'autres fois,
-vous devrez les créer vous-même à l'aide d'un éditeur de texte. C'est
-la façon traditionnelle de faire mais vous avez à apprendre le format
-particulier de chaque fichier, ce qui est un inconvénient au début
-mais vous donne par la suite beaucoup de puissance.
-</sect1>
-</sect>
-
-<sect> Processus
-
-<p>
-Nous avons déjà souligné le fait que GNU-Linux est un système
-multi-tâches. Il peut traiter plusieurs choses simultanément. Chacune
-de ces tâches est appelé <em>processus</em> (<em>process</em> en
-anglais). La meilleure façon de comprendre ce qui précède est de taper
-<prgn>top</prgn> après le prompteur du shell. Vous obtiendrez une
-liste des processus triés suivant le temps que votre ordinateur met
-à les traiter. Leur ordre change continuellement devant vos yeux. En
-haut de l'écran, vous devez apercevoir quelques informations sur le
-système: combien il y a d'utilisateurs connectés, combien il y a de
-processus, combien de mémoire vous avez et combien vous en utilisez
-réellement.
-
-<p>
-Dans la colonne à l'extrème gauche, vous apercevrez les utilisateurs
-propriétaires de chaque processus. À l'extrème droite, vous trouverez
-la liste des commandes évoquées. Vous avez certainement remarqué que
-<prgn>top</prgn> lui-même, lancé par vous, est presqu'en haut de la
-liste (car à chaque fois que <prgn>top</prgn> vérifie l'usage du
-microprocesseur (CPU), il l'active lui-même et utilise le CPU pour
-faire la vérification).
-
-<p>
-Remarquez que toutes les commandes se terminant pas « d » - comme
-<prgn>kflushd</prgn> ou <prgn>inetd</prgn> - sont des
-<em>daemons</em>.
-
-<p>
-Les <em>daemons</em><footnote><em>Daemons</em> en anglais se traduit
-par démons mais j'ai préféré garder le terme anglo-saxon car ce n'est
-pas un nom mais un acronyme.</footnote> signifient à l'origine
-<em>Disk And Extensions MOnitor</em> (surveillance des disques et des
-extensions). Un daemon est un processus non interactif ce qui veut
-dire qu'il est lancé par le système et que l'utilisateur n'a pas
-à s'en occuper. Les daemons servent à fournir des services comme la
-connexion Internet, l'impression ou le courrier électronique.
-
-<p>
-Maintenant, appuyez sur <prgn>u</prgn> et entrez votre nom
-d'utilisateur. La commande <prgn>u</prgn> sert à afficher les seules
-processus appartenant à un utilisateur; cela permet d'ignorer tous les
-daemons et tous les processus appartenant à d'autres
-utilisateurs. Vous devez voir <prgn>bash</prgn>, le nom de votre
-shell. Vous aurez toujours le nom de votre shell.
-
-<p>
-La colonne numéro deux vous renvoie le PID pour <em>Process
-IDentication</em> (identificateur de processus). On assigne à chaque
-signal un unique PID. Vous pouvez utiliser les PID pour contrôler
-individuellement les processus (on approfondira le sujet
-ultérieurement). Un truc utile est la commande <prgn>?</prgn> qui vous
-renvoie une liste des commandes disponibles sous <prgn>top</prgn>.
-
-<p>
-Il se peut que vous vous posiez la question de la différence entre un
-processus et un programme. En pratique, on utilise indifféremment l'un
-pour l'autre. Techniquement parlant, un <em>programme</em> est le jeu
-d'instruction écrit par un programmeur et gardé sur le disque. Le
-<em>processus</em> est l'instanciation en mémoire de ce programme sous
-Linux. Mais il n'est pas primordial de faire une réelle différence.
-
-<p>
-Beaucoup de vos interventions avec un ordinateur vont consister
-à contrôler les processus. Vous allez devoir les faire partir, les
-arrêter et les observer. Votre outil privilégié pour cela est le
-shell.
-</sect>
-
-<sect> Le shell
-
-<p>
-Le <em>shell</em>, ou <em>interpréteur de commandes</em>, vous permet
-d'interagir avec votre ordinateur. Il est appelé <em>shell</em>
-(coquillage) car il vous fournit un environnement de travail, comme
-une sorte de petite maison électronique pour vos travaux informatiques
-(pensez à l'abri de l'ermite).
-
-<p>
-La fonction la plus simple du shell est de lancer les autres
-programmes. Vous tapez le nom du programme que vous voulez lancer,
-avec à la suite les arguments que vous voulez et le shell demandera au
-système de lancer le programme pour vous.
-
-<p>
-Bien sûr, les systèmes graphiques avec fenêtres fournissent le même
-type de services. Techniquement, Windows 95 fournit un shell graphique
-et le système X Window fournit un autre type de shell graphique. Mais
-le terme <em>shell</em> est communément employé en sous-entendant
-<em>shell pour lignes de commandes</em>.
-
-<p>
-Cela va sans le dire mais les hackers travaillant sur un shell ne se
-contentent pas de lancer simplement des commandes. Votre shell regorge
-d'astuces cachées et de fonctionnalités puissantes si vous désirez
-vous en servir.
-
-<p>
-Il y a de très nombreux shells différents disponibles. La plupart
-d'entre eux sont basés soit sur le <em>Bourne Shell</em> soit sur le
-<em>C shell</em>, deux des plus vieux shells. Le nom originel du
-Bourne Shell est <prgn>sh</prgn> et celui du C shell,
-<prgn>csh</prgn>. Les différentes variantes du Bourne Shell sont le
-<em>Bourne Again Shell</em> du projet GNU (<prgn>bash</prgn>, le shell
-par défaut de Debian), le <em>Korn Shell</em> (<prgn>ksh</prgn>) et le
-<em>Z shell</em> (<prgn>zsh</prgn>). Il y a aussi <prgn>ash</prgn>,
-une implémentation traditionnelle du Bourne shell. La plus connue des
-variantes du C shell est <prgn>tcsh</prgn> (le <prgn>t</prgn> est un
-tribu payé aux systèmes d'exploitation <em>TENEX and TOPS-20</em> qui
-ont inspiré quelques parties de <prgn>tcsh</prgn> en sus de
-<prgn>csh</prgn>).
-
-<p>
-<prgn>bash</prgn> est certainement le meilleur choix pour un nouvel
-utilisateur. C'est le shell par défaut et il comprend des tas de
-fonctionnalités que vous allez apprécier. Mais chaque shell possède
-ses avantages. Si vous voulez expérimenter, installez les différents
-paquets de shell et changez votre shell avec la commande
-<prgn>chsh</prgn>. Tapez simplement <prgn>chsh</prgn>, fournissez
-votre mot de passe et lorsque demandé, choisissez votre nouveau
-shell. Lorsque vous vous reloguerez de nouveau, vous utiliserez le
-nouveau shell.
-</sect>
-
-<sect> Gérer les processus avec <prgn>bash</prgn>
-
-<p>
-Debian est un système multi-tâches donc vous avez besoin d'un moyen de
-faire plus d'une chose à la fois. Les environnements graphiques, comme
-X, fournissent un élément naturel pour le faire: ils autorisent
-plusieurs fenêtres simultanément. Naturellement, <prgn>bash</prgn>, et
-tous les autres shells, fournissent des facilités similaires.
-
-<p>
-Récemment, vous avez utilisé <prgn>top</prgn> pour jeter un coup
-d'oeil sur tous les processus de votre système. Votre shell vous
-propose des façons aisées de suivre les commandes que vous avez
-lancées à partir de ce shell. Chaque ligne de commande lance un
-<em>job</em> (aussi appelé un <em>groupe de processus</em>) qui sera
-suivi par le shell. Un job peut être simplement un processus ou bien
-un ensemble de processus tubés (plus sur les tubes un peu plus tard).
-
-<p>
-Entrer une ligne de commande lance un job. Essayez de taper <prgn>man
-cp</prgn> et la page de manuel de <prgn>cp</prgn> va apparaître
-à l'écran. Le shell va tourner en arrière-plan et revenir en avant-plan
-une fois la lecture de la page terminée (ou vous pouvez taper sur q
-pour éviter d'avoir à dérouler toute la page pour sortir).
-
-<p>
-Mais admettons que vous désiriez faire quelque chose d'autre pendant
-la lecture du manuel. Pas de problème. Appuyez sur <em>Ctrl-z</em>
-pour suspendre la lecture du manuel (mis en arrière-plan du job
-courant) et ainsi remettre en avant-plan le shell. Lorsque vous
-suspendez un job, <prgn>bash</prgn> vous donne immédiatement quelques
-informations à son sujet et ensuite il renvoie un prompteur. Vous
-devriez apercevoir quelque chose comme cela à l'écran:
-
-<p>
-<example>
-NAME cp - copy files SYNOPSIS cp [options] source
---More--
-[1]+ Stopped man cp
-$
-</example>
-
-<p>
-Observez bien les deux dernières lignes. Les deux dernières comportent
-l'information sur le job et vous avez le prompteur du shell.
-
-<p>
-<prgn>bash</prgn> assigne à chaque ligne de commande un <em>numéro de
-job</em> donné par le shell. Cela vous permet de vous référer
-facilement à un processus. Dans ce cas, <prgn>man cp</prgn> porte le
-numéro 1, indiqué par <prgn>[1]</prgn>. Le signe <prgn>+</prgn> veut
-dire que c'est le dernier job à avoir été mis en
-arrière-plan. <prgn>bash</prgn> vous renvoie aussi l'état courant du
-job - <prgn>Stopped</prgn> - ainsi que la ligne de commande.
-
-<p>
-Il y a de nombreuses choses à faire avec les jobs. Avec <prgn>man
-cp</prgn> toujours suspendu, essayez la commande suivante:
-
-<p>
-<example>
-man ls
-</example>
-
-<p>
-Cela crée un nouveau job.
-
-<p>
-<example>
-Ctrl-z
-</example>
-
-<p>
-Cela le suspend; vous devriez voir les informations du job.
-
-<p>
-<example>
-man mv
-</example>
-
-<p>
-Lance un nouveau job.
-
-<p>
-<example>
-Ctrl-z
-</example>
-
-<p>
-Le suspend aussi.
-
-<p>
-<example>
-jobs
-</example>
-
-<p>
-Demande au <prgn>bash</prgn> d'afficher l'état de tous les jobs en
-cours. Le résultats devraient ressembler à :
-
-<p>
-<example>
-{$} jobs
-[1] Stopped man cp
-[2]- Stopped man ls
-[3]+ Stopped man mv
-{$}
-</example>
-
-<p>
-Remarquez bien que les - et + qualifient respectivement
-l'avant-dernier et le dernier job en arrière-plan.
-
-<p>
-<example>
-fg
-</example>
-
-<p>
-Cela place le dernier job en arrière-plan (<prgn>man mv</prgn>, celui
-avec le +) de nouveau en avant-plan. Si vous pressez la barre
-d'espace, la page de manuel va se dérouler.
-
-<p>
-<example>
-Ctrl-z
-</example>
-
-<p>
-Suspend à nouveau <prgn>man mv</prgn>.
-
-<p>
-<example>
-fg %1
-</example>
-
-<p>
-Vous pouvez vous référer à n'importe quel job en utilisant % suivi de
-son numéro. Si vous utilisez <prgn>fg</prgn> sans lui spécifier de
-job, c'est le dernier actif qui sera réveillé.
-
-<p>
-<example>
-Ctrl-z
-</example>
-
-<p>
-Suspend à nouveau <prgn>man cp</prgn>.
-
-<p>
-<example>
-kill %1
-</example>
-
-<p>
-Détruit le job numéro 1. <prgn>bash</prgn> fait un rapport
-d'information du job qui devrait ressembler à:
-
-<p>
-<example>
-$ kill %1
-[1] - Terminated man cp
-$
-</example>
-
-<p>
-<prgn>bash</prgn> se contente de demander au job de se terminer et
-parfois ce dernier ne veut pas. Dans ce cas, vous devez ajouter
-l'option <prgn>-KILL</prgn><footnote>. De nombreuses personnes
-utilisent le signal -9 plutôt que le nom du signal. Dans tous les cas,
-c'est techniquement moins portable que d'utiliser le nom du
-signal</footnote> pour arrêter la demande de destruction et commencer
-la destruction. Par exemple:
-
-<p>
-<example>
-$ kill -KILL %1
-[1]- Killed man mv
-$
-</example>
-
-<p>
-L'option <prgn>-KILL</prgn> force une destruction inconditionnelle du
-job.
-
-<p>
-En des termes plus techniques, <prgn>kill</prgn> se contente d'envoyer
-un signal. Par défaut, il envoie un signal de terminaison
-(<prgn>TERM</prgn> ou <prgn>signal 15</prgn>) mais vous pouvez très
-bien spécifier un signal et l'option <prgn>-KILL</prgn> (<prgn>signal
-9</prgn>) est le signal qui force la terminaison. La commande
-<prgn>kill</prgn> n'est pas forcément appropriée pour l'envoi de
-signaux ; par exemple, envoyer le signal <prgn>TSTP</prgn>
-(<prgn>terminal stop</prgn>) suspend le processus et permet de le
-récupérer plus tard.
-
-<p>
-<example>
-top
-</example>
-
-<p>
-Cela nous renvoie à l'écran la sortie de <prgn>top</prgn>. Envoyez la
-commande <prgn>u</prgn> dans <prgn>top</prgn> pour ne visualiser que
-vos processus. Regardez dans la colonne de droite les commandes
-<prgn>man ls</prgn> et <prgn>man mv</prgn>. <prgn>man cp</prgn> n'est
-plus là puisque vous l'avez tuée. <prgn>top</prgn> vous montre les
-processus vous appartenant ; remarquez bien que le PID à gauche de
-l'écran ne correspond pas au numéro de job.
-
-<p>
-Il se peut que vous ne voyez pas vos processus car trop bas pour
-apparaître à l'écran. Si vous utilisez X (voir chapitre 11), vous
-pouvez redimensionner votre <prgn>xterm</prgn> pour résoudre le
-problème.
-
-<p>
-Même ces simples jobs sont en réalité des processus multiples,
-incluant le processus <prgn>man</prgn> et le visualiseur
-<prgn>more</prgn> qui vous permet de faire défiler les pages une par
-une. Vous devez apercevoir les processus <prgn>more</prgn> dans
-<prgn>top</prgn>.
-
-<p>
-Vous vous demandez peut-être comment nettoyer les deux jobs
-restant. Vous pouvez soit les tuer (avec la commande
-<prgn>kill</prgn>) ou bien les remettre en avant-plan (avec
-<prgn>fg</prgn>) puis les quitter. Rappelez-vous que la commande
-<prgn>jobs</prgn> vous renvoie la liste des jobs en cours et leur
-état.
-
-<p>
-Une touche finale: la documentation de <prgn>bash</prgn> est plutôt
-bonne mais il vaut mieux aller la chercher dans le système d'aide
-<prgn>info</prgn> que dans les pages de manuel. Pour la lire, tapez
-<prgn>info bash</prgn>. Voir la partie 16.2 pour les instructions
-pour se servir de la commande <prgn>info</prgn>. <prgn>bash</prgn>
-contient aussi une très bonne documentation en ligne accessible via la
-commande <prgn>help</prgn>. <prgn>help</prgn> renvoie une liste de
-sujets disponibles. On peut accéder directement à l'information en
-tapant <prgn>help sujet en question</prgn>. Essayez <prgn>help
-cd</prgn> par exemple. Cela vous fournira des détails sur les
-arguments <prgn>-L</prgn> et <prgn>-P</prgn> reconnus par
-<prgn>cd</prgn>.
-</sect>
-
-<sect> Quelques fonctionnalités de <prgn>bash</prgn>
-
-<p>
-Cette partie mentionne rapidement quelques fonctionnalités couramment
-utilisées sous <prgn>bash</prgn>. Pour une discussion plus complète,
-reportez-vous au chapitre 8.
-
-<sect1> Le complètement par tabulation
-
-<p>
-Le shell <prgn>bash</prgn> est capable de deviner quel fichier ou
-commande vous êtes en train de taper et les compléter automatiquement
-pour vous. Il suffit simplement de taper le début de la commande ou du
-fichier et d'appuyer sur la touche de tabulation. Si <prgn>bash</prgn>
-trouve un complètement unique, il finira le mot et ajoutera un espace
-à la fin. S'il trouve de multiples complètements<footnote>On trouve
-parfois <em>complétion</em> qui n'est qu'un barbarisme engendré
-à partir du terme anglais <em>completion</em>.</footnote>, il propose
-l'ensemble de ses choix possibles en émettant un signal sonore. Vous
-pouvez alors entrer le nombre de lettres suffisantes pour le rendre
-unique et appuyez sur la touche de tabulation à nouveau. S'il n'existe
-pas de complètement, <prgn>bash</prgn> émet simplement un signal
-sonore.
-</sect1>
-</sect>
-
-<sect> Protéger votre identité
-
-<p>
-Les systèmes de type Unix sont multi-utilisateurs et vous avez donc
-votre propre identité comme utilisateur sur le système. Tapez
-<prgn>finger votrenomdutilisateur</prgn> pour voir les informations
-qui sont publiquement disponibles. Pour changer le nom et le shell
-affichés ici, vous pouvez utiliser la commande <prgn>chfn</prgn> et
-<prgn>chsh</prgn>. Seul root peut vous changer votre login et votre
-répertoire d'attache. Vous devez avoir vu <em>No plan</em>. Un
-<em>plan</em> est une simple information que vous voulez rendre
-publique. Pour créer un plan, vous placer toute l'information que vous
-voulez montrer aux autres dans un fichier appelé
-<prgn>.plan</prgn>. Pour le faire, vous devrez vous servir d'un
-éditeur de texte (voir chapitre 10.2). Ensuite, utilisez à nouveau
-<prgn>finger</prgn> pour observer le résultat. Les autres peuvent
-utiliser finger sur vous pour voir votre <em>plan</em> ou vérifier si
-vous avez reçu ou lu votre courrier électronique.
-
-<p>
-Remarquez bien que l'information de <prgn>finger</prgn> est disponible
-à travers tout l'Internet par défaut. Si vous ne le voulez pas, lisez
-la documentation de <prgn>inetd</prgn> et le fichier
-<prgn>/etc/services</prgn>. Éventuellement, la page de manuel peut
-décrire la mise en oeuvre mais il n'est pas évident que cela puisse
-réellement vous aider.
-</sect>
-
- </chapt>
-<chapt> Utiliser le shell
-
-<p>
-En lisant les chapitres précédents, vous avez déjà interagit avec le
-shell. Le shell est le programme qui reçoit vos commandes et qui les
-exécute. Dans ce chapitre, nous allons explorer le shell plus en
-avant, avec une mention spéciale pour le personnaliser afin de lui
-faire faire le travail que vous voulez qu'il fasse.
-
-<sect> Les variables d'environnement
-
-<p>
-Chaque processus a un <em>environnement</em> associé. Un environnement
-est ensembles de <em>variables d'environnement</em>. Une variable est
-une valeur modifiable avec un nom déterminé. Par exemple, le nom
-<em>EMAIL</em> peut se référer à la valeur
-<prgn>joe@nowwhere.com</prgn>. Sa valeur peut changer ; <em>EMAIL</em>
-peut aussi se référer à <prgn>jane@somewhere.com</prgn>.
-
-<p>
-Puisque le shell n'est qu'un processus parmi d'autres, il possède
-aussi son environnement. Vous pouvez visualiser votre environnement en
-entrant la commande <prgn>printenv</prgn>. La figure suivante donne un
-exemple de résultat de sortie de cette commande. Sur votre système, la
-sortie sera différente bien que similaire.
-
-<p>
-<example>
-PAGER=less
-HOSTNAME=icon
-MAILCHECK=60
-PS1=$
-USER=username
-MACHTYPE=i486-pc-linux-gnu
-EDITOR=emacs
-DISPLAY=:0.0
-LOGNAME=username
-SHELL=/bin/bash
-OSTYPE=linux-gnu
-HISTSIZE=150
-TERM=xterm-debian
-TEXEDIT=jed
-PATH=/usr/sbin:/usr/sbin/:/usr/local/bin/:
-/usr/bin/:/bin/:/usr/bin/X11/:/usr/games
-_=/usr/bin/printenv
-</example>
-
-<p>
-Les variables d'environnement sont une façon de configurer le
-système. Par exemple, la variable <em>EDITOR</em> vous permet de
-sélectionner votre éditeur préféré pour poster des <em>news</em>,
-écrire du courrier électronique et ainsi de suite.
-
-<p>
-Régler ses variables d'environnement est quelque chose de triviale. En
-pratique, commençons par personnaliser votre prompteur de shell ainsi
-que votre visualiseur de texte avec les variables
-d'environnement. Tout d'abord, commençons par un peu
-d'informations basiques.
-
-<p>
-<example>
-man less
-</example>
-
-<p>
-Cette commande vous permet d'accéder au manuel en ligne de la commande
-<prgn>less</prgn>. Pour éviter de dérouler tout le texte d'un seul
-coup à l'écran, <prgn>man</prgn> invoque un <em>pageur</em> qui vous
-déroule le texte page par page, à chaque fois que vous appuyez sur la
-touche <em>espace</em>. Par défaut, le pageur utilisé est
-<prgn>more</prgn>.
-
-<p>
-Continuons et regardons un peu la page de manuel de <prgn>less</prgn>,
-qui est un pageur très puissant. Affichez la page suivante en appuyant
-sur espace et q pour quitter. <prgn>more</prgn> quitte aussi
-automatiquement la page en arrivant à la fin.
-
-<p>
-<example>
-export PAGER=less
-</example>
-
-<p>
-Après avoir lu les avantages de <prgn>less</prgn>, il se peut que vous
-vouliez l'utiliser pour lire les pages de manuel. Pour ce faire, vous
-devez positionner la variable d'environnement <em>PAGER</em>.
-
-<p>
-La commande pour ajuster une variable d'environnement dans
-<prgn>bash</prgn> a toujours le format suivant:
-
-<p>
-<example>
-export NOM=valeur
-</example>
-
-<p>
-<prgn>export</prgn> signifie déplacer la variable du shell dans votre
-environnement. Cela veut dire que les programmes autres que le shell
-(par exemple, un visualiseur de textes) seront capables d'y accéder.
-
-<p>
-<example>
-echo $PAGER
-</example>
-
-<p>
-C'est la façon la plus aisée d'accéder au contenu de la
-variable. <em>$PAGER</em> demande en fait au shell d'insérer la valeur
-de <em>PAGER</em> <em>avant</em> d'invoquer la
-commande. <prgn>echo</prgn> renvoie simplement l'argument: dans ce
-cas, cela renvoie simplement la valeur du contenu de <em>PAGER</em>,
-c'est-à-dire <prgn>less</prgn>.
-
-<p>
-<example>
-man more
-</example>
-
-<p>
-renvoie maintenant la page de manuel de <prgn>more</prgn>. Mais
-maintenant, <prgn>man</prgn> utilise <prgn>less</prgn> comme pageur.
-
-<p>
-<prgn>less</prgn> a beaucoup plus de fonctionnalités que
-<prgn>more</prgn>. Par exemple, vous pouvez paginer en arrière
-à l'aide de la touche <prgn>b</prgn>. Vous pouvez aussi vous déplacer en
-avant et en arrière à l'aide des flèches de
-direction. <prgn>less</prgn> ne sort pas lorsque vous avez atteint le
-bas du fichier de la page de manuel: il attend que vous appuyez sur la
-touche <prgn>q</prgn>.
-
-<p>
-Vous pouvez essayer quelques spécificités de la commande
-<prgn>less</prgn>, comme <prgn>b</prgn>, pour vérifier qu'elles ne
-fonctionnent pas avec <prgn>more</prgn>.
-
-<p>
-<example>
-unset PAGER
-</example>
-
-<p>
-Si vous ne désirez pas spécifier un pageur, vous pouvez appliquer la
-commande <prgn>unset</prgn> à la variable. <prgn>man</prgn> utilisera
-alors <prgn>more</prgn> par défaut, comme il le faisait avant que vous
-ne changiez la variable.
-
-<p>
-<example>
-echo $PAGER
-</example>
-
-<p>
-Comme la variable <em>PAGER</em> a été détruite, <prgn>echo</prgn> ne
-renverra rien.
-
-<p>
-<example>
-PS1=bonjour:
-</example>
-
-<p>
-Pour s'amuser, tentons de modifier le prompteur. $ devrait maintenant
-être modifié. Voici les étapes en détails:
-
-<p>
-<example>
-$ echo $PS1
-$
-$PS1=bonjour:
-bonjour:echo Mon prompteur est $PS1
-Mon prompteur est bonjour:
-bonjour:
-</example>
-
-<p>
-<prgn>export</prgn> n'est pas nécessaire car vous ne modifier que le
-comportement de votre propre shell. Il n'y a pas de raison d'exporter
-dans l'environnement de tous les programmes pour faire le
-test. Techniquement parlant, <em>PS1</em> est plutôt une <em>variable
-de shell</em> qu'une variable d'environnement.
-
-<p>
-Si vous le voulez, vous pouvez exporter la variable de shell, la
-transformant ainsi en variable d'environnement. Si vous agissez de la
-sorte, les programmes lancés à partir du shell pourront la voir.
-</sect>
-
-<sect> Où les commandes résident: la variable <em>PATH</em>
-
-<p>
-Lorsque vous tapez une commande dans votre shell, ce dernier doit
-trouver le programme correspondant sur votre disque avant de
-l'exécuter. Si le shell devait examiner l'ensemble du disque dur, cela
-serait extrêmement lent. À la place, il se contente d'aller chercher
-dans un ensemble de répertoires contenu dans la variable
-d'environnement <em>PATH</em>. Cette liste de répertoires est le
-<em>chemin d'accès</em> du shell. Lorsque vous entrez une commande, le
-shell va chercher dans chacun des répertoires de ce chemin pour
-trouver la commande que vous lui avez demandé de lancer.
-
-<p>
-Il se peut que vous ayez à changer la variable <em>PATH</em> si vous
-installez vous-même des programmes à des endroits non
-conventionnels. La valeur du <em>PATH</em> est une liste de
-répertoires séparés par des «&nbsp;:&nbsp;».
-
-<p>
-<example>
-/usr/local/bin:/usr/bin/:/bin:/usr/bin/X11:/usr/games
-</example>
-
-<p>
-Cette valeur est définie dans le fichier <prgn>/etc/profile</prgn> et
-applicable à tous les utilisateurs. Il est très facile de modifier
-cette valeur, comme d'ailleurs l'ensemble des variables
-d'environnement. Si vous tapez la commande <prgn>ls</prgn>, le shell
-va d'abord la chercher dans <prgn>/usr/local/bin</prgn>;
-<prgn>ls</prgn> ne s'y trouve pas donc il va continuer et la chercher
-dans <prgn>/usr/bin/</prgn> ; comme cela échoue encore, il vérifie
-<prgn>/bin</prgn>. Il la trouve enfin et stoppe sa recherche pour
-exécuter le programme <prgn>/bin/ls</prgn>. Si la commande
-<prgn>/usr/bin/X11/ls</prgn> existe (ce n'est pas le cas mais c'est pour
-l'exemple), elle serait tout simplement ignorée.
-
-<p>
-Vous pouvez voir quel <prgn>ls</prgn> le shell va utiliser grâce à la
-commande <prgn>type</prgn>. <prgn>type ls</prgn> va vous renvoyer
-<prgn>/bin/ls</prgn>. Essayez-la vous-même.
-
-<p>
-<example>
-$ type type
-type is a shell builtin<footnote>type est une fonction interne du shell</footnote>
-</example>
-
-<p>
-<prgn>type</prgn> n'est pas vraiment un programme: c'est une
-fonctionnalité du shell mais vous pouvez l'utiliser comme un programme
-extérieur.
-
-<p>
-Il y a de nombreuses commandes de la même sorte. Tapez <prgn>man
-builtins</prgn> pour visualiser la page les décrivant. De façon
-générale, il n'est pas nécessaire de savoir si une commande est une
-fonctionnalité interne ou bien un programme extérieur. Mais il faut
-garder à l'esprit qu'une fonctionnalité interne ne sera pas visible
-via un <prgn>ps</prgn> ou un <prgn>top</prgn> car il ne s'agit pas
-d'un processus séparé: c'est une partie intégrante du shell.
-</sect>
-
-<sect> Fichiers de configuration
-
-<p>
-De nombreuses applications sous Linux vous permettent de modifier leur
-comportement à certains moment en transformant les fichiers contenant
-leurs informations de configuration. Ces fichiers de configuration
-peuvent contenir des informations de lancement, des réglages de
-configuration ou bien des ajustements pour la sortie. En général, un
-nom de fichier de configuration est basé sur le nom de l'application
-qu'il est sensé modifier. Cette convention de nom permet de déterminer
-rapidement à quelle application appartient quel fichier de
-configuration pour les réglages.
-
-<sect1> Configuration système contre configuration personnelle
-
-<p>
-Il est important de se rappeler qu'il y a deux façons différentes de
-configurer sur un système Debian. La <em>configuration système</em>
-affecte tous les utilisateurs. Ces configurations se trouve dans le
-répertoire <prgn>/etc</prgn> et donc il est généralement nécessaire
-d'être root pour modifier ces fichiers. Vous pouvez avoir besoin de
-configurer la façon dont se connecte le système à Internet par
-exemple, ou bien configurer les butineurs HTML pour leur faire
-afficher la page de la société en se lançant. Si vous désirez
-effectuer le changement pour tous les utilisateurs à la fois, vous
-devez faire les transformations dans <prgn>/etc</prgn>. Des fichiers
-de configuration simples de <prgn>/etc</prgn> sont
-<prgn>/etc/X11/XF86Config, /etc/lynx.cfg</prgn> et
-<prgn>/etc/ppp/options</prgn>. En fait, presque tous les fichiers de
-<prgn>/etc</prgn> sont des fichiers de configuration.
-
-<p>
-La <em>configuration personnelle</em> n'affecte qu'un simple
-utilisateur. Les fichiers cachés sont utilisés à cette fin. Par
-exemple, le fichier <prgn>~/.newrc</prgn> contient une liste
-d'articles sur USENET (groupes de discussions) que vous avez lus et
-à quels groupes vous avez souscrit. Cela permet à des lecteurs de news
-comme <prgn>trn</prgn> ou <prgn>GNUS</prgn> de n'afficher que les
-articles non lus dans les groupes qui vous intéressent. Cette
-information est bien-sûr propre à chaque utilisateur du système et
-ainsi chacun possède son propre <prgn>.newrc</prgn> dans son
-répertoire de travail personnel.
-</sect1>
-</sect>
-
-<sect> Aliases
-
-<p>
-Si vous utilisez la même commande de nombreuses fois, il se peut que
-vous vous fatiguiez à la taper. <prgn>bash</prgn> vous permet d'écrire
-un raccourci - on dit <em>alias</em> - de votre commande.
-
-<p>
-Admettons que vous désiriez toujours utiliser les options
-<prgn>--almost-all</prgn> et <prgn>--color=auto</prgn> de
-<prgn>ls</prgn>. Faîtes un alias:
-
-<p>
-<example>
-alias myls='ls --almost-all --color=auto'
-</example>
-
-<p>
-Maintenant, il vous suffit de taper <prgn>myls</prgn> à la place de la
-commande complète. Pour voir ce qu'est réellement <prgn>myls</prgn>,
-il suffit de taper <prgn>type myls</prgn>. Pour voir la liste complète
-des <em>aliases</em> que vous avez défini, taper simplement
-<prgn>alias</prgn> tout seul comme commande.
-</sect>
-
-<sect> Contrôler les entrées et les sorties
-
-<p>
-Au fur et à mesure de vos expériences avec Linux, vous allez
-comprendre combien manipuler les entrées et sorties des applications
-est un concept très puissant. Cette partie décrit quelques points de
-ce que peut vous apportez la redirection des entrées-sorties.
-
-<sect1> <prgn>stdin</prgn>, <prgn>stdout</prgn>, tubes et redirection
-
-<p>
-Chaque processus a au moins trois connexions avec le monde
-extérieur. L'<em>entrée standard</em> est une des sources des données
-du processus. La <em>sortie standard</em> est un des endroits où le
-processus envoie ses données et l'<em>erreur standard</em> est
-l'endroit où le processus envoie ses messages d'erreurs (on les
-abrège généralement par <prgn>stdin</prgn>, <prgn>stdout</prgn> et
-<prgn>stderr</prgn>).
-
-<p>
-Les mots «&nbsp;source&nbsp;» et «&nbsp;endroit&nbsp;» sont
-intentionnellement vagues. Ces lieux d'entrées-sorties standards
-peuvent changer avec les utilisateurs. Cela peut être l'écran, le
-clavier, un fichier et même une connexion réseau. Vous pouvez
-spécifier les endroits à utiliser.
-
-<p>
-Lorsque vous lancez un programme à partir du shell, l'entrée standard
-est généralement le clavier et la sortie standard, ainsi que les
-erreurs, s'affichent sur votre écran. Vous pouvez bien sûr demander
-à votre shell de modifier ce comportement.
-
-<p>
-Par exemple, la commande <prgn>echo</prgn> envoie son entrée standard
-sur sa sortie standard, normalement à l'écran. Mais vous pouvez
-décider de l'envoyer plutôt dans un fichier à l'aide de
-<em>l'opérateur de redirection de sortie</em>, &gt . Par exemple, pour
-écrire le mot «&nbsp;Bonjour&nbsp;» dans le fichier
-<prgn>monfichier</prgn>, utilisez la commande suivante:
-
-<p>
-<example>
-echo Bonjour &gt monfichier
-</example>
-
-<p>
-Utilisez ensuite <prgn>cat</prgn> ou bien votre pageur
-(<prgn>more</prgn> ou <prgn>less</prgn>) pour visualiser le contenu du
-fichier <prgn>monfichier</prgn>.
-
-<p>
-<example>
-$ echo Bonjour &gt monfichier
-$ cat monfichier
-Bonjour
-$
-</example>
-
-
-<p>
-Vous pouvez changer l'entrée standard d'une commande avec
-<em>l'opérateur de redirection d'entrée</em>, &lt . Par exemple,
-<prgn>cat &lt monfichier</prgn>. En pratique, ce n'est pas
-commode. Pour simplifier, <prgn>cat</prgn> accepte un fichier pour
-argument. Ainsi, vous pouvez vous contenter de taper <prgn>cat
-monfichier</prgn> et l'effet sera identique.
-
-<p>
-Si l'on approfondit un peu, la commande <prgn>cat &lt
-monfichier</prgn> signifie que le shell ouvre le fichier
-<prgn>monfichier</prgn> et envoie son contenu dans l'entrée standard
-de <prgn>cat</prgn>. <prgn>cat monfichier</prgn>, sans l'opérateur de
-redirection, signifie que la commande <prgn>cat</prgn> reçoit un
-argument unique (<prgn>monfichier</prgn>), l'ouvre d'elle-même et
-ensuite l'affiche à l'écran.
-
-<p>
-Il y a bien-sûr une raison pour cette double fonctionnalité. Par
-exemple, il est possible de connecter la sortie standard d'une
-commande sur l'entrée standard d'une autre commande. Cela s'appelle un
-<em>tube</em> (<em>pipeline</em> en anglais). Cela utilise
-l'<em>opérateur tube</em><footnote>Cela dépend de votre clavier: cela
-peut apparaître comme une barre verticale ou une barre verticale en
-deux parties mais cela doit toujours se trouver au-dessus du contre
-<em>slash</em> (NDT: pour les claviers <em>qwerty</em>
-uniquement... tapez <prgn>Alt Gr 6</prgn> pour les
-<em>azerty)</em></footnote>, | .
-
-<p>
-Peut-être désirez-vous voir la <em>GNU General Public License</em>
-à l'envers ? Pour le faire, utilisez la commande <prgn>tac</prgn> (c'est
-un <prgn>cat</prgn> mais inversé). Essayez:
-
-<p>
-<example>
-tac /usr/doc/copyright/GPL
-</example>
-
-<p>
-Malheureusement, cela défile beaucoup trop rapidement pour être
-lisible. Donc vous ne voulez avoir que quelques paragraphes: la
-solution est un tube:
-
-<p>
-<example>
-tac /usr/doc/copyright/GPL | less
-</example>
-
-<p>
-Cela prend donc la sortie standard de <prgn>tac</prgn>, qui est la GPL
-lue à l'envers, et l'envoie dans l'entrée standard de
-<prgn>less</prgn>.
-
-<p>
-Vous pouvez enchaîner ainsi autant de commandes que vous le
-désirez. S'il vous prend une envie inexpliquable de transformer tous
-les G en Q, il vous suffit d'utiliser la commande <prgn>tr G Q</prgn>
-comme ceci:
-
-<p>
-<example>
-tac /usr/doc/copyright/GPL | tr G Q | less
-</example>
-
-<p>
-Vous pouvez obtenir le même résultat en utilisant des fichiers
-temporaires et des redirections, par exemple:
-
-<p>
-<example>
-tac /usr/doc/copyright/GPL > tmpfile
-tr G Q < tmpfile > tmpfile2
-less < tmpfile2
-rm tmpfile tmpfile2
-</example>
-
-<p>
-Il est clair qu'un tube est bien plus pratique.
-</sect1>
-</sect>
-
-<sect> Expansion de nom de fichier
-
-<p>
-Vous désirez souvent utiliser une commande sur tout un groupe de
-fichiers. Des caractères spéciaux (<em>wildcards</em>) sont utilisés
-pour créer des <em>termes génériques d'expansion de nom de
-fichiers</em>. Une série de lettres et des caractères spéciaux
-permettent ainsi de lister des fichiers. Par exemple, le motif
-<prgn>/etc/*</prgn> remplace la liste de tous<footnote>Actuellement,
-les fichiers commençant par un point ne sont pas inclus dans
-l'expansion de *</footnote> les fichiers de <prgn>/etc</prgn>.
-
-<p>
-* est un motif qui remplace n'importe quelle série de caractères et
- ainsi l'expression <prgn>/etc/*</prgn> fournira la liste de tous les
- fichiers commençant par <prgn>/etc/</prgn>.
-
-<p>
-Cette liste de fichiers est très utile comme un jeu d'arguments pour une
-commande. Par exemple, le répertoire <prgn>/etc</prgn> contient une
-série de sous-répertoires appelés <prgn>rc0.d, rc1.d</prgn>,
-etc... Normalement, pour visualiser le contenu de ces répertoires,
-vous devriez taper les commandes suivantes:
-
-<p>
-<example>
-ls /etc/rc0.d /etc/rc1.d /etc/rc2.d /etc/rc3.d
-ls /etc/rc4.d /etc/rc5.d /etc/rc6.d /ect/rcS.d
-</example>
-
-<p>
-C'est particulièrement lourd et pénible. À la place, il suffit
-d'utiliser le caractère spécial «&nbsp;?&nbsp;» comme suit:
-
-<p>
-<example>
-ls /etc/rc?.d
-</example>
-
-<p>
-<prgn>/etc/rc?.d</prgn> renvoie alors une liste de nom de fichiers,
-commençant par <prgn>rc</prgn>, suivant d'un caractère et se terminant
-pas <prgn>.d</prgn>.
-
-<p>Les caractères spéciaux disponibles sont les suivants:
-
-<p>
-<list>
-<item> *
-<p>
- Correspond à n'importe quel groupe de 0 ou plus de caractères.
-<item> ?
-<p>
- Correspond à un caractère quelconque mais unique.
-<item> <prgn>[...]</prgn>
-<p>
- Si vous entourez des caractères de crochets, le résultat est une
- correspondance avec ces caractères. Par exemple, <prgn>[abc]</prgn>
- correspond soit à un <prgn>a</prgn>, soit à un <prgn>b</prgn> ou
- soit à un <prgn>c</prgn>. Si vous ajouter un ^ après le premier
- crochet, on retourne le sens. Ainsi, <prgn>[^abc]</prgn> correspond
- à tous les caractères qui ne sont pas un <prgn>a</prgn>, un
- <prgn>b</prgn> ou un <prgn>c</prgn>. Vous pouvez aussi inclure un
- intervalle comme <prgn>[a-j]</prgn> qui correspond à tout entre
- <prgn>a</prgn> et <prgn>j</prgn>. La correspondance est sensible
-à la casse des caractères donc si vous voulez inclure toutes les
- lettres, vous devz utilisez <prgn>[a-zA-Z]</prgn>.
-</list>
-
-<p>
-Les motifs d'expansion sont très simples, à partir du moment où vous
-les voyez dans des exemples concrets:
-
-<p>
-<list>
-<item> <prgn>*.txt</prgn>
-<p>
- Cela vous fournit la liste de tous les fichiers finissant pas
- <prgn>.txt</prgn> puisque * correspond à tout.
-<item> <prgn>*.[hc]</prgn>
-<p>
- Cela vous fournit une liste de fichier se terminant soit par
- <prgn>.h</prgn> soit par <prgn>.c</prgn>.
-<item> <prgn>a??</prgn>
-<p>
- Cela vous fournit la liste de tous les fichiers de trois lettres
- commençant par un <prgn>a</prgn>.
-<item><prgn>[^a]??</prgn>
-<p>
- Cela vous fournit la liste de tous les fichiers de trois lettres ne
- commençant pas par la lettre <prgn>a</prgn>.
-<item> <prgn>a*</prgn>
-<p>
- Cela vous fournit l'ensemble des fichiers commençant par
- <prgn>a</prgn> sans tenir compte de leur nombre de lettres.
-</list>
-
-</sect>
-
-</chapt>
-<chapt> Un peu plus sur les fichiers
-
-<p>
-Dans la partie 7.2, nous avons montré comment déplacer et renommer
-des fichiers avec <prgn>mv</prgn>, comment les copier avec
-<prgn>cp</prgn>, comment les détruire avec <prgn>rm</prgn>, comment
-détruire des répertoires avec <prgn>rmdir</prgn> et comment en créer
-avec <prgn>mkdir</prgn>. Ce chapitre va couvrir des aspects un peu
-plus avancés du traitement de fichiers.
-
-<sect> Permissions
-
-<p>
- Les systèmes Unix et GNU sont paramétrables pour pouvoir autoriser de
- nombreuses personnes à utiliser la même machine tout en conservant
- secrets certains fichiers ou en empêchant certaines personnes de
- modifier certains fichiers. Vous pouvez le vérifier par
- vous-même. Loguez-vous en tant que vous-même, c'est-à-dire <em>PAS en
- root</em>.
-
-<p>
-<example>
-whoami
-</example>
-
-<p>
-Ceci pour vérifier que vous n'êtes pas root. Ensuite, entrer la
-commande suivante:
-
-<p>
-<example>
-rm /etc/resolv.conf
-</example>
-
-<p>
-L'ordinateur devrait vous répondre <prgn>Permission denied</prgn>
-<footnote><prgn>Permission
-refusée</prgn></footnote>. <prgn>/etc/resol.conf</prgn> est un des
-fichiers essentiels de configuration du système. Vous n'êtes pas
-autorisé à le modifier ou l'effacer si vous n'êtes pas root. Cela
-préserve le système d'une maladresse accidentelle. Si l'ordinateur est
-dans un organisme public, comme dans un bureau ou une école, cela le
-préserve des utilisateurs travaillant dessus.
-
-<p>
-Maintenant, tapez <prgn>ls -l /etc/resolv.conf</prgn>.
-
-<p>
-Cela devrait vous renvoyer quelque chose comme cela:
-
-<p>
-<example>
--rw-r--r-- 1 root root 119 Feb 23 1997 /etc/resolv.conf
-</example>
-
-<p>
-L'option <prgn>-l</prgn> de <prgn>ls</prgn> lui demande d'ajouter des
-informations additionnelles. Les informations sur la partie droite
-sont faciles à interpréter. La taille du fichier fait 119 octets. La
-date de dernière modification est le 23 février 1997 et le nom du
-fichier est <prgn>/etc/resolv.conf</prgn>. Sur la partie gauche de
-l'écran, les choses sont un tout petit peu plus compliquées.
-
-<p>
-Tout d'abord, une brève explication technique: <prgn>-rw-r--r--</prgn>
-est le <em>mode</em> du fichier, le <prgn>1</prgn> correspond au
-nombre de liens physiques vers ce fichier (ou le nombre de fichiers
-dans le répertoire) et les deux <prgn>root</prgn> sont les
-propriétaires respectifs du fichier et du groupe auquel appartient le
-fichier.
-
-<p>
-Tout ceci est du charabia. Étudions les choses plus calmement.
-
-<sect1> Les droits de propriété d'un fichier
-
-<p>
-Tous les fichiers ont deux <em>propriétaires</em>: un utilisateur et
-un groupe. Le cas précédent peut porter à confusion car il y a un
-groupe nommé <em>root</em> et en même temps un utilisateur nommé
-<em>root</em>. Les groupes sont juste un rassemblement d'utilisateurs
-à qui on donne collectivement le droit d'accéder à une partie du
-système. Un bon exemple est le groupe <em>games</em>. Vous pouvez
-créer un groupe <em>games</em> sur votre ordinateur et le paramétrer
-de façon à ce que seuls les gens appartenant à ce groupe aient
-l'autorisation de jouer sur la machine.
-
-<p>
-Il y a des exemples plus pratiques: considérons le cas de la
-configuration d'une machine pour une école. Il y a certains fichiers
-dont vous voulez restreindre l'accès aux professeurs seulement, et pas
-aux élèves. Vous créez donc un groupe dans lequel vous rassemblez tous
-les professeurs. Ensuite, vous pouvez indiquer au système que certains
-fichiers appartiennent au groupe <em>professeurs</em> et que personne
-d'autre n'y a accès.
-
-<p>
-Explorons les groupes du système. En premier lieu, vous pouvez
-utiliser la commande <prgn>groups</prgn> du shell. Cela vous fournit
-une liste de groupes auxquels vous appartenez:
-
-<p>
-<example>
-$ groups
-system-wide configuration!permissions!file
-ownershipusername dialout: cdrom floppy audio
-</example>
-
-<p>
-Vous semblez donc n'appartenir qu'à un groupe, qui est identique
-à votre nom d'utilisateur. Dans tous les cas, root peut vous ajouter
-dans d'autres groupes. L'exemple suivant montre une personne membre de
-cinq groupes:
-
-<p>
-<example>
-less /etc/group
-</example>
-
-<p>
-Ce fichier contient la liste des groupes disponibles sur votre
-système. Remarquez bien le groupe root (le seul membre de ce groupe
-est l'utilisateur root) et le groupe qui correspond à votre nom
-d'utilisateur. Il y a aussi des groupes comme <em>dialout</em> (les
-utilisateurs autorisés à lancer le modem) et <em>floppy</em> (les
-utilisateurs qui ont accès au lecteur de disquette). Il est probable
-que votre système ne soit pas configuré pour avoir l'usage de ces
-groupes. Il est préférable que seul root ait accès au lecteur de
-disquettes ou au modem pour le moment. Pour les détails en ce qui
-concernent ce fichier, reportez-vous au <prgn>man group</prgn>.
-
-<p>
-<example>
-ls -l /home
-</example>
-
-<p>
-Cette commande vous montre que tous les répertoires utilisateurs sont
-la propriété de leur utilisateur et de leur groupe personnel.
-
-<p>
-<em> Si vous venez d'installer Debian, vous êtes peut-être le seul
-utilisateur. Vous pouvez ajouter d'autres utilisateur à l'aide de la
-commande <prgn>adduser</prgn>.</em>
-</sect1>
-
-<sect1> Mode
-
-<p>
-En plus d'être la propriété d'un seul utilisateur et d'un seul groupe,
-chaque fichier et répertoire possède aussi un mode qui détermine qui a
-le droit de lire, d'écrire et d'exécuter un fichier (et de le lancer
-s'il s'agit d'un programme). Il y a d'autre petites fonctionnalités
-apportées par le mode mais ce sont des réglages avancées et nous les
-laisserons de côté pour le moment.
-
-<p>
-Un mode ressemble à cette sortie de <prgn>ls</prgn>:
-<prgn>-rw-r--r--</prgn>. À partir de maintenant, nous allons découvrir
-neuf ensembles: celui qui contrôle les permissions de
-<em>lecture</em>, d'<em>écriture</em> et d'<em>exécution</em> pour le
-propriétaire du fichier, pour le groupe auquel se rattache le fichier
-et pour les autres personnes (<em>others</em>) (tous ceux du système,
-quelque fois appelé le <em>monde</em>).
-
-<p>
-Dans la ligne mode, le premier «&nbsp;élément&nbsp;» donne le type de
-fichier. Le - signifie que c'est un fichier normal (<em>regular
-file</em>). Si nous avions eu <prgn>d</prgn>, cela aurait été un
-répertoire<footnote><prgn>d</prgn> pour <em>directory</em> en
-anglais</footnote>. Il y a aussi quelques autres possibilités mais qui
-sont trop complexes pour le cadre de cette partie. Pour plus détails,
-allez voir la partie 15.2.2.
-
-<p>
-Les neuf éléments restant sont utilisés pour définir le mode du
-fichier. Les neuf bits basics (<em><prgn>r</prgn>ead,
-<prgn>w</prgn>rite</em> et <em>e<prgn>x</prgn>ecute</em> pour
-l'utilisateur, le groupe et les autres) sont définis en trois blocs de
-<prgn>rxw</prgn>.
-
-<p>
-Si toutes les permissions sont activées et qu'il s'agit d'un fichier
-normal, le mode va ressembler à ceci:
-
-<example>
--rxwrxwrxw
-</example>
-
-<p>
-Si c'était un répertoire avec toutes les permissions désactivées pour
-le monde et activées pour tous les utilisateurs et le groupe, cela
-ressemblerait à:
-
-<example>
-drxwrxw---
-</example>
-
-<p>
-Le tableau suivant indique la signification des permission de lecture,
-écriture et exécution pour les fichiers et les répertoires:
-
-<p>
-<example>
- ---------------------------------------------------------------
-| Code | Nom | Ce que cela permet | Ce que cela permet |
-| | | aux fichiers | aux répertoires |
- ---------------------------------------------------------------
-| r | lecture | Examen du contenu | Liste le contenu |
-| | | du fichier | du répertoire |
- ---------------------------------------------------------------
-| | | Modification |Ajout ou destruction|
-| w | écriture| du fichier | de fichiers dans le|
-| | | | répertoire |
- ---------------------------------------------------------------
-| x |exécution| lancer en tant que |Accéder aux fichiers|
-| | | commande | du répertoire |
- ---------------------------------------------------------------
-</example>
-
-<p>
-Les modes du répertoire peuvent porter un peu à confusion donc voici
-une série d'exemples des effets de combinaisons diverses.
-
-<p>
-<example>
-r--
-</example>
-
-<p>
-L'utilisateur, le groupe et les autres avec ces permissions peuvent
-afficher le contenu du répertoire mais ne peuvent rien faire
-d'autre. Les fichiers contenus dans ce répertoire ne peuvent être lus,
-modifiés ou manipulés de quelle que façon que ce soit. La seule action
-autorisée consiste à lire le répertoire en lui-même ce qui revient
-à afficher ce qu'il contient et donc la liste des fichiers.
-
-<p>
-<example>
-rw-
-</example>
-
-<p>
-La permission d'écriture n'a pas d'effet en l'absence de celle
-d'exécution donc ce mode se comporte exactement comme le mode
-précédent.
-
-<p>
-<example>
-r-x
-</example>
-<p>
-
-<p>
-Ce mode permet aux fichiers présents dans le répertoire d'être
-visibles et permet aussi d'accéder à ces fichiers. Dans tous les cas,
-les fichiers ne peuvent être créés ou détruits. <em>Accéder</em>
-signifie que vous pouvez voir, changer et exécuter les fichiers
-suivant leurs permissions respectives.
-
-<p>
-<example>
---x
-</example>
-
-<p>
-Les fichiers de ce répertoire sont accessibles mais le contenu du
-répertoire ne l'est pas. Il vous faut donc connaître à l'avance le nom
-du fichier que vous recherchez (à moins d'avoir des talents de
-devin). Les fichiers ne peuvent être ni créés ni détruits.
-
-<p>
-<example>
-rwx
-</example>
-
-<p>
-Vous pouvez faire tout ce que vous voulez avec les fichiers de ce
-répertoire tant que vous respectez leurs permissions respectives.
-
-<p>
-Les permissions d'écriture d'un répertoire détermine si vous pouvez
-détruire des fichiers dans ce répertoire. Un fichier en lecture seule
-pourra être effacé si vous avez les permissions d'écriture dans le
-répertoire le contenant. Vous ne pouvez détruire un fichier d'un
-répertoire en lecture seule même si vous avez les droits d'écriture
-sur le fichier.
-
-<p>
-Cela signifie que si vous êtes le propriétaire d'un répertoire, vous
-pouvez toujours détruire un de ses fichiers, y compris si ce fichier
-appartient à root.
-
-<p>
-La permission d'exécution d'un répertoire détermine la possibilité
-d'avoir accès aux fichiers - si bien sûr leurs permissions respectives
-l'autorisent. Si vous avez le droit d'exécution d'un répertoire, les
-droits d'exécution de ses fichiers devraient suivre. Sinon, les
-permissions des fichiers ne servent à rien: vous y avez accès dans
-tous les cas.
-</sect1>
-
-<sect1> Les permissions en pratique
-
-<p>
-Cette partie contient une série d'exemples pour montrer comment
-utiliser les permissions. Pour changer les permissions, on utilise la
-commande <prgn>chmod</prgn>.
-
-<p>
-<example>
-cd ; touch monfichier
-</example>
-
-<p>
-Il y a une série de nouveaux trucs ici. En premier, vous pouvez
-utiliser <prgn>;</prgn> pour mettre deux commandes sur la même
-ligne. Vous pouvez entrer la commande précédente comme suit:
-
-<p>
-<example>
-$ cd
-$ touch monfichier
-</example>
-
-<p>
-ce qui revient au même que
-
-<p>
-<example>
-$ cd; touch monfichier
-</example>
-
-<p>
-Les deux méthodes conduisent au même résultat.
-
-<p>
-Rappelez-vous que <prgn>cd</prgn> employé seul vous renvoie dans votre
-répertoire personnel. <prgn>touch</prgn> est normalement utilisé pour
-modifier la date de création d'un fichier à la date courante. Mais
-cela a une autre fonctionnalité intéressante. Si le fichier n'existe
-pas, <prgn>touch</prgn> le crée. Ainsi, vous êtes en train de créer un
-fichier pour pouvoir faire des expérimentations dessus. Utilisez
-<prgn>ls -l</prgn> pour observer que le fichier a bien été créé et
-remarquez son mode de permission:
-
-<p>
-<example>
-$ ls -l
--rw-r--r-- 1 user user 0 Nov 18 22:04 monfichier
-</example>
-
-<p>
-Bien-sûr, la date et le nom du groupe et de l'utilisateur seront
-différents chez vous. La taille du fichier est <prgn>0</prgn> car
-<prgn>touch</prgn> a créé un fichier vide. <prgn>-rw-r--r--</prgn> est
-le mode de permission par défaut sous Debian.
-
-<p>
-<example>
-chmod u+x monfichier
-</example>
-
-<p>
-Cette commande <em>ajoute</em> (<prgn>+</prgn>) des permissions
-d'<em>exécution</em> (<prgn>x</prgn>) pour l'<em>utilisateur</em>
-(<prgn>u</prgn>) à qui appartient le fichier. Utilisez <prgn>ls
--l</prgn> pour en voir les effets.
-
-<p>
-<example>
-chmod go-r monfichier
-</example>
-
-<p>
-Maintenant, vous <em>ôtez</em> (<prgn>-</prgn>) les permissions de
-<em>lecture</em> (<prgn>r</prgn>) au <em>groupe</em> (<prgn>g</prgn>)
-à qui appartient le fichier et à tous les <em>autres</em>
-(<prgn>o</prgn>). À nouveau, utilisez <prgn>ls -l</prgn> pour voir les
-modifications.
-
-<p>
-<example>
-chmod ugo=rx monfichier
-</example>
-
-<p>
-Ici, vous positionnez (<prgn>=</prgn>) les permissions de lecture et
-d'exécution pour l'utilisateur, le groupe et les autres. Cela
-positionne les permissions exactement comme vous l'avez spécifié et
-enlève les autres permissions. Ainsi, seules les permissions
-<prgn>rx</prgn> seront activées, et toutes les permissions
-<prgn>w</prgn> seront retirées. À partir de maintenant, personne ne
-peut modifier le fichier.
-
-<p>
-<example>
-chmod a-x monfichier
-</example>
-
-<p>
-est un raccourci<footnote><prgn>a</prgn> est pour <em>all</em> (tous)
-en anglais.</footnote> pour <prgn>ugo</prgn>. Ainsi, seules les
-permissions d'exécution vont être retirées.
-
-<p>
-<example>
-rm monfichier
-</example>
-
-Avec cette commande, nous allons tenter de détruire le fichier mais
-sans les droits d'écriture. <prgn>rm</prgn> va alors s'assurer de
-votre certitude en affichant le message suivant<footnote><prgn>rm:
-détruire le fichier protégé en écriture
-`monfichier'?</prgn></footnote>:
-
-<p>
-<example>
-rm: remove 'monfichier', overriding mode 0444 ?
-</example>
-
-<p>
-Vous devrez répondre en tapant <prgn>y</prgn> et ensuite en appuyant
-sur <prgn>Entrée</prgn>. Ceci est une fonctionnalité de
-<prgn>rm</prgn> et non une conséquence des permissions. L'autorisation
-de détruire un fichier vient des droits sur le répertoire et vous avez
-les droits sur ce répertoire. Dans ce cas, <prgn>rm</prgn> essaie
-d'être le plus convivial possible en se figurant que si vous ne
-vouliez pas changer les permissions (et <em>a fortiori</em> enlever
-les droits d'écriture), vous ne vouliez pas plus le détruire et ainsi
-il vous demande de faire le choix.
-
-<p>
-Qu'est-ce donc cette affaire <prgn>0444</prgn> dans la question de
-<prgn>rm</prgn> ? Les modes de permission sont en fait un nombre de 12
-bits comme celui-ci: <prgn>000100100100</prgn>. <prgn>0444</prgn> est
-représentation octal (i-e en base 8) qui est la base conventionnelle
-pour écrire un mode. Ainsi, vous pouvez écrire <prgn>chmod 444
-monfichier</prgn> à la place de <prgn>chmod ugo=r monfichier</prgn>.
-</sect1>
-</sect>
-
-<sect> Présentation des fichiers et de leurs emplacements
-
-<p>
-Maintenant que vous êtes capable de naviguer au gré des répertoires,
-allons faire un tour auprès des fichiers et des répertoires que vous
-avez créés en installant Debian. Si vous êtes curieux, faîtes un
-<prgn>cd</prgn> dans chacun d'entre eux et tapez <prgn>ls</prgn> pour
-voir leur contenu. Si le résultat ne tient pas dans l'écran, essayez
-<prgn>ls | less</prgn> où | est le caractère <em>tube</em> que l'on
-trouve généralement au même emplacement que la touche <em>retour
-arrière</em><footnote>NDT: du moins chez nos voisins anglo-saxons. Les
-francophones, avec des claviers <em>azerty</em>, le trouverons à la
-touche 6 en faisant <em>Alt Gr - 6</em>.</footnote>.
-
-<p>
-<list>
-<item> <prgn>/</prgn>
-<p>
- Comme on l'a déjà mentionné, il s'agit du répertoire racine qui
- contient tous les autres répertoires.
-<item> <prgn>/root</prgn>
-<p>
- Attention, ne confondez pas <prgn>/</prgn> avec <prgn>/root</prgn> !
- <prgn>/root</prgn> est le répertoire personnel de l'utilisateur root
- (super-utilisateur). C'est un répertoire appelé <prgn>/root</prgn>
- mais ce n'est pas le répertoire racine (NDT: <em>root directory</em>
- en anglais d'où la confusion chez nos voisins anglophones).
-<item><prgn>/home</prgn>
-<p>
- C'est l'endroit où l'on place le répertoire personnel de tous les
- utilisateurs normaux - c'est-à-dire tous sauf le root. Chaque
- répertoire personnel est appelé du nom de l'utilisateur; par exemple
- <prgn>/home/jane</prgn>. Si vous utilisez un système de taille
- conséquente, comme pour une école ou une entreprise, votre
- administrateur système a peut-être créé des répertoires
- supplémentaires pour contenir les répertoires personnels:
- <prgn>/home1</prgn> et <prgn>/home2</prgn> par exemple. Dans
- d'autres systèmes, on peut apercevoir un niveau supplémentaire de
- sous-répertoire :
-<example>
- /home/eleves/nomdutilisateur,
- /home/equipe/nomdutilisateur, etc...
-</example>
-</list>
-
-<p>
-Votre répertoire personnel est l'endroit où vous placez vos travaux
-personnels, votre courrier électronique et tous les autres documents,
-ainsi que vos fichiers de configurations personnelles. C'est votre «
-chez vous&nbsp;» dans le système...
-
-<p>
-<list>
-<item> <prgn>/bin</prgn>
-<p>
- Ce répertoire contient les «&nbsp;binaires&nbsp;» et les fichiers
- exécutables indispensables au fonctionnement du système. Des
- exemples sont le shell (<prgn>bash</prgn>) et les commandes
- relatives aux fichiers comme <prgn>cp</prgn>. <item>
- <prgn>/sbin</prgn>
-<p>
- Ce répertoire contient les «&nbsp;binaires systèmes&nbsp;». Ce sont
- les utilitaires que l'utilisateur root ou l'administrateur système
- auront à utiliser. Vous n'aurez probablement jamais à y avoir accès
- dans votre travail quotidien. <item> <prgn>/usr</prgn>
-<p>
- Ce répertoire contient beaucoup de fichiers susceptibles de vous
- intéresser. Il a de nombreux sous-répertoires. <prgn>/usr/bin</prgn>
- et <prgn>/usr/sbin</prgn> sont très proches de <prgn>/bin</prgn> et
- <prgn>/sbin</prgn> à l'exception près que les fichiers y figurant ne
- sont pas considérés comme «&nbsp;vitaux pour le système&nbsp;».
-<p>
- Bien que non essentiel au bon fonctionnement de l'ordinateur,
- <prgn>/usr</prgn> contient bien des applications très utiles pour
- travailler. Ainsi, dans <prgn>/usr</prgn>, vous trouverez les
- répertoires <prgn>/usr/man</prgn>, <prgn>/usr/doc</prgn> et
- <prgn>/usr/info</prgn>. Ils contiennent respectivement les pages de
- manuel, la documentation et les pages info. Et n'oubliez pas non
- plus <prgn>/usr/games</prgn> !
-<item> <prgn>/usr/local</prgn>
-<p>
- Le système Debian n'installe rien dans ce répertoire. Vous devrez
- l'utiliser pour installer des logiciels que vous compilerez vous
- même ou tout logiciel non contenu dans un paquet Debian. Vous pouvez
- aussi l'installer dans votre répertoire personnel si vous êtes le
- seul à l'utiliser.
-<item> <prgn>/etc</prgn>
-<p>
- Ce répertoire contient l'ensemble des fichiers de configuration du
- système. Lorsque vous désirez changer quelque chose au système qui
- impacte tous les utilisateurs de votre ordinateur - comme votre
- connexion Internet ou bien un changement de carte vidéo - vous aurez
- probablement à vous loguer en root et à modifier un fichier dans
- <prgn>/etc</prgn>.
-<item><prgn>/tmp</prgn>
-<p>
- Vous trouverez ici les fichiers temporaires de votre système, la
- plupart d'entre eux créés par le système. Ce répertoire est
- généralement nettoyé régulièrement ou à chaque <em>boot</em> du
- système. Vous pouvez créer des fichiers ici mais gardez à l'esprit
- qu'ils peuvent être détruits automatiquement.
-<item> <prgn>/var</prgn>
-<p>
- Ce répertoire contient les fichiers «&nbsp;variables&nbsp;» que le
- système change automatiquement. Par exemple, les courriels entrants
- sont stockés ici. Le système garde une trace de ses actions ici. Il
- y a un grand nombre d'autres fichiers engendrés automatiquement
- ici. Vous pouvez prêter attention au contenu du répertoire de
- <prgn>/var/log</prgn> où vous pourrez trouver des messages d'erreurs
- qui peuvent vous aider à comprendre ce qui ne va pas dans votre
- système en cas de défaillance.
-</list>
-
-<p>
-Il y a évidemment bien d'autres répertoires dans votre système, bien
-trop d'ailleurs pour que l'on puisse tous les décrire ici.
-
-<p>
-Pour changer quelque chose, vous aurez certainement à vous contenter
-de votre répertoire personnel et de <prgn>/etc</prgn>. Sur un système
-Debian, il y a rarement une occasion de changer quelque chose d'autre
-car tout est automatiquement installé pour vous.
-
-<p>
-<prgn>/etc</prgn> est utilisé pour configurer le système comme un
-tout. Vous n'utiliserez votre propre répertoire personnel que pour
-configurer votre propre environnement et stocker vos propres
-données. L'idée de base est de vous confiner dans
-<prgn>/home/votrenom</prgn> pour le travail quotidien et ainsi, vous
-ne pourrez rien casser ailleurs. À l'occasion, vous vous loguerez en
-tant que root pour paramétrer quelque chose mais seulement si c'est
-absolument nécessaire. Bien-sûr, si vous utilisez Debian à l'école ou
-bien en entreprise et que quelqu'un d'autre est l'administrateur
-système, vous n'aurez pas accès au compte root et vous ne pourrez
-changer des choses que dans votre compte personnel (ou dans les
-comptes où vous avez accès). Ceci limite ce que vous pouvez faire avec
-le système.
-</sect>
-
-<sect> La compression de fichier avec <prgn>gzip</prgn>
-
-<p>
-Il est souvent bien pratique de réduire la taille d'un fichier -
-disons, pour le télécharger plus rapidement, ou bien pour gagner de la
-place sur votre disque dur. Le programme affecté à cette tâche est
-<prgn>gzip</prgn> (GNU zip). Voici comment il fonctionne:
-
-<p>
-<example>
-$ cd; cp /etc/profile ./monfichier
-</example>
-
-<p>
-Cela vous renvoie dans votre répertoire personnel et copie un fichier
-arbitrairement choisi (<prgn>/etc/profile</prgn>) dans votre
-répertoire courant en le renommant <prgn>monfichier</prgn>.
-
-<p>
-<example>
-$ ls -l
-</example>
-
-<p>
-Affiche le contenu du répertoire courant. Remarquez bien la taille de
-<prgn>monfichier</prgn>.
-
-<p>
-<example>
-$ gzip monfichier
-</example>
-
-<p>
-Ceci comprime <prgn>monfichier</prgn>.
-
-<p>
-<example>
-$ ls -l
-</example>
-
-<p>
-Observez le résultat de cette commande: <prgn>monfichier</prgn>
-s'appelle maintenant <prgn>monfichier.gz</prgn>. Il est aussi beaucoup
-plus petit.
-
-<p>
-<example>
-$ gunzip monfichier.gz; ls -l
-</example>
-
-<p>
-Ceci décomprime le fichier. Remarquez bien que <prgn>monfichier</prgn>
-est retourné dans son état d'origine. Et remarquez aussi que pour
-décomprimer, il faut utiliser <prgn>gunzip</prgn> et non
-<prgn>gzip</prgn>.
-
-<p>
-<example>
-$ rm monfichier
-</example>
-
-<p>
-Utilisez cette commande pour effacer le fichier puisqu'on ne l'avait créé
-juste que pour expérimenter.
-</sect>
-
-<sect> Rechercher des fichiers
-
-<p>
-Il y a deux utilitaires pour rechercher un fichier: <prgn>find</prgn>
-et <prgn>locate</prgn>. <prgn>find</prgn> recherche vraiment les
-fichiers dans leur état présent. <prgn>locate</prgn> recherche dans un
-index engendré automatiquement par le système chaque matin à 6h42
-(c'est un <prgn>cron</prgn> dont on trouvera une explication un peu
-plus loin dans le livre). <prgn>locate</prgn> ne sera jamais capable
-de trouver un fichier créé après la génération de l'index. Bien-sûr,
-puisque <prgn>locate</prgn> recherche dans un index, il est beaucoup
-plus rapide - un peu comme rechercher dans l'index d'un livre plutôt
-qu'effeuiller chaque page.
-
-<p>
-Pour comparer les deux façons de faire une recherche, on va supposer
-que l'on ne se rappelle plus où est le fichier de configuration
-<prgn>XF86Config</prgn> du serveur X.
-
-<p>
-<example>
-$ locate XF86Config
-</example>
-
-<p>
-Cela devrait être très rapide. Vous allez obtenir une liste de noms de
-fichier <em>contenant</em> <prgn>XF86Config</prgn>, quelque chose
-comme:
-
-<p>
-<example>
-/etc/X11/XF86Config
-/usr/X11R6/lib/X11/XF86Config
-/usr/X11R6/lib/X11/XF86Config.eg
-/usr/X11R6/man/man5/XF86Config.5x.gz
-</example>
-
-<p>
-Maintenant, essayez la commande <prgn>find</prgn>:
-
-<p>
-<example>
-$ find / -name XF86Config
-</example>
-
-<p>
-Vous allez entendre une activité intense du disque dur, et cela va
-prendre un temps assez long. Le résultat devrait ressembler à:
-
-<p>
-<example>
-/ect/X11/XF86Config
-/usr/X11R6:lib/X11/XF86Config
-find: /var/spool/cron/atjobs: Permission denied
-find: /var/spool/cron/atspool: Permission denied
-find: /var/lib/xdm/authdir: Permission denied
-</example>
-
-<p>
-Remarquez que <prgn>find</prgn> n'a trouvé que les fichiers appelés
-<em>exactement</em> <prgn>XF86Config</prgn> et non pas ceux contenant
-cette chaîne de caractères. <prgn>find</prgn> a aussi essayé de
-rechercher dans tous les répertoires du système - y compris ceux dont
-vous n'avez pas les droits d'accès. C'est la raison pour laquelle vous
-avez les messages <prgn>Permission denied</prgn> (<prgn>Permission non
-accordée</prgn>).
-
-<p>
-Leur syntaxe aussi est différente. Avec <prgn>find</prgn>, vous devez
-choisir à partir de quel répertoire effectuer la recherche alors que
-<prgn>locate</prgn> choisit automatiquement le répertoire racine. Et
-vous devez spécifiez votre recherche en utilisant l'option
-<prgn>-name</prgn>. Vous pouvez aussi rechercher des fichiers avec des
-tas d'autres critères, comme les dates de modification ou les
-propriétaires. Pour utiliser <prgn>find</prgn> dans une recherche de
-fichiers dont le nom contient <prgn>XF86Config</prgn>, il vous faut
-utiliser un motif de recherche:
-
-<p>
-<example>
-$ find / -name '*XF86Config*'
-</example>
-
-<p>
-Comme la plupart des outils en lignes de commandes, <prgn>find</prgn>
-accepte des motifs comme arguments.
-
-<p>
-De façon générale, <prgn>find</prgn> est un outil beaucoup plus
-puissant et <prgn>locate</prgn> est un outil très rapide pour des
-recherches journalières. L'intégralité des recherches possible
-prendrait un temps fou à expliquer. Pour plus de détails, tapez
-<prgn>info find</prgn> qui vous conduira au travers des méandres des
-subtilités de <prgn>find</prgn> et <prgn>locate</prgn>.
-</sect>
-
-<sect> Déterminer le contenu d'un fichier
-
-<p>
-Debian vous offre un utilitaire capable de deviner le contenu d'un
-fichier à votre place. Bien que cela ne soit pas à 100% sûr, vous
-pouvez utiliser cette commande pour explorer votre système.
-
-<p>
-<example>
-$ file /bin/cp
-</example>
-
-<p>
-Vous devriez avoir quelque chose comme ceci:
-
-<p>
-<example>
-/bin/cp: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), stripped
-</example>
-
-<p>
-Si l'on retire les parties techniques, on peut dire que c'est un
-fichier exécutable pour machine Intel.
-
-<p>
-<example>
-$ file /etc/init.d/boot
-</example>
-
-<p>
-La commande précédente vous donne la réponse suivante:
-
-<p>
-<example>
-/etc/init.d/boot: Bourne shell script text
-</example>
-
-<p>
-ce qui veut dire que c'est un fichier texte contenant un script écrit
-en Bourne shell.
-</sect>
-
-<sect> Utiliser un gestionnaire de fichier
-
-<p>
-Plutôt que manipuler les fichiers à la main, vous pouvez utilisez un
-<em>gestionnaire de fichiers</em>. Si vous manipulez de nombreux
-fichiers à la fois, un gestionnaire de fichiers peut rendre votre
-travail plus efficace. Il y a des gestionnaires de fichiers orienté
-texte, comme <prgn>GNU Midnight Commander (mc)</prgn> et un grand
-nombre de gestionnaires de fichiers pour X Window (par exemple
-<prgn>gmc</prgn> qui est la version X Window de <prgn>GNU Midnigt
-Commander</prgn>).
-
-<p>
-Décrire chacun d'entre est hors du propos de ce livre mais vous pouvez
-les essayer si la ligne de commande ne vous sied pas.
-</sect>
-
-</chapt>
-<chapt> Travailler avec des fichiers textes
-
-<p>
-Les fichiers textes sont prédominants sur un système GNU-Linux. Ils se
-trouvent absolument partout, des fichiers de documentations aux
-fichiers de configuration. Par chance, il est très facile de les
-manipuler.
-
-<sect> Lire des fichiers textes
-
-<p>
-Un fichier texte est simplement un fichier qui ne contient que des
-caractères interprêtables par un être humain. Il n'y a rien à dire de
-spécial de plus à son sujet. L'autre type de fichier est le fichier
-binaire qui est destiné à être interprêté par l'ordinateur.
-
-<p>
-Vous pouvez visualiser n'importe quel type de fichiers avec le pagineur
-<prgn>less</prgn> si vous l'avez installé (installez-le si vous ne
-l'avez pas, c'est très simple). Tapez <prgn>less /etc/profile</prgn>
-pour lire un exemple de fichier texte. Remarquez bien que vous
-pouvez lire des caractères mêmes si leur signification reste
-obscure. Tapez <prgn>less /bin/ls</prgn> pour visualiser un fichier
-binaire. Comme vous pouvez vous en apercevoir, le programme
-<prgn>ls</prgn> n'est pas lisible par un être humain.
-
-<p>
-Parfois, vous trouverez des fichiers finissant par <prgn>.gz</prgn>
-. Ces fichiers sont lisibles avec <prgn>zless</prgn>. Vous pouvez
-l'utiliser comme ceci:
-
-<p>
-<example>
-zless /usr/doc/ae/changelog.Debian.gz
-</example>
-
-<p>
-<em> <prgn>zless</prgn> est idéal pour lire la documentation qui est la
-plupart du temps comprimée au format <prgn>.gz</prgn></em> .
-
-<p>
-La différence entre les deux sortes de fichiers est purement en
-rapport avec ce qu'ils contiennent à la différence de certains autres
-systèmes (comme le DOS ou MacOS) qui les traitent de façon différente.
-
-<p>
-Les fichiers textes peuvent contenir des scripts shell, de la
-documentation, des notices de <em>copyrights</em> ou tout autre texte
-lisible par un être humain.
-
-<p>
-Incidemment, ceci illustre la différence entre le <em>code source</em>
-et les <em>binaires exécutables</em>. <prgn>/bin/ls</prgn> est un
-fichier binaire exécutable que vous pouvez télécharger sur votre
-Debian mais vous pouvez aussi télécharger un fichier texte qui
-explique à l'ordinateur comment créer <prgn>/bin/ls</prgn>. Le fichier
-texte est alors le code source. Comparer la nature de
-<prgn>/bin/ls</prgn> et <prgn>/etc/profile</prgn> illustre combien le
-code source est important pour quelqu'un qui veut comprendre ou
-modifier une partie d'un logiciel. Les logiciels libres vous
-fournissent, à vous ou bien à vos consultants, tout le code source de
-chaque application.
-</sect>
-
-<sect> Les éditeurs de textes
-
-<p>
-Un <em>éditeur de textes</em> est le programme utilisé pour créer ou
-changer le contenu d'un fichier texte. La plupart des systèmes
-d'exploitation possède leur éditeur de textes: DOS a
-<prgn>edit</prgn>, Windows a <prgn>Notepad</prgn> et MacOS a
-<prgn>SimplyText</prgn>.
-
-<p>
-Debian fournit une grande quantité d'éditeurs de
-textes. <prgn>vi</prgn> et <prgn>Emacs</prgn> en sont les deux grands
-classiques et ce sont probablement les plus puissants et les plus
-utilisés. <prgn>vi</prgn> et <prgn>Emacs</prgn> sont tous les deux
-complexes et requièrent un certain apprentissage, mais ils peuvent
-éditer du texte avec une efficacité extraordinaire. <prgn>Emacs</prgn>
-tourne à la fois en mode console et sous X Window; <prgn>vi</prgn>
-tourne normalement seulement en mode console mais la variante
-<prgn>vim</prgn> possède une option <prgn>-g</prgn> qui lui permet de
-tourner sous X.
-
-<p>
-Il existe des éditeurs de textes plus simples comme
-<prgn>nedit</prgn>, <prgn>ae</prgn>, <prgn>jed</prgn> et
-<prgn>xcoral</prgn>. <prgn>nedit</prgn> et <prgn>xcoral</prgn>
-fournissent une interface basée sur le système X Window très
-conviviale et facile à utiliser. Il existe aussi de multiples variantes
-de <prgn>vi</prgn>. Vous pouvez aussi trouver une variante de
-<prgn>Emacs</prgn> appelée <prgn>XEmacs</prgn>.
-
-<p>
-Ce livre n'aborde pas l'utilisation d'un éditeur en détail, bien que
-nous allons rapidement faire une introduction à <prgn>ae</prgn> qui
-est petit, rapide et peut être trouvé sur les disquettes de secours de
-Debian. Il est donc recommandé de savoir s'en servir au cas
-où... Lorsque vous désirerez faire de l'édition de texte de façon plus
-sérieuse, voyez du côté de <prgn>vim</prgn> ou de <prgn>GNU
-Emacs</prgn>. <prgn>Emacs</prgn> fournit un excellente présentation
-interactif<footnote>mais en anglais...</footnote> de ses capacités;
-pour le lire, lancer <prgn>Emacs</prgn> avec la commande
-<prgn>emacs</prgn> et taper <prgn>F1 t</prgn>. <prgn>Emacs</prgn> est
-un très bon choix pour les nouveaux utilisateurs intéressés par un
-éditeur tout usage ou pour la programmation.
-</sect>
-
-<sect> Utiliser <prgn>ae</prgn>
-
-<p>
-Vous pouvez lancer <prgn>ae</prgn> en lui donnant le nom d'un fichier
-à éditer, comme cela:
-
-<p>
-<example>
-$ ae fichier.txt
-</example>
-
-<p>
-Cela va vous faire entrer dans l'écran d'édition. La partie supérieure
-vous propose une aide sommaire; la partie inférieure montre le nom du
-fichier que vous éditez. Se déplacer dans cet éditeur est simple: il
-suffit d'utiliser les flèche de déplacement. Vous pouvez sauver le
-fichier en tapant <prgn>C-x C-s</prgn> et ensuite sortir en tapant
-<prgn>C-x C-c</prgn>. Lorsque vous serez à l'aise, vous pourrez
-supprimer l'aide en tapant <prgn>C-x C-h</prgn>. C'est tout ! Gardez
-à l'esprit que cet éditeur ne vous permet que de l'édition très
-basique. Pour programmer, ou bien pour des travaux d'édition plus
-avancés, vous chercherez un autre éditeur de textes comme il a été dit
-précédemment.
-</sect>
-
-</chapt><chapt> Le système X Window
-
-<p>
-Le but de ce chapitre est de décrire l'interface graphique utilisateur
-du système X Window. Cela suppose que vous avez réussi à configurer X
-comme décrit dans le manuel d'installation (même si le manuel
-d'installation n'est pas encore écrit; vous aurez besoin d'utiliser le
-XFree86 HOWTO, le contenu de <prgn>/usr/doc/X11</prgn> et ce
-chapitre). Une fois X installé, vous pouvez entrer dans
-l'environnement X soit en tapant <prgn>startx</prgn> soit via
-<prgn>xdm</prgn>: cela dépend de vos choix pendant la configuration.
-
-<sect> Introduction à X
-
-<p>
-Une <prgn>GUI</prgn> (<em>Graphical User Interface</em>, une interface
-graphique utilisateur) fait partie des systèmes Windows et de
-MacOS. Il est pratiquement impossible d'écrire une application pour
-ces systèmes sans utiliser ces GUI et les systèmes ne peuvent être
-utilisés à l'aide de lignes de commandes. GNU-Linux est plus modulaire
-car il est composé de petits composants indépendants que l'on peut ou
-non utiliser suivant ses besoins ou ses préférences. Un des ces
-composants est le système X Window, que l'on appelle simplement X.
-
-<p>
-Ce composant est aussi appelé parfois X11. Remarquez bien que
-l'appellation «&nbsp;X Windows&nbsp;» est incorrecte.
-
-<p>
-X en lui-même est une manière pour les programmes de discuter avec
-la souris et la carte vidéo sans savoir quel type de matériel il y a
-au bout. En fait, c'est une <em>abstraction</em> du matériel
-graphique. Les applications des utilisateurs parlent au serveur X dans
-le langage du serveur X, le serveur X le traduisant alors dans le
-langage de votre matériel. Cela signifie que votre programme n'a
-qu'à être écrit une fois et qu'ensuite il tournera sur tous les
-ordinateurs.
-
-<p>
-Dans le jargon de X, le programme qui parle au matériel est connu sous
-le vocable <em>serveur X</em>. Les applications qui demandent au
-serveur X d'afficher une fenêtre sur l'écran sont appelés <em>clients
-X</em>. Le serveur X inclut un pilote pour la carte vidéo et donc vous
-devez avoir un serveur X qui reconnaît votre carte vidéo.
-
-<p>
-Le serveur X ne fournit aucune fonctionnalité que l'on peut attendre
-d'une <em>GUI</em>, comme redimensionner une fenêtre ou bien les réarranger. Un
-client X spécial, appelé le <em>gestionnaire de fenêtres</em>, dessine
-les bords des fenêtres et les barres de titre, redimensionne et
-réarrange les fenêtres et fournit des facilités pour lancer d'autres
-clients X via un menu. Des gestionnaires de fenêtres spécifiques
-peuvent avoir d'autres fonctionnalités.
-
-<p>
-Les gestionnaires de fenêtres présents dans un système Debian sont
-<prgn>fvwm</prgn>, <prgn>fvwm2</prgn>, <prgn>icewm</prgn>,
-<prgn>afterstep</prgn>, <prgn>olvwm</prgn>, <prgn>wmaker</prgn>,
-<prgn>twm</prgn> et <prgn>enlightenment</prgn>. Vous devrez
-probablement tous les essayer avant de ne garder que votre favori.
-
-<p>
-Ni le serveur X, ni le gestionnaire de fenêtres ne fournissent de
-<em>gestionnaire de fichiers</em>, c'est-à-dire qu'il n'existe pas de
-fenêtres contenant les icônes de vos fichiers et répertoires. Vous
-pouvez lancer un gestionnaire de fichiers en tant qu'application
-séparée, et il y en a de nombreux de disponibles. Le projet de bureau
-GNOME se développe autour d'un gestionnaire de fichiers basé sur des
-icônes et sur d'autres fonctionnalités basées sur des
-<em>GUI</em>. Allez voir la page
-GNOME<footnote>http://www.gnome.org/</footnote> pour obtenir les
-dernières nouvelles.
-
-<p>
-La dernière fonctionnalité de X est sa <em>transparence au
-réseau</em>: cela signifie que les clients X ne s'occupent pas de
-savoir s'ils discutent avec un serveur X tournant sur la même machine
-qu'eux ou sur un serveur X fonctionnant quelque part sur le réseau. De
-façon pratique, cela veut dire que vous pouvez faire tourner
-à distance votre programme sur une autre machine très puissante et
-sortir l'affichage sur votre machine.
-</sect>
-
-<sect> Lancer l'environnement X
-
-<p>
-Il y a deux façons de lancer X. La première est de le lancer
-manuellement aussitôt que vous en avez besoin. Pour ce faire,
-Loguez-vous dans une console et tapez <prgn>startx</prgn>. Cela lance
-X et vous met automatiquement sur sa console virtuelle.
-
-<p>
-La seconde façon (et recommandée) de lancer X est d'utiliser
-<prgn>xdm</prgn> (<em>X display manager</em>, le gestionnaire
-d'affichage graphique). Basiquement, <prgn>xdm</prgn> vous propose un
-joli prompteur graphique de login sur la console virtuelle de X
-(probablement la 7) et vous pouvez vous loguer à partir de là.
-
-<p>
-Par défaut, n'importe quelle méthode lancera aussi une
-<prgn>xterm</prgn> qui est une petite fenêtre contenant un prompteur
-de shell. À partir de ce prompteur, vous pouvez taper n'importe
-quelles commandes comme vous le faisiez sur une console texte. Vous
-pouvez ainsi refaire tous les exemples du livre en utilisant
-l'<prgn>xterm</prgn>. La seule différence entre une <prgn>xterm</prgn>
-et la console texte est qu'il n'est pas nécessaire de se loguer dans
-l'<prgn>xterm</prgn> puisque vous l'êtes déjà sous X.
-
-<p>
-Il y a d'autre part beaucoup de choses que vous ne pouvez faire que
-sous X et dont on va parler dans ce chapitre.
-
-<p>
-<em>Attention: la fenêtre par défaut de l'<prgn>xterm</prgn> a une
-toute petite fonte. Si vous avez un tout petit moniteur ou une
-définition élevée ou bien encore de mauvais yeux, il se peut que vous
-vouliez changer cet état de fait. Pour ce faire, effectuez les
-étapes suivantes:</em>
-
-<p>
-<list>
-<item>
- Déplacez le curseur de la souris au centre de la fenêtre
- <prgn>xterm</prgn>.
-<item>
- Appuyez sur la touche <em>Control</em> et le bouton droit de la
- souris simultanément. Vous devriez voir apparaître un menu de
- fontes.
-<item>
- Pointez sur la fonte que vous voulez et relâchez le bouton de la
- souris.
-</list>
-</sect>
-
-<sect> Les opérations élémentaires sous X
-
-<p>
-Il y a certaines opérations très communes sous X avec lesquelles il va
-falloir vous familiariser. Cette partie décrit quelques opérations
-élémentaires que vous pouvez trouver très pratiques.
-
-<sect1> La souris
-
-<p>
-La souris sous X fonctionne presque de la même façon que sous les autres
-systèmes d'exploitation à l'exception du fait qu'elle possède trois
-boutons. Si votre souris n'en possède que deux, vous pouvez simuler le
-troisième bouton du milieu en appuyant sur les deux boutons
-simultanément. Ce n'est pas très pratique; donc investir dans une
-souris trois boutons bon marché n'est pas une mauvaise idée. Il y en a
-de disponible chez tous les détaillants informatiques.
-
-<p>
-Les boutons sont numérotés de gauche à droite, en supposant que vous
-placiez votre souris dans votre main droite. Le premier bouton est
-alors sur la gauche, le deuxième au milieu et le troisième sur la
-droite. Vous pouvez rencontrer soit la numérotation soit les positions
-dans la documentation.
-
-<p>
-X possède une fonctionnalité interne simple de copier-coller. Pour
-sélectionner le texte à copier, vous devez à cliquer puis à déplacer la
-souris avec le bouton gauche. Cela devrait sélectionner le texte
-à copier, en supposant bien sûr que l'application en question supporte
-le copier-coller. Pour restituer le texte, vous n'avez qu'à cliquer
-avec le bouton du milieu dans une autre application X. Par exemple,
-vous recevez un courriel contenant une URL. Vous pouvez la
-sélectionner avec le bouton gauche et ensuite cliquer dans le champ
-<em>ad hoc</em> de votre butineur avec le bouton du milieu pour la
-recopier.
-</sect1>
-
-<sect1> Les clients X
-
-<p>
-Les programmes communiquant avec le serveur X sont appelés des <em>clients
-X</em>. La plupart de ces programmes lui demandent d'afficher une fenêtre
-à l'écran.
-
-<p>
-Vous pouvez lancer un client X de la même façon que vous lancez un
-autre programme Debian. Tapez simplement le nom du programme en ligne
-de commandes. Essayez de taper <prgn>xterm</prgn> dans la fenêtre
-<prgn>xterm</prgn> déjà existante et vous aurez une nouvelle fenêtre
-<prgn>xterm</prgn> qui apparaîtra à l'écran.
-
-<p>
-Vous devez vous apercevoir que la première <prgn>xterm</prgn> est
-bloquée car le shell attend que la seconde <prgn>xterm</prgn> se
-finisse. Pour éviter ce problème, vous devez lancer le client X en
-arrière-plan, en utilisant le & après le nom de la commande, comme
-ceci: <prgn>xterm &</prgn>. Si vous oubliez, vous pouvez lancer un
-processus déjà existant en arrière-plan: commencez par le suspendre
-avec <em>Ctrl-z</em> et ensuite placez-le en arrière-plan avec la
-commande <prgn>bg</prgn>.
-
-<p>
-Si vous utilisez régulièrement un programme, votre gestionnaire de
-fenêtres doit vous fournir un moyen plus pratique de le lancer via un
-menu graphique.
-</sect1>
-<sect1> Problèmes
-
-<p>
-Parfois, lorsque vous lancez un client X à partir d'un menu graphique,
-vous n'arrivez pas à voir les messages d'erreurs en cas d'échec. Vous
-pouvez les trouver dans le fichier <prgn>~/.xsession-errors</prgn>.
-</sect1>
-
-<sect1> Quitter l'environnement X
-
-<p>
-Pour sortir de X, il est nécessaire d'utiliser un
-menu. Malheureusement pour les débutants, cela change avec chaque
-gestionnaire de fenêtres et pour la plupart d'entre eux, cela peut
-être fait de nombreuses façons différentes. S'il existe un menu
-évident, rechercher une entrée du style <em>Exit</em> (quitter) ou
-bien <em>Close the Window Manager</em> (Fermer le gestionnaire de
-fenêtres). Si vous n'apercevez aucun menu, essayez de cliquer avec
-chacun des boutons sur l'arrière-plan de l'écran. Si tout cela a
-échoué, vous pouvez toujours tuer le serveur X en pressant sur la
-combinaison <em>Ctrl-Alt-Backspace</em>. Bien entendu, tuer le serveur
-vous fait perdre toutes les données non sauvegardées des applications
-encore ouvertes.
-</sect1>
-
-<sect1> Personnaliser le lancement de X
-
-<p>
-Lorsque vous lancez X, Debian exécute quelques scripts shell qui
-lancent votre gestionnaire de fenêtres et d'autres clients X. Par
-défaut, il y a un gestionnaire de fenêtres, un <prgn>xconsole</prgn>
-et une <prgn>xterm</prgn>.
-
-<p>
-Pour personnaliser votre lancement de X, le fichier
-<prgn>/etc/X11/config</prgn> doit contenir la ligne
-<prgn>allow-user-xsession</prgn>. Si ce n'est pas le cas, loguez-vous
-en root et ajoutez la maintenant. Ensuite reloguez en tant que
-vous-même et continuez cette présentation.
-
-<p>
-Vous pouvez voir ce que fait Debian au lancement de X dans le fichier
-<prgn>/etc/X11/Xsession</prgn>. Remarquez bien que vous pouvez changer
-le comportement de <prgn>/ect/X11/Xsession</prgn> en modifiant le
-fichier <prgn>/ect/X11/config</prgn> qui spécifie les caractéristiques
-du système par défaut.
-
-<p>
-Pour lancer les clients de votre choix au démarrage de X, vous devez
-créer un fichier script exécutable appelé <prgn>.xsession</prgn> dans
-votre répertoire personnel.
-
-<p>
-<example>
-$ touch ~/.xession
-</example>
-
-<p>
-pour le créer et
-
-<p>
-<example>
-$ chmod u+x ~/.xsession
-</example>
-
-<p>
-pour le rendre exécutable.
-
-<p>
-Une fois que <prgn>.xession</prgn> est créé, il est nécessaire de
-le modifier pour pouvoir faire quelque chose d'utile avec votre éditeur
-de textes favori. Vous pouvez faire ce que vous voulez dans ce
-script. Dans tous les cas, lorsque les processus du script
-s'arrêteront, la session X aussi s'arrêtera.
-
-<p>
-De façon pratique, cela signifie que vous devez toujours terminer vos
-scripts avec un appel à <prgn>exec</prgn>. Quelque soit le programme
-que vous appelez avec <prgn>exec</prgn>, il remplacera le processus en
-cours par ce programme et ainsi les commandes suivantes après la ligne
-<prgn>exec</prgn> seront ignorées. Le programme que vous appellerez via
-<prgn>exec</prgn> deviendra le nouveau propriétaire du processus de
-script, ce qui signifie que X s'arrêtera lorsque le nouveau programme
-s'arrêtera.
-
-<p>
-Mettez par exemple à la fin de votre <prgn>.xsession</prgn> une ligne
-avec <prgn>exec fvwm</prgn>. Cela signifie que le gestionnaire de
-fenêtres <prgn>fvwm</prgn> sera lancé au démarrage de X. Lorsque vous
-quitterez votre gestionnaire de fenêtres <prgn>fvwm</prgn>, vous
-quitterez aussi la session X et tous les autres clients seront
-fermés. Il n'est pas absolument nécessaire de lancer un gestionnaire
-de fenêtres ici; vous pouvez y écrire <prgn>exec xterm</prgn> et dans
-ce cas, tapez <prgn>exit</prgn> dans cette <prgn>xterm</prgn>
-particulière fermera toute la session X.
-
-<p>
-Si vous désirez lancer d'autres clients avant votre <prgn>exec</prgn>,
-il sera nécessaire de les lancer en arrière-plan. Sinon,
-<prgn>.xsession</prgn> s'arrêtera jusqu'à ce que chaque client
-existant disparaisse, et ainsi de suite, ligne après ligne. Voyez la
-partie précédente pour envoyer un processus en arrière-plan
-(basiquement, vous devez ajouter un & à la fin de la ligne, comme pour
-<prgn>xterm&</prgn>).
-
-<p>
-Vous pouvez tirer parti de ceci. Si vous désirez lancer des commandes
-à la fin de votre session X, vous pouvez lancer votre gestionnaire de
-fenêtres, ou quoi que ce soit d'autre équivalent, dans votre
-<prgn>.xsession</prgn> et attendre qu'il finisse. Pour ce faire,
-n'utilisez pas <prgn>exec</prgn> ni les &. Entrez simplement
-<prgn>fvwm</prgn>. Ensuite, placez les commandes de votre choix après
-<prgn>fvwm</prgn>.
-
-<p>
-Quelques exemples de fichiers <prgn>.xession</prgn> devraient vous
-aider. Dans les exemples, remplacez <prgn>fvwm</prgn> par le
-gestionnaire de fenêtres de votre choix.
-
-<p>
-Le plus simple des <prgn>.xsession</prgn> est celui qui ne fait que
-lancer un gestionnaire de fenêtres:
-
-<p>
-<example>
-exec fvwm
-</example>
-
-<p>
-Cela lance <prgn>fvwm</prgn> et la session X s'achève lorsque l'on
-quitte <prgn>fvwm</prgn>. Si vous faîtes la même chose mais sans le
-<prgn>exec</prgn>, rien ne semblera différent à première vue. Mais en
-arrière-plan, <prgn>.xsession</prgn> sera en attente des réactions de
-<prgn>fvwm</prgn> et <prgn>.xsession</prgn> ne s'arrêtera qu'à la fin
-de <prgn>fvwm</prgn>. Utilisez <prgn>exec</prgn> est plus léger car
-<prgn>fvwm</prgn> remplace alors <prgn>.xsession</prgn> plutôt que
-d'attendre qu'il s'arrête. Vous pouvez le vérifier à l'aide des
-commandes <prgn>ps</prgn> ou <prgn>top</prgn>.
-
-<p>
-Un fichier <prgn>.xsession</prgn> plus complet lance quelques clients
-X avant de lancer le gestionnaire de fenêtres. Par exemple, vous
-pouvez avoir envie d'avoir des <prgn>xterm</prgn> et un
-<prgn>xclock</prgn> après le démarrage de X. Pas de problème: entrez
-simplement <prgn>xterm& xterm& xclock& exec fvwm</prgn>. Deux
-<prgn>xterms</prgn> se lanceront au démarrage en arrière-plan, ainsi
-qu'un <prgn>xclock</prgn> et ensuite le gestionnaire de fenêtres sera
-lancé. Lorsque vous quittez le gestionnaire de fenêtres, vous
-quitterez aussi X.
-
-<p>
-Vous pouvez essayer sans la mise en arrière-plan pour voir ce qui se
-passe. Entrez la commande: <prgn>xterm xclock exec
-fvwm</prgn>. <prgn>xterm</prgn> se lance, et attend que vous en
-sortiez. Ensuite, <prgn>xclock</prgn> se lance. Vous devez quitter
-<prgn>xclock</prgn> pour lancer <prgn>fvwm</prgn>. Les commandes sont
-lancées séquentiellement car le script attend que chacune d'entre
-elles se finisse avant passer à la suivante.
-
-<p>
-Vous pouvez utiliser le caractère séquentiel de cette exécution
-à votre avantage. Peut-être avez-vous envie de garder chaque jour une
-trace de l'heure de votre arrêt de travail :
-
-<p>
-<example>
-xterm&
-xclock&
-fvwm
-date >> ~/heures-de-sortie
-</example>
-
-<p>
-Cela va mettre en arrière-plan <prgn>xterm</prgn> et
-<prgn>xclock</prgn> et lancer <prgn>fvwm</prgn> et attendre qu'il
-finisse. À la sortie de <prgn>fvwm</prgn>, cela exécutera la dernière
-ligne, qui extrait la date courante et l'envoie dans le fichier
-<prgn>~/heures-de-sortie</prgn>.
-
-<p>
-Pour finir, vous pouvez avoir un programme autre qu'un gestionnaire de
-fenêtres pour déterminer la sortie du serveur X:
-
-<p>
-<example>
-xclock&
-fvwm&
-exec xterm
-</example>
-
-<p>
-Ce script va envoyer <prgn>xclock</prgn>et <prgn>fvwm</prgn> en
-arrière-plan et se remplacer par <prgn>xterm</prgn>. Lorsque vous
-quittez cette <prgn>xterm</prgn>, votre session X s'arrête.
-
-<p>
-La meilleure façon d'apprendre comment fonctionne
-<prgn>.xession</prgn> est encore de l'essayer. N'oubliez pas de
-le rendre rendre exécutable: l'oublier est une erreur très classique.
-</sect1>
-</sect>
-
-</chapt><chapt> Les systèmes de fichiers
-
-<p>
-Un système Debian utilise un système de fichiers pour stocker et gérer
-vos données. Ce chapitre est une introduction au système de fichiers,
-décrivant comment ajouter et retirer des systèmes de fichiers et
-comment sauvegarder votre système.
-
-<sect> Concepts
-
-<p>
-C'est probablement une bonne idée de faire un peu de théorie avant de
-discuter de l'utilisation des disques. En particulier, vous devez
-comprendre le concept de <em>système de fichiers</em>. Cela peut être
-un peu déroutant à cause des significations diverses d'un système de
-fichiers.
-
-<p>
-<em>Le</em> système de fichiers concerne l'arborescence entière des
-répertoires qui débute par le répertoire racine «&nbsp;/&nbsp;» comme
-décrit dans les chapitres précédents.
-
-<p>
-Un système de fichiers signifie généralement n'importe quelle
-organisation de fichiers et répertoires sur un périphérique physique
-particulier. «&nbsp;Organisation&nbsp;» signifie la structure
-hiérarchique des répertoires et toute les informations sur les
-fichiers que l'on veut garder: leur taille, leurs permissions,
-etc... Ainsi, vous pourriez avoir un système de fichiers sur votre
-disque dur et un autre sur chacune de vos disquettes.
-
-<p>
-On utilise aussi le terme «&nbsp;système de fichiers&nbsp;» pour
-désigner le <em>type particulier</em> de système de fichiers. Par
-exemple, MS-DOS et Windows 3.1 organisent les fichiers d'une certaine
-façon: les noms de fichiers ne peuvent dépasser huit caractères par
-exemple et il n'existe aucune information de permission sur les
-fichiers. Linux appelle ça le système de fichier
-<prgn>msdos</prgn>. Linux a aussi son propre système de fichiers
-appelé <prgn>ext2</prgn> (version 2 du système de fichiers
-<prgn>ext</prgn>). Vous utiliserez la plupart du temps le système de
-fichiers <prgn>ext2</prgn> à moins d'accéder à des fichiers issus
-d'autres systèmes d'exploitation, ou bien d'avoir des besoins
-particuliers.
-
-<p>
-Tout périphérique physique que vous désirez utiliser pour garder des
-fichiers doit avoir au moins un système de fichiers. Cela signifie un
-système de fichiers au second sens du terme, c'est-à-dire une
-hiérarchie de fichiers et de répertoires avec l'information qui va
-avec. On parle là du troisième sens. Si vous avez plus d'un système de
-fichiers sur un périphérique unique, chaque système de fichiers peut
-avoir un type différent. Par exemple, vous pouvez avoir en même temps
-une partition DOS et une partition Linux sur votre disque dur.
-</sect>
-
-<sect> <prgn>mount</prgn> et <prgn>/etc/fstab</prgn>
-
-<p>
-Cette partie décrit comment monter une disquette ou un lecteur ZIP,
-parle du répertoire <prgn>/dev</prgn> et discute comment l'arbre des
-répertoires peut se distribuer sur de nombreux périphériques physiques
-ou des partitions.
-
-<sect1> Monter un système de fichiers
-
-<p>
-Dans un système GNU-Linux, il n'y a pas forcément de correspondance
-entre les répertoires et les périphériques physiques comme cela existe
-sous Windows pour lequel chaque périphérique a son propre arbre de
-répertoires commençant par une lettre (comme C:\).
-
-<p>Au lieu de ça, chaque périphérique physique, un disque dur ou bien
-une disquette, peut contenir un ou plusieurs systèmes de
-fichiers. Pour rendre un système de fichiers accessible, on lui donne
-un répertoire particulier dans l'autre système de fichiers. Pour
-éviter des problèmes de circularité le système de fichiers racine (qui
-contient le répertoire racine «&nbsp;/&nbsp;») n'est contenu dans
-aucun autre système de fichiers. Vous y avez accès automatiquement
-après avoir lancé Debian.
-
-<p>
-Un répertoire dans un système de fichiers qui contient un autre
-système de fichiers est appelé <em>point de montage</em>. Un point de
-montage est un répertoire dans un premier système de fichier (sur un
-périphérique, comme votre disque dur par exemple), qui
-«&nbsp;contient&nbsp;» un second système de fichiers, lequel peut être
-placé ailleurs, sur un lecteur de disquette par exemple. Pour accéder
-à un système de fichiers, vous devez le monter sur un point de
-montage.
-
-<p>
-Ainsi, par exemple, vous pouvez monter un cédérom au point de montage
-<prgn>/cdrom</prgn>. Cela signifie que si vous allez jeter un coup
-d'oeil dans le répertoire <prgn>cdrom</prgn>, vous y verrez le contenu
-du cédérom. Le répertoire <prgn>/cdrom</prgn> lui-même est en fait sur
-votre disque dur. Pour des tas de raisons pratiques, le contenu du
-cédérom devient une partie du système de fichiers racine et lorsque
-vous tapez des commandes ou bien que vous utilisez des programmes,
-l'emplacement réel des fichiers n'importe pas. Vous auriez pu avoir
-créé un répertoire appelé <prgn>/cdrom</prgn> et mis quelques fichiers
-à l'intérieur et tout ce serait passé de la même façon. Lorsque vous
-avez monté un système de fichiers, il n'est plus nécessaire de prêter
-la moindre attention à son emplacement physique.
-
-<p>
-Toutefois, avant de monter un système de fichiers ou d'en créer un
-nouveau sur un disque qui n'en contient pas, il est nécessaire de se
-référer aux périphériques eux-mêmes. Chaque périphérique a son nom et
-ces noms se trouvent dans le répertoire <prgn>/dev</prgn>. Si vous tapez
-<prgn>ls /dev</prgn> maintenant, vous apercevrez une longue liste de
-l'ensemble des périphériques possibles (dont la liste est fournie
-chapitre 4). Une liste plus détaillée peut être trouvée sur votre
-système dans le fichier
-<prgn>/usr/src/linux/Documentation/devices.txt</prgn>.
-
-<p>
-Vouloir monter un système de fichiers, c'est dire à Linux d'associer
-un système de fichiers sur tel périphérique avec tel point de montage
-particulier. Dans la procédure, il faudra aussi indiquer quel type de
-système de fichiers on veut.
-</sect1>
-
-<sect1> Exemple: monter un cédérom
-
-<p>
-Comme exemple élémentaire, nous allons monter un cédérom
-comme celui que vous avez utilisé pour installer Debian. Vous avez
-besoin d'être root pour faire cela donc faîtes attention: chaque fois
-que vous êtes root, vous avez le pouvoir de manipuler tout le système
-et pas simplement vos seuls fichiers. Ces commandes supposent d'autre
-part que vous avez un cédérom dans le lecteur: vous devez donc le
-mettre maintenant. Ensuite, commencez avec la commande suivante:
-
-<p>
-<example>
-su
-</example>
-
-<p>
-Si vous ne l'avez pas déjà fait, vous devez soit vous loguer en tant
-que root soit obtenir les privilèges du super-utilisateur via la
-commande <prgn>su</prgn>. Si vous utilisez <prgn>su</prgn>, ajoutez le
-mot de passe de root quand on vous le demande.
-
-<p>
-<example>
-ls /cdrom
-</example>
-
-<p>
-Utilisez cette commande pour voir ce que contient le répertoire
-<prgn>/cdrom</prgn> avant de commencer. Si vous n'avez pas de
-répertoire <prgn>/cdrom</prgn>, il vous faudra le créer en utilisant
-<prgn>mkdir /cdrom</prgn>.
-
-<p>
-<example>
-mount
-</example>
-
-<p>
-Taper simplement <prgn>mount</prgn> sans argument donne la liste des
-systèmes de fichiers actuellement montés.
-
-<p>
-<example>
-mount -t iso9660 CD-device /cdrom
-</example>
-
-<p>
-Avec cette commande, vous devez mettre le nom de votre cédérom à la
-place de <prgn>CD-device</prgn>. Si vous n'êtes pas sûr, mettez
-<prgn>/dev/cdrom</prgn> car la procédure d'installation devrait avoir
-créé ce lien symbolique sur le système. Si cela échoue, essayez les
-différents périphériques IDE: <prgn>/dev/hdc</prgn>, etc... Vous devez
-voir un message du type<footnote>mount: le périphérique bloc /dev/hdc
-est protégé en écriture, montage en lecture seule</footnote>:
-
-<example>
-mount: block device /dev/hdc is write protected, mounting read-only
-</example>
-
-<p>
-L'option <prgn>-t</prgn> spécifie le type de système de fichiers, dans
-ce cas <prgn>iso9660</prgn>. L'argument suivant est le nom du
-périphérique à monter et le dernier argument est le point de
-montage. Il y a de nombreux autres arguments possibles pour
-<prgn>mount</prgn>; allez voir la page de manuel pour plus de détails.
-
-<p>
-Une fois le cédérom monté, vous remarquerez que le plateau du cédérom
-ne s'ouvre pas:: vous devez le démonter avant de pouvoir le démonter.
-
-<p>
-<example>
-ls /cdrom
-</example>
-
-<p>
-confirme maintenant que <prgn>/cdrom</prgn> contient bien ce qu'il y a
-dans votre cédérom.
-
-<p>
-<example>
-mount
-</example>
-
-<p>
-Affiche à nouveau la liste des systèmes de fichiers ; remarquez que
-votre lecteur est maintenant monté.
-
-<p>
-<example>
-umount /cdrom
-</example>
-
-<p>
-Ceci démonte le cédérom. Il est maintenant à nouveau possible de
-sortir le cédérom de son lecteur. Attention, la commande est
-<prgn>umount</prgn> sans <prgn>n</prgn> même s'il s'agit de
-démonter<footnote><em>unmount</em> en anglais, d'où la remarque
-</footnote> le système de fichiers.
-
-<p>
-<example>
-exit
-</example>
-
-<p>
-N'oubliez pas de vous déloguer du compte root. Déloguez-vous
-immédiatement, juste pour être sûr.
-</sect1>
-
-<sect1> <prgn>/etc/fstab</prgn>: automatiser la procédure de montage.
-
-<p>
-Le fichier <prgn>/etc/fstab</prgn> (qui veut dire <em>file system
-table</em>, table des systèmes de fichiers) contient les descriptions
-des fichiers que vous montez souvent. Ces systèmes de fichiers peuvent
-être montés avec des commandes réduites, comme <prgn>mount
-/cdrom</prgn>. Vous pouvez aussi faire qu'ils soient montés
-automatiquement au démarrage.
-
-<p>
-Jetons un coup d'oeil à ce fichier en tapant <prgn>more
-/etc/fstab</prgn>. Il devrait y avoir deux ou plusieurs entrées
-configurées automatiquement lors de la procédure d'installation. Cela
-devrait probablement ressembler à quelque chose comme cela:
-
-<p>
-<example>
-# /etc/fstab: static file system information
-#
-# &lt file system &gt &lt mount point &gt &lt type &gt &lt options &gt
-
-# &lt dump &gt &lt pass &gt
-/dev/hda1 / ext2 defaults 0 1
-/dev/hda3 none swap sw 0 0
-proc /proc proc defaults 0 0
-/dev/hda5 /tmp ext2 defaults 0 2
-/dev/hda6 /home ext2 defaults 0 2
-/dev/hda7 /usr ext2 defaults 0 2
-/dev/hdc /cdrom iso9660 ro, noauto 0 0
-/dev/fd0 /floppy auto noauto,sync 0 0
-</example>
-
-<p>
-La première colonne affiche les périphériques présents sur le
-système. La seconde colonne est le point de montage, la colonne
-suivante étant le type de système de fichiers. Remarquez que la
-partition de <em>swap</em> (<prgn>/dev/hda3</prgn> dans l'exemple) n'a
-pas de point de montage et donc il y a un <prgn>none</prgn> dans la
-colonne correspondante.
-
-<p>
-Les trois dernières colonnes méritent une explication plus
-approfondie.
-
-<p>
-La cinquième colonne est utilisée par l'utilitaire <prgn>dump</prgn>
-pour décider quand sauvegarder le système de fichiers. Dans la plupart
-des cas, vous pouvez mettre 0 ici.
-
-<p>
-La sixième colonne est utilisée par <prgn>fsck</prgn> pour décider
-dans quel ordre vérifier les systèmes de fichiers au démarrage. Le
-système de fichiers racine ou principal doit avoir le <prgn>1</prgn>
-dans son champ, les systèmes de fichiers n'ayant besoin d'aucune
-vérification (comme la partition de <em>swap</em>) doivent avoir un
-<prgn>0</prgn> et tous les autres doivent avoir un <prgn>2</prgn>. Il
-est vrai que la partition de <em>swap</em> ne possède pas vraiment un
-système de fichiers, au sens où elle ne contient pas des fichiers et
-des répertoires mais elle est utilisée par le noyau Linux comme
-mémoire secondaire. Quoiqu'il en soit, pour des raisons historiques,
-la partition de <em>swap</em> est toujours contenu dans le fichier
-incluant les systèmes de fichiers.
-
-<p>
-La quatrième colonne contient une ou plusieurs options à utiliser
-lors du montage du système de fichiers. Vous pouvez vérifier la page
-de manuel de <prgn>mount</prgn> pour un résumé. Allez voir aussi le
-chapitre 7.1.
-</sect1>
-
-<sect1> Supports extractibles (disquettes, lecteur Zip, etc.)
-
-<p>
-Ajoutez les lignes suivantes dans votre fichier
-<prgn>/etc/fstab</prgn>:
-
-<p>
-<example>
-/dev/sda1 /mnt/zip ext2 noauto,user 0 0
-/dev/sda4 /mnt/dos msdos no,user 0 0
-</example>
-
-<p>
-À partir de maintenant, vous êtes capable de monter une cartouche Zip
-formatée en DOS avec la commande <prgn>mount /mnt/dos</prgn> et vous
-pouvez monter une cartouche Zip formatée pour Linux avec la commande
-<prgn>mount /mnt/zip</prgn>.
-
-<p>
-Si vous avez des disques durs SCSI sur votre système, vous devez
-changer <prgn>sda</prgn> en <prgn>sdb</prgn> ou <prgn>sdc</prgn> dans
-l'exemple ci-dessus.
-</sect1>
-</sect>
-
-<sect> Les outils de sauvegarde
-
-<p>
-Les sauvegardes sont quelque chose de fondamental dans tous les
-systèmes d'exploitation. Debian GNU-Linux fournit différents
-utilitaires que vous pourrez utiliser à votre convenance. De plus,
-bien que la plupart de ces utilitaires aient été créés originellement
-pour des sauvegardes sur bandes, vous pourrez les utiliser pour plein
-d'autres choses. Par exemple, <prgn>tar</prgn> est utilisé pour
-distribuer des programmes sur Internet. Voici une liste des
-utilitaires que vous pourrez trouver sur le système:
-
-<p>
-<list>
-<item>
-<p>
- <prgn>Taper</prgn> est un programme basé sur des menus, très
- convivial et qui peut sauvegarder sur de nombreux supports. Sa
- limitation est qu'il n'est pas capable de faire des sauvegardes
- supérieures à 4 Go.
-<item>
-<p>
- <prgn>dump</prgn> a été créé spécialement pour les bandes: sa force
- principale réside dans son interface pour la restauration de
- fichiers, les sauvegardes de systèmes de fichiers de bas niveau et
- la sauvegarde incrémentale. Sa limitation réside dans le fait qu'il
- n'est pas capable de sauvegarder via NFS ou d'autres systèmes de
- fichiers différents de <prgn>ext2</prgn> et quelques petits défauts
- de conception.
-<item>
-<p>
- <prgn>GNU tar</prgn> (raccourci de <em>Tape ARchiver</em>, archiveur
- d'enregistrements) est une implémentation de ce qui est probablement
- la façon la plus utilisée de sauvegarder quelque chose sous Linux
- aujourd'hui. Cela fournit un bon outil multi-usage et peut
- s'accomoder de l'ensemble des supports utilisés. De plus, de
- nombreux systèmes sont capables de lire un fichier <prgn>tar</prgn>
- ce qui le rend très portable. Les défauts de <prgn>tar</prgn> sont
- qu'il contient un pauvre outil de sauvegarde incrémentale en
- comparaison de <prgn>dump</prgn> et aucun écran de sélection de
- restauration automatique.
-</list>
-
-<sect1> <prgn>tar</prgn>
-
-<p>
-Parce que <prgn>tar</prgn> est vraiment très utilisé, et pas seulement
-pour des tâches de sauvegardes, nous allons en parler un peu ici. Pour
-plus de détails, lisez la page de manuel de <prgn>tar</prgn>, les
-instructions pour lire une page de manuel sont dans la partie 7.1.
-
-<p>
-<prgn>tar</prgn> est un archiveur. Cela veut dire que <prgn>tar</prgn>
-est capable de rassembler plusieurs fichiers et les combiner en un seul
-grand fichier pour les écrire sur un périphérique de sauvegarde comme
-une bande. Une fois que vous avez ce grand fichier, vous voulez
-souvent le comprimer: l'option <prgn>-z</prgn> est alors très
-bien. Ainsi, <prgn>tar</prgn> est une façon pratique de distribuer des
-programmes et des données sur Internet et vous vous rendrez compte
-qu'il est beaucoup utilisé à cette fin.
-
-<p>
-Voici une ligne de commande <prgn>tar</prgn> simple:
-
-<p>
-<example>
-tar -zcvf monfichier.tar.gz /usr/local/bin
-</example>
-
-<p>
-Regardons un peu comment se décompose la commande <prgn>tar</prgn>:
-
-<list>
-<item> <prgn>tar</prgn>
-<p>
- Nom de la commande
-<item> <prgn>-</prgn>
-<p>
- Options de la commande <prgn>tar</prgn>
- <list>
- <item> <prgn>z</prgn>
- <p>
- demande à <prgn>tar</prgn> d'utiliser <prgn>gzip</prgn> pour
- comprimer automatiquement . Si vous utilisez cette option, il
- est bon d'ajouter l'extension <prgn>.gz</prgn> à votre fichier
- <prgn>tar</prgn>. <item> <prgn>c</prgn>
- <p>
- demande à <prgn>tar</prgn> de créer une nouvelle archive
- <item> <prgn>v</prgn>
- <p>
- active le mode verbeux: <prgn>tar</prgn> vous explique ce qu'il
- fait pendant qu'il crée l'archive.
- <item> <prgn>f</prgn>
- <p>
- ceci indique que la chaîne suivante de la ligne de commande est
- le nom du fichier à créer ou le périphérique à utiliser. Si
- j'utilisais <prgn>/dev/st0</prgn> ici, par exemple, cela
- enverrait l'écriture de la sauvegarde sur le lecteur de bandes.
- </list>
-<item> <prgn>monfichier.tar.gz</prgn>
-<p>
- C'est le nom du fichier à créer.
-<item> <prgn>/usr/local/bin</prgn>
-<p>
- C'est le nom du fichier ou du répertoire à placer dans l'archive. Il
- est aussi possible de spécifier différents emplacements ici.
-</list>
-
-<p>
-Vous trouverez de nombreux fichiers <prgn>tar.gz</prgn> (ou plus
-simplement <prgn>.tgz</prgn>) sur Internet. Vous pouvez les
-désarchiver avec la commande suivante:
-
-<p>
-<example>
-tar -zxvf nomdufichier.tar.gz
-</example>
-</sect1>
-</sect>
-
-</chapt><chapt> Réseau
-
-<p>
-Un des très grands avantages de GNU-Linux sur les autres systèmes
-réside dans son support réseau. Peu de systèmes peuvent rivaliser avec
-les fonctionnalités présentes au sein d'un système GNU-Linux. Dans ce
-chapitre, nous allons vous expliquer comment configurer vos
-périphériques réseau.
-
-<sect> <prgn>PPP</prgn>
-
-<p>
-Cette partie est une aide pour une installation rapide de
-<prgn>PPP</prgn> sur Debian. Si vous désirez aller plus loin,
-tournez-vous vers l'excellent PPP-HOWTO du Projet de Documentation
-Linux. Si vous êtes curieux ou si vous avez des besoins
-particuliers,le HOWTO examine ces questions en détail.
-
-
-<sect1> Introduction
-
-<p>
-Si vous vous connectez à Internet via une ligne de téléphone, vous
-voudrez certainement utiliser <prgn>PPP</prgn> (<em>Point-to-Point
-Protocol</em>, protocole de liaison point-à-point). C'est la méthode
-standard de connexion auprès des FAI (Fournisseurs d'Accès
-à Internet). En plus d'utiliser <prgn>PPP</prgn> pour vous connecter
-chez votre FAI, vous pourrez autoriser les connexions de l'extérieur
-- ce qui vous permettra de vous connecter sur une machine à distance.
-</sect1>
-
-<sect1> Préparation
-
-<p>
-Configurer une liaison <prgn>PPP</prgn> sur un système Debian
-GNU-Linux est élémentaire une fois que vous possédez toutes les
-informations dont vous allez avoir besoin. Debian rend les choses très
-faciles avec ses outils simples de configuration.
-
-<p>
-Avant de vous lancer, assurez-vous de bien avoir toutes les
-informations de votre FAI. Cela peut inclure:
-
-<list>
-<item> Nom d'utilisateur ou login
-<item> Mot de passe
-<item> Votre adresse IP (<em>Internet Protocol</em>) fixe si
-nécessaire (cela doit ressembler à quelque chose comme
-<prgn>209.81.8.242</prgn>). Cette information n'est pas nécessaire
-pour la plupart des FAI.
-<item> Le masque réseau (cela doit ressembler à quelque chose comme
-<prgn>255.255.255.248</prgn>). Cette information n'est pas nécessaire
-pour la plupart des FAI.
-<item> Les adresses IP des serveurs DNS de votre FAI
-<item> Toute procédure de login particulière requis chez votre FAI
-</list>
-
-<p>
-Ensuite, il va falloir examiner votre configuration matérielle: la
-façon dont votre modem fonctionner avec GNU-Linux et sur quel port
-série il est connecté.
-
-<p>
-Voici une règle simple pour déterminer si votre modem va fonctionner:
-si c'est un «&nbsp;winmodem&nbsp;» ou bien un modem intégré, cela ne
-fonctionnera pas. Ces modems sont bon marché car ils ont très peu de
-fonctionnalités et ils demandent à l'ordinateur de compenser leur
-incapacité. Malheureusement, cela signifie qu'ils sont complexes
-à programmer et les fabricants ne donnent généralement pas leurs
-spécifications aux développeurs.
-
-<p>
-Si vous avez un modem avec son propre circuit embarqué ou bien un
-modem extérieur, vous ne devriez pas avoir de problème.
-
-<p>
-Sur les systèmes GNU-Linux, les ports séries sont référencés comme
-<prgn>/dev/ttyS0</prgn>, <prgn>/dev/ttys1</prgn> et ainsi de
-suite. Votre modem est certainement connecté soit au port 0 soit au
-port 1, l'équivalent du COM1 et COM2 sous Windows. Si vous ne savez
-pas où est connecté votre modem, lancez le programme
-<prgn>wvdialconf</prgn> pour essayer de le détecter (voir plus
-bas). Sinon, vous pouvez toujours essayer les deux et regardez lequel
-fonctionne...
-
-<p>
-Si vous désirez discuter avec votre modem ou vous connecter à votre
-FAI sans utiliser <prgn>PPP</prgn>, vous pouvez utiliser le programme
-<prgn>minicom</prgn>. Il se peut que vous ayez besoin d'installer le
-paquet <prgn>minicom</prgn> pour disposer du programme.
-</sect1>
-
-<sect1> La voie facile: <prgn>wvdial</prgn>
-
-<p>
-La façon la plus facile d'obtenir une liaison <prgn>PPP</prgn>
-fonctionnelle est d'utiliser le programme <prgn>wvdial</prgn>. Il fait
-des propositions raisonnables et tente de paramétrer les choses pour
-vous. Si cela fonctionne, vous êtes verni. Sinon, vous aurez à faire
-les choses à la main.
-
-<p>
-Assurez-vous d'avoir bien installé les paquets suivants:
-
-<p>
-<list>
-<item> <prgn>ppp</prgn>
-<item> <prgn>ppp-pam</prgn>
-<item> <prgn>wvdial</prgn>
-</list>
-
-<p>
-Lorsque vous installez <prgn>wvdial</prgn>, on vous donne l'occasion
-de le configurer. Sinon, pour configurer <prgn>wvdial</prgn>, procédez
-comme suit en vous loguant en root à l'aide de la commande
-<prgn>su</prgn>:
-
-
-<p>
-<example>
-touch /etc/wvdial.conf
-</example>
-
-<p>
-<prgn>touch</prgn> va créer le fichier suivant s'il n'existe pas: le
-programme de configuration requiert un fichier déjà existant.
-
-<p>
-<example>
-wvdialconf /etc/wvdial.conf
-</example>
-
-<p>
-Cela signifie que vous êtes en train de créer le fichier de
-configuration <prgn>/etc/wvdial.conf</prgn>.
-
-<p>
-Répondez aux questions qui apparaissent
-à l'écran. <prgn>wvdialconf</prgn> va aussi rechercher votre modem et
-vous indiquer sur quel port série il se trouve. Inscrivez le résultat
-quelque part pour vous en souvenir un peu plus tard.
-</sect1>
-</sect>
-
-<sect> Ethernet
-
-<p>
-Une autre façon très populaire de se connecter à Internet est de
-passer via un LAN (<em>Local Area Network</em>, réseau local) qui
-utilise Ethernet.Cela vous donne un réseau local à haut débit en plus
-de la connexion à Internet. Heureusement, vous avez déjà dû configurer
-le réseau pendant l'installation et dès lors, il n'y rien d'autre
-à faire. Si jamais vous désirez modifier votre configuration, voici les
-fichiers intéressants:
-
-<p>
-<list>
-<item> <prgn>/etc/init.d/network</prgn>
-<p>
- Pour votre adresse IP, le masque réseau et la route par défaut.
-<item> <prgn>/etc/hostname</prgn>
-<p>
- Pour enregistrer votre nom d'hôte.
-<item> <prgn>/etc/hosts</prgn>
-<p>
- Pour enregistrer aussi votre nom d'hôte et votre adresse IP.
-</list>
-</sect>
-
-</chapt><chapt> Installer et désinstaller des logiciels
-
-<p>
-Ce chapitre décrit les façons d'installer et de désinstaller des
-paquets de logiciels. Il y a plusieurs façons de le faire. Ici, nous
-n'allons parler de l'installation et de la désinstallation de
-logiciels pré-empaquetés comme les paquets Debian. L'installation
-à partir de sources restera à votre charge.
-
-<sect> À quoi sert un utilitaire de maintenance de paquet
-
-<p>
-Une application ou un programme utilitaire rassemblent généralement
-plusieurs fichiers. Cela peut inclure des bibliothèques, des fichiers
-de données comme des scénarios de jeux ou des icônes, des fichiers de
-configurations, des pages de manuels et la documentation. Lorsque vous
-installez un programme, vous voulez être sûr d'avoir tous les fichiers
-dont vous avez besoin à la bonne place.
-
-<p>
-Vous devez aussi être capable de désinstaller un programme. Lorsque
-vous désinstallez, vous devez être sûr que tous les fichiers associés
-sont détruits. Et de plus, si les fichiers sont partagés par d'autres
-programmes dans le système, vous voulez être sûr de les conserver.
-
-<p>
-Enfin, vous devez être capable de faire la mise à jour d'un
-programme. Lorsque vous effectuez une mise à jour, vous désirez
-détruire les fichiers obsolètes et ajouter les nouveaux, sans ne rien
-casser au système existant.
-
-<p>
-Le système de gestion des paquets de Debian offre une solution à ces
-problèmes. Il vous autorise à installer, désinstaller et mettre
-à jours les paquets de logiciels, qui ne sont qu'un petit ensemble
-contenant les fichiers du programme et les informations qui aident
-l'ordinateur à gérer le paquet correctement. Les paquets Debian ont un
-nom se terminant par <prgn>.deb</prgn> et ils sont disponibles sur le
-site <prgn>FTP</prgn> ou bien sur votre cédérom officiel de Debian.
-</sect>
-
-<sect> <prgn>dpkg</prgn>
-
-<p>
-La manière la plus simple d'installer un simple paquet que vous venez
-de télécharger est d'utiliser la commande <prgn>dpkg -i</prgn> (qui
-est un raccourci pour <prgn>dpkg --install</prgn>). Admettons que vous
-ayez téléchargé le paquet <prgn>icewm_0.8.12-1.deb</prgn> et que vous
-désirez l'installer. Loguez-vous d'abord en tant que root et tapez
-ensuite <prgn>dpkg -i icewm_0.8.12-1.deb</prgn> et <prgn>icewm</prgn>,
-version 0.8.12, sera installé. Si vous avez déjà une ancienne version,
-<prgn>dpkg</prgn> se chargera de la mise à jour plutôt que d'installer
-deux versions en même temps.
-
-<p>
-Si vous désirez désinstaller un paquet, vous avez deux options. La
-première est la plus intuitive: <prgn>dpkg -r icewm</prgn>. Cela
-retirera le paquet <prgn>icewm</prgn> (<prgn>-r</prgn> est un
-raccourci pour <prgn>--remove</prgn> (désinstaller)). Remarquez bien
-qu'il est juste nécessaire de donner le nom <prgn>icewm</prgn> pour la
-désinstallation tandis que l'installation requiert l'extension
-<prgn>.deb</prgn>.
-
-<p>
-<prgn>--remove</prgn> va laisser les fichiers de configuration du
-paquet dans votre système. Un fichier de configuration est défini
-comme tout fichier que vous avez pu éditer pour personnaliser le
-programme du système ou vos préférences. Ainsi, si vous décidez de
-réinstaller un peu plus tard le programme, vous n'aurez pas à le
-re-personnaliser.
-
-<p>
-Mais si vous désirez réellement nettoyer les fichiers de
-configuration, <prgn>dpkg</prgn> propose une option
-<prgn>--purge</prgn>. <prgn>dpkg --purge icewm</prgn> nettoiera tous
-les derniers fichiers associés au paquet <prgn>icewm</prgn>.
-</sect>
-
-<sect> <prgn>dselect</prgn>
-
-<p>
-<prgn>dselect</prgn> est une très bonne interface
-à <prgn>dpkg</prgn>. <prgn>dselect</prgn> offre une interface à base de
-menus à <prgn>dpkg</prgn> et est capable de sélectionner
-automatiquement tous les fichiers appropriés à partir d'un cédérom ou
-bien d'un site FTP. Pour plus de détails sur <prgn>dselect</prgn>,
-reportez-vous à la partie 4.20.
-</sect>
-
-<sect> Compiler un logiciel
-
-<p>
-De nombreux programmes sont fournis sous forme de sources, la plupart
-du temps au format <prgn>tar.gz</prgn>. Premièrement, vous devez
-détarer le fichier <prgn>tar.gz</prgn>; pour plus de détails sur
-comment faire cette opération, reportez-vous à la partie 12.3.1. Avant
-de compiler un paquet, vous aurez besoin d'installer <prgn>gcc</prgn>,
-<prgn>libc6-dev</prgn> et autres assimilés
-«&nbsp;<prgn>-dev</prgn>&nbsp;». Vous les trouverez pour la plupart
-d'entre eux dans la section <prgn>devel</prgn> de
-<prgn>dselect</prgn>.
-
-<p>
-Lorsque vous aurez installé les paquets appropriés, allez via
-<prgn>cd</prgn> dans le répertoire que <prgn>tar</prgn> a créé pour
-vous. À partir de ce moment-là, vous aurez à lire les instructions
-d'installation. La plupart des programmes fournissent un fichier
-INSTALL ou README qui vous indique comment procéder.
-</sect>
-
-</chapt><chapt> Pour en savoir plus...
-
-<p>
-À présent, vous possédez de bonnes bases pour construire votre système
-GNU-Linux. Dans ce chapitre, nous allons aborder quelques notions très
-utiles des fonctionnalités avancées de GNU-Linux.
-
-<sect> Les expressions rationnelles
-
-<p>
-Une <em>expression rationnelle</em> est une description d'un ensemble
-de caractères. On utilise cette description pour éplucher un fichier
-à la recherche d'un texte correspondant à cette expression
-rationnelle. Les expressions rationnelles sont analogues aux motifs de
-recherche du shell (voir partie 8.6) mais elles sont plus compliquées
-et beaucoup plus puissantes. elles sont à la fois plus compliquées et
-plus puissantes.
-
-<p>
-Une expression rationnelle est formée de texte et de
-<em>méta-caractères</em>. Un méta-caractère est simplement un
-caractère avec une signification particulière. Les méta-caractères
-comprennent les signes suivants:
-<example>
-. * [] - \ ^ $
-</example>
-
-<p>
-Si une expression rationnelle ne comprend que du texte (pas de
-méta-caractère), cela correspond exactement au texte. Par exemple,
-l'expression rationnelle <prgn>mon expression rationnelle</prgn>
-correspond exactement au texte <prgn>mon expression rationnelle</prgn>
-et à rien d'autre. Les expressions rationnelles prennent
-habituellement en compte la casse.
-
-<p>
-Vous pouvez utiliser la commande <prgn>egrep</prgn> pour extraire les
-lignes d'un fichier qui contiennent une expression rationnelle. Sa
-syntaxe est la suivante:
-
-<p>
-<example>
-egrep 'regexp' nomdefichier1 ...
-</example>
-
-<p>
-Les guillemets simples ne sont pas obligatoires mais cela ne mange pas
-de pain de les ajouter.
-
-<p>
-Par exemple, pour trouver toutes les lignes contenant le mot GNU dans
-la GPL, vous tapez:
-
-<p>
-<example>
-egrep 'GNU' /usr/doc/copyright/GPL
-</example>
-
-<p>
-<prgn>egrep</prgn> va vous égrener les lignes correspondantes sur la
-sortie standard. Si vous voulez toutes les lignes contenant
-<prgn>freedom</prgn> (liberté) suivi d'un ensemble quelconque de
-caractères et suivi du mot GNU, vous pouvez taper:
-
-<p>
-<example>
-egrep 'freedom.*GNU' /usr/doc/copyright/GPL
-</example>
-
-<p>
-Le <prgn>.</prgn> signifie «&nbsp;n'importe quel caractère&nbsp;» et
-le <prgn>*</prgn> signifie «&nbsp;zéro ou plus de la chose
-précédente&nbsp;» soit dans ce cas «&nbsp;zéro ou plus de n'importe
-quel caractère&nbsp;». Ainsi, <prgn>.*</prgn> correspond bien
-à n'importe quel texte. <prgn>egrep</prgn> effectue un traitement ligne
-par ligne donc <prgn>freedom</prgn>et <prgn>GNU</prgn> doivent se
-trouver sur la même ligne.
-
-<p>
-Voici un récapitulatif des méta-caractères dans expressions
-rationnelles:
-
-<p>
-<list>
-<item> <prgn>.</prgn>
-<p>
- Correspond à un seul caractère, à l'exception du caractère
- <em>newline</em> (retour chariot)
-<item> <prgn>*</prgn>
-<p>
- Correspond à zéro ou plus d'occurences de ce qui précède. Ainsi,
- l'expression <prgn>a*</prgn> correspond à zéro ou plus de
- <prgn>a</prgn> minuscule et <prgn>.*</prgn> correspond à zéro ou
- plus de caractères quelconques.
-<item> <prgn>[caractères]</prgn>
-<p>
- Les crochets doivent contenir un ou plusieurs
- caractères. L'expression complète correspond exactement à l'ensemble
- des caractères. Ainsi, <prgn>[abc]</prgn> correspond à un
- <prgn>a</prgn>, un <prgn>b</prgn> et un <prgn>c</prgn>. Cela ne
- correspond pas à une chaîne vide et cela ne correspond pas non plus
- à un caractère autre que ces trois-là. <item> <prgn>^</prgn>
-<p>
- Impose la correspondance en début de ligne. L'expression
- <prgn>^The</prgn> ne correspond à <prgn>The</prgn> que si elle
- apparaît en début de ligne: il ne peut y avoir d'espace, ou de
- texte, avant le <prgn>The</prgn>. Si vous désirez autoriser des
- espaces, vous pouvez autoriser 0 ou plus d'espaces avec <prgn>^
- *The</prgn>.
-<item> <prgn>$</prgn>
-<p>
- Impose la correspondance en fin de ligne. <prgn>fin$</prgn>
- requiert que le texte <prgn>fin</prgn> soit placé en fin de ligne
- sans espace ni texte à la fin.
-<item> <prgn>[^caractères]</prgn>
-<p>
- C'est la négation de la liste des caractères entre
- crochets. <prgn>[^abc]</prgn> correspond à tout caractère simple,
-à l'exception de a, b ou c.
-<item> <prgn>[caractères-caractères]</prgn>
-<p>
- Vous pouvez inclure un intervalle dans une liste de caractères entre
- crochets. Pour faire la correspondance avec toutes les lettres
- minuscules, utilisez <prgn>[a-z]</prgn>. Vous pouvez multiplier les
- intervalles: ainsi, pour avoir les trois premières lettres de
- l'alphabet et les trois dernières, essayez
- <prgn>[a-cx-z]</prgn>. Pour avoir toutes les lettres dans toutes les
- casses, essayez <prgn>[a-zA-Z]</prgn>. Vous pouvez mélanger les
- intervalles avec des caractères simples ou bien le méta-caractère
- <prgn>^</prgn>: <prgn>[^a-zBZ]</prgn> signifie «&nbsp;tout sauf une
- lettre minuscule, un B ou ou un Z&nbsp;».
-<item> <prgn>()</prgn>
-<p>
- Vous pouvez utiliser les parenthèses pour regrouper les expressions
- rationnelles, comme dans des expressions mathématiques.
-<item> <prgn>||</prgn>
-<p>
- signifie «&nbsp;ou&nbsp;». Vous pouvez vous en servir pour fournir
- une série d'expressions alternatives. On met généralement ces
- expressions entre parenthèses comme ceci: <prgn>c(ad|ab|at)</prgn>
- correspond à <prgn>cad</prgn>, <prgn>cab</prgn> ou
- <prgn>cat</prgn>. Sans les parenthèses, cela aurait correspondu
-à <prgn>cad</prgn> ou bien <prgn>ab</prgn> ou bien <prgn>at</prgn>.
- <item> <prgn>\</prgn>
-<p>
- Protège tout caractère spécial. Si vous désirez trouver un
- <prgn>*</prgn>, vous devez taper <prgn>\*</prgn>. Le \ signifie
- d'ignorer le sens usuel de <prgn>*</prgn>.
-</list>
-
-<p>
-Voici une série d'exemples concrets pour vous aider.
-
-<p>
-<list>
-<item> <prgn>c.pe</prgn> correspond à <prgn>cope, cape, caper</prgn>
-<item> <prgn>c\.pe</prgn> correspond à <prgn>c.pe, c.per</prgn>
-<item> <prgn>sto*p</prgn> correspond à <prgn>stp, stop, stoop</prgn>
-<item> <prgn>car.*n</prgn> correspond à <prgn>carton, cartoon, carmen</prgn>
-<item> <prgn>xyz.*</prgn> correspond à <prgn>xyz</prgn> et tout ce qui
-s'ensuit. Certains outils, comme <prgn>egrep</prgn>, ne font la
-correspondance que jusqu'à la fin de la ligne.
-<item> <prgn>^The</prgn> correspond à <prgn>The</prgn> en début de ligne
-<item> <prgn>atime$</prgn> correspond à <prgn>atime</prgn> en fin de ligne
-<item> <prgn>^Only</prgn> correspond à <prgn>Only</prgn> en début de
-ligne - pas d'espace, de caractère, rien. Seul <prgn>Only</prgn>
-est accepté.
-<item> <prgn>b[aou]rn</prgn> correspond à <prgn>barn, born, burn</prgn>
-<item> <prgn>ver[D-F]</prgn> correspond à <prgn>verD, verE, verF</prgn>
-<item> <prgn>ver[^0-9]</prgn> correspond à <prgn>Ver</prgn> suivi de
-tout sauf d'un chiffre.
-<item> <prgn>the[ir][re]</prgn> correspond à <prgn>thier, therr,
-there, theie</prgn>
-<item> <prgn>[A-Za-z][A-Za-z]*</prgn> correspond à tous les mots composés
-seulement de lettres et d'au moins une lettre. Cela ne peut pas
-contenir des chiffres ou des espaces.
-</list>
-</sect>
-
-<sect> Notions avancées sur les fichiers
-
-<p>
-Maintenant que vous avez compris les bases sur les fichiers, il est
-temps d'apprendre plus de choses à leur sujet.
-
-<sect1> La véritable nature des fichiers: les liens physiques et les
-i-noeuds
-
-<p>
-Chaque fichier de votre système est représenté par un <em>i-noeud</em>
-(en anglais, <em>inode</em> pour <em>Information Node</em>, prononcez
-«&nbsp;aïe-node&nbsp;», noeud d'information). un i-noeud contient
-toutes les informations du fichier. Cependant, l'i-noeud n'est pas
-directement visible. De plus, chaque i-noeud est lié au système de
-fichiers par un ou plusieurs liens physiques. Les liens physiques
-contiennent le nom du fichier et le numéro d'i-noeud. L'i-noeud
-contient le fichier en lui-même, c'est-à-dire, l'emplacement où
-l'information est stockée sur le disque, les permissions d'accès, le
-type de fichier et ainsi de suite. Le système peut trouver n'importe
-quelle i-noeud s'il a son numéro.
-
-<p>
-Un simple fichier peut avoir plus d'un lien physique. Cela signifie
-que tous ces fichiers multiples correspondent au même fichier
-(c'est-à-dire qu'ils sont associés au même numéro d'i-noeud). Cependant,
-vous ne pouvez faire de lien physique entre des systèmes de fichiers:
-tous les liens physiques à un fichier particulier (i-noeud) doivent être
-dans le même système de fichiers. C'est parce que chaque système de
-fichiers possède sa propre table d'i-noeuds et que l'on ne peut
-dupliquer des numéros d'i-noeud sur différents systèmes de fichiers.
-
-<p>
-Parce que tous les liens physiques à une certaine i-noeud se réfèrent au
-<em>même fichier</em>, vous pouvez modifier le fichier en l'appelant
-par un nom et voir ensuite les modifications en l'appelant par un des
-autres noms. Essayez ceci:
-
-<p>
-<example>
-cd; echo "Bonjour" > premierlien
-</example>
-
-<p>
-Vous allez dans votre répertoire personnel et vous créez un premier
-fichier appelé <prgn>premierlien</prgn> contenant le mot
-«&nbsp;Bonjour&nbsp;». Ce que vous venez de faire est juste de
-rediriger la sortie de <prgn>echo</prgn> (<prgn>echo</prgn> renvoie
-juste ce que vous lui donnez) en la plaçant dans
-<prgn>premierlien</prgn>. Allez voir le chapitre sur le shell pour de
-plus amples explications.
-
-<p>
-<example>
-cat premierlien
-</example>
-
-<p>
-Pour vérifier le contenu de <prgn>premierlien</prgn>.
-
-<p>
-<example>
-ln premierlien secondlien
-</example>
-
-<p>
-Crée un lien physique: <prgn>secondlien</prgn> pointe maintenant sur
-le même i-noeud que <prgn>premierlien</prgn>.
-
-<p>
-<example>
-cat secondlien
-</example>
-
-<p>
-Pour confirmer que <prgn>secondlien</prgn> est bien identique
-à <prgn>premierlien</prgn>.
-
-<p>
-<example>
-ls -l
-</example>
-
-<p>
-Remarquez bien que le nombre de liens physiques affiché pour
-<prgn>premierlien</prgn> et <prgn>secondlien</prgn> est 2.
-
-<p>
-<example>
-echo "change" >> secondlien
-</example>
-
-C'est une nouvelle redirection du shell (ne vous souciez pas des
-détails). Vous avez ajouté le mot «&nbsp;change&nbsp;»
-à <prgn>secondlien</prgn>. Confirmez-le avec <prgn>cat
-secondlien</prgn>.
-
-<p>
-<example>
-cat premierlien
-</example>
-
-<p>
-<prgn>premierlien</prgn> a aussi le mot «&nbsp;change&nbsp;» ! C'est
-parce que <prgn>premierlien</prgn> et <prgn>secondlien</prgn> se
-réfèrent au <em>même fichier</em>. Peu importe comment vous l'appelez
-lorsque vous le modifiez.
-
-<p>
-<example>
-chmod a+rwx premierlien
-</example>
-
-<p>
-Cela modifie les permissions de <prgn>premierlien</prgn>. Entrez la
-commande <prgn>ls -l</prgn> pour vérifier que les permissions de
-<prgn>secondlien</prgn> ont aussi été modifiées. Cela signifie que les
-informations de permission résident dans l'i-noeud, et non dans le lien.
-
-<p>
-<example>
-rm premierlien
-</example>
-
-<p>
-Cela détruit le lien. C'est une astuce de <prgn>rm</prgn>. Cela
-détruit en réalité le lien et non le fichier. Maintenant, tapez
-<prgn>ls -l</prgn> et remarquez que <prgn>secondlien</prgn> est
-toujours là. Notez bien aussi que le nombre de liens est passé de 2
-à 1.
-
-<p>
-<example>
-rm secondlien
-</example>
-
-<p>
-Cela détruit le second lien. Quand il ne reste plus de lien rattaché
-à un fichier, Linux détruit le fichier lui-même c'est-à-dire son i-noeud.
-
-<p>
-Tous les fichiers fonctionnent ainsi, et même les fichiers spéciaux
-comme les périphériques (comme <prgn>/dev/hda</prgn>).
-
-<p>
-Un répertoire n'est qu'une liste de nom de fichiers et de numéros
-d'i-noeuds, c'est-à-dire une liste de liens physiques. Lorsque vous
-créez un lien physique, vous ajouter seulement une association
-numéro-nom à un répertoire. Lorsque vous détruisez un fichier, vous
-détruisez juste un lien physique d'un répertoire.
-</sect1>
-
-<sect1> Types de fichiers
-
-<p>
-Nous avons dissimulé jusqu'à présent le fait que le noyau Linux
-considère presque tout comme un fichier. Cela inclut les répertoires
-et les périphériques. Ce sont juste des genres de fichiers un peu
-spéciaux.
-
-<p>
-Comme vous devez vous le rappelez, le premier caractère dans <prgn>ls
--l</prgn> renvoie le type du fichier. Pour un fichier ordinaire, cela
-ne renvoie que <prgn>-</prgn> tout simplement. Les autres possibilités
-sont les suivantes:
-
-<p>
-<list>
-<item> <prgn>d</prgn> : répertoire
-<item> <prgn>l</prgn> : lien symbolique
-<item> <prgn>b</prgn> : périphérique bloc
-<item> <prgn>c</prgn> : périphérique caractère
-<item> <prgn>p</prgn> : tube nommé
-<item> <prgn>s</prgn> : socket
-</list>
-
-<p>
-<em>Liens symboliques</em>
-
-<p>
-Les liens symboliques (aussi appelés <em>symlink</em> ou liens
-logiciels) sont l'autre type de lien avec les liens physiques. Un lien
-symbolique est un fichier spécial qui «&nbsp;pointe vers&nbsp;» un
-lien physique de n'importe quel système de fichiers monté. Lorsque
-vous tentez de lire le contenu d'un lien symbolique, cela vous renvoie
-le contenu du fichier pointé plutôt que le contenu du lien en
-lui-même. Puisque les répertoires, les périphériques et autres liens
-symboliques sont des fichiers, vous pouvez pointer un lien symbolique
-sur chacun de ces objets.
-
-<p>
-Pour résumé, un lien physique est un nom de fichier et son numéro
-d'i-noeud. Un fichier est réellement un i-noeud: un emplacement sur un
-disque, le type du fichier, les modes de permission, etc... Un lien
-symbolique est un i-noeud qui contient le nom du lien physique. Un
-lien symbolique appareille deux noms de fichiers ensemble tandis qu'un
-lien physique appareille un nom de fichier avec un numéro d'i-noeud.
-
-<p>
-Tous les liens physiques d'un même fichier ont le même état. Cela veut
-dire qu'il n'y en a pas un de privilégié. Si vous effectuez une
-opération sur l'un, c'est comme la faire sur n'importe lequel d'entre
-eux. C'est parce que le lien physique réfère au même i-noeud. Les
-opérations sur les liens symboliques, pour leurs parts, affectent
-parfois le propre i-noeud du lien (celui contenant le nom du lien
-physique) et parfois affectent le lien physique sur lequel ils
-pointent.
-
-<p>
-Il y a un certain nombre de différences importantes entre les liens
-symboliques et les liens physiques.
-
-<p>
-Les liens symboliques peuvent traverser des systèmes de
-fichiers. C'est parce qu'ils contiennent les noms complets des
-fichier, en partant d'un répertoire racine et que les noms complets de
-fichiers sont uniques. Puisque les liens physiques pointent vers un
-numéro d'i-noeud et que les numéros d'i-noeuds sont uniques
-qu'à l'intérieur d'un système de fichiers, ils deviendraient impossible
-de les qualifier avec certitude si l'on ne connaissait pas le système de
-fichiers.
-
-<p>
-Vous pouvez faire des liens symboliques vers des répertoires mais cela
-n'est pas possible pour les liens physiques. Chaque répertoire a des
-liens physiques - son référencement dans son répertoire parent, son
-entrée <prgn>.</prgn> et l'entrée <prgn>..</prgn> dans chacun de ses
-sous-répertoires - mais pour pouvoir ordonner le système de fichiers,
-aucun autre lien physique n'est autorisé. En conséquence de quoi, le
-nombre de fichiers d'un répertoire est égal au nombre de liens
-physiques du répertoire moins deux (vous retirez le nom du répertoire
-et le lien <prgn>.</prgn> ).
-
-<p>
-Pour comparer un lien physique et un lien symbolique: vous pouvez
-uniquement faire un lien physique sur un fichier existant car il doit
-exister un numéro d'i-noeud sur lequel se référer. Par contre, vous
-pouvez faire un lien symbolique sur n'importe quel fichier, qu'il existe
-+réellement ou pas.
-
-<p>
-Détruire un lien symbolique détruit seulement le lien. Cela n'a pas
-d'impact sur le fichier anciennement pointé. Détruire le seul lien
-physique d'un fichier conduit à détruire le fichier.
-
-<p>
-Essayez ceci:
-
-<p>
-<example>
-cd; ln -s /tmp/moi MonTmp
-</example>
-
-<p>
-Vous vous positionnez dans votre répertoire personnel. <prgn>ls</prgn>
-avec l'option <prgn>-s</prgn> fabrique un lien symbolique et dans ce
-cas, ce lien s'appelle <prgn>MonTmp</prgn> et pointe sur le fichier
-<prgn>/tmp/moi</prgn>.
-
-<p>
-<example>
-ls -l MonTmp
-</example>
-
-<p>
-Vous devriez observer une sortie du genre:
-
-<p>
-<example>
-lrxwrxwrxw 1 havoc havoc 7 Dec 6 12:50 MyTmp -> /tmp/me
-</example>
-
-<p>
-La date ainsi que l'utilisateur et le groupe devrait être différents
-pour vous. Notez le type du fichier: <prgn>l</prgn>. Cela indique un
-lien symbolique. Regardez aussi les permissions. Les liens symboliques
-ont toujours ces permissions. Si vous tentez de changer les
-permissions d'un fichier symbolique via <prgn>chmod</prgn>, vous allez
-réellement changer les permissions du fichier sur lequel il pointe.
-
-<p>
-<example>
-chmod 700 MonTmp
-</example>
-
-
-<p>
-Vous devriez obtenir un <prgn>No such file or directory</prgn> (pas
-trouvé de fichier ou de répertoire portant ce nom) car le fichier
-<prgn>/tmp/moi</prgn> n'existe pas. Remarquez que cela n'a pas empêché
-la création du lien symbolique.
-
-<p>
-<example>
-mkdir /tmp/moi
-</example>
-
-<p>
-Cela crée le répertoire <prgn>/tmp/moi</prgn>.
-
-<p>
-<example>
-chmod 700 MonTmp
-</example>
-
-<p>
-devrait maintenant fonctionner sans problème.
-
-<p>
-<example>
-touch MonTmp/monfichier
-</example>
-
-<p>
-Pour créer un fichier dans <prgn>MonTmp</prgn>.
-
-<p>
-<example>
-ls /tmp/moi
-</example>
-
-<p>
-Le fichier a vraiment été créé dans <prgn>/tmp/moi</prgn>.
-
-<p>
-<example>
-rm MonTmp
-</example>
-
-<p>
-Détruit le lien symbolique. Remarquez que cela ne retire que le lien
-et non ce vers quoi il pointe. Ensuite, vous devez utiliser
-<prgn>rm</prgn> et non pas <prgn>rmdir</prgn>:
-
-<p>
-<example>
-rm /tmp/moi/monfichier; rmdir /tmp/moi
-</example>
-
-<p>
-Cela nettoie tout ce qu'il reste.
-
-<p>
-<em> Fichiers périphériques </em>
-
-<p>
-Les fichiers périphériques se réfèrent à un périphérique physique ou
-virtuel de votre système, comme votre disque dur, votre carte vidéo,
-votre écran et votre clavier. Un exemple de périphérique virtuel est
-la console, représentée par <prgn>/dev/console</prgn>.
-
-<p>
-Il y a deux sortes de périphériques: bloc et caractère. On peut avoir
-accès aux <em>périphériques caractères</em> caractère par
-caractère. Rappelez-vous que la plus petite unité de données qui peut
-être écrite ou bien être lue à partir du périphérique est un caractère
-(octet).
-
-<p>
-On peut accéder aux <em>périphériques bloc</em> avec des unités plus
-grandes appelées blocs, qui contiennent un certain nombre de
-caractères. Votre disque dur est un périphérique bloc.
-
-<p>
-Vous pouvez lire ou écrire dans des fichiers périphériques comme vous
-le feriez avec n'importe quelle autre sorte de fichiers, quoique le
-fichier puisse contenir alors un étrange baragouin incompréhensible
-à nous autres humains. Écrire n'importe quoi dans ces fichiers n'est pas
-une bonne idée. Parfois si. Par exemple, vous pouvez envoyer un
-fichier PostScript dans le périphérique de l'imprimante
-<prgn>/dev/lp0</prgn> ou bien envoyer des commandes de modem au
-fichier périphérique idoine à partir du bon port série.
-
-<p>
-Il existe un fichier particulier appelé <prgn>/dev/null</prgn>. Il
-détruit tout ce qu'il reçoit. Si vous ne voulez pas quelque chose,
-envoyez-le dans <prgn>/dev/null</prgn>. C'est essentiellement un
-puits sans fond. Si vous tentez de lire <prgn>/dev/null/</prgn>,
-vous obtiendrez un <em>end-of-file</em> (EOF, caractère de fin de
-fichier) immédiatement. <prgn>/dev/zero</prgn> est similaire,
-à l'exception du fait que sa lecture vous renverra le caractère
-<prgn>\0</prgn> (pas le même que le chiffre 0).
-
-<p>
-<em>Tubes nommés (FIFO)</em>
-
-<p>
-Un tube nommé est un fichier qui agit comme un tube. Vous entrez
-quelque chose dans le fichier et cela ressort. Ceci est appelé une
-FIFO (<em>First-In-First-Out</em>, premier entré, premier sorti) car
-la première chose que vous entrez est aussi la première chose que l'on
-sort.
-
-<p>
-Si vous écrivez dans un tube nommé, le processus d'écriture ne
-s'arrête pas tant qu'il y a quelque chose à lire dans le tube. Si vous
-lisez dans un tube nommé, le processus de lecture attend qu'il y ait
-quelque chose à lire avant de s'arrêter. La taille du tube est
-toujours zéro. Il ne stocke pas de donnée: il lie simplement deux
-processus à travers le signe «&nbsp;|&nbsp;» du shell. Dans tous les
-cas, puisque le tube a un nom, les deux processus n'ont pas
-à appartenir à la même ligne de commandes ou même à être lancé par le
-même utilisateur.
-
-<p>
-Vous pouvez essayer ceci:
-
-<p>
-<example>
-cd; mkfifo montube
-</example>
-
-<p>
-Activez alors le tube:
-
-<p>
-<example>
-echo "bonjour" > montube &
-</example>
-
-<p>
-Cela place le processus qui essaie d'écrire «&nbsp;bonjour&nbsp;» dans
-le tube en arrière-plan. Remarquez bien que le processus ne rend pas
-la main: il attend que quelqu'un vienne lire dans le tube:
-
-<p>
-<example>
-cat montube
-</example>
-
-<p>
-À ce moment, le processus <prgn>echo</prgn> s'achève car
-<prgn>cat</prgn> a lu le tube et le processus <prgn>cat</prgn> a
-affiché <prgn>bonjour</prgn>.
-
-<p>
-<example>
-rm montube
-</example>
-
-<p>
-Vous pouvez détruire les tubes comme n'importe quel autre fichier.
-
-
-<p>
-<em>Les sockets</em>
-
-<p>
-Les sockets sont similaires aux tubes mais elles ne fonctionnent
-qu'à travers un réseau. C'est de cette façon que votre ordinateur
-travaille en réseau. Vous avez peut-être entendu parler de
-«&nbsp;WinSock&nbsp;», qui sont les sockets de Windows.
-
-<p>
-Nous n'irons pas plus loin sur ce sujet car vous n'aurez pas
-l'occasion de vous en servir, à moins de programmer. En tout cas, si
-vous apercevez un fichier marqué avec un type <prgn>s</prgn> sur votre
-ordinateur, vous saurez de quoi il s'agit.
-</sect1>
-
-<sect1> Le système de fichiers <prgn>proc</prgn>
-
-<p>
-Le noyau Linux fournit un système de fichiers particulier qui est
-monté sous <prgn>/proc</prgn> dans les systèmes Debian. C'est ce que
-l'on appelle un «&nbsp;pseudo-système de fichiers&nbsp;» parce qu'il
-n'existe pas réellement sur vos périphériques physiques.
-
-<p>
-Le système de fichiers <prgn>proc</prgn> contient des informations sur
-le système et sur les processus en cours. Certains des
-«&nbsp;fichiers&nbsp;» de <prgn>proc</prgn> sont raisonnablement
-compréhensibles par un être humain (essayez <prgn>cat
-/proc/meminfo</prgn> et <prgn>cat /proc/cpuinfo</prgn>). Les autres
-fichiers sont un amas incompréhensible de chiffres. Les utilitaires
-systèmes traduisent les informations contenues dans ces chiffres et
-vous les présentent de façon plus compréhensible.
-
-<p>
-Les gens paniquent souvent lorsqu'ils remarquent qu'un fichier en
-particulier - <prgn>/proc/kcore</prgn> - est souvent énorme, C'est,
-à un cheval près, une copie du contenu de la mémoire de votre
-ordinateur. Il est utilisé pour déboguer le noyau. Il n'existe nulle
-part physiquement donc ne vous préoccupez pas de sa taille.
-
-<p>
-Si vous désirez en savoir plus sur <prgn>/proc</prgn>, tapez <prgn>man
-5 proc</prgn>.
-</sect1>
-
-<sect1> Copie à grande échelle
-
-<p>
-Il est parfois nécessaire de recopier un répertoire dans un autre
-emplacement. Peut-être avez-vous ajouté un nouveau disque dur et vous
-désirez faire une copie de <prgn>/usr/local</prgn> dessus. Il y a
-plusieurs façons de procéder:
-
-<p>
-La première est d'utiliser la commande <prgn>cp</prgn>. La commande
-<prgn>cp -a</prgn> demande à <prgn>cp</prgn> de préserver le maximum
-d'informations. Vous pourriez ainsi utiliser la commande suivante:
-
-<p>
-<example>
-cp -a /usr/local /destination
-</example>
-
-<p>
-Cependant, il existe quelques cas qui ne fonctionnent
-pas<footnote>comme les fichiers morcelés et les liens physiques par
-exemple</footnote>. Dès-lors, la meilleure façon de procéder lors
-d'une grande copie est d'enchaîner deux commandes <prgn>tar</prgn>
-consécutives, comme ceci:
-
-<p>
-<example>
-tar -cSpf - /usr/local | tar -xvSpf -C /destination
-</example>
-
-<p>
-La première commande <prgn>tar</prgn> archive le répertoire et
-l'entube dans le second. La seconde commande déploie l'archive dans
-l'emplacement spécifié avec l'option <prgn>-C</prgn>.
-</sect1>
-</sect>
-
-<sect> Sécurité
-
-<p>
-Dans la partie 9.1, nous avons parlé des permissions sur les fichiers
-dans Linux. C'est une façon fondamentale de sécuriser votre
-système. Si vous faîtes tourner un système multi-utilisateurs ou un
-serveur, il est primordial d'établir des bonnes permissions. Une bonne
-règle de base consiste à configurer les fichiers avec les permissions
-les plus basses autorisant leur bon usage.
-
-<p>
-Si vous faîtes tourner un serveur en réseau, il y a quelques petites
-bricoles auxquelles il faut faire attention. Premièrement, vous devez
-désinstaller ou arrêter les services que vous n'utilisez pas. Un bon
-point de départ est le fichier <prgn>/ect/inetd.conf</prgn>. Vous
-pouvez probablement désactiver quelques services. Pour la plupart des
-services réseau, vous pouvez contrôler qui y a accès. Les fichiers
-<prgn>/etc/host.allow</prgn> et <prgn>/etc/hosts.deny</prgn>
-(documentés dans <prgn>man 5 hosts_access</prgn>) peuvent contrôler
-qui a accès à quel service. Vous devez aussi être à jour des rustines
-(<em>patches</em>) ou des mises-à-jour proposées par Debian. Elles
-sont disponibles dans votre miroir FTP de Debian.
-
-<p>
-Les règles suivantes de bon sens doivent aussi s'appliquer:
-
-<p>
-<list>
-<item> Ne révélez à personne votre mot de passe.
-<item> N'envoyez jamais votre mot de passe en clair à travers Internet
-en utilisant <prgn>telnet</prgn> ou <prgn>ftp</prgn>. Utilisez des
-protocoles de cryptage ou évitez de vous loguer à distance.
-<item> Évitez d'utiliser le compte root le plus possible
-<item> N'installez pas de logiciels non sûrs et ne les installez par en
-tant que root
-<item> Évitez de laisser des accès libre en écriture dans la mesure du
-possible. <prgn>/tmp</prgn> est une exception à cette règle.
-</list>
-
-<p>
-Bien que cela soit de peu d'utilité pour quelqu'un qui ne fait pas
-tourner un serveur, cela vaut la peine de se renseigner sur les
-questions de sécurité. Le mécanisme de sécurité de Debian vous protège
-de la plupart des virus.
-</sect>
-
-<sect> Le développement de logiciels avec Debian
-
-<p>
-Debian est une plateforme privilégiée pour le développement de
-logiciels et la programmation. Voici une liste des langages et
-pseudo-langages supportés: C, C++, Objective-C, Perl, Python, m4,
-Ada, Pascal, Java, awk, Tcl/Tk, SQL, assembleur, Bourne shell, csh et
-bien d'autres encore. L'écriture de programmes est hors du propos de
-ce livre mais voici les programmes de développement parmi les plus
-populaires que l'on trouve sur Debian:
-
-<p>
-<list>
-<item> <prgn>gcc</prgn>
-<p>
- Le compilateur C de GNU: un compilateur moderne et optimisé de C.
-<item> <prgn>g++</prgn>
-<p>
- Le compilateur C++ extrait de <prgn>gcc</prgn>
-<item> <prgn>cpp</prgn>
-<p>
- Le pré-processeur de C de <prgn>gcc</prgn>
-<item> <prgn>perl</prgn>
-<p>
- L'interpréteur Perl. Perl est un super langage multi-usages.
-<item> <prgn>gdb</prgn>
-<p>
- Le débogueur GNU. Il est utilisé pour déboguer de nombreux langages.
-<item> <prgn>gprof</prgn>
-<p>
- Extraction de profile. Ce programme vous aide à optimiser votre
- programme pour augmenter ses performances.
-<item> <prgn>emacs</prgn>
-<p>
- <em>GNU Emacs</em> est un éditeur et un environnement intégré de travail.
-<item> <prgn>as</prgn>
-<p>
- C'est l'assembleur de GNU.
-</list>
-</sect>
-
-</chapt>
-<chapt> Lire la documentation et obtenir de l'aide
-
-<sect> Les sources de documentation
-
-<p>
-Sur un système Debian, vous pouvez trouver la documentation aux
-emplacements suivants:
-
-<p>
-<list>
-<item> Pages de manuel, que l'on peut lire avec la commande <prgn>man</prgn>
-<item> Pages info, que l'on peut lire avec la commande <prgn>info</prgn>
-<item> Les répertoires de <prgn>/usr/doc/paquets</prgn> où
-<em>paquet</em> est le nom du paquet
-Debian<footnote><prgn>zless</prgn> est très pratique pour lire les
-fichiers de <prgn>/usr/doc</prgn>. Voir chapitre 10.1 pour plus de
-détails.</footnote>
-<item> Le répertoire <prgn>/usr/doc/HOWTO</prgn> contient les HOWTOs
-du Projet Linux de Documentation, si vous avez installé les paquets
-les contenant.
-<item> La plupart des commandes ont une option <prgn>-h</prgn> ou
-<prgn>--help</prgn>. Tapez le nom de la commande suivi d'une de ces
-options pour essayer.
-<item> Le Projet de Documentation de Debian
-(<em>https://www.debian.org/ddp/</em>) fournit aussi quelques
-manuels.
-<item> La page d'assistance de Debian
-(<em>https://www.debian.org/support/</em>) possède sa FAQ et quelques
-autres documents. Vous pouvez aussi essayer le site oueb de Linux
-(<em>http://www/linux.org</em>).
-</list>
-
-<p>
-Cette déroutante profusion de sources de documentations existe pour des
-tas de raisons. Par exemple, <prgn>info</prgn> est supposé remplacer
-le <prgn>man</prgn> mais <prgn>man</prgn> n'a toujours pas disparu
-à ce jour. Mais dans tous les cas, il est rassurant de savoir que tant
-de documentations existent !
-
-<p>
-Ainsi, où chercher pour obtenir de l'aide ? Voici quelques
-suggestions:
-
-<p>
-<list>
-<item> Utilisez la page info ou l'option <prgn>--help</prgn> pour
-avoir un résumé rapide de la syntaxe et des options de la
-commande. Utilisez aussi la page de manuel si le programme n'a pas de
-page info.
-<item> Utilisez la page info si le programme possède une documentation
-à ce format.
-<item> Si cela ne donne rien, allez voir dans
-<prgn>/usr/doc/nomdepaquet</prgn>
-<item> Utilisez les HOWTOs pour régler une chose particulière ou
-chercher une information sur un matériel particulier. Par exemple,
-l'<prgn>Eternet-HOWTO</prgn> regorge d'informations sur les cartes
-Ethernet et le <prgn>PPP-HOWTO</prgn> explique en détail comment
-configurer une liaison <prgn>ppp</prgn>.
-<item> Utilisez les manuels du Projet de Documentation Debian pour les
-concepts inhérents et spécifiques à Debian.
-<item> Si tout cela ne donne rien, demandez de l'aide
-à quelqu'un. Voir la partie 16.4 pour cela.
-</list>
-
-<p>
-Comment utiliser les pages de manuel est expliqué à la partie 7.1. C'est très
-simple: appuyez sur la touche espace pour aller à la page suivante et
-appuyez sur <prgn>q</prgn> pour quitter le manuel. Utiliser
-<prgn>info</prgn>, visualiser les fichiers de <prgn>/usr/doc</prgn> et
-demander de l'aide à quelqu'un font l'objet des parties suivantes du
-chapitre.
-</sect>
-
-
-<sect> Utiliser <prgn>info</prgn>
-
-<p>
-<prgn>info</prgn> est le visualiseur de documentation de GNU. Certains
-programmes fournissent leur documentation au format <prgn>info</prgn>
-et vous pouvez utiliser <prgn>info</prgn> pour la lire. Vous pouvez
-lancer le visualiseur en tapant simplement <prgn>info</prgn> ou en lui
-passant un argument comme ceci:
-
-<p>
-<example>
-info emacs
-</example>
-
-<p>
-Vous pouvez obtenir aussi des informations sur <prgn>info</prgn>
-lui-même en appelant le tutoriel interne:
-
-<p>
-<example>
-info info
-</example>
-
-<p>
-Maintenant, vous pouvez vous déplacer à l'aide des touches suivantes:
-
-<p>
-<list>
-<item> <prgn>flèches</prgn>
-<p>
- Pour déplacer le curseur au sein du document.
-<item> <prgn>m RET</prgn>
-<p>
- Sélectionne le choix d'un menu sous le curseur.
-<item> <prgn>u</prgn>
-<p>
- Pour «&nbsp;remonter&nbsp;» dans le document.
-<item> <prgn>n</prgn>
-<p>
- Pour aller à la page suivante.
-<item> <prgn>p</prgn>
-<p>
- Pour aller à la page précédente.
-<item> <prgn>s</prgn>
-<p>
- Pour rechercher quelque chose.
-<item> <prgn>g</prgn>
-<p>
- Pour aller à une page spécifique.
-<item> <prgn>q</prgn>
-<p>
- Quitter <prgn>info</prgn>
-</list>
-
-<p>
-Vous remarquerez que la ligne supérieure de l'écran indique les pages
-<em>next</em> (suivantes), <em>previous</em> (précédentes) et
-<em>up</em> (supérieures) qui correspondent aux actions des touches
-<prgn>n</prgn>, <prgn>p</prgn> et <prgn>u</prgn>.
-</sect>
-
-<sect> HOWTO
-
-<p>
-En plus de ses livres, le Projet de Documentation Linux a diffusé une
-série de petits documents décrivant comment configurer des aspects
-particuliers de GNU-Linux. Par exemple, le SCSI-HOWTO décrit les
-complications de l'utilisation du SCSI - une façon standard de
-communiquer avec des périphériques - sous GNU-Linux. De façon
-générale, les HOWTOs ont plus de détails techniques sur des
-configurations matérielles et sont souvent plus à jour que ce manuel.
-
-<p>
-Il y a des paquets Debian pour les HOWTOs. <prgn>doc-linux-text</prgn>
-contient l'ensemble des HOWTOs au format texte et
-<prgn>doc-linux-html</prgn> les contient (surprise!) au format html
-pour naviguer. Remarquez bien que Debian fournit des traductions de
-ces HOWTOs si l'anglais n'est pas votre langue maternelle. Debian a des
-paquets en allemand, français, espagnol, italien, japonais, coréen,
-polonais, suédois et chinois des HOWTOs. On les trouve généralement
-dans les paquets <prgn>doc-linux-<em>languagecode</em></prgn> où
-<em>languagecode</em> est <prgn>fr</prgn> pour le français,
-<prgn>es</prgn> pour l'espagnol, etc... Si vous les avez installés,
-vous les trouverez dans <prgn>/usr/doc/HOWTO</prgn>. Quoi qu'il en
-soit, vous trouverez toujours les toutes dernières versions sur le
-réseau sur la page du LDP:
-
-<p>
-<example>
-http://metalab.unc.edu/LDP/
-</example>
-
-<sect> Aide personnalisée
-
-<p>
-L'emplacement correct<footnote>Les francophones ont leur propre liste
-avec l'avantage du support de leur langue maternelle:
-debian-user-french@lists.debian.org</footnote> pour demander de l'aide sur
-Debian est la liste de distribution des utilisateurs de Debian
-à <prgn>debian-user@lists.debian.org</prgn> (envoyer un courriel
-à <prgn>debian-user@lists.debian.org</prgn>). Si vous savez vous servir
-d'IRC, vous pouvez utiliser le canal <prgn>#debian</prgn> sur
-<prgn>irc.debian.org</prgn>. Vous pouvez trouver de l'aide sur
-GNU-Linux en général dans la hiérarchie USENET
-<prgn>comp.os.linux.*.</prgn> Il est aussi possible d'embaucher des
-consultants pour fournir un service d'assistance garantie. Le site
-oueb de Debian (<em> https://www.debian.org</em>) fournit d'autres
-informations sur beaucoup de ces ressources.
-
-<p>
-Une nouvelle fois, ne contactez pas les auteurs (et le traducteur!) de
-ce livre pour obtenir de l'aide. Nous ne serons de toute façon
-certainement pas capables de répondre à votre problème spécifique. Si
-vous vous adressez à <prgn>debian-user</prgn>, vous recevrez quantité
-de messages de qualité, et qui plus est rapidement.
-
-<p>
-Restez toujours courtois et faîtes l'effort de lire la
-documentation. Rappelez-vous bien que Debian résulte d'un effort
-collectif de volontaires et que les personnes vous font une faveur en
-vous donnant un peu de leur temps pour vous aider. Beaucoup d'entre
-eux font payer ce même service plusieurs centaines de dollars pendant
-la journée.
-
-<p>
-<em> Ce qu'il faut faire pour poser des questions </em>
-
-<p>
-<list>
-
-<item> Lire tout d'abord la documentation de base en premier. Les
-trucs comme les options des commandes et ce que fait une commande en
-fait partie. Cela inclut aussi les pages de manuel et la documentation
-au format info.
-<item> Vérifier les documents HOWTOs si votre question concerne un
-réglage comme une connexion <prgn>ppp</prgn> ou <prgn>Ethernet</prgn>.
-<item> Essayez d'être sûr que la réponse ne se trouve pas dans ce
-livre.
-<item> N'ayez pas peur de demander, après avoir fait l'effort
-d'essayer de comprendre.
-<item> N'ayez pas peur de demander des explications conceptuelles, des
-conseils sur tous les aspects que l'on ne trouve pas dans les
-documentations.
-<item> Joignez toute information intéressante. Vous devez toujours
-mentionner la version de Debian que vous utilisez. Vous pouvez aussi
-mentionner le numéro de version de tout paquet pertinent. La commande
-<prgn>dpkg -l nomdupaquet </prgn> vous le fournit. Vous pouvez aussi
-signaler ce que vous avez tenté et ce qu'il est advenu. N'oubliez
-d'inclure les messages d'erreur complets et exacts, s'il y en a.
-<item> Ne vous excusez pas d'être un nouveau sur Linux. Il n'y a pas
-de raison d'être un expert pour pouvoir utiliser GNU-Linux, pas plus
-qu'il est nécessaire d'être une mécanique pour conduire une
-automobile.
-<item> Ne postez pas ou n'envoyez pas de courriel en HTML. Certaines
-versions de Netscape ou d'Internet Explorer postent par défaut en HTML
-plutôt qu'en texte. Beaucoup de gens vont carrément alors ignorer ces
-courriels car de nombreux lecteurs de courriels ont des difficultés
-à lire ce format. Il y a une préférence quelque part pour désactiver le
-support HTML.
-<item> Soyez courtois. Rappelez-vous que Debian est un effort
-collectif de bénévoles et quiconque vous aide vous donne une partie de
-son temps libre.
-<item> Renvoyez votre question à la liste si vous n'avez pas eu de
-réponse après quelques jours. Il y avait peut-être de nombreux
-messages et il est passé inaperçu. Ou peut-être que personne ne
-connaissait la réponse et si personne n'est capable de répondre la
-fois suivante, il s'agit d'une sacrée colle. Vous pourriez peut-être
-fournir plus d'informations la fois suivante.
-</list>
-</sect>
-
-<sect> Extraire des informations du système
-
-<p>
-Lorsque vous diagnostiquez un problème ou lorsque vous demandez de
-l'aide, vous aurez besoin d'extraire des informations de votre
-système. Voici quelques façons d'y parvenir:
-
-<p>
-<list>
-<item> Examinez les fichiers placés dans <prgn>/var/log</prgn>
-<item> Examinez la sortie du message de la commande <prgn>dmesg</prgn>
-<item> Lancez la commande <prgn>uname -a</prgn>
-</list>
-</sect>
-
-
-
-
-</chapt>
-<chapt> Problèmes
-
-<p>
-Dans Debian, comme partout ailleurs, les choses ne fonctionnent pas
-toujours comme vous vous y attendez ou comme vous voulez qu'elles le
-fassent. Bien que Debian ait une solide réputation d'être robuste et
-stable, ses réactions à vos commandes peuvent parfois être
-inattendues. Ici, nous allons tenter de lever le voile sur des
-problèmes courants très fréquemment rencontrés.
-
-
-<sect> Difficultés classiques
-
-<p>
-Cette partie a pour but de fournir quelques solutions aux difficultés
-les plus fréquemment rencontrées à l'usage par les utilisateurs.
-
-<sect1> Travailler avec des noms de fichiers étranges
-
-<p>
-Vous pourrez parfois accidentellement créer un fichier dont le nom
-comporte un caractère normalement absent d'un nom de fichier. Les
-exemples sont l'inclusion d'espace, un trait d'union placé au début du
-nom ou tout simplement des guillemets. Il se peut que l'accès, la
-destruction ou le renommage de ces fichiers vous posent des
-difficultés.
-
-<p>
-Voici quelques trucs pour vous aider:
-
-<p>
-<list>
-<item> Essayez d'entourer le nom de fichier d'apostrophes simples, comme ceci:
-<p>
-<prgn>less 'Fichier avec espaces.txt'</prgn>
-<item> Insérez un <prgn>./</prgn> avant le nom de fichier:
-<p>
-<prgn>less './-un étrange fichier.txt'</prgn>
-<item> Utilisez des motifs:
-<p>
-<prgn>less Fichier?avec?espaces.txt</prgn>
-<item> Utilisez un contre-slash devant chaque caractère inhabituel
-<p>
-<prgn>less Fichier\ avec\ espaces.txt</prgn>
-</list>
-</sect1>
-
-<sect1> Imprimer
-
-<p>
-Une source d'ennui commune est le système d'impression sous
-Debian. Traditionnellement, l'impression a toujours été un aspect
-puissant mais complexe d'Unix. Cependant, Debian la rend plus
-simple. La façon la plus simple est d'utiliser le paquet
-<prgn>magicfilter</prgn>. <prgn>magicfilter</prgn> va vous poser une
-série de questions au sujet de votre imprimante et la configurer pour
-vous. Si vous avez des soucis d'impression, essayez
-<prgn>magicfilter</prgn>.
-</sect1>
-
-<sect1> Les problème sous X
-
-<p>
-De nombreuses questions tournent autour de X. Voici quelques trucs si
-vous avez quelques difficultés à paramétrer le système X Window.
-
-<p>
-<list>
-<item>Pour les problèmes de souris, lancez <prgn>XF86Setup</prgn> et
-essayez les options PS/2, Microsoft, MouseSystems et Logitech. La
-plupart des souris devraient correspondre à l'une d'entre elles. Le
-périphérique pour les souris est <prgn>/dev/psaux</prgn> pour celle
-PS/2 et un port série comme <prgn>/dev/ttyS0</prgn> pour les souris
-série.
-<item> Si vous ne connaissez pas votre chipset vidéo, lancez
-<prgn>SuperProbe</prgn>: cela permet souvent de le déterminer pour
-vous.
-<item> Si votre écran ne possède pas beaucoup de couleurs, essayez de
-sélectionner une autre carte ou indiquez à X quelle quantité de
-mémoire vidéo vous possédez.
-<item> Si votre écran reste blanc, ou bien si vous avez un texte
-illisible en lançant X, vous avez probablement sélectionné un taux de
-rafraîchissement incorrect. Retournez dans <prgn>XF86Setup</prgn> ou
-<prgn>xf86config</prgn> et revérifiez ces réglages.
-<item> <prgn>xvidtune</prgn> peut vous aider à régler l'image si elle
-est trop à droite ou trop à gauche ou bien si elle est trop haute ou
-trop basse.
-<item><prgn>xdpyinfo</prgn> peut vous donner des informations sur une
-session X en cours.
-<item><prgn>XF86Setup</prgn> peut vous régler votre profondeur de couleurs
-par défaut.
-<item> Vous pouvez sélectionner votre gestionnaire de fenêtres par
-défaut en modifiant <prgn>/etc/X11/window-managers</prgn>.
-<item> <prgn>/var/log/xdm-errors</prgn> peut contenir des informations
-utiles si vous avez des problèmes en lançant <prgn>xdm</prgn>.
-</list>
-</sect1>
-</sect>
-
-<sect> Problème lors de la procédure de boot
-
-<p>
-Si vous avez des problèmes durant la phase de boot, comme un blocage
-du noyau pendant la procédure d'amorçage, ou que le noyau ne
-reconnaisse pas les périphériques que vous avez ou encore que les
-lecteurs ne soient reconnus proprement, la première chose à faire est
-de vérifier les paramètres de boot. On les obtient en pressant sur la
-touche <prgn>F1</prgn> lors du boot sur la disquette de secours.
-
-<p>
-La plupart du temps, les problèmes se résolvent en supprimant quelques
-périphériques et en bootant à nouveau. Les modems internes, les cartes
-son et les périphériques <em>Plug-n-Play</em> sont souvent
-problématiques.
-
-<p>
-Tecras, et quelques autres portables, et certains non portables
-n'arrivent pas à vider le cache lorsqu'ils passent en A20. Ceci est
-provoqué par les noyaux bzImage et non par les noyaux zImages. Si
-votre ordinateur souffre de ce problème, vous verrez un message lors
-du boot disant <prgn>saying A200 gating failed</prgn>. Dans ce cas, il
-est nécessaire d'utiliser les images de boot «&nbsp;tecra&nbsp;».
-
-<p>
-Si vous avez toujours des problèmes, envoyez un rapport de
-bogue. Envoyez un courriel à
-<example>submit@bugs.debian.org</example>
-Vous DEVEZ inclure les lignes suivantes en en-tête de votre courriel:
-
-<p>
-<example>
-Package: boot-floppies
-Version: version
-</example>
-
-<p>
-Assurez-vous que la <em>version</em> que vous fournissez est celle que
-vous avez utilisé avec les disquettes de boot. Si vous ne connaissez
-pas la version exacte, fournissez la date à laquelle vous avez
-téléchargé les disquettes, et ajoutez à partir de quelle distribution
-vous les avez obtenues: «&nbsp;stable&nbsp;» ou «&nbsp;frozen&nbsp;».
-
-<p>
-Vous devez aussi inclure les informations suivantes dans votre rapport
-de bogues:
-
-<p>
-<list>
-<item> <prgn>architecture</prgn>: i386
-<item> <prgn>model</prgn>: votre matériel principal et le modèle
-<item> <prgn>memory</prgn>: la quantité de RAM
-<item> <prgn>SCSI</prgn>: les adapteurs, s'il y en a.
-<item> <prgn>cd-rom</prgn>: type de cédérom et son interface (ATAPI)
-<item> <prgn>network card</prgn>: votre carte réseau, si vous en avez une.
-<item> <prgn>pcmcia</prgn>: le détail de vos périphériques PCMCIA
-</list>
-
-<p>
-Cela dépend de la nature du bogue mais il peut être pertinent de
-donner le modèle du disque dur, la capacité du disque et le modèle de
-carte vidéo.
-
-<p>
-Dans le rapport de bogue, décrivez le problème et joignez les derniers
-messages visibles du noyau dans le cas d'un blocage du noyau. Décrivez
-les étapes qui vous ont amenées dans cet état.
-</sect>
-
-</chapt>
-<chapt> Booter le système
-
-<p>
-Cette partie montre ce qui se passe lors du boot de GNU-Linux.
-
-<p>
-La façon dont vous amorcez votre système dépend de la façon dont vous
-l'avez configuré à l'installation. Dans le meilleur des cas, vous
-n'avez qu'à allumer votre ordinateur. Mais il se peut que vous deviez
-insérer une disquette.
-
-<p>
-Linux est appelé par un programme appelé LILO (LInux LOader,
-littéralement «&nbsp;chargeur de linux&nbsp;»). LILO peut aussi
-charger un autre système d'exploitation et vous demander sur quel
-système vous désirez booter.
-
-<p>
-La première chose qui se passe lorsque vous allumez un PC de type
-Intel est l'exécution du BIOS. BIOS signifie <em>Basic Input Output
-System</em> (système d'entrée-sortie simple). C'est un programme
-résidant perpétuellement sur l'ordinateur et stocké en lecture seule
-sur un composant. Il effectue quelques tests basiques et ensuite
-recherche une disquette dans le premier lecteur de disquettes. S'il la
-trouve, il recherche un secteur d'amorce (<em>boot sector</em>) et
-lance le code se trouvant dessus s'il existe. S'il y a une disquette
-sans secteur d'amorce, le BIOS va vous afficher un message du type:
-<prgn>Non-system disk</prgn> ou <prgn>disk
-error</prgn><footnote><em>Disque non-système</em> et <em>mauvaise
-disquette</em></footnote>. Retirez alors la disquette et appuyez sur
-une touche pour relancer la procédure de boot.
-
-<p>
-S'il n'y a pas de disquette dans le lecteur, le BIOS recherche un MBR
-(<em>Master Boot Record</em>) sur le disque dur. Il lance le code
-exécutable trouvé dessus qui charge le système d'exploitation. Sur des
-systèmes GNU-Linux, LILO peut occuper le MBR et charger GNU-Linux.
-
-<p>
-Ainsi, si vous avez décidé d'installer LILO sur votre disque dur, vous
-devriez apercevoir LILO au démarrage de votre ordinateur. À partir de
-ce moment-là, vous pouvez appuyer sur la touche <em>shift</em> pour
-sélectionner quel système d'exploitation charger et appuyez sur
-<em>Tab</em> pour afficher la liste des options. Tapez sur une de ces
-options et appuyez sur la touche <em>Entrée</em>. LILO va charger le
-système demandé.
-
-<p>
-Si vous n'appuyez pas sur la touche <em>shift</em>, LILO chargera
-automatiquement le système par défaut au bout de cinq secondes. Si
-vous le désirez, vous pouvez changer le système par défaut, le nombre
-de systèmes et le temps d'attente avant le chargement.
-
-<p>
-Si vous n'avez pas installé LILO sur votre disque dur, vous avez
-probablement créé une <em>disquette de boot</em>. La disquette de boot
-va avoir LILO dessus. Tout ce que vous avez à faire est d'installer la
-disquette dans son lecteur et rallumer l'ordinateur; le BIOS va la
-trouver avant de vérifier le MBR du disque. Pour retourner à un
-système non-linux, sortez la disquette et redémarrez
-l'ordinateur. Assurez-vous bien de suivre la procédure (voir 6.6) de
-redémarrage correctement.
-
-<p>
-LILO charge le noyau linux à partir du disque et ensuite le laisse
-agir. (le noyau est le programme central du système d'exploitation qui
-contrôle tous les autres programmes). Le noyau est totalement
-indépendant du BIOS ou de LILO.
-
-<p>
-Sur les plateformes non Intel, les choses se passent un peu
-différemment. Mais après avoir booté, les choses sont identiques - ou
-quasiment.
-
-<p>
-Linux examine le matériel sur lequel il va tourner. Il veut savoir
-quel type de disque dur vous avez, si vous avez ou non un bus souris,
-un réseau et quelques autres choses du même acabit. Linux ne peut se
-rappeler ces choses entre chaque boot donc il doit se poser ces
-questions à chaque démarrage. Heureusement, il ne <em>vous</em> pose
-pas les questions mais le fait directement au matériel. Lors du boot,
-le noyau Linux affiche des messages pour indiquer ce qu'il fait.
-
-<p>
-Le processus de recherche peut poser des problèmes mais s'il devait le
-faire, vous auriez déjà dû rencontrer ces problèmes lors de la
-première installation de GNU-Linux. Si vous avez des problèmes,
-reportez-vous aux instructions d'installation ou bien posez des
-questions sur les listes de distribution.
-
-<p>
-Le noyau permet simplement l'existence d'autres programmes donc une
-fois que tout est ok pour lui, il doit lancer un autre programme pour
-rendre les choses plus fonctionnelles. Le programme que le noyau lance
-est <prgn>init</prgn>. Après que le noyau ait lancé <prgn>init</prgn>,
-il ne lance jamais plus d'autres programmes. Le noyau devient alors un
-gestionnaire et un fournisseur de services.
-
-<p>
-Lorsque <prgn>init</prgn> se lance, il lance un certain nombre de
-scripts (des fichiers contenant des commandes) qui préparent le
-système à être utilisé. Il y a des routines de maintenance et de
-nombreux programmes qui font des choses comme fournir un prompteur de
-login, écouter les connexions réseau et garder une trace des activités
-de l'ordinateur.
-
-</chapt>
-<chapt> La Licence Publique Générale de GNU
-
-<p>
-<em>
-This is an unofficial translation of the GNU General Public License into
-french. It was not published by the Free Software Foundation, and does not
-legally state the distribution terms for software that uses the GNU
-GPL--only the original English text of the GNU GPL does that. However, we
-hope that this translation will help french speakers understand the GNU GPL
-better.
-</em>
-
-<p>
-Ceci est une traduction non officielle de la <em>GNU General Public
-License</em> en français. Elle n'a pas été publiée par la <em>Free
-Software Foundation</em>, et ne détermine pas les termes de distribution
-pour les logiciels qui utilisent la GNU GPL--seul le texte anglais
-original de la GNU GPL en a le droit. Cependant, nous espérons que
-cette traduction aidera les francophones à mieux comprendre la GPL.
-
-<p>
-Nous autorisons la FSF à apporter toute modification qu'elle jugera
-nécessaire pour rendre la traduction plus claire.
-
-<sect>
-GNU GENERAL PUBLIC LICENSE
-
-<p>
-Version 2, juin 1991
-
-<p>
-Copyright &copy 1989, 1991, Free Software Foundation Inc. 675 Mass Ave,
-Cambridge, MA02139, États-Unis.
-
-<p>
-Il est permis à tout le monde de reproduire et distribuer des copies
-conformes de ce document de licence, mais aucune modification ne doit y être
-apportée.
-
-<p>
-Préambule
-
-<p>
-Les licences relatives à la plupart des logiciels sont destinées
-à supprimer votre liberté de les partager et de les modifier. Par
-contraste, la licence publique générale <em>GNU General Public
-License</em> veut garantir votre liberté de partager et de modifier
-les logiciels libres, pour qu'ils soient vraiment libres pour tous
-leurs utilisateurs. La présente licence publique générale s'applique
-à la plupart des logiciels de la <em>Free Software Foundation</em>, ainsi
-qu'à tout autre programme dont les auteurs s'engagent à l'utiliser.
-(Certains autres logiciels sont couverts par la Licence Publique
-Générale pour Bibliothèques GNU à la place). Vous pouvez aussi
-l'appliquer à vos programmes.
-
-<p>
-Quand nous parlons de logiciels libres, nous parlons de liberté, non de
-gratuité. Nos licences publiques générales veulent vous garantir :
-
-<list>
-<item> que vous avez toute liberté de distribuer des copies des
-logiciels libres (et de facturer ce service, si vous le souhaitez) ;
-<item> que vous recevez les codes sources ou pouvez les obtenir si
-vous le souhaitez ;
-<item> que vous pouvez modifier les logiciels ou en utiliser des
-éléments dans de nouveaux programmes libres ;
-<item> et que vous savez que vous pouvez le faire.
-</list>
-
-<p>
-Pour protéger vos droits, nous devons apporter des restrictions, qui vont
-interdire à quiconque de vous dénier ces droits, ou de vous demander de vous
-en désister. Ces restrictions se traduisent par certaines responsabilités
-pour ce qui vous concerne, si vous distribuez des copies de logiciels, ou si
-vous les modifiez.
-
-<p>
-Par exemple, si vous distribuez des copies d'un tel programme, gratuitement
-ou contre une rémunération, vous devez transférer aux destinataires tous les
-droits dont vous disposez. Vous devez vous garantir qu'eux-mêmes, par
-ailleurs, reçoivent ou peuvent recevoir le code source. Et vous devez leur
-montrer les présentes dispositions, de façon qu'ils connaissent leurs
-droits.
-
-<p>
-Nous protégeons vos droits en deux étapes :
-
-<enumlist>
-<item> Nous assurons le droit d'auteur (<em>copyright</em>) du logiciel, et
-
-<item>Nous vous proposons cette licence, qui vous donne l'autorisation légale
- de dupliquer, distribuer et/ou modifier le logiciel.
-</enumlist>
-
-<p>
-De même, pour la protection de chacun des auteurs, et pour notre propre
-protection, nous souhaitons nous assurer que tout le monde comprenne qu'il
-n'y a aucune garantie portant sur ce logiciel libre. Si le logiciel est
-modifié par quelqu'un d'autre puis transmis à des tiers, nous souhaitons que
-les destinataires sachent que ce qu'ils possèdent n'est pas l'original, de
-façon que tous problèmes introduits par d'autres ne se traduisent pas par
-une répercussion négative sur la réputation de l'auteur original.
-
-<p>
-Enfin, tout programme libre est en permanence menacé par des brevets de
-logiciels. Nous souhaitons éviter le danger que des sous-distributeurs d'un
-programme libre obtiennent à titre individuel des licences de brevets, avec
-comme conséquence qu'ils ont un droit de propriété sur le programme. Pour
-éviter cette situation, nous avons fait tout ce qui est nécessaire pour que
-tous brevets doivent faire l'objet d'une concession de licence qui en
-permette l'utilisation libre par quiconque, ou bien qu'il ne soit pas
-concédé du tout.
-
-<p>
-Nous présentons ci-dessous les closes et dispositions concernant la
-duplication, la distribution et la modification.
-
-<p>
-Conditions d'exploitation portant sur la duplication, la distribution et la
-modification
-
-<enumlist>
-
-<item>
- Le présent contrat de licence s'applique à tout programme ou autre
- ouvrage contenant un avis, apposé par le détenteur du droit de
- propriété, disant qu'il peut être distribué au titre des
- dispositions de la présente Licence Publique Générale. Ci-après, le
- «&nbsp;Programme&nbsp;» désigne l'un quelconque de ces programmes ou
- ouvrages, et un «&nbsp;ouvrage fondé sur le programme&nbsp;» désigne
- soit le programme, soit un ouvrage qui en dérive au titre de la loi
- sur le droit d'auteur ; plus précisément, il s'agira d'un ouvrage
- contenant le programme ou une version de ce dernier, soit mot à mot,
- soit avec des modifications et/ou traduit en une autre langue
- (ci-après, le terme «&nbsp;modification&nbsp;» englobe, sans aucune
- limitation, les traductions qui en sont faites). Chaque titulaire de
- licence sera appelé «&nbsp;concessionnaire&nbsp;».
-<p>
- Les activités autres que la duplication, la distribution et la
- modification ne sont pas couvertes par la présente licence ; elles
- n'entrent pas dans le cadre de cette dernière. L'exécution du
- programme n'est soumise à aucune restriction, et les résultats du
- programme ne sont couverts que si son contenu constitue un ouvrage
- fondé sur le programme (indépendamment du fait qu'il a été réalisé
- par exécution du programme). La véracité de ce qui précède dépend
- de ce que fait le programme.
-
-<item>
- Le concessionnaire peut dupliquer et distribuer des copies mot
-à mot du code source du programme tel qu'il les reçoit, et ce sur un
- support quelconque, du moment qu'il appose, d'une manière
- parfaitement visible et appropriée, sur chaque exemplaire, un avis
- approprié de droits d'auteur (<em>Copyright</em>) et de renonciation
-à garantie ; qu'il maintient intacts tous les avis qui se rapportent
- à la présente licence et à l'absence de toute garantie ; et qu'il
- transmet à tout destinataire du programme un exemplaire de la
- présente licence en même temps que le programme.
-<p>
- Le concessionnaire peut facturer l'acte physique de transfert d'un
- exemplaire, et il peut, à sa discrétion, proposer en échange d'une
- rémunération une protection en garantie.
-
-<item>
- Le concessionnaire peut modifier son ou ses exemplaires du
- programme ou de toute portion de ce dernier, en formant ainsi un
- ouvrage fondé sur le programme, et dupliquer et distribuer ces
- modifications ou cet ouvrage selon les dispositions de la section 1
- ci-dessus, du moment que le concessionnaire satisfait aussi
-à toutes ces conditions :
-<list>
-<item> Le concessionnaire doit faire en sorte que les fichiers modifiés
- portent un avis, parfaitement visible, disant que le
- concessionnaire a modifié les fichiers, avec la date de tout
- changement.
-
-<item> Le concessionnaire doit faire en sorte que tout ouvrage qu'il
- distribue ou publie, et qui, en totalité ou en partie, contient le
- programme ou une partie quelconque de ce dernier ou en dérive,
- soit concédé en bloc, à titre gracieux, à tous tiers au titre des
- dispositions de la présente licence.
-
-<item> Si le programme modifié lit normalement des instructions
- interactives lors de son exécution, le concessionnaire doit, quand
- il commence l'exécution du programme pour une telle utilisation
- interactive de la manière la plus usuelle, faire en sorte que ce
- programme imprime ou affiche une annonce, comprenant un avis
- approprié de droits d'auteur, et un avis selon lequel il n'y a
- aucune garantie (ou autrement, que le concessionnaire fournit une
- garantie), et que les utilisateurs peuvent redistribuer le
- programme au titre de ces dispositions, et disant à l'utilisateur
- comment visualiser une copie de cette licence (exception : si le
- programme par lui-même est interactif mais n'imprime normalement
- pas une telle annonce, l'ouvrage du concessionnaire se fondant sur
- le programme n'a pas besoin d'imprimer une annonce).
-</list>
-
-<item>
- Les exigences ci-dessus s'appliquent à l'ouvrage modifié pris en
- bloc. Si des sections identifiables de cet ouvrage ne dérivent pas
- du programme et peuvent être considérées raisonnablement comme
- représentant des ouvrages indépendants et distincts par eux-mêmes,
- alors la présente licence, et ses dispositions, ne s'appliquent pas
- à ces sections quand le concessionnaire les distribue sous forme
- d'ouvrages distincts. Mais quand le concessionnaire distribue ces
- mêmes sections en tant qu'élément d'un tout qui représente un
- ouvrage se fondant sur le programme, la distribution de ce tout doit
- se faire conformément aux dispositions de la présente licence, dont
- les autorisations, portant sur d'autres concessionnaires, s'étendent
- à la totalité dont il est question, et ainsi à chacune de ces
- parties, indépendamment de celui qu'il a écrite.
-<p>
- Ainsi, cette section n'a pas pour but de revendiquer des droits ou
- de contester vos droits sur un ouvrage entièrement écrit par le
- concessionnaire ; bien plus, l'intention est d'exercer le droit de
- surveiller la distribution d'ouvrages dérivée ou collective se
- fondant sur le programme.
-<p>
- De plus, un simple assemblage d'un autre ouvrage ne se fondant pas
- sur le programme, avec le programme (ou avec un ouvrage se fondant
- sur le programme) sur un volume d'un support de stockage ou
- distribution, ne fait pas entrer l'autre ouvrage dans le cadre de la
- présente licence.
-
-<item>
- Le concessionnaire peut dupliquer et distribuer le programme (ou un
- ouvrage se fondant sur ce dernier, au titre de la Section 2), en
- code objet ou sous une forme exécutable, au titre des dispositions
- des Sections 1 et 2 ci-dessus, du moment que le concessionnaire
- effectue aussi l'une des opérations suivantes :
-<list>
-<item> Lui joindre le code source complet correspondant, exploitable par
- une machine, code qui doit être distribué au titre des Sections 1
- et 2 ci-dessus sur un support couramment utilisé pour l'échange de
- logiciels ; ou bien
-
-<item> Lui joindre une offre écrite, dont la validité se prolonge pendant
- au moins 3 ans, de transmettre à un tiers quelconque, pour un
- montant non supérieur au coût pour le concessionnaire, de
- réalisation physique de la distribution de la source, un
- exemplaire complet, exploitable par une machine, du code source
- correspondant, qui devra être distribué au titre des dispositions
- des Sections 1 et 2 ci-dessus sur un support couramment utilisé
- pour l'échange des logiciels ; ou bien
-
-<item> Lui joindre les informations que le concessionnaire a reçues, pour
- proposer une distribution du code source correspondant (cette
- variante n'est autorisée que pour la distribution non commerciale,
- et seulement si le concessionnaire a reçu le programme sous forme
- exécutable ou sous forme d'un code objet, avec une telle offre,
- conformément à l'alinéa b) ci-dessus).
-</list>
-<p>
- Le code source d'un ouvrage représente la forme préférée de
- l'ouvrage pour y effectuer des modifications. Pour un ouvrage
- exécutable, le code source complet représente la totalité du code
- source pour tous les modules qu'il contient, plus tous fichiers de
- définitions d'interface associés, plus les informations en code
- machine pour commander la compilation et l'installation du
- programme exécutable. Cependant, à titre d'exceptions spéciales, le
- code source distribué n'a pas besoin de comprendre quoi que ce soit
- qui est normalement distribué (sous forme source ou sous forme
- binaire) avec les composants principaux (compilateur, noyau de
- système d'exploitation, etc.) du système d'exploitation sur lequel
- est exécuté le programme exécutable, à moins que le composant, par
- lui-même, soit joint au programme exécutable.
-<p>
- Si la distribution de l?exécutable ou du code objet est réalisée de
- telle sorte qu'elle offre d'accéder à une copie à partir d'un lieu
- désigné, alors le fait d'offrir un accès équivalent à la
- duplication du code source à partir de ce même lieu s'entend comme
- distribution du code source, même si des tiers ne sont pas
- contraints de dupliquer la source en même temps que le code objet.
-
-<item>
- Le concessionnaire ne peut dupliquer, modifier, concéder en
- sous-licence ou distribuer le programme, sauf si cela est
- expressément prévu par les dispositions de la présente
- licence. Toute tentative pour autrement dupliquer, modifier,
- concéder en sous-licence ou distribuer le programme est répétée
- nulle, et met automatiquement fin aux droits du concessionnaire au
- titre de la présente licence. Cependant, les parties qui ont reçu
- des copies, ou des droits, de la part du concessionnaire au titre
- de la présente licence, ne verront pas expirer leur contrat de
- licence, tant que ces parties agissent d'une manière parfaitement
- conforme.
-
-<item>
- Il n'est pas exigé du concessionnaire qu'il accepte la présente
- licence, car il ne l'a pas signée. Cependant, rien d'autre
- n'octroie au concessionnaire l'autorisation de modifier ou de
- distribuer le programme ou ses ouvrages dérivés. Ces actions sont
- interdites par la loi si le concessionnaire n'accepte pas la
- présente licence. En conséquence, par le fait de modifier ou de
- distribuer le programme (ou un ouvrage quelconque se fondant sur le
- programme), le concessionnaire indique qu'il accepte la présente
- licence, et qu'il a la volonté de se conformer à toutes les closes
- et dispositions concernant la duplication, la distribution ou la
- modification du programme ou d'ouvrages se fondant sur ce dernier.
-
-<item>
- Chaque fois que le concessionnaire redistribue le programme (ou
- tout ouvrage se fondant sur le programme), le destinataire reçoit
- automatiquement une licence de l'émetteur initial de la licence,
- pour dupliquer, distribuer ou modifier le programme, sous réserve
- des présentes closes et dispositions. Le concessionnaire ne peut
- imposer aucune restriction plus poussée sur l'exercice, par le
- destinataire, des droits octroyés au titre des présentes. Le
- concessionnaire n'a pas pour responsabilité d'exiger que des tiers
- se conforment à la présente licence.
-
-<item>
- Si, en conséquence une décision de justice ou une allégation
- d'infraction au droit des brevets, ou pour toute autre raison (qui
- n'est pas limitée à des problèmes de propriétés industrielles), des
- conditions sont imposées au concessionnaire (par autorité de
- justice, par convention ou autrement), qui entrent en contradiction
- avec les dispositions de la présente licence, elles n'exemptent pas
- le concessionnaire de respecter les dispositions de la présente
- licence. Si le concessionnaire ne peut procéder à la distribution
- de façon à satisfaire simultanément à ces obligations au titre de
- la présente licence et à toutes autres obligations pertinentes,
- alors, en conséquence de ce qui précède, le concessionnaire peut ne
- pas procéder du tout à la distribution du programme. Par exemple,
- si une licence de brevet ne permettait pas une redistribution du
- programme, sans redevances, par tous ceux qui reçoivent des copies
- directement ou indirectement par l'intermédiaire du
- concessionnaire, alors le seul moyen par lequel le concessionnaire
- pourrait satisfaire tant à cette licence de brevet qu'à la présente
- licence, consisterait à s'abstenir complètement de distribuer le
- programme.
-<p>
- Si une partie quelconque de cette section est considérée comme
- nulle ou non exécutoire dans certaines circonstances particulières,
- le reste de cette section est réputé s'appliquer, et la section
- dans son ensemble est considérée comme s'appliquant dans les autres
- circonstances.
-<p>
- La présente section n'a pas pour objet de pousser le
- concessionnaire à enfreindre tous brevets ou autres revendications
- à droit de propriété, ou encore à contester la validité de une ou
- plusieurs quelconques de ces revendications ; la présente section a
- pour objet unique de protéger l'intégrité du système de
- distribution des logiciels libres, système qui est mis en oeuvre
- par les pratiques liées aux licences publiques. De nombreuses
- personnes ont apporté une forte contribution à la gamme étendue des
- logiciels distribués par ce système, en comptant sur l'application
- systématique de ce système ; c'est à l'auteur/donateur de décider
- s'il a la volonté de distribuer le logiciel par un quelconque autre
- système, et un concessionnaire ne peut imposer ce choix.
-<p>
- La présente section veut rendre parfaitement claire ce que l'on
- pense être une conséquence du reste de la présente licence.
-
-<item>
- Si la distribution et/ou l'utilisation du Programme est restreinte
- dans certains pays, sous l'effet de brevets ou d'interfaces
- présentant un droit d'auteur, le détenteur du droit d'auteur
- original, qui soumet le Programme aux dispositions de la présente
- licence, pourra ajouter une limitation expresse de distribution
- géographique excluant ces pays, de façon que la distribution ne
- soit autorisée que dans les pays ou parmi les pays qui ne sont pas
- ainsi exclus. Dans ce cas, la limitation fait partie intégrante de
- la présente licence, comme si elle était écrite dans le corps de la
- présente licence.
-<p>
- La <em>Free Software Foundation</em> peut, de temps à autre,
- publier des versions révisées et/ou nouvelles du <em>General Public
- License</em>. Ces nouvelles versions seront analogues, du point de
- vue de leur esprit, à la présente version, mais pourront en
- différer dans le détail, pour résoudre de nouveaux problèmes ou de
- nouvelles situations.
-<p>
- Chaque version reçoit un numéro de version qui lui est propre. Si
- le programme spécifie un numéro de version de la présente licence,
- qui s'applique à cette dernier et "à toute autre version
- ultérieure", le concessionnaire a le choix de respecter les closes
- et dispositions de cette version, ou une quelconque version
- ultérieure publiée par la <em>Free Software Foundation</em>. Si le programme
- ne spécifie pas de numéro de version de la présente licence, le
- concessionnaire pourra choisir une version quelconque publiée
-à tout moment par la <em>Free Software Foundation</em>.
-
-<item>
- Si le concessionnaire souhaite incorporer des parties du programme
- dans d'autres programmes libres dont les conditions de distribution
- sont différentes, il devrait écrire à l'auteur pour demander son
- autorisation. Pour un logiciel soumis à droit d'auteur par la <em>Free
- Software Foundation</em>, il devra écrire à la <em>Free Software Foundation</em>
- ; nous faisons quelquefois des exceptions à cette règle. Notre
- décision va être guidée par le double objectif de protéger le
- statut libre de tous les dérivés de nos logiciels libres, et de
- favoriser le partage et la réutilisation des logiciels en général.
-<p>
- ABSENCE DE GARANTIE
-
-<item>
- COMME LA LICENCE DU PROGRAMME EST CONCÉDÉE À TITRE GRATUIT, IL N'Y
- AUCUNE GARANTIE S'APPLIQUANT AU PROGRAMME, DANS LA MESURE AUTORISÉE
- PAR LA LOI EN VIGUEUR. SAUF MENTION CONTRAIRE ÉCRITE, LES
- DÉTENTEURS DU DROIT D'AUTEUR ET/OU LES AUTRES PARTIES METTENT LE
- PROGRAMME À DISPOSITION "EN L'ÉTAT", SANS AUCUNE GARANTIE DE QUELQUE
- NATURE QUE CE SOIT, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS
- LIMITATION, LES GARANTIES IMPLICITES DE COMMERCIALISATION ET DE
- L'APTITUDE À UN OBJET PARTICULIER. C'EST LE CONCESSIONNAIRE QUI
- PREND LA TOTALITÉ DU RISQUE QUANT A LA QUALITÉ ET AUX PERFORMANCES
- DU PROGRAMME. SI LE PROGRAMME SE RÉVÉLAIT DÉFECTUEUX, C'EST LE
- CONCESSIONNAIRE QUI PRENDRAIT À SA CHARGE LE COÛT DE L'ENSEMBLE DES
- OPÉRATIONS NÉCESSAIRES D'ENTRETIEN, RÉPARATION OU CORRECTION.
-
-<item>
- EN AUCUN CAS, SAUF SI LA LOI EN VIGUEUR L'EXIGE OU SI UNE
- CONVENTION ÉCRITE EXISTE À CE SUJET, AUCUN DÉTENTEUR DE DROITS
- D'AUTEUR, OU AUCUNE PARTIE AYANT LE POUVOIR DE MODIFIER ET/OU DE
- REDISTRIBUER LE PROGRAMME CONFORMÉMENT AUX AUTORISATIONS CI-DESSUS,
- N'EST RESPONSABLE VIS-À-VIS DU CONCESSIONNAIRE POUR CE QUI EST DES
- DOMMAGES, Y COMPRIS TOUS DOMMAGES GÉNÉRAUX, SPÉCIAUX, ACCIDENTELS
- OU INDIRECTS, RÉSULTANT DE L'UTILISATION OU DU PROGRAMME OU DE
- L'IMPOSSIBILITÉ D'UTILISER LE PROGRAMME (Y COMPRIS, MAIS SANS
- LIMITATION, LA PERTE DE DONNÉES, OU LE FAIT QUE DES DONNÉES SONT
- RENDUES IMPRÉCISES, OU ENCORE LES PERTES ÉPROUVÉES PAR LE
- CONCESSIONNAIRE OU PAR DES TIERS, OU ENCORE UN MANQUEMENT DU
- PROGRAMME À FONCTIONNER AVEC TOUS AUTRES PROGRAMMES), MÊME SI CE
- DÉTENTEUR OU CETTE AUTRE PARTIE A ÉTÉ AVISÉ DE LA POSSIBILITÉ DE
- TELS DOMMAGES.
-<p>
- FIN DES CONDITIONS D'EXPLOITATION
-<p>
- ------------------------------------------------------------------------
-</enumlist>
-
-</sect>
-
-
-<sect>Comment appliquer ces dispositions à vos nouveaux programmes?
-
-<p>
-Si le concessionnaire développe un nouveau programme, et s'il en souhaite
-l'utilisation la plus large possible dans le public, le meilleur moyen d'y
-arriver est d'en faire un logiciel libre, que tout le monde pourra
-redistribuer et modifier au titre des présentes dispositions.
-
-<p>
-Dans ce but, il convient de rattacher au programme les avis suivants. Le
-moyen le plus sûr consiste à les rattacher au début de chaque fichier
-source, pour avertir le plus efficacement possible de l'exclusion de
-garantie ; et chaque fichier doit comporter au moins la ligne <em>copyright</em>,
-et un pointeur indiquant où est localisée la totalité de l'avis.
-
-<p>
-Une ligne pour donner le nom du programme et une idée de ce qu'il fait.
-
-<p>
-<prgn>
-Copyright &copy 19yy nom de l'auteur
-</prgn>
-
-<p>
-<prgn>
-Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le
-modifier conformément aux dispositions de la Licence Publique Générale GNU,
-telle que publiée par la <em>Free Software Foundation</em> ; version 2 de la licence,
-ou encore (à votre choix) toute version ultérieure.
-</prgn>
-<p>
-<prgn>
-Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE
-GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou
-D'ADAPTATION A UN OBJET PARTICULIER. Pour plus de détail, voir la Licence
-Publique Générale GNU .
-</prgn>
-<p>
-<prgn>
-Vous devez avoir reçu un exemplaire de la Licence Publique Générale GNU en
-même temps que ce programme ; si ce n'est pas le cas, écrivez à la Free
-Software Foundation Inc., 675 Mass Ave, Cambridge, MA 02139, États-Unis.
-</prgn>
-<p>
-Ajoutez aussi des informations sur le moyen permettant d'entrer en contact
-avec vous par courrier électronique (e-mail) et courrier normal.
-
-<p>
-Si le programme est interactif, prévoyez en sortie un court avis, tel que
-celui qui est présenté ci-dessous, lors du démarrage en mode interactif.
-
-<p>
-<prgn>
-Gnomovision version 69, Copyright &copy 19 yy nom de l'auteur
-</prgn>
-<p>
-<prgn>
-Gnomovision est livré absolument SANS AUCUNE GARANTIE ; pour plus de
-détail, tapez «&nbsp;show w&nbsp;». Il s'agit d'un logiciel libre, et
-vous avez le droit de le redistribuer dans certaines conditions ; pour
-plus de détail, tapez «&nbsp;show c&nbsp;».
-</prgn>
-
-<p>
-Les instructions hypothétiques «&nbsp;show w&nbsp;» et «&nbsp;show
-c&nbsp;» doivent présenter les parties appropriées de la Licence
-Publique Générale. Bien évidemment, les instructions que vous utilisez
-peuvent porter d'autres noms que «&nbsp;show w&nbsp;» et «&nbsp;show
-c&nbsp;» ; elles peuvent même correspondre à des clics de souris ou
-à des éléments d'un menu, selon ce qui convient à votre programme.
-<p>
-Si nécessaire, vous devrez aussi demander à votre employeur (si vous
-travaillez en tant que programmeur) ou à votre éventuelle école ou
-université, de signer une "renonciation à droit d'auteur" concernant le
-programme. En voici un échantillon (il suffit de modifier les noms) :
-<p>
-<prgn>
-Yoyodyne, Inc., par la présente, renonce à tout intérêt de droits
-d'auteur dans le programme «&nbsp;Gnomovision&nbsp;» (qui fait des
-passages au niveau des compilateurs) écrit par James Hacker.
-</prgn>
-<p>
-<prgn>
-Signature de Ty Coon, 1er avril 1989
-</prgn>
-<p>
-<prgn>
-Ty Coon, President of Vice
-</prgn>
-<p>
-La présente Licence Publique Générale n'autorise pas le concessionnaire
-à incorporer son programme dans des programmes propriétaires. Si votre
-programme est une bibliothèque de sous-programmes, vous pouvez considérer
-comme plus intéressant d'autoriser une édition de liens des applications
-propriétaires avec la bibliothèque. Si c'est ce que vous souhaitez, vous
-devrez utiliser non pas la présente licence, mais la Licence Publique
-Générale pour Bibliothèques GNU.
-</sect>
-
-</chapt></book>
diff --git a/french/international/french/translations/debian_package_intro.html/b414.html b/french/international/french/translations/debian_package_intro.html/b414.html
deleted file mode 100644
index dcfb06eca33..00000000000
--- a/french/international/french/translations/debian_package_intro.html/b414.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
-> Quelques livres d'introduction sur la programmation sous
- Linux/Unix
- </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Pour plus d'informations"
-HREF="c400.html"><LINK
-REL="PREVIOUS"
-TITLE="Pour plus d'informations"
-HREF="c400.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c400.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
->&nbsp;</TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN414"
-> Quelques livres d'introduction sur la programmation sous
- Linux/Unix
- </A
-></H1
-><P
-><I
-> Beginning Linux Programming
- </I
->, Matthew
- et Stones
- , <SPAN
-CLASS="PUBDATE"
-> 1996
- </SPAN
->, <SPAN
-CLASS="PUBLISHERNAME"
-> Wrox Press
- </SPAN
->, ISBN: 1874416680
- .</P
-><P
-><I
-> Programming With GNU Software
- </I
->, Loukides
- et Oram
- , <SPAN
-CLASS="PUBLISHERNAME"
-> O'Reilly &#38; Associates
- </SPAN
->, <SPAN
-CLASS="PUBDATE"
-> 1996
- </SPAN
->, ISBN: 1-56592-112-7
- .</P
-><P
-><I
-> The Unix Programming Environment
- </I
->, Kernighan
- et Pike
- , <SPAN
-CLASS="PUBLISHERNAME"
-> Prentice-Hall Inc.
- </SPAN
->, <SPAN
-CLASS="PUBDATE"
-> 1984
- </SPAN
->, ISBN: 0-13-937681-x
- .</P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c400.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Pour plus d'informations</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c400.html"
->Supérieur</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.html/book1.html b/french/international/french/translations/debian_package_intro.html/book1.html
deleted file mode 100644
index 3f1a646172c..00000000000
--- a/french/international/french/translations/debian_package_intro.html/book1.html
+++ /dev/null
@@ -1,179 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
-> Créer un paquet Debian
- </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="NEXT"
-TITLE=" Note du traducteur
- "
-HREF="f13.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="BOOK"
-><H1
-CLASS="TITLE"
-><A
-NAME="AEN2"
->Créer un paquet Debian</A
-></H1
-><H3
-CLASS="AUTHOR"
-> Jaldhar
- Vyas
- </H3
-><H4
-CLASS="AFFILIATION"
-></H4
->et Frédéric
- Dumont
- <HR><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table des matières</B
-></DT
-><DT
-><A
-HREF="f13.html"
->Note du traducteur</A
-></DT
-><DT
->1. <A
-HREF="c19.html"
->Introduction et premiers pas</A
-></DT
-><DT
->2. <A
-HREF="c95.html"
->Création du paquet</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="c95.html#AEN142"
->control</A
-></DT
-><DT
-><A
-HREF="c95190.html"
->Makefile</A
-></DT
-><DT
-><A
-HREF="c95211.html"
->rules</A
-></DT
-><DT
-><A
-HREF="c95223.html"
->dirs</A
-></DT
-><DT
-><A
-HREF="c95230.html"
->copyright</A
-></DT
-><DT
-><A
-HREF="c95236.html"
->README.debian</A
-></DT
-><DT
-><A
-HREF="c95241.html"
->changelog</A
-></DT
-><DT
-><A
-HREF="c95264.html"
->conffiles</A
-></DT
-><DT
-><A
-HREF="c95267.html"
->*.ex</A
-></DT
-></DL
-></DD
-><DT
->3. <A
-HREF="c364.html"
->Construction</A
-></DT
-><DT
->4. <A
-HREF="c400.html"
->Pour plus d'informations</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="b414.html"
->Quelques livres d'introduction sur la programmation sous
- Linux/Unix</A
-></DT
-></DL
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="f13.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Note du traducteur</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.html/c19.html b/french/international/french/translations/debian_package_intro.html/c19.html
deleted file mode 100644
index 6e52197aa4d..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c19.html
+++ /dev/null
@@ -1,345 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
-> Introduction et premiers pas
- </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="PREVIOUS"
-TITLE=" Note du traducteur
- "
-HREF="f13.html"><LINK
-REL="NEXT"
-TITLE=" Création du paquet
- "
-HREF="c95.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="f13.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c95.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN19"
->Chapitre 1. Introduction et premiers pas
- </A
-></H1
-><P
-> Ce qui fait de Debian une distribution de si haut niveau est,
- entre autre, son système de paquet. Bien qu'il y aie une grande
- quantité de logiciels disponibles au format Debian, il est
- parfois nécessaire d'installer des logiciels qui ne le sont
- pas. Vous vous êtes peut-être demandé comment faire vos propres
- paquets, et vous pensez que c'est difficile. J'ai moi-même (NdT
- : c'est l'auteur qui parle, pas moi) commencé à travailler avec
- les paquets Debian, et j'ai été plaisamment surpris de la
- facilité de la tâche. Vous devez avoir quelques connaissances
- sur la programmation Unix, mais vous ne devez pas être un
- gourou.
- </P
-><P
-> C'est la seconde version (NdT : et la première version
- française) de cet article. Rien ne reste fixe très longtemps
- dans le monde Debian, aussi ai-je fait certains changements
- importants pour rester à jour. J'ai également inclus certains
- conseils repris des mailing-lists des Utilisateurs et
- Développeurs Debian, ou suggérés par les lecteurs.
- </P
-><P
-> Avant de commencer, vous aurez besoin d'installer et de
- configurer les paquets suivants. Je suppose que vous utilisez
- Hamm, la distribution "instable" de Debian. Dans ce contexte,
- "instable" signifie "en cours de développement". Hamm deviendra
- la prochaine version (2.0) de Debian.
- </P
-><P
-> Les paquets suivants sont disponibles dans la section devel de la
- distribution.
- </P
-><P
-></P
-><DL
-><DT
->binutils</DT
-><DD
-><P
-> Les programmes de ce paquet sont utilisés pour assembler
- et lier les fichiers objets -- les trucs dont sont faits
- les programmes.
- </P
-></DD
-><DT
->gcc</DT
-><DD
-><P
-> C'est le compilateur C de GNU. La plupart des programmes
- pour Linux sont écrits en C.
- </P
-></DD
-><DT
->libc6-dev</DT
-><DD
-><P
-> Ce sont les librairies C et les fichiers d'entête dont gcc
- a besoin pour créer les fichiers objets. Au moment ou
- j'écris, Debian est en transition entre libc5 et
- libc6. Tous les nouveaux paquets devraient être créés en
- utilisant libc6. Pour des instructions sur la façon de
- passer à libc6, lisez le
- <A
-HREF="http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.html"
-TARGET="_top"
-> mini-HOWTO
- </A
->
- de Scott Ellis.
- </P
-></DD
-><DT
->libg++272</DT
-><DD
-><P
-> Les librairies C++. fakeroot en a besoin.
- </P
-></DD
-><DT
->make</DT
-><DD
-><P
-> En général, la création d'un programme se fait en
- plusieurs étapes. Plutôt que de taper encore et encore les
- mêmes commandes, vous pouvez utiliser make pour
- automatiser le processus.
- </P
-></DD
-><DT
->fakeroot</DT
-><DD
-><P
-> Comme le nom le suggère, ce programme simule le statut de
- root nécessaire pour une partie de la création. Bien qu'en
- cours de développement, fakeroot est
- utilisable. Auparavant, il fallait un accès root ou un
- programme comme sudo, mais ceci est plus facile et devrait
- être plus sûr.
- </P
-></DD
-></DL
-><P
-> Le paquet suivant est dans la section interpreters de la distribution
- </P
-><P
-></P
-><DL
-><DT
->cpp</DT
-><DD
-><P
-> Le pré-processeur C.
- </P
-></DD
-></DL
-><P
-> Les paquets suivants sont dans la section utils de la distribution.
- </P
-><P
-></P
-><DL
-><DT
->cpio</DT
-><DD
-><P
-> C'est un archiveur comme tar ou zip. Requis par dpkg-dev.
- </P
-></DD
-><DT
->file</DT
-><DD
-><P
-> Ce programme bien utile détermine le type d'un
- fichier. Requis par dpkg-dev.
- </P
-></DD
-><DT
->debmake</DT
-><DD
-><P
-> C'est un ensemble de plus haut niveau pour la création de
- paquets Debian. Vous n'en avez pas vraiment besoin, mais
- je le recommande. Il rend le processus nettement plus
- simple, surtout pour les débutants. Nous utiliserons
- debmake pour créer notre exemple de paquet.
- </P
-></DD
-><DT
->dpkg-dev</DT
-><DD
-><P
-> Ce paquet contient les outils nécessaire pour créer les
- archives Debian. Il contient également les manuels du
- Programmeur Debian et de Programmation de dpkg (NdT :
- vérifier la traduction française du titre, en supposant
- que cette traduction existe).
- </P
-></DD
-><DT
->devscript</DT
-><DD
-><P
-> Ce paquet est un compagnon de debmake et contient des
- scripts utiles pour la création et la maintenance des
- paquets.
- </P
-></DD
-><DT
->patch</DT
-><DD
-><P
-> patch prend un fichier contenant la liste des différences
- produites par le programme diff, et l'applique à un
- original, produisant la version patchée.
- </P
-></DD
-></DL
-><P
-> Les paquets suivants sont dans la section doc de la distribution.
- </P
-><P
-></P
-><DL
-><DT
->debian-policy</DT
-><DD
-><P
-> Il s'agit de la source d'information définitive concernant
- la création de paquet Debian. Si vous constatez la moindre
- différence entre le manuel des normes et cet article, le
- manuel des normes est la référence.
- </P
-></DD
-><DT
->developers-reference</DT
-><DD
-><P
-> Des informations pour les personnes désirant devenir des
- développeurs Debian officiels.
- </P
-></DD
-></DL
-><P
-> Vous aurez aussi besoin du paquet de cryptage pgp, pour signer
- votre paquet. Ceci est particulièrement important si vous
- désirez distribuer votre paquet à d'autres personnes. Cependant,
- à cause d'une loi américaine, vous ne pouvez pas le télécharger
- depuis le miroir ftp Debian le plus proche. Par contre, le site
- ftp contient à la racine un fichier nomme README.non-us qui vous
- dira comment obtenir une copie de pgp.
- </P
-><P
-> Cette description que j'ai donnée ci-dessus ne sert que
- d'introduction à ce que chaque paquet fait. Avant de continuer,
- consultez attentivement la documentation de chaque
- programme. Cela semble lourd a priori, mais plus tard vous serez
- content de l'avoir fait.
- </P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="f13.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c95.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Note du traducteur</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Création du paquet</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.html/c364.html b/french/international/french/translations/debian_package_intro.html/c364.html
deleted file mode 100644
index 0b67e2d2a87..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c364.html
+++ /dev/null
@@ -1,253 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
->Construction</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="PREVIOUS"
-TITLE=" *.ex
- "
-HREF="c95267.html"><LINK
-REL="NEXT"
-TITLE="Pour plus d'informations"
-HREF="c400.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c95267.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c400.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN364"
->Chapitre 3. Construction</A
-></H1
-><P
-> Nous sommes enfin prêt pour la création du paquet.
- </P
-><P
-> Allez dans le répertoire principale d'Empire et lancez build
- <PRE
-CLASS="SCREEN"
-> <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->cd ..</B
-></TT
->
- <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->build</B
-></TT
->
- </PRE
->
- </P
-><P
-> Si vous avez fait des erreurs et que build échoue, et que vous
- essayez encore, vous pouvez rencontrer un petit problème. La
- deuxième fois que vous lancez build, vous pouvez avoir un
- message d'erreur comme ceci :
- <PRE
-CLASS="PROGRAMLISTING"
-> dpkg-source: unrepresentable changes to source
- </PRE
->
- </P
-><P
-> Cette erreur apparaît quand le paquet n'a pas été correctement
- nettoyé. Soyez sûr que le but clean du makefile de l'application
- retire tous les fichiers inutiles. Si nous relisons le makefile
- d'Empire, nous voyons que clean n'efface pas l'exécutable
- empire. clobber le fait à la place (lignes 79-84). Aussi nous
- changeons la ligne 17 du fichier rules en :
- <PRE
-CLASS="PROGRAMLISTING"
-> 17 -make clobber
- </PRE
->
- </P
-><P
-> Quand build a fini avec succès, remontez d'un répertoire :
- <PRE
-CLASS="SCREEN"
-> <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->cd ..</B
-></TT
->
- </PRE
->
- </P
-><P
-> Vous verrez quatre nouveaux fichiers
- <P
-></P
-><DL
-><DT
->empire_1.1-2_i386.deb</DT
-><DD
-><P
-> est le paquet Debian complet. Vous pouvez utiliser dpkg
- ou dselect pour l'installer ou le retirer comme
- n'importe quel autre paquet.
- </P
-></DD
-><DT
->empire_1.1-2_i386.changes</DT
-><DD
-><P
-> Au fur et à mesure que vous travaillez sur un paquet,
- son comportement va changer et de nouvelles capacités
- seront ajoutées. Les personnes qui téléchargent votre
- paquet peuvent regarder ce fichier et voir ce qui a
- changé. Le fichier est généré à partir de
- empire-1.1/debian/changelog. Il contient aussi la liste
- des fichiers du paquet. Les longues chaînes de
- caractères sont les sommes MD5 du fichier. Une personne
- qui télécharge vos fichiers peut les tester avec le
- programme md5sum (voir la page de manuel) et si les
- numéros ne correspondent pas, elle saura que le fichier
- est corrompu ou modifié.
- </P
-></DD
-><DT
->empire_1.1.orig.tar.gz</DT
-><DD
-><P
-> Ceci est le source original empaqueté de sorte que si
- quelqu'un veut recréer votre paquet depuis le début, il
- peut.
- </P
-></DD
-><DT
->empire_1.1-2.dsc</DT
-><DD
-><P
-> Ceci est un résumé du contenu du code source. Ce fichier
- est généré à partir du fichier
- empire-1.1/debian/control.
- </P
-></DD
-></DL
->
- </P
-><P
-> Et voilà. Vous êtes maintenant l'heureux créateur d'une nouvelle
- archive Debian. Il reste encore beaucoup de travail à faire
- avant d'être totalement conforme aux normes Debian (voyez le
- Manuel des Normes pour plus de détails). Avec un peu de chance,
- cette introduction vous aura montré que le processus complet
- n'est pas aussi dur que beaucoup le pensent.
- </P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c95267.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c400.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->*.ex</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Pour plus d'informations</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.html/c400.html b/french/international/french/translations/debian_package_intro.html/c400.html
deleted file mode 100644
index 46becfe0a2f..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c400.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
->Pour plus d'informations</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="PREVIOUS"
-TITLE="Construction"
-HREF="c364.html"><LINK
-REL="NEXT"
-TITLE=" Quelques livres d'introduction sur la programmation sous
- Linux/Unix
- "
-HREF="b414.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c364.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="b414.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN400"
->Chapitre 4. Pour plus d'informations</A
-></H1
-><DIV
-CLASS="FORMALPARA"
-><P
-><B
-> L'aide spécifique à Debian
- . </B
-> <P
-></P
-><UL
-><LI
-><P
-> Lisez toute la documentation dans /usr/doc/dpkg,
- /usr/doc/debian, /usr/doc/debmake (surtout
- README.debian.gz) et les pages de manuel pour tous les
- programmes mentionnés dans cet article.
- </P
-></LI
-><LI
-><P
-> En joignant la mailing list Debian Mentor
- (debian-mentors@lists.debian.org), vous pourrez faire
- équipe avec des développeurs Debian expérimentés qui
- seront heureux de répondre à vos questions. Vous pouvez
- vous inscrire
- <A
-HREF="mailto:debian-mentors-requests@lists.debian.org"
-TARGET="_top"
-> ici
- </A
->.
- </P
-></LI
-><LI
-><P
-> Si vous avez encore des questions, demandez sur la
- mailing list Debian Developers
- (debian-devel@lists.debian.org). Vous pouvez vous
- inscrire
- <A
-HREF="mailto:debian-devel-requests@lists.debian.org"
-TARGET="_top"
-> ici
- </A
->.
- </P
-></LI
-></UL
->
- </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c364.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="b414.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Construction</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Quelques livres d'introduction sur la programmation sous
- Linux/Unix</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.html/c95.html b/french/international/french/translations/debian_package_intro.html/c95.html
deleted file mode 100644
index 4f14899ac10..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c95.html
+++ /dev/null
@@ -1,575 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
-> Création du paquet
- </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="PREVIOUS"
-TITLE=" Introduction et premiers pas
- "
-HREF="c19.html"><LINK
-REL="NEXT"
-TITLE="Makefile"
-HREF="c95190.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c19.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c95190.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN95"
->Chapitre 2. Création du paquet
- </A
-></H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table des matières</B
-></DT
-><DT
-><A
-HREF="c95.html#AEN142"
->control</A
-></DT
-><DT
-><A
-HREF="c95190.html"
->Makefile</A
-></DT
-><DT
-><A
-HREF="c95211.html"
->rules</A
-></DT
-><DT
-><A
-HREF="c95223.html"
->dirs</A
-></DT
-><DT
-><A
-HREF="c95230.html"
->copyright</A
-></DT
-><DT
-><A
-HREF="c95236.html"
->README.debian</A
-></DT
-><DT
-><A
-HREF="c95241.html"
->changelog</A
-></DT
-><DT
-><A
-HREF="c95264.html"
->conffiles</A
-></DT
-><DT
-><A
-HREF="c95267.html"
->*.ex</A
-></DT
-></DL
-></DIV
-><P
-> Maintenant que vous avez installé les bons paquets et lu la
- documentation, vous êtes prêt à commencer. Comme exemple, nous
- allons créer un paquet Debian pour empire. Il s'agit d'un jeu de
- stratégie où vous créez un empire.
- </P
-><P
-> La première chose à faire est de télécharger le paquet
- original. Sunsite est le plus grand miroir Linux que je
- connaisse, aussi ai-je cherché dans mon miroir sunsite local et
- l'ai trouvé
- <A
-HREF="http://www.cdrom.com/pub/linux/sunsite/games/strategy/empire.tar.gz"
-TARGET="_top"
-> ici
- </A
->.
- </P
-><P
-> Il y a deux types de paquets que vous pouvez faire, source et
- binaire. Un paquet source contient le code que vous pouvez
- compiler en un programme. Un paquet binaire contient juste le
- programme fini. Si vous désirez contribuer un paquet à la
- distribution Debian officielle, il doit venir avec des sources
- librement utilisables. Consultez le
- <A
-HREF="https://www.debian.org/social_contract.html#guidelines"
-TARGET="_top"
-> Contrat social de Debian
- </A
->
- (NdT : le lire pour trouver la
- traduction exacte des Guidelines...) pour les détails
- exacts. Empire est disponible en source donc on pourra faire des
- paquets source et binaire.
- </P
-><P
-> debmake veut que les sources soient dans un répertoire nommé
- &#60;nom_paquet&#62;-&#60;numéro_version&#62;, aussi créons un
- répertoire empire-1.1 et décompressons le fichier .tgz dedans
- (j'ai eu le numéro de version du fichier lsm qui vient avec
- chaque programme chargé sur sunsite).
- <PRE
-CLASS="SCREEN"
-> <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->mkdir empire-1.1</B
-></TT
->
- <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->mv empire.tar.gz empire-1.1</B
-></TT
->
- <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->cd empire-1.1</B
-></TT
->
- <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->tar -xvzf empire.tar.gz</B
-></TT
->
- </PRE
->
- et si tout va bien
- <PRE
-CLASS="SCREEN"
-> <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->rm empire.tar.gz</B
-></TT
->
- </PRE
->
- </P
-><P
-> Quand vous lancez deb-make, certaines informations sont
- utilisées. L'une d'entre elles est votre adresse email qui sera
- inclue dans le paquet de sorte que les gens peuvent vous
- contacter si ils ont des problèmes. Si vous voulez utiliser une
- autre adresse que l'adresse actuelle, mettez la dans la variable
- d'environnement EMAIL avant de lancer deb-make, comme ceci :
- <PRE
-CLASS="SCREEN"
-> <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->export EMAIL=jaldhar@debian.org</B
-></TT
->
- </PRE
->
- </P
-><P
-> Il vous sera demandé le genre de paquet que vous voulez générer.
- </P
-><P
-></P
-><DL
-><DT
->single</DT
-><DD
-><P
-> Choisissez ceci pour créer un paquet unique.
- </P
-></DD
-><DT
->multiple</DT
-><DD
-><P
-> Choisissez ceci pour créer plusieurs .deb à partir d'un
- seul ensemble de code source. L'un des intérêts est de
- diviser un paquet très gros en plus petites pièces de
- sorte que les utilisateurs peuvent choisir ce qu'ils
- installent.
- </P
-></DD
-><DT
->library</DT
-><DD
-><P
-> Choisissez ceci pour créer au moins deux .deb, l'un avec
- la librairie dans /usr/lib,
- l'autre,&#60;nom_lib&#62;-dev_&#60;version_lib&#62;.deb, avec
- la documentation et les fichiers entêtes.
- </P
-></DD
-></DL
-><P
-> Maintenant, lançons deb-make et choisissons l'option single.
- <PRE
-CLASS="SCREEN"
-> <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->deb-make</B
-></TT
->
- </PRE
->
- </P
-><P
-> Quand deb-make a fini, si vous tapez cd .., vous constatez qu'un
- nouveau répertoire a été créé, nommé empire-1.1.orig, qui
- contient le code source original et qui ne sera par la suite
- plus modifié. Le répertoire empire-1.1 existe toujours. C'est
- là que seront fait les changements. Il y a un nouveau répertoire
- nommé debian. Examinez-le.
- <PRE
-CLASS="SCREEN"
-> <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->cd empire-1.1/debian</B
-></TT
->
- </PRE
->
- </P
-><P
-> Il y a plusieurs fichiers dans ce répertoire. Nous allons les
- éditer pour configurer le comportement du paquet.
- </P
-><H1
-><A
-NAME="AEN142"
->control</A
-></H1
-><P
-> Ce fichier contient les valeurs que dpkg et dselect utilisent
- pour gérer le paquet. Voici ce que deb-make a créé pour nous :
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 Source: empire
- 2 Section: unknown
- 3 Priority: extra
- 4 Maintainer: Jaldhar H. Vyas &#60;jaldhar@debian.org&#62;
- 5 Standards-Version: 2.3.0.0
- 6
- 7 Package: empire
- 8 Architecture: any
- 9 Depends: ${shlibs:Depends}
- 10 Description: Missing
- 11 Missing
- </PRE
->
- (j'ai ajouté les numéros de lignes)
- </P
-><P
-> Les lignes 1-5 sont les informations de contrôle du paquet
- source. La ligne 1 est le nom du paquet source.
- </P
-><P
-> La ligne 2 est la section du paquet. Changeons la en games.
- </P
-><P
-> La ligne 3 indique à quel point il est important que
- l'utilisateur installe ce paquet. Comme, hélas, notre jeu
- n'est vraiment pas important, nous pouvons le laisser en
- extra. La section et la priorité sont en fait uniquement
- utilisés par dselect quand il trie les paquets et sélectionne
- par défaut. Lisez le manuel des normes pour des indications
- sur les valeurs à mettre.
- </P
-><P
-> La ligne 4 est le nom et l'adresse email du responsable.
- </P
-><P
-> La ligne 5 est la version du standard des Normes Debian que ce
- paquet suit.
- </P
-><P
-> Les lignes 7-11 concernent le paquet binaire.
- </P
-><P
-> La ligne 7 est le nom du paquet binaire.
- </P
-><P
-> La ligne 8 décrit l'architecture CPU pour laquelle ce paquet a
- été compilé. Nous pouvons y laisser n'importe quoi car
- <B
-CLASS="COMMAND"
->dpkg-gencontrol(1)</B
-> y mettra la valeur appropriée.
- </P
-><P
-> La ligne 9 montre un des grands points forts du système de paquet
- Debian. Les paquets peuvent être liés aux autres d'une manière ou
- d'une autre. Outre les Depends, les autres relations sont
- Recommands, Suggests, Pre-depends, Conflicts, Provides et
- Replaces. Voici ce qu'ils signifient :
- <P
-></P
-><DL
-><DT
->Depends</DT
-><DD
-><P
-> dpkg et dselect n'installeront votre paquet que si le
- paquet duquel il dépend est installé. Utilisez cette
- relation si votre programme ne tourne que si un autre
- paquet est présent.
- </P
-></DD
-><DT
->Recommends</DT
-><DD
-><P
-> dselect n'installera votre paquet que si le paquet
- recommandé est installé. dpkg vous laissera
- l'installer sans restriction. Utilisez ceci pour les
- paquets qui ne sont pas vraiment nécessaires, mais qui
- sont souvent utilisés avec votre programme.
- </P
-></DD
-><DT
->Suggests</DT
-><DD
-><P
-> quand un utilisateur installe votre programme, dselect
- lui demandera s'il doit installer les paquets
- suggérés. dpkg ne s'en soucie pas. Utilisez ceci pour
- les paquets qui fonctionnent bien avec votre
- programme, mais qui ne sont pas nécessaires.
- </P
-></DD
-><DT
->Pre-depends</DT
-><DD
-><P
-> Cette relation est plus forte que Depends. dpkg et
- dselect n'installeront votre programme que si les
- paquets dont il pré-dépend sont installés et
- correctement configurés. N'utilisez ceci que rarement,
- et toujours après en avoir discuté sur la mailing-list
- debian-devel.
- </P
-></DD
-><DT
->Conflicts</DT
-><DD
-><P
-> ni dpkg ni dselect n'installeront votre programme
- à moins que chaque paquet avec lequel il est en conflit
- n'ait été retiré.
- </P
-></DD
-><DT
->Provides</DT
-><DD
-><P
-> Pour certains types de paquets, lorsque de multiples
- versions sont disponibles, des noms virtuels ont été
- définis. La liste complète est dans
- usr/doc/debian-policy/virtual-package-names-list.text.gz.
- Utilisez ceci si votre programme fourni un paquet
- virtuel.
- </P
-></DD
-><DT
->Replaces</DT
-><DD
-><P
-> Utilisez ceci quand votre programme remplace un autre
- paquet. dpkg et dselect retirerons le paquet remplacé
- avant d'installer le votre.
- </P
-></DD
-></DL
->
- </P
-><P
-> Ces champs ont une même syntaxe. C'est une liste de noms de
- paquets séparés par des virgules. Les noms de paquets peuvent
- être aussi une liste de noms alternatifs de paquets, séparés
- par une barre verticale |. Le champs peut être restreint à des
- versions particulières pour chaque nom de paquet. On l'indique
- entre parenthèses après chaque nom de paquet. Les parenthèses
- contiennent l'une des relations suivantes, suivie par un
- numéro de version : &#60;&#60;, &#60;=, =, &#62;=, &#62;&#62;. Les
- relations signifient, dans l'ordre, strictement plus vieux,
- plus vieux ou égal, égal, plus récent ou égal, strictement
- plus récent. La dernière capacité que je veux vous montrer est
- $(shlibs:Depends). Ce champs sera automatiquement rempli par
- debmake avec les noms de toutes les librairies partagées
- (DLLs) telles que libc6, utilisées par le programme, de sorte
- que vous n'avez pas à les indiquer vous-même. Une fois ceci
- dit, vous pouvez laisser la ligne 9 telle quelle, car Empire
- ne dépend d'aucun autre paquet.
- </P
-><P
-> La ligne 10 est la description courte. La plupart des gens ont des
- écrans texte de 80 caractères de long, aussi cela ne devrait pas
- dépasser les 50 caractères. Changeons le en "an empire-building
- strategy game".
- </P
-><P
-> La ligne 11 est la description longue. Ce devrait être un
- paragraphe qui donne plus de détail sur le paquet. La première
- colonne de chaque ligne doit être vide. Il ne doit pas y avoir
- de ligne vide. Mettez un . dans la deuxième colonne pour
- simuler une ligne vide.
- </P
-><P
-> Voici la nouvelle version du fichier de contrôle :
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 Source: empire
- 2 Section: games
- 3 Priority: extra
- 4 Maintainer: Jaldhar H. Vyas &#60;jaldhar@debian.org&#62;
- 5 Standards-Version: 2.3.0.0
- 6
- 7 Package: empire
- 8 Architecture: any
- 9 Depends: ${shlibs:Depends}
- 10 Description: an empire-building strategy game
- 11 A solitaire empire game (sometimes called 'VMS Empire'), colorized and
- 11a speed tuned and with a save-interval option.
- 11b .
- 11c In this game a player has to try to build and defend an empire.
- </PRE
->
- </P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c19.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c95190.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Introduction et premiers pas</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Makefile</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
diff --git a/french/international/french/translations/debian_package_intro.html/c95190.html b/french/international/french/translations/debian_package_intro.html/c95190.html
deleted file mode 100644
index d7ace71283f..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c95190.html
+++ /dev/null
@@ -1,353 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
->Makefile</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="UP"
-TITLE=" Création du paquet
- "
-HREF="c95.html"><LINK
-REL="PREVIOUS"
-TITLE=" Création du paquet
- "
-HREF="c95.html"><LINK
-REL="NEXT"
-TITLE="rules"
-HREF="c95211.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c95.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapitre 2. Création du paquet</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c95211.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN190"
->Makefile</A
-></H1
-><P
-> Quittons un instant le répertoire debian et remontons d'un
- répertoire pour examiner le fichier Makefile de Empire. C'est
- le fichier que <B
-CLASS="COMMAND"
->make(1)</B
-> utilisera pour
- générer le programme automatiquement.
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 # %W% %G% %U% - (c) Copyright 1987, 1988 Chuck Simmons
- 2
- 3 #
- 4 # Copyright (C) 1987, 1988 Chuck Simmons
- 5 #
- 6 # See the file COPYING, distributed with empire, for restriction
- 7 # and warranty information.
- 8
- 9 # Change the line below for your system. If you are on a Sun or Vax,
- 10 # you may want BSD.
- 11
- 12 SYS = BSD
- 13 #SYS = SYSV
- 14
- 15 # Use -g to compile the program for debugging.
- 16
- 17 DEBUG = -g -DDEBUG
- 18 #DEBUG = -O
- 19
- 20 # Use -p to profile the program.
- 21 #PROFILE = -p -DPROFILE
- 22 PROFILE =
- 23
- 24 # Define all necessary libraries. 'curses' is necessary. 'termcap'
- 25 # is needed on BSD systems.
- 26 LIBS = -ldcurses
- 27 #LIBS = -lcurses -ltermcap
- 28
- 29 # You shouldn't have to modify anything below this line.
- 30
- 31 CFLAGS = $(DEBUG) $(PROFILE) -D$(SYS)
- 32 INS = /etc/install
- 33
- 34 FILES = \
- 35 attack.c \
- 36 compmove.c \
- 37 data.c \
- 38 display.c \
- 39 edit.c \
- 40 empire.c \
- 41 game.c \
- 42 main.c \
- 43 map.c \
- 44 math.c \
- 45 object.c \
- 46 term.c \
- 47 usermove.c \
- 48 util.c
- 49
- 50 HEADERS = empire.h extern.h
- 51
- 52 OFILES = \
- 53 attack.o \
- 54 compmove.o \
- 55 data.o \
- 56 display.o \
- 57 edit.o \
- 58 empire.o \
- 59 game.o \
- 60 main.o \
- 61 map.o \
- 62 math.o \
- 63 object.o \
- 64 term.o \
- 65 usermove.o \
- 66 util.o
- 67
- 68 all: empire
- 69
- 70 empire: $(OFILES)
- 71 $(CC) $(PROFILE) -o empire $(OFILES) $(LIBS)
- 72
- 73 TAGS: $(HEADERS) $(FILES)
- 74 etags $(HEADERS) $(FILES)
- 75
- 76 lint: $(FILES)
- 77 lint -u -D$(SYS) $(FILES) -lcurses
- 78
- 79 clean:
- 80 rm -f *.o TAGS
- 81
- 82 clobber: clean
- 83 rm -f empire empire.tar*
- 84
- 85 install: empire
- 86 $(INS) -o -f /usr/local/games empire
- 87
- 88 installman: empire.6
- 89 $(INS) -f /usr/local/man/man6 empire.6
- 90
- 91 SOURCES = READ.ME empire.6 COPYING Makefile BUGS $(FILES) $(HEADERS) MANIFEST empire.lsm
- 92
- 93 empire.tar: $(SOURCES)
- 94 tar -cvf empire.tar $(SOURCES)
- 95 empire.tar.gz: empire.tar
- 96 gzip empire.tar
- 97
- 98 empire.shar: $(SOURCES)
- 99 shar $(SOURCES) &#62;empire.shar
- </PRE
->
- </P
-><P
-> Avec de la chance, vous aurez dans votre paquet un joli
- makefile bien créé, et vous n'aurez rien d'autre à faire. Mais
- mon expérience est que vous avez toujours quelques
- modifications à apporter pour qu'il fonctionne
- correctement. Il n'y a pas la place nécessaire pour expliquer
- les détails concernant la correction des makefiles, mais voici
- quelques problèmes que vous pouvez rencontrer.
- </P
-><P
-> Regardez les lignes 12 et 13. Il existe au moins deux
- variantes principales de Unix, System V et BSD. Linux comporte
- des éléments des deux, mais en général vous choisirez System
- V. Aussi nous commentons la ligne 12 et remettons la ligne
- 13. Nous ne voulons pas des options de débugages.
- <PRE
-CLASS="PROGRAMLISTING"
-> 12 #SYS = BSD
- 13 SYS = SYSV
- </PRE
->
- <PRE
-CLASS="PROGRAMLISTING"
-> 17 #DEBUG = -g -DDEBUG
- 18 DEBUG = -O
- </PRE
->
- </P
-><P
-> Le plus important problème est d'oublier que les lignes dans les buts
- telles que les lignes 35-48 doivent être indentées avec une
- tabulation. Pas des espaces. Souvent, quand vous coupez-collez les
- tabulations sont remplacées par des espaces, et vous aurez d'étranges
- messages d'erreur.
- </P
-><P
-> Les librairies sont souvent différentes d'une plateforme à l'autre. La
- ligne 26 fait référence à dcurses, qui n'existe pas sous Debian. Nous
- devons donc utiliser ncurses.
- <PRE
-CLASS="PROGRAMLISTING"
-> 26 LIBS = -lncurses
- 27 #LIBS = -lcurses -ltermcap
- </PRE
->
- </P
-><P
-> Un autre problème est la localisation des exécutables. Par
- exemple, la ligne 32 place <B
-CLASS="COMMAND"
->install(1)</B
-> dans
- /etc/. Sous Debian, ce programme est dans /usr/bin, aussi nous
- devons éditer cette ligne.
- <PRE
-CLASS="PROGRAMLISTING"
-> 32 INS = /usr/bin/install
- </PRE
->
- </P
-><P
-> Debian a des normes strictes quant à l'endroit où les
- programmes doivent être installés. Ceci est spécifié dans
- /usr/doc/debian-policy/fsstnd. Pour suivre ces normes, nous
- devons installer l'exécutable dans /usr/games plutôt que dans
- /usr/local/games, et la page de manuel dans /usr/man/man6
- plutôt que dans /usr/local/man/man6. Il va y avoir un autre
- problème. Le programme install de Debian a d'autres options
- que celui du système de l'auteur de Empire. En bref, -o
- désigne le propriétaire, -g le groupe, et -m les permissions
- pour chaque fichier. Le manuel des normes spécifie ce que
- chacun devrait être. Sur les exécutables, nous utilisons -s
- pour retirer les informations de débugage. Cela les rendra
- plus petits de sorte qu'ils utiliseront moins de place disque
- et moins de mémoire. Consultez la page de manuel d'install
- pour plus de renseignements.
- </P
-><P
-> Nous changeons les lignes 85-89 comme suit (les raisons pour
- préfixer les chemins par debian/tmp seront décrites plus bas).
- <PRE
-CLASS="PROGRAMLISTING"
-> 85 install: empire
- 86 $(INS) -o root -g root -m 0755 -s empire debian/tmp/usr/games/empire
- 87
- 88 installman: empire.6
- 89 $(INS) -o root -g root -m 0644 empire.6 debian/tmp/usr/man/man6/empire.6
- </PRE
->
- </P
-><P
-> Beaucoup de makefiles auront une macro nommée DESTDIR qui
- spécifie le répertoire d'installation. Si elle existe, vous
- devriez la mettre à debian/tmp.
- </P
-><P
-> Si vous être vraiment malchanceux, vous aurez à modifier le
- source lui-même. Quand vous faites ce genre de modification,
- faites-le de manière non-destructrice, de sorte que quelqu'un
- ayant une autre plateforme n'ait pas à défaire vos
- changements. Encadrez-les avec quelque chose du genre :
- <PRE
-CLASS="PROGRAMLISTING"
-> #ifdef DEBIAN...#endif
- </PRE
->
- pour les isoler. Si vous faites des modifications, envoyez-les
- à l'auteur original ou au responsable de sorte qu'elles soient
- en standard dans la version suivante.
- </P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c95.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c95211.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Création du paquet</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c95.html"
->Supérieur</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->rules</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.html/c95211.html b/french/international/french/translations/debian_package_intro.html/c95211.html
deleted file mode 100644
index 63d4a81eaa5..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c95211.html
+++ /dev/null
@@ -1,259 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
->rules</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="UP"
-TITLE=" Création du paquet
- "
-HREF="c95.html"><LINK
-REL="PREVIOUS"
-TITLE="Makefile"
-HREF="c95190.html"><LINK
-REL="NEXT"
-TITLE=" dirs
- "
-HREF="c95223.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c95190.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapitre 2. Création du paquet</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c95223.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN211"
->rules</A
-></H1
-><P
-> Maintenant, nous revenons dans le répertoire debian et jetons
- un oeil aux règles que dpkg-dev utilise pour créer vraiment le
- paquet. Voici ce que debmake nous donne comme fichier de
- règles par défaut :
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 #!/usr/bin/make -f
- 2 # Made with the aid of debmake, by Christoph Lameter,
- 3 # based on the sample debian/rules file for GNU hello by Ian Jackson.
- 4
- 5 package=empire
- 6
- 7 build:
- 8 $(checkdir)
- 9
- 10 make CFLAGS="-O2 -g -Wall"
- 11
- 12 touch build
- 13
- 14 clean:
- 15 $(checkdir)
- 16 -rm -f build
- 17 -make clean
- 18 -rm -f `find . -name "*~"`
- 19 -rm -rf debian/tmp debian/files* core debian/substvars
- 20
- 21 binary-indep: checkroot build
- 22 $(checkdir)
- 23 # There are no architecture-independent files to be uploaded
- 24 # generated by this package. If there were any they would be
- 25 # made here.
- 26
- 27 binary-arch: checkroot build
- 28 $(checkdir)
- 29 -rm -rf debian/tmp
- 30 install -d debian/tmp
- 31 cd debian/tmp &#38;&#38; install -d `cat ../dirs`
- 32 make install DESTDIR=`pwd`/debian/tmp
- 33 # Must have debmake installed for this to work. Otherwise please copy
- 34 # /usr/bin/debstd into the debian directory and change debstd to debian/debstd
- 35 debstd BUGS
- 36 dpkg-gencontrol
- 37 chown -R root.root debian/tmp
- 38 chmod -R go=rX debian/tmp
- 39 dpkg --build debian/tmp ..
- 40
- 41 define checkdir
- 42 test -f debian/rules
- 43 endef
- 44
- 45 # Below here is fairly generic really
- 46
- 47 binary: binary-indep binary-arch
- 48
- 49 checkroot:
- 50 $(checkdir)
- 51 test root = "`whoami`"
- 52
- 53 .PHONY: binary binary-arch binary-indep clean checkroot
- </PRE
->
- </P
-><P
-> Vous vous êtes probablement familiarisé avec des lignes comme
- la ligne une, de part les scripts shell ou perl. Cela signifie
- que le fichier sera exécuté par make. La ligne 10 déclenche le
- fichier makefile de l'application. La partie CFLAGS de cette
- ligne indique des options de compilation par défaut, au cas ou
- le makefile de l'application n'en aurait pas. Nous n'avons pas
- de soucis à nous faire pour cela (voir la ligne 31 du makefile
- d'Empire), aussi nous pouvons l'effacer :
- <PRE
-CLASS="PROGRAMLISTING"
-> 10 make
- </PRE
->
- </P
-><P
-> On y arrive rarement du premier coup, aussi les lignes 14-20
- nettoient les crasses inutiles laissées par les essais ratés.
- </P
-><P
-> Les lignes 27-40 sont le coeur du fichier rules. Un répertoire
- nommé tmp est créé dans le répertoire debian (si il existe
- déjà, il sera effacé pour reprendre dans un état initial). Le
- paquet sera assemblé ici. C'est pour cela que dans le makefile
- d'Empire, nous avons spécifié debian/tmp comme répertoire
- racine. Dans la ligne 31 sont créés les répertoires dans
- lesquels nous allons effectuer l'installation. Ils sont pris
- dans le fichier dirs dont nous parlerons plus bas. La ligne 32
- lance le but install du fichier makefile d'Empire. La ligne 35
- lance <B
-CLASS="COMMAND"
->debstd(1)</B
-> qui vient avec
- debmake. debstd est une boîte noire qui va modifier votre
- paquet pour qui soit conforme aux normes Debian. Si vous
- voulez des détails, lisez la page de manuel, ou regardez les
- sources (c'est juste un script shell), et je vous encourage
- à le faire. Mais l'avantage de la boîte noire, c'est que vous
- n'avez pas à savoir ce qu'elle fait, vous pouvez supposer
- qu'elle le fait correctement. Quand les normes Debian
- changeront, ce sera transparent pour vous. Installez juste une
- version mise à jour de debmake qui supportent les nouvelles
- normes, recompilez et vous serez conforme (pour la plupart des
- normes. Toutes les modifications des normes ne peuvent pas
- être aisément gérées automatiquement, aussi est-il payant de
- comprendre le problème en profondeur avant de se fier à un
- bout de code.) La ligne 36 lance dpkg-gencontrol qui va créer
- le fichier de contrôle du paquet. Voyez
- <B
-CLASS="COMMAND"
->deb(5)</B
-> pour des détails sur le format de
- paquet Debian. Enfin, la ligne 39 crée le paquet proprement
- dit.
- </P
-><P
-> Les lignes 41 et suivantes sont juste des macros utilisées par
- le fichier rules et vous n'avez pas à vous en soucier.
- </P
-><P
-> Ce qu'il faut savoir du fichier rules créé par debmake est
- qu'il est juste une suggestion. Il fonctionne pour des paquets
- simples, mais pour des paquets plus compliqués, n'hésitez à y
- faire des ajouts ou des retraits pour vos besoin.
- </P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c95190.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c95223.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Makefile</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c95.html"
->Supérieur</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->dirs</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
diff --git a/french/international/french/translations/debian_package_intro.html/c95223.html b/french/international/french/translations/debian_package_intro.html/c95223.html
deleted file mode 100644
index 4a4a1150840..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c95223.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
-> dirs
- </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="UP"
-TITLE=" Création du paquet
- "
-HREF="c95.html"><LINK
-REL="PREVIOUS"
-TITLE="rules"
-HREF="c95211.html"><LINK
-REL="NEXT"
-TITLE=" copyright
- "
-HREF="c95230.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c95211.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapitre 2. Création du paquet</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c95230.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN223"
->dirs</A
-></H1
-><P
-> Ce fichier indique les répertoires que votre paquet va
- créer. Par défaut, il s'agit de
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 usr/bin
- 2 usr/sbin
- </PRE
->
- </P
-><P
-> Remarquez que le slash de tête n'est pas inclus. Nous
- changeons en
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 usr/games
- 2 usr/man/man6
- </PRE
->
- </P
-><P
-> Maintenant, il nous reste quelques fichiers de plus à créer,
- et notre paquet sera complet.
- </P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c95211.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c95230.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->rules</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c95.html"
->Supérieur</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->copyright</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.html/c95230.html b/french/international/french/translations/debian_package_intro.html/c95230.html
deleted file mode 100644
index 703b3d72945..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c95230.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
-> copyright
- </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="UP"
-TITLE=" Création du paquet
- "
-HREF="c95.html"><LINK
-REL="PREVIOUS"
-TITLE=" dirs
- "
-HREF="c95223.html"><LINK
-REL="NEXT"
-TITLE=" README.debian
- "
-HREF="c95236.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c95223.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapitre 2. Création du paquet</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c95236.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN230"
->copyright</A
-></H1
-><P
-> Ce fichier contient les informations concernant les droits de copie
- du paquet. Voici ce que debmake crée par défaut :
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 This package was debianized by Jaldhar H. Vyas jaldhar@debian.org on
- 2 Thu, 11 Sep 1997 22:49:54 -0400.
- 3
- 4 It was downloaded from &#60;fill in ftp site&#62;
- 5
- 6 Copyright:
- 7
- 8 &#60;Must follow here&#62;
- </PRE
->
- </P
-><P
-> Les choses importantes à inclure dans ce fichier sont l'endroit où
- vous avez trouvé ce paquet, et la licence de copie. Si la licence est
- l'une des licences bien connue de logiciel libre, comme GNU, BSD ou
- Artistic, vous n'avez pas à inclure le texte entier, vous pouvez juste
- faire référence au fichier adéquat dans /usr/doc/copyright. Empire est
- sous licence GPL, aussi nous changeons le fichier en :
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 This package was debianized by Jaldhar H. Vyas jaldhar@debian.org on
- 2 Thu, 11 Sep 1997 22:49:54 -0400.
- 3
- 4 It was downloaded from http://www.cdrom.com/pub/linux/sunsite/games/strategy
- 5
- 6 Copyright: (c) 1987, 1988 Chuck Simmons
- 7
- 8 This program is free software; you can redistribute it and/or modify
- 8a it under the terms of the GNU General Public License as published by
- 8b the Free Software Foundation; either version 2, or (at your option)
- 8c any later version.
- 8d
- 8e This program is distributed in the hope that it will be useful,
- 8f but WITHOUT ANY WARRANTY; without even the implied warranty of
- 8g MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- 8h GNU General Public License for more details.
- 8i
- 8j You should have received a copy of the GNU General Public License
- 8k along with Debian system; see the file /usr/doc/copyright/GPL. If not,
- 8l write to the Free Software Foundation, Inc., 59 Temple Place - Suite
- 8m 330, Boston, MA 02111-1307, USA.
- </PRE
->
- </P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c95223.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c95236.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->dirs</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c95.html"
->Supérieur</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->README.debian</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.html/c95236.html b/french/international/french/translations/debian_package_intro.html/c95236.html
deleted file mode 100644
index 249e1886e55..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c95236.html
+++ /dev/null
@@ -1,153 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
-> README.debian
- </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="UP"
-TITLE=" Création du paquet
- "
-HREF="c95.html"><LINK
-REL="PREVIOUS"
-TITLE=" copyright
- "
-HREF="c95230.html"><LINK
-REL="NEXT"
-TITLE=" changelog
- "
-HREF="c95241.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c95230.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapitre 2. Création du paquet</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c95241.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN236"
->README.debian</A
-></H1
-><P
-> Tous les autres détails ou variations entre le paquet original
- et votre version debianisée (NdT: un néologisme ?) doivent
- être documentée ici. Voici à quoi la création par défaut de
- debmake ressemble :
- <PRE
-CLASS="PROGRAMLISTING"
-> empire for DEBIAN
- ----------------------
-
- Comments regarding the Package
-
- Jaldhar H. Vyas &#60;jaldhar@debian.org&#62;, Thu, 11 Sep 1997 22:49:54 -0400
- </PRE
->
- </P
-><P
-> Nous n'avons rien de particulier à ajouter, aussi le
- laissons-nous tel quel.
- </P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c95230.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c95241.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->copyright</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c95.html"
->Supérieur</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->changelog</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.html/c95241.html b/french/international/french/translations/debian_package_intro.html/c95241.html
deleted file mode 100644
index 9901b345cdf..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c95241.html
+++ /dev/null
@@ -1,276 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
-> changelog
- </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="UP"
-TITLE=" Création du paquet
- "
-HREF="c95.html"><LINK
-REL="PREVIOUS"
-TITLE=" README.debian
- "
-HREF="c95236.html"><LINK
-REL="NEXT"
-TITLE=" conffiles
- "
-HREF="c95264.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c95236.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapitre 2. Création du paquet</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c95264.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN241"
->changelog</A
-></H1
-><P
-> Au fur et à mesure que vous travaillerez, le comportement de
- votre paquet va changer, de nouvelles capacités seront
- ajoutées, et des erreurs seront corrigées. Les personnes qui
- téléchargent votre paquet peuvent consulter ce fichier et voir
- ce qui a changé. Voici ce à quoi ressemble le changelog par
- défaut que crée debmake :
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 empire (1.1-1) unstable; urgency=low
- 2
- 3 * Initial Release.
- 4
- 5 -- Jaldhar H. Vyas &#60;jaldhar@debian.org&#62; Thu, 11 Sep 1997 22:49:54 -0400
- 6
- 7 Local variables:
- 8 mode: debian-changelog
- 9 add-log-mailing-address: "jaldhar@debian.org"
- 10 End:
- </PRE
->
- </P
-><P
-> La ligne 1 est le nom du paquet, sa version, sa distribution
- et son urgence. Le numéro de version ici est ce qui sera
- utilisé comme numéro de version du paquet. Ne bidouillez pas
- cette ligne. Les lignes de 3 à 5 sont une entrée
- d'archive. Nous pouvons y ajouter des éléments avec le
- programme <B
-CLASS="COMMAND"
->dch(1)</B
-> qui vient avec le paquet devscript
- (c'est un alias pour debchange. Vous pouvez l'invoquez avec un
- nom ou l'autre, cela ne fait aucune différence). Les lignes 7
- à 10 sont des informations de mode pour Emacs(?). Ajoutons une
- ligne à changelog. Si le commentaire est court, vous pouvez
- l'ajouter directement à la ligne de commande de dch :
- <PRE
-CLASS="SCREEN"
-> <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->dch This is my first Debian package</B
-></TT
->
- </PRE
->
- </P
-><P
-> Vous pouvez aussi lancer dch seul. Cela démarrera votre
- éditeur par défaut, qui est, par ordre de préférence, le
- programme défini par la variable d'environnement $VISUAL, le
- programme défini par la variable d'environnement $EDITOR,
- <B
-CLASS="COMMAND"
->joe(1)</B
-> ou <B
-CLASS="COMMAND"
->ae(1)</B
->. Quand
- l'éditeur a démarré, vous pouvez entrer votre
- commentaire. Quelque soit la méthode employée, voici ce à quoi
- vous devez arriver :
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 empire (1.1-1) unstable; urgency=low
- 2
- 2a * This is my first debian package.
- 3 * Initial Release.
- 4
- 5 -- Jaldhar H. Vyas &#60;jaldhar@debian.org&#62; Thu, 11 Sep 1997 22:49:54 -0400
- 6
- 7 Local variables:
- 8 mode: debian-changelog
- 9 add-log-mailing-address: "jaldhar@debian.org"
- 10 End:
- </PRE
->
- </P
-><P
-> Quand vous distribuez une nouvelle version, vous devez
- incrémenter le numéro de version. Vous le faites avec la
- commande :
- <PRE
-CLASS="SCREEN"
-> <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->dch -n This is my first debian package.</B
-></TT
->
- </PRE
->
- </P
-><P
-> Si, pour une raison quelconque, vous voulez incrémenter le
- numéro de version par plus que 1, par 15 par exemple, vous
- utilisez cette commande :
- <PRE
-CLASS="SCREEN"
-> <TT
-CLASS="PROMPT"
->$</TT
-> <TT
-CLASS="USERINPUT"
-><B
->dch -v 15 This is my first debian package.</B
-></TT
->
- </PRE
->
- </P
-><P
-> Nous supposerons que vous voulez juste incrémenter le numéro
- de version par 1. Voici ce à quoi ressemble changelog
- maintenant :
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 empire (1.1-2) unstable; urgency=low
- 2
- 2a * This is my first debian package
- 2b
- 2c -- Jaldhar H. Vyas &#60;jaldhar@debian.org&#62; Sun, 14 Sep 1997 12:04:44 -0500
- 2d
- 2e empire (1.1-1) unstable; urgency=low
- 2f
- 3 * Initial Release.
- 4
- 5 -- Jaldhar H. Vyas &#60;jaldhar@debian.org&#62; Thu, 11 Sep 1997 22:49:54 -0400
- 6
- 7 Local variables:
- 8 mode: debian-changelog
- 9 add-log-mailing-address: "jaldhar@debian.org"
- 10 End:
- </PRE
->
- </P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c95236.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c95264.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->README.debian</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c95.html"
->Supérieur</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->conffiles</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.html/c95264.html b/french/international/french/translations/debian_package_intro.html/c95264.html
deleted file mode 100644
index 80aea38ada4..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c95264.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
-> conffiles
- </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="UP"
-TITLE=" Création du paquet
- "
-HREF="c95.html"><LINK
-REL="PREVIOUS"
-TITLE=" changelog
- "
-HREF="c95241.html"><LINK
-REL="NEXT"
-TITLE=" *.ex
- "
-HREF="c95267.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c95241.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapitre 2. Création du paquet</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c95267.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN264"
->conffiles</A
-></H1
-><P
-> Une des choses les plus énervantes avec les logiciels est
- quand vous avez passé un bon bout de temps à configurer un
- programme pour qu'une mise à jour efface tous vos
- changements. Debian résout ce problème en marquant les
- fichiers de configurations, de sorte que quand vous mettez
- à jour un programme, il vous sera demandé si vous voulez garder
- votre ancienne configuration ou pas. Vous faites ceci en
- entrant le chemin complet de chaque fichier de configuration
- (ils sont en général dans /etc), un par ligne, dans un fichier
- nommé conffiles. Empire n'a aucun fichier de configuration.
- </P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c95241.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c95267.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->changelog</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c95.html"
->Supérieur</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->*.ex</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
diff --git a/french/international/french/translations/debian_package_intro.html/c95267.html b/french/international/french/translations/debian_package_intro.html/c95267.html
deleted file mode 100644
index 68f517fe292..00000000000
--- a/french/international/french/translations/debian_package_intro.html/c95267.html
+++ /dev/null
@@ -1,527 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
-> *.ex
- </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="UP"
-TITLE=" Création du paquet
- "
-HREF="c95.html"><LINK
-REL="PREVIOUS"
-TITLE=" conffiles
- "
-HREF="c95264.html"><LINK
-REL="NEXT"
-TITLE="Construction"
-HREF="c364.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c95264.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapitre 2. Création du paquet</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c364.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN267"
->*.ex</A
-></H1
-><P
-> Certains paquets doivent faire plus que de simplement installer des
- fichiers. Par exemple, un serveur peut avoir besoin d'insérer une
- ligne dans /etc/inetd.conf. Les fichiers en suffixe .ex sont des
- exemples de la manière d'ajouter ce genre de support à votre
- paquet. Pour en utiliser un, éditez et retirez le suffixe .ex . Voici
- une brève description de ce que fait chaque fichier.
- </P
-><P
-></P
-><DL
-><DT
->crontab.ex</DT
-><DD
-><P
-> Ceci ajoute une ligne au fichier /etc/crontab pour
- exécuter un programme de manière régulière. Les normes
- actuelles spécifient qu'un paquet ne devrait pas toucher
- à /etc/crontab, aussi si vous pensez qu'il y a une bonne
- raison de le faire, discutez-en d'abord sur les mailing
- lists. Si vous renommez ce fichier en cron.daily, il
- sera ajouté dans /etc/cron.daily/ et exécuté tous les
- jours. Pareillement, si vous le renommez cron.weekly il
- sera ajouté dans /etc/cron.weekly/, et pour cron.monthly
- il sera ajouté dans /etc/cron.monthly/. Comme les noms
- le suggèrent (pour peu qu'on parle un brin anglais,
- NdT), ils sont exécutés respectivement toutes les
- semaines et tous les mois. Lisez les pages de manuel de
- <B
-CLASS="COMMAND"
->crontab(1)</B
-> et
- <B
-CLASS="COMMAND"
->crontab(5)</B
-> pour plus de détails. Les
- normes précisent que ces fichiers doivent être des
- scripts, et qu'ils doivent être enregistrés comme
- conffiles. Empire n'en a pas besoin, aussi nous
- l'effacerons.
- </P
-></DD
-><DT
->diversion.ex</DT
-><DD
-><P
-> Quelque chose à voir avec un détournement, peut-être ?
- Empire n'en a pas besoin, nous l'effaçons (NdT : il
- s'agit du mécanisme utilisé sous Debian pour permettre
- d'avoir plusieurs programmes aux capacités similaires
- tout en enregistrant un programme par défaut.)
- </P
-></DD
-><DT
->inetd.conf.ex</DT
-><DD
-><P
-> Ceci ajoute une ligne dans /etc/inetd.conf pour exécuter
- un démon. Lisez les pages de manuel pour
- <B
-CLASS="COMMAND"
->inetd.conf(1)</B
-> pour des détails sur le
- format. Empire n'en a pas besoin, aussi nous l'effaçons.
- </P
-></DD
-><DT
->info.ex</DT
-><DD
-><P
-> Éditez ce fichier pour fournir de la documentation au
- format GNU info. Empire n'en a pas besoin, aussi nous
- l'effaçons.
- </P
-></DD
-><DT
->init.d.ex</DT
-><DD
-><P
-> Ceci est un script par défaut pour /etc/init.d/. Si
- votre programme doit être lancé au moment du démarrage
- et stoppé à l'arrêt de l'ordinateur, ou lorsque le
- niveau d'exécution (runlevel) change , éditez le script
- pour faire les actions nécessaires. Empire n'en a pas
- besoin, aussi nous l'effaçons.
- </P
-></DD
-><DT
->manpage.1.ex</DT
-><DD
-><P
-> Votre programme devrait avoir une page de manuel. S'il
- n'en a pas, voici un patron que vous pouvez
- remplir. Lisez les pages de manuel de <B
-CLASS="COMMAND"
->man(7)</B
-> pour
- une description rapide de la façon de créer une page de
- manuel. Soyez sûr de donner à ce fichier le nom du
- programme avec l'extension correspondant à la section du
- manuel dans laquelle il devrait aller. Voici une liste :
- <DIV
-CLASS="TABLE"
-><P
-><B
->Tableau 2-1. Section des pages de manuel</B
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Section
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Description
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Notes
- </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> 1
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Commandes utilisateur
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Commandes ou scripts exécutables
- </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> 2
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Appels systèmes
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Fonctions fournies par le noyau
- </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> 3
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Appels librairies
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Fonctions des librairies système
- </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> 4
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Fichiers spéciaux
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> D'ordinaire trouvés dans /dev
- </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> 5
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Formats de fichiers
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Par exemple, le format de /etc/passwd
- </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> 6
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Jeux
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Ou tout autre programme frivole
- </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> 7
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Paquets de macros
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Comme les macros de man
- </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> 8
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Administration Système
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> D'ordinaire uniquement lancé par root
- </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> 9
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Routine noyau
- </TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-> Appels non-standards et internes
- </TD
-></TR
-></TABLE
-></DIV
->
- </P
-><P
-> La page de manuel de Empire devrait être nommée
- empire.6. Comme il y a déjà une page de manuel empire.6,
- nous pouvons effacer cet exemple.
- </P
-></DD
-><DT
->menu.ex</DT
-><DD
-><P
-> Les utilisateurs de X Windows ont un gestionnaire de
- fenêtres avec des menus qui peuvent être configurés pour
- lancer des programmes. S'ils ont installés le paquet
- Debian menu, un ensemble de menus pour chaque programme
- sur le système sera créé pour eux. Ce n'est pas requis
- par les normes Debian, mais vos utilisateurs
- apprécieront. Nous pouvons ajouter Empire aux menus en
- éditant ce fichier. Voici ce que debmake crée par défaut
- :
- <PRE
-CLASS="PROGRAMLISTING"
-> text Apps/Misc empire none "empire Description" /usr/bin/empire
- </PRE
->
- </P
-><P
-> Le premier champ indique le type d'interface requise par
- le programme (text ou X11). Le champ suivant est le nom
- de menu et de sous-menu dans lequel l'entrée devrait
- apparaître. La liste de sections actuelles est dans
- /usr/doc/menu/README. Le troisième est le nom du
- menu. Le quatrième est l'icône du programme, ou rien
- s'il n'y en a pas. Le cinquième est le texte qui
- apparaîtra au menu. Le sixième est la commande qui lance
- le programme.
- </P
-><P
-> Remplacez l'entrée du menu par :
- <PRE
-CLASS="PROGRAMLISTING"
-> text Games/Strategy empire none "Build an empire" /usr/bin/empire
- </PRE
->
- </P
-><TABLE
-CLASS="SIDEBAR"
-BORDER="1"
-CELLPADDING="5"
-><TR
-><TD
-><DIV
-CLASS="SIDEBAR"
-><P
-></P
-><P
-> NdT : menu a changé de format, mais reste compatible
- avec l'ancienne version. Aujourd'hui, on préférera
- ceci :
- <PRE
-CLASS="PROGRAMLISTING"
-> ?package(empire):needs="text" \
- section="Games/Strategy" \
- title="Build an empire" \
- icon="none" \
- command="/usr/bin/empire"
- </PRE
->
- </P
-><P
-></P
-></DIV
-></TD
-></TR
-></TABLE
-></DD
-><DT
->watch.ex</DT
-><DD
-><P
-> Vous pouvez utiliser ce fichier en plus des programmes
- <B
-CLASS="COMMAND"
->uscan(1)</B
-> et
- <B
-CLASS="COMMAND"
->uupdate(1)</B
-> du paquet devscript pour
- surveiller le site duquel vous avez eu les sources
- originelles. Lisez les pages de manuel pour plus de
- détail. Voici ce que debmake crée par défaut :
- <PRE
-CLASS="PROGRAMLISTING"
-> 1 # Example watch control file for uscan
- 2 # Rename this file to "watch" and then you can run the "uscan" command
- 3 # to check for upstream updates and more.
- 4 # Site Directory Pattern Version Script
- 5 sunsite.unc.edu /pub/Linux/Incoming empire-*.tar.gz debian uupdate
- </PRE
->
- </P
-><P
-> Changez le en :
- <PRE
-CLASS="PROGRAMLISTING"
-> 5 www.cdrom.com /pub/Linux/sunsite/games/strategy empire-*.tar.gz debian uupdate
- </PRE
->
- </P
-></DD
-></DL
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c95264.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c364.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->conffiles</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c95.html"
->Supérieur</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Construction</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.html/docbook.css b/french/international/french/translations/debian_package_intro.html/docbook.css
deleted file mode 100644
index b42fb271830..00000000000
--- a/french/international/french/translations/debian_package_intro.html/docbook.css
+++ /dev/null
@@ -1,20 +0,0 @@
-.BOOK .TITLE { text-align: center }
-.BOOK .SUBTITLE { text-align: center }
-.BOOK .CORPAUTHOR { text-align: center }
-.BOOK .AUTHOR { text-align: center }
-.BOOK .AFFILIATION { text-align: center }
-.BOOK .EDITEDBY { text-align: center }
-.BOOK .EDITOR { text-align: center }
-.BOOK .GRAPHIC { text-align: center }
-
-.ARTICLE .TITLE { text-align: center }
-.ARTICLE .SUBTITLE { text-align: center }
-.ARTICLE .CORPAUTHOR { text-align: center }
-.ARTICLE .AUTHOR { text-align: center }
-.ARTICLE .AFFILIATION { text-align: center }
-.ARTICLE .EDITEDBY { text-align: center }
-.ARTICLE .EDITOR { text-align: center }
-.ARTICLE .GRAPHIC { text-align: center }
-.ARTICLE .ABSTRACT { margin-left: 0.5in;
- margin-right: 0.5in;
- font-style: italic }
diff --git a/french/international/french/translations/debian_package_intro.html/f13.html b/french/international/french/translations/debian_package_intro.html/f13.html
deleted file mode 100644
index cd309b1011b..00000000000
--- a/french/international/french/translations/debian_package_intro.html/f13.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
-> Note du traducteur
- </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet version 1.13"><LINK
-REL="HOME"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="PREVIOUS"
-TITLE=" Créer un paquet Debian
- "
-HREF="book1.html"><LINK
-REL="NEXT"
-TITLE=" Introduction et premiers pas
- "
-HREF="c19.html"></HEAD
-><BODY
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Créer un paquet Debian</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="book1.html"
->Précédent</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c19.html"
->Suivant</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="AEN13"
-> Note du traducteur
- </A
-></H1
-><P
-> Ceci est la version française de "Making a Debian
- Package". La version originale peut être trouvée à <A
-HREF="http://www.braincells.com/debian/make_package/"
-TARGET="_top"
->http://www.braincells.com/debian/make_package/</A
->.
- L'auteur orginal, Jaldhar Vyas peut être joint à <A
-HREF="mailto:jaldhar@debian.org"
-TARGET="_top"
->jaldhar@debian.org</A
->
- et le traducteur, Frédéric Dumont, à <A
-HREF="mailto:frederic.dumont@gate71.be"
-TARGET="_top"
->frederic.dumont@gate71.be</A
->
- </P
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="book1.html"
->Précédent</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="book1.html"
->Sommaire</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c19.html"
->Suivant</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Créer un paquet Debian</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Introduction et premiers pas</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
diff --git a/french/international/french/translations/debian_package_intro.sgml b/french/international/french/translations/debian_package_intro.sgml
deleted file mode 100644
index ffc4c927712..00000000000
--- a/french/international/french/translations/debian_package_intro.sgml
+++ /dev/null
@@ -1,1738 +0,0 @@
-<!DOCTYPE book PUBLIC "-//Davenport//DTD DocBook V3.0//EN">
-<book lang="fr">
- <bookinfo>
- <title>
- Cr&eacute;er un paquet Debian
- </title>
- <authorgroup>
- <author>
- <firstname>
- Jaldhar
- </firstname>
- <surname>
- Vyas
- </surname>
- <contrib>
- Auteur initial
- </contrib>
- </author>
- <othercredit>
- <firstname>
- Fr&eacute;d&eacute;ric
- </firstname>
- <surname>
- Dumont
- </surname>
- <contrib>
- Traducteur de la version fran&ccedil;aise
- </contrib>
- </othercredit>
- </authorgroup>
- </bookinfo>
- <preface>
- <title>
- Note du traducteur
- </title>
- <para>
- Ceci est la version fran&ccedil;aise de "Making a Debian
- Package". La version originale peut &ecirc;tre trouv&eacute;e &agrave; <ulink url="http://www.braincells.com/debian/make_package/">http://www.braincells.com/debian/make_package/</ulink>.
- L'auteur orginal, Jaldhar Vyas peut &ecirc;tre joint &agrave; <ulink url="mailto:jaldhar@debian.org">jaldhar@debian.org</ulink>
- et le traducteur, Fr&eacute;d&eacute;ric Dumont, &agrave; <ulink url="mailto:frederic.dumont@gate71.be">frederic.dumont@gate71.be</ulink>
- </para>
- </preface>
- <chapter>
- <title>
- Introduction et premiers pas
- </title>
- <para>
- Ce qui fait de Debian une distribution de si haut niveau est,
- entre autre, son syst&egrave;me de paquet. Bien qu'il y aie une grande
- quantit&eacute; de logiciels disponibles au format Debian, il est
- parfois n&eacute;cessaire d'installer des logiciels qui ne le sont
- pas. Vous vous &ecirc;tes peut-&ecirc;tre demand&eacute; comment faire vos propres
- paquets, et vous pensez que c'est difficile. J'ai moi-m&ecirc;me (NdT
- : c'est l'auteur qui parle, pas moi) commenc&eacute; &agrave; travailler avec
- les paquets Debian, et j'ai &eacute;t&eacute; plaisamment surpris de la
- facilit&eacute; de la t&acirc;che. Vous devez avoir quelques connaissances
- sur la programmation Unix, mais vous ne devez pas &ecirc;tre un
- gourou.
- </para>
- <para>
- C'est la seconde version (NdT : et la premi&egrave;re version
- fran&ccedil;aise) de cet article. Rien ne reste fixe tr&egrave;s longtemps
- dans le monde Debian, aussi ai-je fait certains changements
- importants pour rester &agrave; jour. J'ai &eacute;galement inclus certains
- conseils repris des mailing-lists des Utilisateurs et
- D&eacute;veloppeurs Debian, ou sugg&eacute;r&eacute;s par les lecteurs.
- </para>
- <para>
- Avant de commencer, vous aurez besoin d'installer et de
- configurer les paquets suivants. Je suppose que vous utilisez
- Hamm, la distribution "instable" de Debian. Dans ce contexte,
- "instable" signifie "en cours de d&eacute;veloppement". Hamm deviendra
- la prochaine version (2.0) de Debian.
- </para>
- <para>
- Les paquets suivants sont disponibles dans la section devel de la
- distribution.
- </para>
- <variablelist>
- <varlistentry>
- <term>
- binutils
- </term>
- <listitem>
- <para>
- Les programmes de ce paquet sont utilis&eacute;s pour assembler
- et lier les fichiers objets -- les trucs dont sont faits
- les programmes.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- gcc
- </term>
- <listitem>
- <para>
- C'est le compilateur C de GNU. La plupart des programmes
- pour Linux sont &eacute;crits en C.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- libc6-dev
- </term>
- <listitem>
- <para>
- Ce sont les librairies C et les fichiers d'ent&ecirc;te dont gcc
- a besoin pour cr&eacute;er les fichiers objets. Au moment ou
- j'&eacute;cris, Debian est en transition entre libc5 et
- libc6. Tous les nouveaux paquets devraient &ecirc;tre cr&eacute;&eacute;s en
- utilisant libc6. Pour des instructions sur la fa&ccedil;on de
- passer &agrave; libc6, lisez le
- <ulink url="http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.html">
- mini-HOWTO
- </ulink>
- de Scott Ellis.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- libg++272
- </term>
- <listitem>
- <para>
- Les librairies C++. fakeroot en a besoin.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- make
- </term>
- <listitem>
- <para>
- En g&eacute;n&eacute;ral, la cr&eacute;ation d'un programme se fait en
- plusieurs &eacute;tapes. Plut&ocirc;t que de taper encore et encore les
- m&ecirc;mes commandes, vous pouvez utiliser make pour
- automatiser le processus.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- fakeroot
- </term>
- <listitem>
- <para>
- Comme le nom le sugg&egrave;re, ce programme simule le statut de
- root n&eacute;cessaire pour une partie de la cr&eacute;ation. Bien qu'en
- cours de d&eacute;veloppement, fakeroot est
- utilisable. Auparavant, il fallait un acc&egrave;s root ou un
- programme comme sudo, mais ceci est plus facile et devrait
- &ecirc;tre plus s&ucirc;r.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>
- Le paquet suivant est dans la section interpreters de la distribution
- </para>
- <variablelist>
- <varlistentry>
- <term>
- cpp
- </term>
- <listitem>
- <para>
- Le pr&eacute;-processeur C.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>
- Les paquets suivants sont dans la section utils de la distribution.
- </para>
- <variablelist>
- <varlistentry>
- <term>
- cpio
- </term>
- <listitem>
- <para>
- C'est un archiveur comme tar ou zip. Requis par dpkg-dev.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- file
- </term>
- <listitem>
- <para>
- Ce programme bien utile d&eacute;termine le type d'un
- fichier. Requis par dpkg-dev.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- debmake
- </term>
- <listitem>
- <para>
- C'est un ensemble de plus haut niveau pour la cr&eacute;ation de
- paquets Debian. Vous n'en avez pas vraiment besoin, mais
- je le recommande. Il rend le processus nettement plus
- simple, surtout pour les d&eacute;butants. Nous utiliserons
- debmake pour cr&eacute;er notre exemple de paquet.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- dpkg-dev
- </term>
- <listitem>
- <para>
- Ce paquet contient les outils n&eacute;cessaire pour cr&eacute;er les
- archives Debian. Il contient &eacute;galement les manuels du
- Programmeur Debian et de Programmation de dpkg (NdT :
- v&eacute;rifier la traduction fran&ccedil;aise du titre, en supposant
- que cette traduction existe).
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- devscript
- </term>
- <listitem>
- <para>
- Ce paquet est un compagnon de debmake et contient des
- scripts utiles pour la cr&eacute;ation et la maintenance des
- paquets.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- patch
- </term>
- <listitem>
- <para>
- patch prend un fichier contenant la liste des diff&eacute;rences
- produites par le programme diff, et l'applique &agrave; un
- original, produisant la version patch&eacute;e.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>
- Les paquets suivants sont dans la section doc de la distribution.
- </para>
- <variablelist>
- <varlistentry>
- <term>
- debian-policy
- </term>
- <listitem>
- <para>
- Il s'agit de la source d'information d&eacute;finitive concernant
- la cr&eacute;ation de paquet Debian. Si vous constatez la moindre
- diff&eacute;rence entre le manuel des normes et cet article, le
- manuel des normes est la r&eacute;f&eacute;rence.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- developers-reference
- </term>
- <listitem>
- <para>
- Des informations pour les personnes d&eacute;sirant devenir des
- d&eacute;veloppeurs Debian officiels.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>
- Vous aurez aussi besoin du paquet de cryptage pgp, pour signer
- votre paquet. Ceci est particuli&egrave;rement important si vous
- d&eacute;sirez distribuer votre paquet &agrave; d'autres personnes. Cependant,
- &agrave; cause d'une loi am&eacute;ricaine, vous ne pouvez pas le t&eacute;l&eacute;charger
- depuis le miroir ftp Debian le plus proche. Par contre, le site
- ftp contient &agrave; la racine un fichier nomme README.non-us qui vous
- dira comment obtenir une copie de pgp.
- </para>
- <para>
- Cette description que j'ai donn&eacute;e ci-dessus ne sert que
- d'introduction &agrave; ce que chaque paquet fait. Avant de continuer,
- consultez attentivement la documentation de chaque
- programme. Cela semble lourd a priori, mais plus tard vous serez
- content de l'avoir fait.
- </para>
- </chapter>
- <chapter>
- <title>
- Cr&eacute;ation du paquet
- </title>
- <para>
- Maintenant que vous avez install&eacute; les bons paquets et lu la
- documentation, vous &ecirc;tes pr&ecirc;t &agrave; commencer. Comme exemple, nous
- allons cr&eacute;er un paquet Debian pour empire. Il s'agit d'un jeu de
- strat&eacute;gie o&ugrave; vous cr&eacute;ez un empire.
- </para>
- <para>
- La premi&egrave;re chose &agrave; faire est de t&eacute;l&eacute;charger le paquet
- original. Sunsite est le plus grand miroir Linux que je
- connaisse, aussi ai-je cherch&eacute; dans mon miroir sunsite local et
- l'ai trouv&eacute;
- <ulink url="http://www.cdrom.com/pub/linux/sunsite/games/strategy/empire.tar.gz">
- ici
- </ulink>.
- </para>
- <para>
- Il y a deux types de paquets que vous pouvez faire, source et
- binaire. Un paquet source contient le code que vous pouvez
- compiler en un programme. Un paquet binaire contient juste le
- programme fini. Si vous d&eacute;sirez contribuer un paquet &agrave; la
- distribution Debian officielle, il doit venir avec des sources
- librement utilisables. Consultez le
- <ulink url="https://www.debian.org/social_contract.html#guidelines">
- Contrat social de Debian
- </ulink>
- (NdT : le lire pour trouver la
- traduction exacte des Guidelines...) pour les d&eacute;tails
- exacts. Empire est disponible en source donc on pourra faire des
- paquets source et binaire.
- </para>
- <para>
- debmake veut que les sources soient dans un r&eacute;pertoire nomm&eacute;
- &lt;nom_paquet&gt;-&lt;num&eacute;ro_version&gt;, aussi cr&eacute;ons un
- r&eacute;pertoire empire-1.1 et d&eacute;compressons le fichier .tgz dedans
- (j'ai eu le num&eacute;ro de version du fichier lsm qui vient avec
- chaque programme charg&eacute; sur sunsite).
- <screen>
- <prompt>$</prompt> <userinput>mkdir empire-1.1</userinput>
- <prompt>$</prompt> <userinput>mv empire.tar.gz empire-1.1</userinput>
- <prompt>$</prompt> <userinput>cd empire-1.1</userinput>
- <prompt>$</prompt> <userinput>tar -xvzf empire.tar.gz</userinput>
- </screen>
- et si tout va bien
- <screen>
- <prompt>$</prompt> <userinput>rm empire.tar.gz</userinput>
- </screen>
- </para>
- <para>
- Quand vous lancez deb-make, certaines informations sont
- utilis&eacute;es. L'une d'entre elles est votre adresse email qui sera
- inclue dans le paquet de sorte que les gens peuvent vous
- contacter si ils ont des probl&egrave;mes. Si vous voulez utiliser une
- autre adresse que l'adresse actuelle, mettez la dans la variable
- d'environnement EMAIL avant de lancer deb-make, comme ceci :
- <screen>
- <prompt>$</prompt> <userinput>export EMAIL=jaldhar@debian.org</userinput>
- </screen>
- </para>
- <para>
- Il vous sera demand&eacute; le genre de paquet que vous voulez g&eacute;n&eacute;rer.
- </para>
- <variablelist>
- <varlistentry>
- <term>
- single
- </term>
- <listitem>
- <para>
- Choisissez ceci pour cr&eacute;er un paquet unique.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- multiple
- </term>
- <listitem>
- <para>
- Choisissez ceci pour cr&eacute;er plusieurs .deb &agrave; partir d'un
- seul ensemble de code source. L'un des int&eacute;r&ecirc;ts est de
- diviser un paquet tr&egrave;s gros en plus petites pi&egrave;ces de
- sorte que les utilisateurs peuvent choisir ce qu'ils
- installent.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- library
- </term>
- <listitem>
- <para>
- Choisissez ceci pour cr&eacute;er au moins deux .deb, l'un avec
- la librairie dans /usr/lib,
- l'autre,&lt;nom_lib&gt;-dev_&lt;version_lib&gt;.deb, avec
- la documentation et les fichiers ent&ecirc;tes.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>
- Maintenant, lan&ccedil;ons deb-make et choisissons l'option single.
- <screen>
- <prompt>$</prompt> <userinput>deb-make</userinput>
- </screen>
- </para>
- <para>
- Quand deb-make a fini, si vous tapez cd .., vous constatez qu'un
- nouveau r&eacute;pertoire a &eacute;t&eacute; cr&eacute;&eacute;, nomm&eacute; empire-1.1.orig, qui
- contient le code source original et qui ne sera par la suite
- plus modifi&eacute;. Le r&eacute;pertoire empire-1.1 existe toujours. C'est l&agrave;
- que seront fait les changements. Il y a un nouveau r&eacute;pertoire
- nomm&eacute; debian. Examinez-le.
- <screen>
- <prompt>$</prompt> <userinput>cd empire-1.1/debian</userinput>
- </screen>
- </para>
- <para>
- Il y a plusieurs fichiers dans ce r&eacute;pertoire. Nous allons les
- &eacute;diter pour configurer le comportement du paquet.
- </para>
- <sect1>
- <title>control</title>
- <para>
- Ce fichier contient les valeurs que dpkg et dselect utilisent
- pour g&eacute;rer le paquet. Voici ce que deb-make a cr&eacute;&eacute; pour nous :
- <programlisting>
- 1 Source: empire
- 2 Section: unknown
- 3 Priority: extra
- 4 Maintainer: Jaldhar H. Vyas &lt;jaldhar@debian.org&gt;
- 5 Standards-Version: 2.3.0.0
- 6
- 7 Package: empire
- 8 Architecture: any
- 9 Depends: ${shlibs:Depends}
- 10 Description: Missing
- 11 Missing
- </programlisting>
- (j'ai ajout&eacute; les num&eacute;ros de lignes)
- </para>
- <para>
- Les lignes 1-5 sont les informations de contr&ocirc;le du paquet
- source. La ligne 1 est le nom du paquet source.
- </para>
- <para>
- La ligne 2 est la section du paquet. Changeons la en games.
- </para>
- <para>
- La ligne 3 indique &agrave; quel point il est important que
- l'utilisateur installe ce paquet. Comme, h&eacute;las, notre jeu
- n'est vraiment pas important, nous pouvons le laisser en
- extra. La section et la priorit&eacute; sont en fait uniquement
- utilis&eacute;s par dselect quand il trie les paquets et s&eacute;lectionne
- par d&eacute;faut. Lisez le manuel des normes pour des indications
- sur les valeurs &agrave; mettre.
- </para>
- <para>
- La ligne 4 est le nom et l'adresse email du responsable.
- </para>
- <para>
- La ligne 5 est la version du standard des Normes Debian que ce
- paquet suit.
- </para>
- <para>
- Les lignes 7-11 concernent le paquet binaire.
- </para>
- <para>
- La ligne 7 est le nom du paquet binaire.
- </para>
- <para>
- La ligne 8 d&eacute;crit l'architecture CPU pour laquelle ce paquet a
- &eacute;t&eacute; compil&eacute;. Nous pouvons y laisser n'importe quoi car
- <command>dpkg-gencontrol(1)</command> y mettra la valeur appropri&eacute;e.
- </para>
- <para>
- La ligne 9 montre un des grands points forts du syst&egrave;me de paquet
- Debian. Les paquets peuvent &ecirc;tre li&eacute;s aux autres d'une mani&egrave;re ou
- d'une autre. Outre les Depends, les autres relations sont
- Recommands, Suggests, Pre-depends, Conflicts, Provides et
- Replaces. Voici ce qu'ils signifient :
- <variablelist>
- <varlistentry>
- <term>
- Depends
- </term>
- <listitem>
- <para>
- dpkg et dselect n'installeront votre paquet que si le
- paquet duquel il d&eacute;pend est install&eacute;. Utilisez cette
- relation si votre programme ne tourne que si un autre
- paquet est pr&eacute;sent.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- Recommends
- </term>
- <listitem>
- <para>
- dselect n'installera votre paquet que si le paquet
- recommand&eacute; est install&eacute;. dpkg vous laissera
- l'installer sans restriction. Utilisez ceci pour les
- paquets qui ne sont pas vraiment n&eacute;cessaires, mais qui
- sont souvent utilis&eacute;s avec votre programme.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- Suggests
- </term>
- <listitem>
- <para>
- quand un utilisateur installe votre programme, dselect
- lui demandera s'il doit installer les paquets
- sugg&eacute;r&eacute;s. dpkg ne s'en soucie pas. Utilisez ceci pour
- les paquets qui fonctionnent bien avec votre
- programme, mais qui ne sont pas n&eacute;cessaires.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- Pre-depends
- </term>
- <listitem>
- <para>
- Cette relation est plus forte que Depends. dpkg et
- dselect n'installeront votre programme que si les
- paquets dont il pr&eacute;-d&eacute;pend sont install&eacute;s et
- correctement configur&eacute;s. N'utilisez ceci que rarement,
- et toujours apr&egrave;s en avoir discut&eacute; sur la mailing-list
- debian-devel.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- Conflicts
- </term>
- <listitem>
- <para>
- ni dpkg ni dselect n'installeront votre programme &agrave;
- moins que chaque paquet avec lequel il est en conflit
- n'ait &eacute;t&eacute; retir&eacute;.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- Provides
- </term>
- <listitem>
- <para>
- Pour certains types de paquets, lorsque de multiples
- versions sont disponibles, des noms virtuels ont &eacute;t&eacute;
- d&eacute;finis. La liste compl&egrave;te est dans
- usr/doc/debian-policy/virtual-package-names-list.text.gz.
- Utilisez ceci si votre programme fourni un paquet
- virtuel.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- Replaces
- </term>
- <listitem>
- <para>
- Utilisez ceci quand votre programme remplace un autre
- paquet. dpkg et dselect retirerons le paquet remplac&eacute;
- avant d'installer le votre.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- <para>
- Ces champs ont une m&ecirc;me syntaxe. C'est une liste de noms de
- paquets s&eacute;par&eacute;s par des virgules. Les noms de paquets peuvent
- &ecirc;tre aussi une liste de noms alternatifs de paquets, s&eacute;par&eacute;s
- par une barre verticale |. Le champs peut &ecirc;tre restreint &agrave; des
- versions particuli&egrave;res pour chaque nom de paquet. On l'indique
- entre parenth&egrave;ses apr&egrave;s chaque nom de paquet. Les parenth&egrave;ses
- contiennent l'une des relations suivantes, suivie par un
- num&eacute;ro de version : &lt;&lt;, &lt;=, =, &gt;=, &gt;&gt;. Les
- relations signifient, dans l'ordre, strictement plus vieux,
- plus vieux ou &eacute;gal, &eacute;gal, plus r&eacute;cent ou &eacute;gal, strictement
- plus r&eacute;cent. La derni&egrave;re capacit&eacute; que je veux vous montrer est
- $(shlibs:Depends). Ce champs sera automatiquement rempli par
- debmake avec les noms de toutes les librairies partag&eacute;es
- (DLLs) telles que libc6, utilis&eacute;es par le programme, de sorte
- que vous n'avez pas &agrave; les indiquer vous-m&ecirc;me. Une fois ceci
- dit, vous pouvez laisser la ligne 9 telle quelle, car Empire
- ne d&eacute;pend d'aucun autre paquet.
- </para>
- <para>
- La ligne 10 est la description courte. La plupart des gens ont des
- &eacute;crans texte de 80 caract&egrave;res de long, aussi cela ne devrait pas
- d&eacute;passer les 50 caract&egrave;res. Changeons le en "an empire-building
- strategy game".
- </para>
- <para>
- La ligne 11 est la description longue. Ce devrait &ecirc;tre un
- paragraphe qui donne plus de d&eacute;tail sur le paquet. La premi&egrave;re
- colonne de chaque ligne doit &ecirc;tre vide. Il ne doit pas y avoir
- de ligne vide. Mettez un . dans la deuxi&egrave;me colonne pour
- simuler une ligne vide.
- </para>
- <para>
- Voici la nouvelle version du fichier de contr&ocirc;le :
- <programlisting>
- 1 Source: empire
- 2 Section: games
- 3 Priority: extra
- 4 Maintainer: Jaldhar H. Vyas &lt;jaldhar@debian.org&gt;
- 5 Standards-Version: 2.3.0.0
- 6
- 7 Package: empire
- 8 Architecture: any
- 9 Depends: ${shlibs:Depends}
- 10 Description: an empire-building strategy game
- 11 A solitaire empire game (sometimes called 'VMS Empire'), colorized and
- 11a speed tuned and with a save-interval option.
- 11b .
- 11c In this game a player has to try to build and defend an empire.
- </programlisting>
- </para>
- </sect1>
- <sect1>
- <title>Makefile</title>
- <para>
- Quittons un instant le r&eacute;pertoire debian et remontons d'un
- r&eacute;pertoire pour examiner le fichier Makefile de Empire. C'est
- le fichier que <command>make(1)</command> utilisera pour
- g&eacute;n&eacute;rer le programme automatiquement.
- <programlisting>
- 1 # %W% %G% %U% - (c) Copyright 1987, 1988 Chuck Simmons
- 2
- 3 #
- 4 # Copyright (C) 1987, 1988 Chuck Simmons
- 5 #
- 6 # See the file COPYING, distributed with empire, for restriction
- 7 # and warranty information.
- 8
- 9 # Change the line below for your system. If you are on a Sun or Vax,
- 10 # you may want BSD.
- 11
- 12 SYS = BSD
- 13 #SYS = SYSV
- 14
- 15 # Use -g to compile the program for debugging.
- 16
- 17 DEBUG = -g -DDEBUG
- 18 #DEBUG = -O
- 19
- 20 # Use -p to profile the program.
- 21 #PROFILE = -p -DPROFILE
- 22 PROFILE =
- 23
- 24 # Define all necessary libraries. 'curses' is necessary. 'termcap'
- 25 # is needed on BSD systems.
- 26 LIBS = -ldcurses
- 27 #LIBS = -lcurses -ltermcap
- 28
- 29 # You shouldn't have to modify anything below this line.
- 30
- 31 CFLAGS = $(DEBUG) $(PROFILE) -D$(SYS)
- 32 INS = /etc/install
- 33
- 34 FILES = \
- 35 attack.c \
- 36 compmove.c \
- 37 data.c \
- 38 display.c \
- 39 edit.c \
- 40 empire.c \
- 41 game.c \
- 42 main.c \
- 43 map.c \
- 44 math.c \
- 45 object.c \
- 46 term.c \
- 47 usermove.c \
- 48 util.c
- 49
- 50 HEADERS = empire.h extern.h
- 51
- 52 OFILES = \
- 53 attack.o \
- 54 compmove.o \
- 55 data.o \
- 56 display.o \
- 57 edit.o \
- 58 empire.o \
- 59 game.o \
- 60 main.o \
- 61 map.o \
- 62 math.o \
- 63 object.o \
- 64 term.o \
- 65 usermove.o \
- 66 util.o
- 67
- 68 all: empire
- 69
- 70 empire: $(OFILES)
- 71 $(CC) $(PROFILE) -o empire $(OFILES) $(LIBS)
- 72
- 73 TAGS: $(HEADERS) $(FILES)
- 74 etags $(HEADERS) $(FILES)
- 75
- 76 lint: $(FILES)
- 77 lint -u -D$(SYS) $(FILES) -lcurses
- 78
- 79 clean:
- 80 rm -f *.o TAGS
- 81
- 82 clobber: clean
- 83 rm -f empire empire.tar*
- 84
- 85 install: empire
- 86 $(INS) -o -f /usr/local/games empire
- 87
- 88 installman: empire.6
- 89 $(INS) -f /usr/local/man/man6 empire.6
- 90
- 91 SOURCES = READ.ME empire.6 COPYING Makefile BUGS $(FILES) $(HEADERS) MANIFEST empire.lsm
- 92
- 93 empire.tar: $(SOURCES)
- 94 tar -cvf empire.tar $(SOURCES)
- 95 empire.tar.gz: empire.tar
- 96 gzip empire.tar
- 97
- 98 empire.shar: $(SOURCES)
- 99 shar $(SOURCES) &gt;empire.shar
- </programlisting>
- </para>
- <para>
- Avec de la chance, vous aurez dans votre paquet un joli
- makefile bien cr&eacute;&eacute;, et vous n'aurez rien d'autre &agrave; faire. Mais
- mon exp&eacute;rience est que vous avez toujours quelques
- modifications &agrave; apporter pour qu'il fonctionne
- correctement. Il n'y a pas la place n&eacute;cessaire pour expliquer
- les d&eacute;tails concernant la correction des makefiles, mais voici
- quelques probl&egrave;mes que vous pouvez rencontrer.
- </para>
- <para>
- Regardez les lignes 12 et 13. Il existe au moins deux
- variantes principales de Unix, System V et BSD. Linux comporte
- des &eacute;l&eacute;ments des deux, mais en g&eacute;n&eacute;ral vous choisirez System
- V. Aussi nous commentons la ligne 12 et remettons la ligne
- 13. Nous ne voulons pas des options de d&eacute;bugages.
- <programlisting>
- 12 #SYS = BSD
- 13 SYS = SYSV
- </programlisting>
- <programlisting>
- 17 #DEBUG = -g -DDEBUG
- 18 DEBUG = -O
- </programlisting>
- </para>
- <para>
- Le plus important probl&egrave;me est d'oublier que les lignes dans les buts
- telles que les lignes 35-48 doivent &ecirc;tre indent&eacute;es avec une
- tabulation. Pas des espaces. Souvent, quand vous coupez-collez les
- tabulations sont remplac&eacute;es par des espaces, et vous aurez d'&eacute;tranges
- messages d'erreur.
- </para>
- <para>
- Les librairies sont souvent diff&eacute;rentes d'une plateforme &agrave; l'autre. La
- ligne 26 fait r&eacute;f&eacute;rence &agrave; dcurses, qui n'existe pas sous Debian. Nous
- devons donc utiliser ncurses.
- <programlisting>
- 26 LIBS = -lncurses
- 27 #LIBS = -lcurses -ltermcap
- </programlisting>
- </para>
- <para>
- Un autre probl&egrave;me est la localisation des ex&eacute;cutables. Par
- exemple, la ligne 32 place <command>install(1)</command> dans
- /etc/. Sous Debian, ce programme est dans /usr/bin, aussi nous
- devons &eacute;diter cette ligne.
- <programlisting>
- 32 INS = /usr/bin/install
- </programlisting>
- </para>
- <para>
- Debian a des normes strictes quant &agrave; l'endroit o&ugrave; les
- programmes doivent &ecirc;tre install&eacute;s. Ceci est sp&eacute;cifi&eacute; dans
- /usr/doc/debian-policy/fsstnd. Pour suivre ces normes, nous
- devons installer l'ex&eacute;cutable dans /usr/games plut&ocirc;t que dans
- /usr/local/games, et la page de manuel dans /usr/man/man6
- plut&ocirc;t que dans /usr/local/man/man6. Il va y avoir un autre
- probl&egrave;me. Le programme install de Debian a d'autres options
- que celui du syst&egrave;me de l'auteur de Empire. En bref, -o
- d&eacute;signe le propri&eacute;taire, -g le groupe, et -m les permissions
- pour chaque fichier. Le manuel des normes sp&eacute;cifie ce que
- chacun devrait &ecirc;tre. Sur les ex&eacute;cutables, nous utilisons -s
- pour retirer les informations de d&eacute;bugage. Cela les rendra
- plus petits de sorte qu'ils utiliseront moins de place disque
- et moins de m&eacute;moire. Consultez la page de manuel d'install
- pour plus de renseignements.
- </para>
- <para>
- Nous changeons les lignes 85-89 comme suit (les raisons pour
- pr&eacute;fixer les chemins par debian/tmp seront d&eacute;crites plus bas).
- <programlisting>
- 85 install: empire
- 86 $(INS) -o root -g root -m 0755 -s empire debian/tmp/usr/games/empire
- 87
- 88 installman: empire.6
- 89 $(INS) -o root -g root -m 0644 empire.6 debian/tmp/usr/man/man6/empire.6
- </programlisting>
- </para>
- <para>
- Beaucoup de makefiles auront une macro nomm&eacute;e DESTDIR qui
- sp&eacute;cifie le r&eacute;pertoire d'installation. Si elle existe, vous
- devriez la mettre &agrave; debian/tmp.
- </para>
- <para>
- Si vous &ecirc;tre vraiment malchanceux, vous aurez &agrave; modifier le
- source lui-m&ecirc;me. Quand vous faites ce genre de modification,
- faites-le de mani&egrave;re non-destructrice, de sorte que quelqu'un
- ayant une autre plateforme n'ait pas &agrave; d&eacute;faire vos
- changements. Encadrez-les avec quelque chose du genre :
- <programlisting>
- #ifdef DEBIAN...#endif
- </programlisting>
- pour les isoler. Si vous faites des modifications, envoyez-les
- &agrave; l'auteur original ou au responsable de sorte qu'elles soient
- en standard dans la version suivante.
- </para>
- </sect1>
- <sect1>
- <title>rules</title>
- <para>
- Maintenant, nous revenons dans le r&eacute;pertoire debian et jetons
- un oeil aux r&egrave;gles que dpkg-dev utilise pour cr&eacute;er vraiment le
- paquet. Voici ce que debmake nous donne comme fichier de
- r&egrave;gles par d&eacute;faut :
- <programlisting>
- 1 #!/usr/bin/make -f
- 2 # Made with the aid of debmake, by Christoph Lameter,
- 3 # based on the sample debian/rules file for GNU hello by Ian Jackson.
- 4
- 5 package=empire
- 6
- 7 build:
- 8 $(checkdir)
- 9
- 10 make CFLAGS="-O2 -g -Wall"
- 11
- 12 touch build
- 13
- 14 clean:
- 15 $(checkdir)
- 16 -rm -f build
- 17 -make clean
- 18 -rm -f `find . -name "*~"`
- 19 -rm -rf debian/tmp debian/files* core debian/substvars
- 20
- 21 binary-indep: checkroot build
- 22 $(checkdir)
- 23 # There are no architecture-independent files to be uploaded
- 24 # generated by this package. If there were any they would be
- 25 # made here.
- 26
- 27 binary-arch: checkroot build
- 28 $(checkdir)
- 29 -rm -rf debian/tmp
- 30 install -d debian/tmp
- 31 cd debian/tmp && install -d `cat ../dirs`
- 32 make install DESTDIR=`pwd`/debian/tmp
- 33 # Must have debmake installed for this to work. Otherwise please copy
- 34 # /usr/bin/debstd into the debian directory and change debstd to debian/debstd
- 35 debstd BUGS
- 36 dpkg-gencontrol
- 37 chown -R root.root debian/tmp
- 38 chmod -R go=rX debian/tmp
- 39 dpkg --build debian/tmp ..
- 40
- 41 define checkdir
- 42 test -f debian/rules
- 43 endef
- 44
- 45 # Below here is fairly generic really
- 46
- 47 binary: binary-indep binary-arch
- 48
- 49 checkroot:
- 50 $(checkdir)
- 51 test root = "`whoami`"
- 52
- 53 .PHONY: binary binary-arch binary-indep clean checkroot
- </programlisting>
- </para>
- <para>
- Vous vous &ecirc;tes probablement familiaris&eacute; avec des lignes comme
- la ligne une, de part les scripts shell ou perl. Cela signifie
- que le fichier sera ex&eacute;cut&eacute; par make. La ligne 10 d&eacute;clenche le
- fichier makefile de l'application. La partie CFLAGS de cette
- ligne indique des options de compilation par d&eacute;faut, au cas ou
- le makefile de l'application n'en aurait pas. Nous n'avons pas
- de soucis &agrave; nous faire pour cela (voir la ligne 31 du makefile
- d'Empire), aussi nous pouvons l'effacer :
- <programlisting>
- 10 make
- </programlisting>
- </para>
- <para>
- On y arrive rarement du premier coup, aussi les lignes 14-20
- nettoient les crasses inutiles laiss&eacute;es par les essais rat&eacute;s.
- </para>
- <para>
- Les lignes 27-40 sont le coeur du fichier rules. Un r&eacute;pertoire
- nomm&eacute; tmp est cr&eacute;&eacute; dans le r&eacute;pertoire debian (si il existe
- d&eacute;j&agrave;, il sera effac&eacute; pour reprendre dans un &eacute;tat initial). Le
- paquet sera assembl&eacute; ici. C'est pour cela que dans le makefile
- d'Empire, nous avons sp&eacute;cifi&eacute; debian/tmp comme r&eacute;pertoire
- racine. Dans la ligne 31 sont cr&eacute;&eacute;s les r&eacute;pertoires dans
- lesquels nous allons effectuer l'installation. Ils sont pris
- dans le fichier dirs dont nous parlerons plus bas. La ligne 32
- lance le but install du fichier makefile d'Empire. La ligne 35
- lance <command>debstd(1)</command> qui vient avec
- debmake. debstd est une boîte noire qui va modifier votre
- paquet pour qui soit conforme aux normes Debian. Si vous
- voulez des d&eacute;tails, lisez la page de manuel, ou regardez les
- sources (c'est juste un script shell), et je vous encourage &agrave;
- le faire. Mais l'avantage de la boîte noire, c'est que vous
- n'avez pas &agrave; savoir ce qu'elle fait, vous pouvez supposer
- qu'elle le fait correctement. Quand les normes Debian
- changeront, ce sera transparent pour vous. Installez juste une
- version mise &agrave; jour de debmake qui supportent les nouvelles
- normes, recompilez et vous serez conforme (pour la plupart des
- normes. Toutes les modifications des normes ne peuvent pas
- &ecirc;tre ais&eacute;ment g&eacute;r&eacute;es automatiquement, aussi est-il payant de
- comprendre le probl&egrave;me en profondeur avant de se fier &agrave; un
- bout de code.) La ligne 36 lance dpkg-gencontrol qui va cr&eacute;er
- le fichier de contr&ocirc;le du paquet. Voyez
- <command>deb(5)</command> pour des d&eacute;tails sur le format de
- paquet Debian. Enfin, la ligne 39 cr&eacute;e le paquet proprement
- dit.
- </para>
- <para>
- Les lignes 41 et suivantes sont juste des macros utilis&eacute;es par
- le fichier rules et vous n'avez pas &agrave; vous en soucier.
- </para>
- <para>
- Ce qu'il faut savoir du fichier rules cr&eacute;&eacute; par debmake est
- qu'il est juste une suggestion. Il fonctionne pour des paquets
- simples, mais pour des paquets plus compliqu&eacute;s, n'h&eacute;sitez &agrave; y
- faire des ajouts ou des retraits pour vos besoin.
- </para>
- </sect1>
- <sect1>
- <title>
- dirs
- </title>
- <para>
- Ce fichier indique les r&eacute;pertoires que votre paquet va
- cr&eacute;er. Par d&eacute;faut, il s'agit de
- <programlisting>
- 1 usr/bin
- 2 usr/sbin
- </programlisting>
- </para>
- <para>
- Remarquez que le slash de t&ecirc;te n'est pas inclus. Nous
- changeons en
- <programlisting>
- 1 usr/games
- 2 usr/man/man6
- </programlisting>
- </para>
- <para>
- Maintenant, il nous reste quelques fichiers de plus &agrave; cr&eacute;er,
- et notre paquet sera complet.
- </para>
- </sect1>
- <sect1>
- <title>
- copyright
- </title>
- <para>
- Ce fichier contient les informations concernant les droits de copie
- du paquet. Voici ce que debmake cr&eacute;e par d&eacute;faut :
- <programlisting>
- 1 This package was debianized by Jaldhar H. Vyas jaldhar@debian.org on
- 2 Thu, 11 Sep 1997 22:49:54 -0400.
- 3
- 4 It was downloaded from &lt;fill in ftp site&gt;
- 5
- 6 Copyright:
- 7
- 8 &lt;Must follow here&gt;
- </programlisting>
- </para>
- <para>
- Les choses importantes &agrave; inclure dans ce fichier sont l'endroit o&ugrave;
- vous avez trouv&eacute; ce paquet, et la licence de copie. Si la licence est
- l'une des licences bien connue de logiciel libre, comme GNU, BSD ou
- Artistic, vous n'avez pas &agrave; inclure le texte entier, vous pouvez juste
- faire r&eacute;f&eacute;rence au fichier ad&eacute;quat dans /usr/doc/copyright. Empire est
- sous licence GPL, aussi nous changeons le fichier en :
- <programlisting>
- 1 This package was debianized by Jaldhar H. Vyas jaldhar@debian.org on
- 2 Thu, 11 Sep 1997 22:49:54 -0400.
- 3
- 4 It was downloaded from http://www.cdrom.com/pub/linux/sunsite/games/strategy
- 5
- 6 Copyright: (c) 1987, 1988 Chuck Simmons
- 7
- 8 This program is free software; you can redistribute it and/or modify
- 8a it under the terms of the GNU General Public License as published by
- 8b the Free Software Foundation; either version 2, or (at your option)
- 8c any later version.
- 8d
- 8e This program is distributed in the hope that it will be useful,
- 8f but WITHOUT ANY WARRANTY; without even the implied warranty of
- 8g MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- 8h GNU General Public License for more details.
- 8i
- 8j You should have received a copy of the GNU General Public License
- 8k along with Debian system; see the file /usr/share/common-licenses/GPL.
- 8l If not, write to the Free Software Foundation, Inc., 51 Franklin St,
- 8m Fifth Floor, Boston, MA 02110-1301, USA.
- </programlisting>
- </para>
- </sect1>
- <sect1>
- <title>
- README.debian
- </title>
- <para>
- Tous les autres d&eacute;tails ou variations entre le paquet original
- et votre version debianis&eacute;e (NdT: un n&eacute;ologisme ?) doivent
- &ecirc;tre document&eacute;e ici. Voici &agrave; quoi la cr&eacute;ation par d&eacute;faut de
- debmake ressemble :
- <programlisting>
- empire for DEBIAN
- ----------------------
-
- Comments regarding the Package
-
- Jaldhar H. Vyas &lt;jaldhar@debian.org&gt;, Thu, 11 Sep 1997 22:49:54 -0400
- </programlisting>
- </para>
- <para>
- Nous n'avons rien de particulier &agrave; ajouter, aussi le
- laissons-nous tel quel.
- </para>
- </sect1>
- <sect1>
- <title>
- changelog
- </title>
- <para>
- Au fur et &agrave; mesure que vous travaillerez, le comportement de
- votre paquet va changer, de nouvelles capacit&eacute;s seront
- ajout&eacute;es, et des erreurs seront corrig&eacute;es. Les personnes qui
- t&eacute;l&eacute;chargent votre paquet peuvent consulter ce fichier et voir
- ce qui a chang&eacute;. Voici ce &agrave; quoi ressemble le changelog par
- d&eacute;faut que cr&eacute;e debmake :
- <programlisting>
- 1 empire (1.1-1) unstable; urgency=low
- 2
- 3 * Initial Release.
- 4
- 5 -- Jaldhar H. Vyas &lt;jaldhar@debian.org&gt; Thu, 11 Sep 1997 22:49:54 -0400
- 6
- 7 Local variables:
- 8 mode: debian-changelog
- 9 add-log-mailing-address: "jaldhar@debian.org"
- 10 End:
- </programlisting>
- </para>
- <para>
- La ligne 1 est le nom du paquet, sa version, sa distribution
- et son urgence. Le num&eacute;ro de version ici est ce qui sera
- utilis&eacute; comme num&eacute;ro de version du paquet. Ne bidouillez pas
- cette ligne. Les lignes de 3 &agrave; 5 sont une entr&eacute;e
- d'archive. Nous pouvons y ajouter des &eacute;l&eacute;ments avec le
- programme <command>dch(1)</command> qui vient avec le paquet devscript
- (c'est un alias pour debchange. Vous pouvez l'invoquez avec un
- nom ou l'autre, cela ne fait aucune diff&eacute;rence). Les lignes 7
- &agrave; 10 sont des informations de mode pour Emacs(?). Ajoutons une
- ligne &agrave; changelog. Si le commentaire est court, vous pouvez
- l'ajouter directement &agrave; la ligne de commande de dch :
- <screen>
- <prompt>$</prompt> <userinput>dch This is my first Debian package</userinput>
- </screen>
- </para>
- <para>
- Vous pouvez aussi lancer dch seul. Cela d&eacute;marrera votre
- &eacute;diteur par d&eacute;faut, qui est, par ordre de pr&eacute;f&eacute;rence, le
- programme d&eacute;fini par la variable d'environnement $VISUAL, le
- programme d&eacute;fini par la variable d'environnement $EDITOR,
- <command>joe(1)</command> ou <command>ae(1)</command>. Quand
- l'&eacute;diteur a d&eacute;marr&eacute;, vous pouvez entrer votre
- commentaire. Quelque soit la m&eacute;thode employ&eacute;e, voici ce &agrave; quoi
- vous devez arriver :
- <programlisting>
- 1 empire (1.1-1) unstable; urgency=low
- 2
- 2a * This is my first debian package.
- 3 * Initial Release.
- 4
- 5 -- Jaldhar H. Vyas &lt;jaldhar@debian.org&gt; Thu, 11 Sep 1997 22:49:54 -0400
- 6
- 7 Local variables:
- 8 mode: debian-changelog
- 9 add-log-mailing-address: "jaldhar@debian.org"
- 10 End:
- </programlisting>
- </para>
- <para>
- Quand vous distribuez une nouvelle version, vous devez
- incr&eacute;menter le num&eacute;ro de version. Vous le faites avec la
- commande :
- <screen>
- <prompt>$</prompt> <userinput>dch -n This is my first debian package.</userinput>
- </screen>
- </para>
- <para>
- Si, pour une raison quelconque, vous voulez incr&eacute;menter le
- num&eacute;ro de version par plus que 1, par 15 par exemple, vous
- utilisez cette commande :
- <screen>
- <prompt>$</prompt> <userinput>dch -v 15 This is my first debian package.</userinput>
- </screen>
- </para>
- <para>
- Nous supposerons que vous voulez juste incr&eacute;menter le num&eacute;ro
- de version par 1. Voici ce &agrave; quoi ressemble changelog
- maintenant :
- <programlisting>
- 1 empire (1.1-2) unstable; urgency=low
- 2
- 2a * This is my first debian package
- 2b
- 2c -- Jaldhar H. Vyas &lt;jaldhar@debian.org&gt; Sun, 14 Sep 1997 12:04:44 -0500
- 2d
- 2e empire (1.1-1) unstable; urgency=low
- 2f
- 3 * Initial Release.
- 4
- 5 -- Jaldhar H. Vyas &lt;jaldhar@debian.org&gt; Thu, 11 Sep 1997 22:49:54 -0400
- 6
- 7 Local variables:
- 8 mode: debian-changelog
- 9 add-log-mailing-address: "jaldhar@debian.org"
- 10 End:
- </programlisting>
- </para>
- </sect1>
- <sect1>
- <title>
- conffiles
- </title>
- <para>
- Une des choses les plus &eacute;nervantes avec les logiciels est
- quand vous avez pass&eacute; un bon bout de temps &agrave; configurer un
- programme pour qu'une mise &agrave; jour efface tous vos
- changements. Debian r&eacute;sout ce probl&egrave;me en marquant les
- fichiers de configurations, de sorte que quand vous mettez &agrave;
- jour un programme, il vous sera demand&eacute; si vous voulez garder
- votre ancienne configuration ou pas. Vous faites ceci en
- entrant le chemin complet de chaque fichier de configuration
- (ils sont en g&eacute;n&eacute;ral dans /etc), un par ligne, dans un fichier
- nomm&eacute; conffiles. Empire n'a aucun fichier de configuration.
- </para>
- </sect1>
- <sect1>
- <title>
- *.ex
- </title>
- <para>
- Certains paquets doivent faire plus que de simplement installer des
- fichiers. Par exemple, un serveur peut avoir besoin d'ins&eacute;rer une
- ligne dans /etc/inetd.conf. Les fichiers en suffixe .ex sont des
- exemples de la mani&egrave;re d'ajouter ce genre de support &agrave; votre
- paquet. Pour en utiliser un, &eacute;ditez et retirez le suffixe .ex . Voici
- une br&egrave;ve description de ce que fait chaque fichier.
- </para>
- <variablelist>
- <varlistentry>
- <term>
- crontab.ex
- </term>
- <listitem>
- <para>
- Ceci ajoute une ligne au fichier /etc/crontab pour
- ex&eacute;cuter un programme de mani&egrave;re r&eacute;guli&egrave;re. Les normes
- actuelles sp&eacute;cifient qu'un paquet ne devrait pas toucher
- &agrave; /etc/crontab, aussi si vous pensez qu'il y a une bonne
- raison de le faire, discutez-en d'abord sur les mailing
- lists. Si vous renommez ce fichier en cron.daily, il
- sera ajout&eacute; dans /etc/cron.daily/ et ex&eacute;cut&eacute; tous les
- jours. Pareillement, si vous le renommez cron.weekly il
- sera ajout&eacute; dans /etc/cron.weekly/, et pour cron.monthly
- il sera ajout&eacute; dans /etc/cron.monthly/. Comme les noms
- le sugg&egrave;rent (pour peu qu'on parle un brin anglais,
- NdT), ils sont ex&eacute;cut&eacute;s respectivement toutes les
- semaines et tous les mois. Lisez les pages de manuel de
- <command>crontab(1)</command> et
- <command>crontab(5)</command> pour plus de d&eacute;tails. Les
- normes pr&eacute;cisent que ces fichiers doivent &ecirc;tre des
- scripts, et qu'ils doivent &ecirc;tre enregistr&eacute;s comme
- conffiles. Empire n'en a pas besoin, aussi nous
- l'effacerons.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- diversion.ex
- </term>
- <listitem>
- <para>
- Quelque chose &agrave; voir avec un d&eacute;tournement, peut-&ecirc;tre ?
- Empire n'en a pas besoin, nous l'effa&ccedil;ons (NdT : il
- s'agit du m&eacute;canisme utilis&eacute; sous Debian pour permettre
- d'avoir plusieurs programmes aux capacit&eacute;s similaires
- tout en enregistrant un programme par d&eacute;faut.)
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- inetd.conf.ex
- </term>
- <listitem>
- <para>
- Ceci ajoute une ligne dans /etc/inetd.conf pour ex&eacute;cuter
- un d&eacute;mon. Lisez les pages de manuel pour
- <command>inetd.conf(1)</command> pour des d&eacute;tails sur le
- format. Empire n'en a pas besoin, aussi nous l'effa&ccedil;ons.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- info.ex
- </term>
- <listitem>
- <para>
- &Eacute;ditez ce fichier pour fournir de la documentation au
- format GNU info. Empire n'en a pas besoin, aussi nous
- l'effa&ccedil;ons.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- init.d.ex
- </term>
- <listitem>
- <para>
- Ceci est un script par d&eacute;faut pour /etc/init.d/. Si
- votre programme doit &ecirc;tre lanc&eacute; au moment du d&eacute;marrage
- et stopp&eacute; &agrave; l'arr&ecirc;t de l'ordinateur, ou lorsque le
- niveau d'ex&eacute;cution (runlevel) change , &eacute;ditez le script
- pour faire les actions n&eacute;cessaires. Empire n'en a pas
- besoin, aussi nous l'effa&ccedil;ons.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- manpage.1.ex
- </term>
- <listitem>
- <para>
- Votre programme devrait avoir une page de manuel. S'il
- n'en a pas, voici un patron que vous pouvez
- remplir. Lisez les pages de manuel de <command>man(7)</command> pour
- une description rapide de la fa&ccedil;on de cr&eacute;er une page de
- manuel. Soyez s&ucirc;r de donner &agrave; ce fichier le nom du
- programme avec l'extension correspondant &agrave; la section du
- manuel dans laquelle il devrait aller. Voici une liste :
- <table>
- <title>Section des pages de manuel</title>
- <tgroup cols="3">
- <tbody>
- <row>
- <entry>
- Section
- </entry>
- <entry>
- Description
- </entry>
- <entry>
- Notes
- </entry>
- </row>
- <row>
- <entry>
- 1
- </entry>
- <entry>
- Commandes utilisateur
- </entry>
- <entry>
- Commandes ou scripts ex&eacute;cutables
- </entry>
- </row>
- <row>
- <entry>
- 2
- </entry>
- <entry>
- Appels syst&egrave;mes
- </entry>
- <entry>
- Fonctions fournies par le noyau
- </entry>
- </row>
- <row>
- <entry>
- 3
- </entry>
- <entry>
- Appels librairies
- </entry>
- <entry>
- Fonctions des librairies syst&egrave;me
- </entry>
- </row>
- <row>
- <entry>
- 4
- </entry>
- <entry>
- Fichiers sp&eacute;ciaux
- </entry>
- <entry>
- D'ordinaire trouv&eacute;s dans /dev
- </entry>
- </row>
- <row>
- <entry>
- 5
- </entry>
- <entry>
- Formats de fichiers
- </entry>
- <entry>
- Par exemple, le format de /etc/passwd
- </entry>
- </row>
- <row>
- <entry>
- 6
- </entry>
- <entry>
- Jeux
- </entry>
- <entry>
- Ou tout autre programme frivole
- </entry>
- </row>
- <row>
- <entry>
- 7
- </entry>
- <entry>
- Paquets de macros
- </entry>
- <entry>
- Comme les macros de man
- </entry>
- </row>
- <row>
- <entry>
- 8
- </entry>
- <entry>
- Administration Syst&egrave;me
- </entry>
- <entry>
- D'ordinaire uniquement lanc&eacute; par root
- </entry>
- </row>
- <row>
- <entry>
- 9
- </entry>
- <entry>
- Routine noyau
- </entry>
- <entry>
- Appels non-standards et internes
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </para>
- <para>
- La page de manuel de Empire devrait &ecirc;tre nomm&eacute;e
- empire.6. Comme il y a d&eacute;j&agrave; une page de manuel empire.6,
- nous pouvons effacer cet exemple.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- menu.ex
- </term>
- <listitem>
- <para>
- Les utilisateurs de X Windows ont un gestionnaire de
- fen&ecirc;tres avec des menus qui peuvent &ecirc;tre configur&eacute;s pour
- lancer des programmes. S'ils ont install&eacute;s le paquet
- Debian menu, un ensemble de menus pour chaque programme
- sur le syst&egrave;me sera cr&eacute;&eacute; pour eux. Ce n'est pas requis
- par les normes Debian, mais vos utilisateurs
- appr&eacute;cieront. Nous pouvons ajouter Empire aux menus en
- &eacute;ditant ce fichier. Voici ce que debmake cr&eacute;e par d&eacute;faut
- :
- <programlisting>
- text Apps/Misc empire none "empire Description" /usr/bin/empire
- </programlisting>
- </para>
- <para>
- Le premier champ indique le type d'interface requise par
- le programme (text ou X11). Le champ suivant est le nom
- de menu et de sous-menu dans lequel l'entr&eacute;e devrait
- appara&icirc;tre. La liste de sections actuelles est dans
- /usr/doc/menu/README. Le troisi&egrave;me est le nom du
- menu. Le quatri&egrave;me est l'ic&ocirc;ne du programme, ou rien
- s'il n'y en a pas. Le cinqui&egrave;me est le texte qui
- appara&icirc;tra au menu. Le sixi&egrave;me est la commande qui lance
- le programme.
- </para>
- <para>
- Remplacez l'entr&eacute;e du menu par :
- <programlisting>
- text Games/Strategy empire none "Build an empire" /usr/bin/empire
- </programlisting>
- </para>
- <sidebar>
- <para>
- NdT : menu a chang&eacute; de format, mais reste compatible
- avec l'ancienne version. Aujourd'hui, on pr&eacute;f&eacute;rera
- ceci :
- <programlisting>
- ?package(empire):needs="text" \
- section="Games/Strategy" \
- title="Build an empire" \
- icon="none" \
- command="/usr/bin/empire"
- </programlisting>
- </para>
- </sidebar>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- watch.ex
- </term>
- <listitem>
- <para>
- Vous pouvez utiliser ce fichier en plus des programmes
- <command>uscan(1)</command> et
- <command>uupdate(1)</command> du paquet devscript pour
- surveiller le site duquel vous avez eu les sources
- originelles. Lisez les pages de manuel pour plus de
- d&eacute;tail. Voici ce que debmake cr&eacute;e par d&eacute;faut :
- <programlisting>
- 1 # Example watch control file for uscan
- 2 # Rename this file to "watch" and then you can run the "uscan" command
- 3 # to check for upstream updates and more.
- 4 # Site Directory Pattern Version Script
- 5 sunsite.unc.edu /pub/Linux/Incoming empire-*.tar.gz debian uupdate
- </programlisting>
- </para>
- <para>
- Changez le en :
- <programlisting>
- 5 www.cdrom.com /pub/Linux/sunsite/games/strategy empire-*.tar.gz debian uupdate
- </programlisting>
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect1>
- </chapter>
- <chapter>
- <title>Construction</title>
- <para>
- Nous sommes enfin pr&ecirc;t pour la cr&eacute;ation du paquet.
- </para>
- <para>
- Allez dans le r&eacute;pertoire principale d'Empire et lancez build
- <screen>
- <prompt>$</prompt> <userinput>cd ..</userinput>
- <prompt>$</prompt> <userinput>build</userinput>
- </screen>
- </para>
- <para>
- Si vous avez fait des erreurs et que build &eacute;choue, et que vous
- essayez encore, vous pouvez rencontrer un petit probl&egrave;me. La
- deuxi&egrave;me fois que vous lancez build, vous pouvez avoir un
- message d'erreur comme ceci :
- <programlisting>
- dpkg-source: unrepresentable changes to source
- </programlisting>
- </para>
- <para>
- Cette erreur appara&icirc;t quand le paquet n'a pas &eacute;t&eacute; correctement
- nettoy&eacute;. Soyez s&ucirc;r que le but clean du makefile de l'application
- retire tous les fichiers inutiles. Si nous relisons le makefile
- d'Empire, nous voyons que clean n'efface pas l'ex&eacute;cutable
- empire. clobber le fait &agrave; la place (lignes 79-84). Aussi nous
- changeons la ligne 17 du fichier rules en :
- <programlisting>
- 17 -make clobber
- </programlisting>
- </para>
- <para>
- Quand build a fini avec succ&egrave;s, remontez d'un r&eacute;pertoire :
- <screen>
- <prompt>$</prompt> <userinput>cd ..</userinput>
- </screen>
- </para>
- <para>
- Vous verrez quatre nouveaux fichiers
- <variablelist>
- <varlistentry>
- <term>
- empire_1.1-2_i386.deb
- </term>
- <listitem>
- <para>
- est le paquet Debian complet. Vous pouvez utiliser dpkg
- ou dselect pour l'installer ou le retirer comme
- n'importe quel autre paquet.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- empire_1.1-2_i386.changes
- </term>
- <listitem>
- <para>
- Au fur et &agrave; mesure que vous travaillez sur un paquet,
- son comportement va changer et de nouvelles capacit&eacute;s
- seront ajout&eacute;es. Les personnes qui t&eacute;l&eacute;chargent votre
- paquet peuvent regarder ce fichier et voir ce qui a
- chang&eacute;. Le fichier est g&eacute;n&eacute;r&eacute; &agrave; partir de
- empire-1.1/debian/changelog. Il contient aussi la liste
- des fichiers du paquet. Les longues cha&icirc;nes de
- caract&egrave;res sont les sommes MD5 du fichier. Une personne
- qui t&eacute;l&eacute;charge vos fichiers peut les tester avec le
- programme md5sum (voir la page de manuel) et si les
- num&eacute;ros ne correspondent pas, elle saura que le fichier
- est corrompu ou modifi&eacute;.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- empire_1.1.orig.tar.gz
- </term>
- <listitem>
- <para>
- Ceci est le source original empaquet&eacute; de sorte que si
- quelqu'un veut recr&eacute;er votre paquet depuis le d&eacute;but, il
- peut.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- empire_1.1-2.dsc
- </term>
- <listitem>
- <para>
- Ceci est un r&eacute;sum&eacute; du contenu du code source. Ce fichier
- est g&eacute;n&eacute;r&eacute; &agrave; partir du fichier
- empire-1.1/debian/control.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- <para>
- Et voil&agrave;. Vous &ecirc;tes maintenant l'heureux cr&eacute;ateur d'une nouvelle
- archive Debian. Il reste encore beaucoup de travail &agrave; faire
- avant d'&ecirc;tre totalement conforme aux normes Debian (voyez le
- Manuel des Normes pour plus de d&eacute;tails). Avec un peu de chance,
- cette introduction vous aura montr&eacute; que le processus complet
- n'est pas aussi dur que beaucoup le pensent.
- </para>
- </chapter>
- <chapter>
- <title>Pour plus d'informations</title>
- <formalpara>
- <title>
- L'aide sp&eacute;cifique &agrave; Debian
- </title>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- Lisez toute la documentation dans /usr/doc/dpkg,
- /usr/doc/debian, /usr/doc/debmake (surtout
- README.debian.gz) et les pages de manuel pour tous les
- programmes mentionn&eacute;s dans cet article.
- </para>
- </listitem>
- <listitem>
- <para>
- En joignant la mailing list Debian Mentor
- (debian-mentors@lists.debian.org), vous pourrez faire
- &eacute;quipe avec des d&eacute;veloppeurs Debian exp&eacute;riment&eacute;s qui
- seront heureux de r&eacute;pondre &agrave; vos questions. Vous pouvez
- vous inscrire
- <ulink url="mailto:debian-mentors-requests@lists.debian.org">
- ici
- </ulink>.
- </para>
- </listitem>
- <listitem>
- <para>
- Si vous avez encore des questions, demandez sur la
- mailing list Debian Developers
- (debian-devel@lists.debian.org). Vous pouvez vous
- inscrire
- <ulink url="mailto:debian-devel-requests@lists.debian.org">
- ici
- </ulink>.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </formalpara>
- <bibliography>
- <title>
- Quelques livres d'introduction sur la programmation sous
- Linux/Unix
- </title>
- <biblioentry>
- <title>
- Beginning Linux Programming
- </title>
- <authorgroup>
- <author>
- <surname>
- Matthew
- </surname>
- </author>
- <author>
- <surname>
- Stones
- </surname>
- </author>
- </authorgroup>
- <pubdate>
- 1996
- </pubdate>
- <publisher>
- <publishername>
- Wrox Press
- </publishername>
- </publisher>
- <isbn>
- 1874416680
- </isbn>
- </biblioentry>
- <biblioentry>
- <title>
- Programming With GNU Software
- </title>
- <authorgroup>
- <author>
- <surname>
- Loukides
- </surname>
- </author>
- <author>
- <surname>
- Oram
- </surname>
- </author>
- </authorgroup>
- <publisher>
- <publishername>
- O'Reilly & Associates
- </publishername>
- </publisher>
- <pubdate>
- 1996
- </pubdate>
- <isbn>
- 1-56592-112-7
- </isbn>
- </biblioentry>
- <biblioentry>
- <title>
- The Unix Programming Environment
- </title>
- <authorgroup>
- <author>
- <surname>
- Kernighan
- </surname>
- </author>
- <author>
- <surname>
- Pike
- </surname>
- </author>
- </authorgroup>
- <publisher>
- <publishername>
- Prentice-Hall Inc.
- </publishername>
- </publisher>
- <pubdate>
- 1984
- </pubdate>
- <isbn>
- 0-13-937681-x
- </isbn>
- </biblioentry>
- </bibliography>
- </chapter>
-</book>
-
diff --git a/french/international/french/translations/internals.sgml b/french/international/french/translations/internals.sgml
deleted file mode 100644
index 39213952900..00000000000
--- a/french/international/french/translations/internals.sgml
+++ /dev/null
@@ -1,573 +0,0 @@
-<!doctype debiandoc system [
-<!-- entity % manuals-version-def system "manuals-version"-->
-<!--%manuals-version-def;-->
-]>
-<debiandoc><book>
-
-<titlepag>
-<title>Le manuel de l'intérieur de dpkg</title>
-<author>
- <name>Klee Dienes</name>
- <email>klee@mit.edu</email>
-</author>
-<version>Version 1.5 --- janvier 2001</version>
-<abstract>
-Ce manuel décrit la structure interne de <prgn>dpkg</prgn>, le système de
-gestion des paquets.
-</abstract>
-
-<copyright>
-<copyrightsummary>
-Copyright &copy;1997 Klee Dienes &lt;klee@mit.edu&gt;
-</copyrightsummary>
-<p>
-Ce manuel est du logiciel libre; vous pouvez le redistribuer
-gratuitement et/ou le modifier sous les conditions de la «&nbsp;GNU General
-Public License&nbsp;» telle que publiée par la Free Software Foundation ;
-soit version 2, soit (à votre convenance) n'importe quelle version suivante.
-<p>
- Il est distribué dans l'espoir qu'il sera utile, mais <em>sans aucune
-garantie</em>; sans même la garantie implicite d'une possible
-commercialisation ou d'une adéquation avec la satisfaction d'un but précis.
-Consultez la «&nbsp;;GNU General Public License&nbsp;» pour plus de détails.
-
-<p>
-Vous devriez avoir reçu une copie de la GNU General Public License avec
-votre système Debian, dans <file>/usr/share/common-licenses/GPL</file>,
-ou dans le fichier <file>COPYING</file> du paquet source de
-<prgn>dpkg</prgn>. Sinon, écrivez à la
-Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.
-</copyright>
-</titlepag>
-
-<toc detail="sect">
-
-<chapt id=build>
-<heading>Notes de Compilation</heading>
- <sect id=automake>
- <heading>Automake</heading>
-<p>
-Ce chapitre a été écrit par Tom Lees <email>tom@lpsg.demon.co.uk</email> le
-mardi 4 Mars 1997 à 21:34:57 +0000, et comprend de conséquentes modifications
-faites par Klee Dienes <email>klee@debian.org</email>.
-
-<p>
-Ce chapitre contient quelques généralités à propos de la conversion
-à <prgn>automake</prgn>. Si vous avez l'intention de faire quoi que ce
-soit avec <prgn>dpkg</prgn>, vous devriez probablement lire d'abord ce
-fichier en entier. Vous avez été prévenu.
-
-<p>
-<prgn>automake</prgn> possède plusieurs avantages significatifs, parmi
-lesquels :
-<list>
-<item>il accepte correctement emacs lisp ;
-<item>il accepte correctement libtool ;
-<item>il contient l'utilitaire <prgn>aclocal</prgn>.
-</list>
-
-<p>
-L'utilitaire <prgn>aclocal</prgn> est un programme très utile qui construit
-automatiquement un fichier <file>aclocal.m4</file> à partir du fichier
-<file>configure.in</file> de façon à inclure les macros appropriées.
-
-<p>
-Ceci n'affecte rien d'autre que la recompilation des fichiers
-<file>Makefile.in</file> à partir des sources.
-
-<p>
-La principale différence notable est probablement le fait qu'au lieu
-d'utiliser des noms de fichiers propriétaires, il accepte maintenant
-<em>configure --sharedstatedir</em> et <em>configure --localstatedir</em>.
-Pour faire de ces options des options par défaut pour Debian, vous
-devriez utiliser <em>./configure --localstatedir=/etc --sharedstatedir=/var/lib</em>.
-
-<p>
-J'ai aussi accommodé les macros canonisatrices que l'on trouve dans
-<em>autoconf</em> pour inclure l'ancienne façon de trouver
-l'«&nbsp;architecture&nbsp;» pour <prgn>dpkg</prgn>, i.e. pour qu'il soit un peu
-plus intelligent. Je l'ai modifié pour qu'il utilise les types systèmes
-«&nbsp;host&nbsp;», «&nbsp;build&nbsp;» et «&nbsp;target&nbsp;» au lieu de
-déterminer seulement l'architecture. Le type de CPU cible est vérifié dans
-«&nbsp;archtable&nbsp;» pour trouver l'architecture sur laquelle dpkg
-va tourner.
-
-<p>
-Il utilise <em>gcc --print-libgcc-file-name</em> pour trouver si
-possible l'architecture de compilation (c'est utilisé ensuite pour
-déterminer le format ELF ou <em>a.out</em>) ; il utilise si possible
-aussi <em>dpkg --print-architecture</em> pour modifier le champ
-<em>cpu</em> avant de passer l'alias de la cible à config.sub. Si vous
-voulez spécifier l'architecture, vous devriez maintenant utiliser
-<em>--target=</em>, plutôt que <em>--with-arch</em>,
-qui n'était de toute façon qu'un «&nbsp;hack&nbsp;». Le vieux <em/--with-arch/
-est toujours là, mais il est quelque peu moins fonctionnel.
-J'ai aussi déplacé les macros <em/DPKG_CACHED_/ dans dpkg.m4 pour rendre
-un peu plus lisible le fichier configure.in.
-
-<p>
-J'ai aussi tout converti à libtool (qu'on peut maintenant trouver dans
-la distribution Debian). Cela signifie essentiellement que tous les
-outils dpkg peuvent être compilés avec une librairie partagée
-<em>libdpkg</em> sans trop de difficultés (en fait, c'est l'option par
-défaut). Vous n'avez pas besoin d'installer libtool pour utiliser cette
-fonctionnalité (cela fonctionne comme autoconf), et d'une manière générale,
-cela ne devrait pas être souvent nécessaire.
-
-<p>
-Les nouvelles cibles <em>dist</em> construisent une distribution incluant
-tous les fichiers construits avec <prgn>debiandoc2html</prgn>,
-<prgn>debiandoc2ps</prgn>, etc., qui sont inclus dans la distribution de
-façon à ce que les gens puissent construire <prgn>dpkg</prgn>
-sans eux (particulièrement utile pour ceux qui font des portages).
-
-<p>
-Une cible <em/make debian/ a été ajoutée, qui compile les fichiers
-Debian à partir d'un répertoire courant (cela fait d'abord un
-<em/make dist/). Maintenant tout ce dont nous avons besoin c'est d'un
-dpkg-source modifié de façon à ce que le fichier
-<file/dpkg-1.4.0.8.tar.gz/ de la distribution GNU puisse être utilisé
-comme une partie de la distribution Debian.
-Je travaille là dessus, mais cela ne marche pas très bien pour l'instant
-(vous le trouverez dans les exemples).
-
-<p>
-J'ai enlevé la cible <em/ make portable/ target - elle ne fait rien d'utile.
-
-<p>
-J'ai ajouté les cibles <em/make uninstall/ pour aider les
-utilisateurs non-Debian qui veulent simplement essayer certains paquets
-Debian ; et les cibles «&nbsp;dist&nbsp;» sont aussi utiles pour construire une
-«&nbsp;distribution&nbsp;» de l'outil dpkg. Notez que du fait que automake
-inclut automatiquement les dépendances dans les Makefiles dans une
-distribution, si vous voulez modifier les fichiers C , il est conseillé
-de récupérer et d'installer automake, et ensuite de le relancer dans le
-répertoire de base de la distribution de dpkg, de façon à ce que la
-génération automatique des dépendances soit remise en marche, et de façon
-à ce que toute dépendance qui change soit prise en compte. Les cibles
-«&nbsp;make maintainer-clean&nbsp;» enlèveront tous les fichiers qui sont
-créés par les utilitaires suivants :
-<list>
-<item>automake
-<item>autoconf
-<item>aclocal
-<item>autoheader
-<item>gettextize
-<item>libtoolize
-</list>
-
-<p>
-Si vous voulez modifier quelque chose dans les sources, je vous recommande
-de faire d'abord ce qui suit (après avoir installé les
-utilitaires appropriés, bien sûr) :
-<list>
-<item>
-make maintainer-clean
-<item>
-aclocal
-<item>
-autoheader
-<item>
-autoconf
-<item>
-gettextize
-<item>
-libtoolize (ne laissez pas automake le lancer, sinon les fichiers libtool
-ne seront pas inclus dans les cibles dist)
-<item>
-for i in COPYING INSTALL; do ln -s /usr/share/automake/$i .; done
-<item>
-automake
-</list>
-
-<p>
-J'ai aussi incorporé les patches créés par Galen
-Hazelwood qui internationalisent dpkg en utilisant GNU gettext - voyez
-le fichier «&nbsp;NOTES.intl&nbsp;» pour plus d'information.
-
-<p>
-Les autres modifications mineures sont :
-
-<list>
-<item>
-Le numéro de version est maintenant déterminé par debian/changelog, et non
-à partir du nom du répertoire.
-<item>
-La création de version.h est maintenant gérée par le script configure,
-et non par le Makefile.
-<item>
-include/dpkg.h est maintenant produit à partir de include/dpkg.h.in
-par un script «&nbsp;sed&nbsp;» qui insére les définitions des répertoires
-appropriées -- il accepte maintenant le changement des répertoires de dpkg
-(on peut installer dans /usr/local).
-
-<item>
-Les fichiers «&nbsp;COPYING&nbsp;» (1 petite modification mineure) et
-«&nbsp;INSTALL&nbsp;» ont été mis à jour à partir de ceux distribués avec
-<em>automake-1.1l</em>.
-<item>
-Du fait que la librairie partagée <em>libdpkg</em> est maintenant installée,
-j'ai aussi fait installer par défaut dpkg.h et dpkg-db.h dans /usr/include par
-include/Makefile.
-</list>
-
-Questions:
-
-<list>
-<item>
-Dois je utiliser <em/localstatedir/ et <em/sharedstatedir/ au lieu de
-<em/sysconfdir/ et <em/datadir/?
-</list>
-
-</sect>
-
-<sect id=i18n>
-<heading>Internationalisation</heading>
-
-<p>
-Cette section a été écrite par Galen Hazelwood.
-
-<p>
-Dpkg est, pour le moins, généreux dans ses rapports d'erreur. La grande
-majorité des chaînes de caractères produites sont d'une manière ou d'une
-autre des messages d'erreur. Et si vous pensez que vous vous êtes égarés
-dans le Ministère des Ministères Redondants,
-vous auriez absolument raison. Beaucoup des messages d'erreurs
-dans dpkg.pot sont dupliqués et utilisés à différents endroits dans
-le programme.
-
-<p>
-Pour éviter de submerger complètement les traducteurs, j'ai pris des
-décisions arbitraires sur les sortes de chaînes de caractères
-à traduire. Toutes les chaînes envoyées à debug() sont laissées telles
-quelles, sur la base du fait qu'elles sont destinées aux développeurs de
-dpkg, et non à l'ensemble du public. La plupart des messages d'erreur
-internes sont très cryptiques, et confondraient certainement les
-traducteurs qui les verraient simplement posés là dans le fichier
-dpkg.pot, et ils sont laissés tels quels. (J'en ai quand même
-marqués quelques uns parmi les plus verbeux pour traduction.)
-
-<p>
-Si d'autres ne sont pas d'accord avec moi sur la nécessité
-de traduire ces chaînes, c'est suffisamment facile de simplement
-poursuivre et de les marquer plus tard.
-
-<p>
-J'ai ajouté le code de démarrage de gettext à la routine principale
-de dselect, ce qui était nécessaire car beaucoup des chaînes
-de lib sont traduites. Dselect est à part cela inchangé.
-
-<p>
-Modifications :
-
-<list>
-<item>
-Les fichiers dans intl et po ont été pris de gettext 0.10.26, grâce au
-programme gettextize. J'ai altéré les makefiles pour enlever le symbole
-VERSION, qui est utilisé seulement dans les cibles que dpkg n'accepte pas.
-<item>
-aclocal.m4 a été récupéré dans le paquet textutils, configure.in a été
-altéré pour utiliser ces nouveaux tests, les symboles ont été ajoutés
-à acconfig.h, et deux nouveaux répertoires ont été ajoutés dans
-Makefile.in.
-<item>
-Les Makefiles de dpkg, dpkg-deb, md5sum, split, et dselect cherchent
-maintenant des fichiers d'en-tête (headers) dans ../intl, et essayent
-de lier avec toute librairie d'internationalisation que <em>configure</em>
-trouve. Ils définissent aussi maintenant LOCALEDIR dans CFLAGS.
-<item>
-include/dpkg.h possède tous les éléments NLS nécessaires, et le seul
-fichier qui ne les inclut pas (md5sum/md5sum.c) les comprend directement.
-<item>
-La modification la plus profonde est due à un conflit entre xgettext
-et le style de codage de dpkg. Bien que xgettext comprenne la
-concaténation des chaînes constantes, il ne gère pas le cas où les
-symboles préprocesseur sont utilisés en même temps. Le code de dpkg
-utilise beaucoup cela, en particulier dans des cas comme celui-ci :
-<example>
-ohshite("error reading from " BACKEND " pipe");
-</example>
-où BACKEND est défini comme «&nbsp;dpkg-deb&nbsp;». xgettext n'acceptant pas cela,
-j'ai modifié l'utilisation générale comme cela :
-<example>
-ohshite(_("error reading from dpkg-deb pipe");
-</example>
-Ce n'est pas très sympa pour Ian, je sais. Mais que puis je faire ?
-</list>
-
-</sect>
-
-</chapt>
-
-<chapt id=code>
-<heading>L'intérieur du code</heading>
-
-<sect id=defs>
-<heading>Définitions de structures</heading>
-
-<sect1 id=versionrevision>
-<heading>versionrevision</heading>
-<p>
-<example>
-struct versionrevision {
- unsigned long epoch;
- char *version;
- char *revision;
-};
-</example>
-
-<p>
-La structure <tt/versionrevision/ est utilisée pour gérer une
-spécification de version Debian.
-
-</sect1>
-
-</sect>
-
-<sect id=functions>
-<heading>Les fonctions</heading>
-
-<sect1 id=parsing>
-<heading>Les tables de traduction de l'analyse syntaxique</heading>
-<p>
-Chacune de ces tables est utilisée pour associer un ensemble de chaînes
-de caractères avec un ensemble correspondant d'entiers.
-
-Les tables actuelles sont :
-
-<p>
-<example>
-const struct namevalue booleaninfos[];
-</example>
-
-<p>
-Associe des chaînes booléennes (<em/"yes"/,<em/"no"/) à leur valeur
-binaire.
-
-
-<sect2>
-<heading>priorityinfos[]</heading>
-
-<p>
-<example>
-const struct namevalue priorityinfos[];
-</example>
-
-<p>
-Associe les chaînes de priorité à des valeurs de type
-<em/enum pkgpriority/.
-Les valeurs actuelles de priorité sont :
-<list>
-<item><em/required/ - required
-<item><em/important/ - important
-<item><em/standard/ - standard
-<item><em/recommended/ - recommended
-<item><em/optional/ - optional
-<item><em/extra/ - extra
-<item><em/contrib/ - contrib
-<item><em/other/ - other
-<item><em/unknown/ - unknown
-<item><em/base/ -
-Cette chaîne, bien que dépassée, est reconnue comme un alias.
-</item>
-</list>
-</sect2>
-
-<sect2>
-<heading>statusinfos[]</heading>
-
-<p>
-<example>
-const struct namevalue statusinfos[];
-</example>
-
-Associe une chaîne sur l'état des paquets à des valeurs de type <em/enum ???/.
-
-Les chaînes sur l'état des paquets sont :
-
-«&nbsp;not-installed&nbsp;», «&nbsp;unpacked&nbsp;», «&nbsp;half-configured&nbsp;», «&nbsp;installed&nbsp;»,
-«&nbsp;half-installed&nbsp;», «&nbsp;config-files&nbsp;», «&nbsp;postinst-failed&nbsp;» et
-«&nbsp;removal-failed&nbsp;».
-</sect2>
-
-<sect2>
-<heading>eflaginfos[]</heading>
-
-<p>
-<example>
-const struct namevalue eflaginfos[];
-</example>
-</sect2>
-
-<sect2>
-<heading>wantinfos[]</heading>
-
-<p>
-<example>
-const struct namevalue wantinfos[];
-</example>
-</sect2>
-
-<sect2>
-<heading>nicknames[]</heading>
-
-<p>
-<example>
-const struct nickname nicknames[];
-</example>
-
-Associe des champs de contrôle dépassés à leurs versions actuelles.
-
-</sect2>
-
-</sect1>
-
-<sect1 id=parsef>
-<heading>Les fonctions d'analyse syntaxique</heading>
-
-<sect2>
-<heading>parseerr()</heading>
-
-<p>
-<example>
-void parseerr
-(FILE *file, const char *filename, int lno,
- FILE *warnto, int *warncount, const struct pkginfo *pigp,
- int warnonly, const char *fmt, ...);
-</example>
-
-Renvoie une erreur lors de l'analyse syntaxique d'un flot de données
-de contrôle. Cherche dans <em>file</em> un état d'erreur, affiche un
-message d'erreur dans stderr et termine avec un code d'erreur si une
-erreur est présente dans le flot. Formate les arguments variables
-suivant la chaîne <em/printf/-style dans <var/fmt/, en faisant précéder
-le résultat de <var/filename/, <var/lno/, and <var/pigp/ (si non NULL).
-Si <var/warnonly/ est égal à 0, écrit le résultat dans stderr et termine
-avec un code d'erreur. Autrement, incrémente <var/warncount/ et
-termine normalement.
-</sect2>
-
-<sect2>
-<heading>illegal_packagename()</heading>
-
-<p>
-<em>
-const char *illegal_packagename
-(const char *p, const char **ep)
-</em>
-
-Vérifie le nom de paquet dans <var/p/ que la syntaxe est correcte.
-Renvoie NULL en cas de succès, en faisant pointer <em>*ep</em> après le
-dernier caractère du nom de paquet, incluant tout espace blanc éventuel
-(tel que défini par isspace()). En cas d'erreur, renvoie le message
-d'erreur comme un pointeur vers un buffer statique.
-</sect2>
-
-<sect2>
-<heading>informativeversion()</heading>
-
-<p>
-<em>
-int informativeversion(const struct versionrevision *version)
-</em>
-
-<p>
-Renvoie «&nbsp;true&nbsp;» si et seulement si <em/versionrevision/ n'est
-pas vide ; autrement renvoie «&nbsp;false&nbsp;».
-</sect2>
-
-<sect2>
-<heading>varbufversion()</heading>
-
-<p>
-<example>
-void varbufversion
-(struct varbuf *vb,
- const struct versionrevision *version,
- enum versiondisplayepochwhen vdew);
-</example>
-
-Rend lisible par un humain une version de <em>version</em> dans <em>vb</em>.
-Les valeurs possibles de <em>vdew</em> sont :
-
-<list>
-<item><tt/vdew_never/ - n'inclut jamais la chaîne «&nbsp;epoch&nbsp;»
-<item><tt/vdew_nonambig/ - inclut la chaîne «&nbsp;epoch&nbsp;» si non nul
-<item><tt/vdew_always/ - inclut toujours la chaîne «&nbsp;epoch&nbsp;»
-</list>
-</sect2>
-
-<sect2>
-<heading>versiondescribe()</heading>
-
-<p>
-<example>
-const char *versiondescribe
-(const struct versionrevision *version,
- enum versiondisplayepochwhen vdew);
-</example>
-
-<p>
-Renvoie une version lisible par un humain de <em>version</em> comme un
-pointeur vers un buffer statique. Si la structure de version est vide,
-renvoie <em/"&lt;none&gt;"/. Les buffers statiques sont alloués à partir
-d'un ensemble de 10 à la façon «&nbsp;round-robin&nbsp;» (ils seront
-réutilisés après 10 appels successifs à <em/versiondescribe/).
-</sect2>
-
-<sect2>
-<heading>parseversion()</heading>
-
-<p>
-<example>
-const char *parseversion
-(struct versionrevision *rversion, const char *string);
-</example>
-
-<p>
-Fait l'analyse syntaxique du contenu de <var/string/ dans
-<var/rversion/. Si cela réussit, renvoie NULL, sinon renvoie un pointeur
-vers une chaîne d'erreur statique.
-</sect2>
-
-<sect2>
-<heading>parsemustfield()</heading>
-
-<p>
-<example>
-void parsemustfield
-(FILE *file, const char *filename, int lno,
- FILE *warnto, int *warncount,
- const struct pkginfo *pigp, int warnonly,
- char **value, const char *what);
-</example>
-</sect2>
-
-<sect2>
-<heading>skip_slash_dotslash()</heading>
-
-<p>
-<example>
-const char *skip_slash_dotslash (const char *p);
-</example>
-</sect2>
-
-<sect2>
-<heading>convert_string()</heading>
-
-<p>
-<example>
-static int convert_string
-(const char *filename, int lno, const char *what, int otherwise,
- FILE *warnto, int *warncount, const struct pkginfo *pigp,
- const char *startp, const struct namevalue *nvip,
- const char **endpp)
-</example>
-</sect2>
-
-</sect1>
-
-</sect>
-</chapt>
-</book></debiandoc>
diff --git a/french/international/french/translations/libc5-libc6-Mini-HOWTO.fr.html b/french/international/french/translations/libc5-libc6-Mini-HOWTO.fr.html
deleted file mode 100644
index e42353f73fa..00000000000
--- a/french/international/french/translations/libc5-libc6-Mini-HOWTO.fr.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<TITLE>Mini-HOWTO Debian libc5 vers libc6</TITLE>
-
-
-</HEAD>
-<BODY>
-<H1>Mini-HOWTO Debian libc5 vers libc6</H1>
-
-<H2>Scott K. Ellis, <CODE>storm@gate.net</CODE>
-<H2>Traducteur: Philippe Caillaud
-<EMAIL>pcaillaud@infini.fr</EMAIL>
-</H2></H2>
-<H2><A NAME="s1">1. Introduction</A></H2>
-
-<P>Le projet Debian est actuellement en train de mettre en place la prochaine version du
-système Debian. Cette version utilisera la nouvelle libc6, une remplaçante pour
-l'ancienne libc5, qui inclut de nombreuses améliorations et resynchronise la
-bibliothèque C de Linux avec le projet GNU. Nous procédons de manière à vous
-permettre de continuer à utiliser vos anciens logiciels en fournissant des
-environnements de développement et d'exploitation pour les deux bibliothèques.
-Cependant tous les paquets de la nouvelle version seront liés avec la nouvelle
-bibliothèque C. Cela rend un peu plus difficile l'installation dans un
-système en fonctionnement des paquets provenant de la branche "unstable" de l'arbre de
-développement. Il y a une faible chance dans le processus de rendre votre
-système incapable de démarrer; ce guide a pour but de vous aider à éviter de
-tels problèmes.
-<P>
-<H2>1.1 Changements récents</H2>
-
-<P>
-<P>
-<UL>
-<LI>Mise à jour des versions des logiciels mentionnés pour celles des archives.</LI>
-<LI>Mise à jour de la note sur /etc/nsswitch.conf</LI>
-<LI>Note sur le changement de vthunk avec glibc 2.0.5c.</LI>
-<LI>Mise à jour de bash séparée des mises à jour requises.</LI>
-<LI>Note sur la mise à jour via dpkg-ftp.</LI>
-<LI>Notes sur les problèmes de NIS et libgdbm (perl).</LI>
-<LI>Note sur le danger de e2fsck basé sur libc6 pour les grandes partitions.</LI>
-</UL>
-<P>
-<H2>1.2 Trouver des mises à jour</H2>
-
-<P>La dernière version (source SGML) de ce Mini-HOWTO devrait être disponible aux adresses
-suivantes:
-<UL>
-<LI>
-<A HREF="http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.sgml">http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.sgml</A>
-(original)</LI>
-<LI>
-<A HREF="http://www.infini.fr/~pcaillau/debian/libc5-libc6-Mini-HOWTO-FR.sgml">http://www.infini.fr/~pcaillau/debian/libc5-libc6-Mini-HOWTO-FR.sgml</A> (traduction)</LI>
-</UL>
-<P>
-<H2>1.3 Copyright et avertissement</H2>
-
-<P>Ce Mini-HOWTO est couvert par le copyright des HOWTOs du LDP et peut être
-redistribué sous les mêmes termes.
-<P>Comme toujours, ce document est fourni SANS AUCUNE GARANTIE. Ces commentaires
-sont basés sur mes expériences et expérimentations personnelles. Bien que cela
-ait fonctionné pour moi à partir d'un système v1.3.1 fraîchement installé,
-votre expérience peut différer. Envoyez SVP tout commentaire ou correction
-à <CODE>storm@gate.net</CODE> (original), ou à
-<EMAIL>pcaillaud@infini.fr (traduction).</EMAIL>
-<P>
-<H2><A NAME="s2">2. Pré-requis</A></H2>
-
-<H2>2.1 Pré-requis minimums</H2>
-
-<P>La liste minimale des paquets à installer pour pouvoir faire tourner des
-paquets de la branche instable se trouve ci-dessous. Installez ces paquets un
-par un exactement dans l'ordre indiqué. Quand des versions sont mentionnées,
-il s'agit de versions minimales suggérées: toute version supérieure devrait aussi être
-acceptable.
-<P>
-<P>
-<UL>
-<LI>ldso_1.9.6-2</LI>
-<LI>libc6_2.0.5c-0.1</LI>
-</UL>
-<P>
-<H2>2.2 Mettre à jour bash</H2>
-
-<P>
-<P>Bien que vous puissiez installer de nombreux paquets libc6 avec seulement ldso
-et libc6, vous voudrez probablement mettre à jour quelques autres paquets en
-même temps. Puisque bash-2.01 règle des problèmes liés à Netscape et à des
-applications FIXME "helper", c'est l'un des paquets nécessitant probablement
-le plus une mise à jour. Cependant, c'est aussi l'un des rares paquets
-à pouvoir rendre votre système inutilisable en étant mal mis à jour. Installez
-les paquets ci-dessous un par un en suivant exactement l'ordre indiqué.
-<P><EM>IMPORTANT: Si vous utilisez dselect pour faire la mise à jour initiale de
-ces paquets, il y a une grande chance de perturber bash et de rendre votre
-système hors d'usage.</EM>
-<P>
-<UL>
-<LI>ncurses3.0_1.9.9e-2</LI>
-<LI>ncurses3.4_1.9.9g-5</LI>
-<LI>libreadline2_2.1-7</LI>
-<LI>libreadlineg2_2.1-7</LI>
-<LI>bash_2.01-5</LI>
-</UL>
-<P>
-<H2>2.3 Autres paquets suggérés.Ces paquets ne sont pas absolument essentiels pour le fonctionnement despaquets de "unstable", mais ils sont néanmoins très utiles. Le nouveau dpkg-devpeut être nécessaire pour dépaquetter les archives sources de "unstable",et le nouveau dpkg-ftp est requis si vous souhaitez utiliser la méthode FTP dedselect pour mettre à jour votre système avec la distribution "unstable".</H2>
-
-<P>
-<UL>
-<LI>libg++272_2.7.2.8-0.1</LI>
-<LI>dpkg_1.4.0.19</LI>
-<LI>dpkg-dev_1.4.0.19</LI>
-<LI>dpkg-ftp_1.4.9</LI>
-</UL>
-<P>
-<H2>2.4 Autres conflits possibles</H2>
-
-<P>Comme Perl est utilisé dans de nombreux scripts d'installation de paquets, des
-problèmes avec les mises à jour de bibliothèques rendant temporairement Perl
-inutilisable peuvent perturber l'installation d'autres paquets. Par sécurité,
-installez à la main la nouvelle libgdbm1 et ensuite les nouveaux paquets
-libgdbmg1 avant de mettre à jour Perl.
-<P>
-<H2><A NAME="s3">3. Développement</A></H2>
-
-<P>Si vous souhaitez faire du développement avec la libc6, vous devriez d'abord
-purger tous les paquets '-dev' de votre système; en effet, le nouveau système
-va utiliser le suffixe '-dev' pour le développement avec la libc6 et '-altdev'
-pour le développement avec la libc5. Vous devrez sans doute installer le
-dernier paquet libc5 et altgcc si vous voulez continuer le développement libc5
-en même temps. Quelques bibliothèques n'ont pas été recompilées pour la
-nouvelle libc6, aussi vérifiez que toutes vos bibliothèques vitales sont
-disponibles avant de mettre à jour. Lier des bibliothèques basées sur la libc5
-avec des programmes basés sur la libc6 donnera des résultats imprévisibles.
-<P>
-<H2><A NAME="s4">4. Concernant...</A></H2>
-
-<H2>4.1 La mise à jour vers libc6_2.0.5c-0.1</H2>
-
-<P>A cause d'un changement dans le code de gestion vthunk dans libc6 et libg++,
-vous devrez au moins mettre à jour vers libg++272_2.7.2.8-0.1 pendant la mise
-à jour de libc6.
-<P>
-<H2>4.2 /sbin/e2fsck</H2>
-
-<P>Le programme e2fsck dans e2fsprogs_1.10-4 contient une bogue qui lui fait
-détruire des données sur les partitions de taille supérieure à 2Go. La version
-dans e2fsprogs_1.10-7 a corrigé cette bogue. <EM>IMPORTANT: Si vous lancez
-l'ancien e2fsck (basé sur libc6) sur une partition de 2Go ou plus, VOUS PERDREZ
-DES DONNEES.</EM>
-<P>
-<H2>4.3 /usr/bin/gencat</H2>
-
-<P>Notez aussi que les deux paquets man-db et libc6-dev incluent en ce moment
-<CODE>/usr/bin/gencat</CODE>. On a rapporté que la version de gencat dans libc6-dev
-causait des problèmes de "segfault" avec man-db, aussi vous devrez sans doute
-réinstaller man-db après lib6-dev si vous observez ces problèmes.
-<P>
-<H2>4.4 /etc/nsswitch.conf (NIS/YP)</H2>
-
-<P>La gestion de NIS/YP a légèrement changé avec la libc6. Si vous utilisez NIS, vous
-aurez probablement besoin de changer <CODE>/etc/nsswitch.conf</CODE>; l'option
-<CODE>compat</CODE> préservera l'ancien (libc5) comportement. Vous devriez aussi
-changer la ligne <CODE>networks</CODE> de <CODE>files dns</CODE> vers <CODE>files</CODE>. Cela
-empêchera les programmes de configuration du réseau d'essayer de résoudre les
-"hostnames".
-<P>
-<H2>4.5 Mise à jour vers "unstable" par FTP</H2>
-
-<P>La structure de répertoire du site FTP a été légèrement modifiée en plaçant les
-sections "contrib" et "non-free" dans l'archive à côté de la section "main",
-pour éviter que "contrib" et "non-free" soient désynchronisées par rapport aux
-parties précédentes des archives. Vous devez avoir dpkg-ftp_1.4.9 ou supérieur
-pour mettre à jour votre machine en utilisant dpkg-ftp. Si vous mettez à jour
-votre machine par FTP, la bonne information à donner à dpkg-ftp est:
-<P>
-<UL>
-<LI>Enter debian directory Entrez le répertoire Debian]: <CODE>/debian</CODE>
-<LI>Enter space seperated list of distributions to get [Entrez la liste des distributions à aller chercher, séparée par des espaces]:
-<CODE>dists/unstable/main dists/unstable/non-free dists/unstable/contrib</CODE></LI>
-</LI>
-</UL>
-<P>
-<H2>4.6 libc5_5.4.33-6</H2>
-
-<P>Debian 1.3.1r4 incluait une mise à jour de la libc5 qui créait un conflit avec
-la libc6. Le conflit fut ajouté à cause de problèmes avec les "locales" et le
-format des fichiers utmp/wtmp. Une version plus ancienne de la libc5 qui ne crée
-pas de conflit, ainsi que les bibliothèques de développement, se trouve
-à <A HREF="ftp://ftp.gate.net/pub/users/storm/">ftp://ftp.gate.net/pub/users/storm/</A>.
-<P>
-</BODY>
-</HTML>
diff --git a/french/international/french/translations/libc5-libc6-Mini-HOWTO.fr.sgml b/french/international/french/translations/libc5-libc6-Mini-HOWTO.fr.sgml
deleted file mode 100644
index 8793e22800f..00000000000
--- a/french/international/french/translations/libc5-libc6-Mini-HOWTO.fr.sgml
+++ /dev/null
@@ -1,185 +0,0 @@
-<!doctype linuxdoc system>
-<article>
-
-<title>Mini-HOWTO Debian libc5 vers libc6
-<author>Scott K. Ellis, <tt/storm@gate.net/
-<author>Traducteur: Philippe Caillaud <email>pcaillaud@infini.fr
-<date>
-
-<sect>Introduction
-<p>
-Le projet Debian est actuellement en train de mettre en place la prochaine version du
-système Debian. Cette version utilisera la nouvelle libc6, une remplaçante pour
-l'ancienne libc5, qui inclut de nombreuses améliorations et resynchronise la
-bibliothèque C de Linux avec le projet GNU. Nous procédons de manière à vous
-permettre de continuer à utiliser vos anciens logiciels en fournissant des
-environnements de développement et d'exploitation pour les deux bibliothèques.
-Cependant tous les paquets de la nouvelle version seront liés avec la nouvelle
-bibliothèque C. Cela rend un peu plus difficile l'installation dans un
-système en fonctionnement des paquets provenant de la branche "unstable" de l'arbre de
-développement. Il y a une faible chance dans le processus de rendre votre
-système incapable de démarrer; ce guide a pour but de vous aider à éviter de
-tels problèmes.
-
-<sect1>Changements récents
-<p>
-
-<itemize>
-<item>Mise à jour des versions des logiciels mentionnés pour celles des archives.
-<item>Mise à jour de la note sur /etc/nsswitch.conf
-<item>Note sur le changement de vthunk avec glibc 2.0.5c.
-<item>Mise à jour de bash séparée des mises à jour requises.
-<item>Note sur la mise à jour via dpkg-ftp.
-<item>Notes sur les problèmes de NIS et libgdbm (perl).
-<item>Note sur le danger de e2fsck basé sur libc6 pour les grandes partitions.
-</itemize>
-
-<sect1>Trouver des mises à jour
-<p>
-La dernière version (source SGML) de ce Mini-HOWTO devrait être disponible aux adresses
-suivantes:
-<itemize>
-<item><url url="http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.sgml">
-(original)
-<item><url url="http://www.infini.fr/~pcaillau/debian/libc5-libc6-Mini-HOWTO-FR.sgml"> (traduction)
-</itemize>
-
-<sect1>Copyright et avertissement
-<p>
-Ce Mini-HOWTO est couvert par le copyright des HOWTOs du LDP et peut être
-redistribué sous les mêmes termes.
-
-Comme toujours, ce document est fourni SANS AUCUNE GARANTIE. Ces commentaires
-sont basés sur mes expériences et expérimentations personnelles. Bien que cela
-ait fonctionné pour moi à partir d'un système v1.3.1 fraîchement installé,
-votre expérience peut différer. Envoyez SVP tout commentaire ou correction
-à <tt/storm@gate.net/ (original), ou à <email>pcaillaud@infini.fr (traduction).
-
-<sect>Pré-requis
-<sect1>Pré-requis minimums
-<p>
-La liste minimale des paquets à installer pour pouvoir faire tourner des
-paquets de la branche instable se trouve ci-dessous. Installez ces paquets un
-par un exactement dans l'ordre indiqué. Quand des versions sont mentionnées,
-il s'agit de versions minimales suggérées: toute version supérieure devrait aussi être
-acceptable.
-
-
-<itemize>
-<item>ldso_1.9.6-2
-<item>libc6_2.0.5c-0.1
-</itemize>
-
-<sect1>Mettre à jour bash
-<p>
-
-Bien que vous puissiez installer de nombreux paquets libc6 avec seulement ldso
-et libc6, vous voudrez probablement mettre à jour quelques autres paquets en
-même temps. Puisque bash-2.01 règle des problèmes liés à Netscape et à des
-applications FIXME "helper", c'est l'un des paquets nécessitant probablement
-le plus une mise à jour. Cependant, c'est aussi l'un des rares paquets
-à pouvoir rendre votre système inutilisable en étant mal mis à jour. Installez
-les paquets ci-dessous un par un en suivant exactement l'ordre indiqué.
-
-<em/IMPORTANT: Si vous utilisez dselect pour faire la mise à jour initiale de
-ces paquets, il y a une grande chance de perturber bash et de rendre votre
-système hors d'usage./
-
-<itemize>
-<item>ncurses3.0_1.9.9e-2
-<item>ncurses3.4_1.9.9g-5
-<item>libreadline2_2.1-7
-<item>libreadlineg2_2.1-7
-<item>bash_2.01-5
-</itemize>
-
-<sect1>Autres paquets suggérés.
-
-Ces paquets ne sont pas absolument essentiels pour le fonctionnement des
-paquets de "unstable", mais ils sont néanmoins très utiles. Le nouveau dpkg-dev
-peut être nécessaire pour dépaquetter les archives sources de "unstable",
-et le nouveau dpkg-ftp est requis si vous souhaitez utiliser la méthode FTP de
-dselect pour mettre à jour votre système avec la distribution "unstable".
-
-<itemize>
-<item>libg++272_2.7.2.8-0.1
-<item>dpkg_1.4.0.19
-<item>dpkg-dev_1.4.0.19
-<item>dpkg-ftp_1.4.9
-</itemize>
-
-<sect1>Autres conflits possibles
-<p>
-Comme Perl est utilisé dans de nombreux scripts d'installation de paquets, des
-problèmes avec les mises à jour de bibliothèques rendant temporairement Perl
-inutilisable peuvent perturber l'installation d'autres paquets. Par sécurité,
-installez à la main la nouvelle libgdbm1 et ensuite les nouveaux paquets
-libgdbmg1 avant de mettre à jour Perl.
-
-<sect>Développement
-<p>
-Si vous souhaitez faire du développement avec la libc6, vous devriez d'abord
-purger tous les paquets '-dev' de votre système; en effet, le nouveau système
-va utiliser le suffixe '-dev' pour le développement avec la libc6 et '-altdev'
-pour le développement avec la libc5. Vous devrez sans doute installer le
-dernier paquet libc5 et altgcc si vous voulez continuer le développement libc5
-en même temps. Quelques bibliothèques n'ont pas été recompilées pour la
-nouvelle libc6, aussi vérifiez que toutes vos bibliothèques vitales sont
-disponibles avant de mettre à jour. Lier des bibliothèques basées sur la libc5
-avec des programmes basés sur la libc6 donnera des résultats imprévisibles.
-
-<sect>Concernant...
-<sect1>La mise à jour vers libc6_2.0.5c-0.1
-<p>
-A cause d'un changement dans le code de gestion vthunk dans libc6 et libg++,
-vous devrez au moins mettre à jour vers libg++272_2.7.2.8-0.1 pendant la mise
-à jour de libc6.
-
-<sect1>/sbin/e2fsck
-<p>
-Le programme e2fsck dans e2fsprogs_1.10-4 contient une bogue qui lui fait
-détruire des données sur les partitions de taille supérieure à 2Go. La version
-dans e2fsprogs_1.10-7 a corrigé cette bogue. <em/IMPORTANT: Si vous lancez
-l'ancien e2fsck (basé sur libc6) sur une partition de 2Go ou plus, VOUS PERDREZ
-DES DONNEES./
-
-<sect1>/usr/bin/gencat
-<p>
-Notez aussi que les deux paquets man-db et libc6-dev incluent en ce moment
-<tt>/usr/bin/gencat</>. On a rapporté que la version de gencat dans libc6-dev
-causait des problèmes de "segfault" avec man-db, aussi vous devrez sans doute
-réinstaller man-db après lib6-dev si vous observez ces problèmes.
-
-<sect1>/etc/nsswitch.conf (NIS/YP)
-<p>
-La gestion de NIS/YP a légèrement changé avec la libc6. Si vous utilisez NIS, vous
-aurez probablement besoin de changer <tt>/etc/nsswitch.conf</>; l'option
-<tt/compat/ préservera l'ancien (libc5) comportement. Vous devriez aussi
-changer la ligne <tt/networks/ de <tt/files dns/ vers <tt/files/. Cela
-empêchera les programmes de configuration du réseau d'essayer de résoudre les
-"hostnames".
-
-<sect1>Mise à jour vers "unstable" par FTP
-<p>
-La structure de répertoire du site FTP a été légèrement modifiée en plaçant les
-sections "contrib" et "non-free" dans l'archive à côté de la section "main",
-pour éviter que "contrib" et "non-free" soient désynchronisées par rapport aux
-parties précédentes des archives. Vous devez avoir dpkg-ftp_1.4.9 ou supérieur
-pour mettre à jour votre machine en utilisant dpkg-ftp. Si vous mettez à jour
-votre machine par FTP, la bonne information à donner à dpkg-ftp est:
-
-<itemize>
-<item>Enter debian directory [Entrez le répertoire Debian]: <tt>/debian</>
-<item>Enter space seperated list of distributions to get [Entrez la liste des distributions à aller chercher, séparée par des espaces]:
-<tt>dists/unstable/main dists/unstable/non-free dists/unstable/contrib</>
-</itemize>
-
-<sect1>libc5_5.4.33-6
-<p>
-Debian 1.3.1r4 incluait une mise à jour de la libc5 qui créait un conflit avec
-la libc6. Le conflit fut ajouté à cause de problèmes avec les "locales" et le
-format des fichiers utmp/wtmp. Une version plus ancienne de la libc5 qui ne crée
-pas de conflit, ainsi que les bibliothèques de développement, se trouve
-à <url url="ftp://ftp.gate.net/pub/users/storm/">.
-
-</article>
diff --git a/french/international/french/translations/markup.fr.html/ch-chaptsectpar.html b/french/international/french/translations/markup.fr.html/ch-chaptsectpar.html
deleted file mode 100644
index d0b62df242b..00000000000
--- a/french/international/french/translations/markup.fr.html/ch-chaptsectpar.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<html>
-
-<head>
-
-<title>Manuel de Debiandoc-SGML - Chapitres, sections et paragraphes</title>
-
-</head>
-
-<body>
-
-<hr>
-
-[<a href="ch-structure.html">pr&eacute;c&eacute;dent</a>]
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
- [<a href="ch-inline.html">suivant</a>]
-
-<hr>
-
-<h1>
-Manuel de Debiandoc-SGML - Chapitre 3<br>
-Chapitres, sections et paragraphes
-</h1>
-
-<hr>
-
-<p>
-Chaque chapitre commence par une balise <samp>&lt;chapt&gt;</samp>, suivi
-par le titre du chapitre. Le titre peut contenir du texte brut balisé,
-mais pas de références croisées (voir <a href="ch-inline.html">Texte brut balisé et balisage du style de caractères, chapter 4</a>).
-</p>
-
-<p>
-Le corps du chapitre est constitué de zéro à plusieurs paragraphes,
-le premier devant être indiqué par une balise <samp>&lt;p&gt;</samp> pour
-le distinguer du titre, puis de zéro à plusieurs sections.
-</p>
-
-<p>
-Une section commence par <samp>&lt;sect&gt;</samp> et possède une structure équivalente:
-titre, optionnellement des paragraphes et puis optionnellement des sous-sections.
-</p>
-
-<p>
-Les sous-sections sont <samp>&lt;sect1&gt;</samp>; il y a aussi des divisions
-plus petites <samp>&lt;sect2&gt;</samp>, <samp>&lt;sect3&gt;</samp> and <samp>&lt;sect4&gt;</samp>.
-</p>
-
-<p>
-Les paragraphes sont introduits par <samp>&lt;p&gt;</samp>. Parfois la balise de
-début de paragraphe peut être omise, mais elle est obligatoire
-après <samp>&lt;chapt&gt;</samp>, <samp>&lt;sect&gt;</samp> et ainsi de suite. Il n'est
-jamais nécessaire de marquer la fin d'un paragraphe avec <samp>&lt;/p&gt;</samp>.
-</p>
-
-<p>
-Les paragraphes peuvent contenir du texte brut balisé
-(voir <a href="ch-inline.html">Texte brut balisé et balisage du style de caractères, chapter 4</a>) ainsi que des listes et des exemples
-(<a href="ch-listexamp.html">Listes et exemples, chapter 5</a>).
-</p>
-
-<hr>
-
-[<a href="ch-structure.html">pr&eacute;c&eacute;dent</a>]
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
- [<a href="ch-inline.html">suivant</a>]
-
-<hr>
-
-Manuel de Debiandoc-SGML<br>
-
-<address>
-30 mars 1999<br>
-Ian Jackson <a href="mailto:ijackson@gnu.ai.mit.edu">ijackson@gnu.ai.mit.edu</a><br>
-Traduction de Christophe Le Bars <a href="mailto:clebars@debian.org">clebars@debian.org</a>
-</address>
-
-</body>
-
-</html>
-
diff --git a/french/international/french/translations/markup.fr.html/ch-inline.html b/french/international/french/translations/markup.fr.html/ch-inline.html
deleted file mode 100644
index 742e76534fc..00000000000
--- a/french/international/french/translations/markup.fr.html/ch-inline.html
+++ /dev/null
@@ -1,242 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<html>
-
-<head>
-
-<title>Manuel de Debiandoc-SGML - Texte brut balisé et balisage du style de caractères</title>
-
-</head>
-
-<body>
-
-<hr>
-
-[<a href="ch-chaptsectpar.html">pr&eacute;c&eacute;dent</a>]
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
- [<a href="ch-listexamp.html">suivant</a>]
-
-<hr>
-
-<h1>
-Manuel de Debiandoc-SGML - Chapitre 4<br>
-Texte brut balisé et balisage du style de caractères
-</h1>
-
-<hr>
-
-<p>
-Le texte ordinaire (appelé «texte brut» dans ce document) peut contenir
-des éléments de formatage spécial et de référencement croisé. Le texte brut
-apparaît dans les titres de chapitres et de sections, dans le
-résumé du copyright, à l'intérieur des paragraphe et dans d'autres
-endroits équivalents.
-</p>
-
-<hr>
-
-<h2>
-<a name="s4.1">4.1 Style de caractères</a>
-</h2>
-
-<p>
-Il y a un certain nombre d'éléments pour marquer la signification
-particulière de certains morceaux de textes. Pour ceux-ci, la fin
-du texte spécial doit être marqué explicitement, en utilisant
-une balise de fin explicite <samp>&lt;/<var>element</var>&gt;</samp>, la balise
-de fin abrégée fermant l'élément le plus proche <samp>&lt;/&gt;</samp> ou
-la barre oblique <samp>/</samp> qui termine la forme la plus abrégée
-des balises. (voir <a href="ch-markup.html">Balises SGML et caractères spéciaux, chapter 1</a>).
-
-<dl>
-<p><dt><samp>&lt;em&gt;</samp> - emphase<dd>Indique que le texte contenu est plus important ou plus
-significatif que celui environnant.
-
-Typiquement ceci sera représenté si possible par des italiques, ou
-par un texte en gras ou souligné, ou bien dans les formats de texte
-seulement, sans styles de caractère spéciaux, en encadrant le texte
-avec des astérisques comme *ceci*.
-
-<p><dt><samp>&lt;var&gt;</samp> - méta-variable<dd>Indique que le texte contenu est une méta-variable. C'est-à-dire,
-que c'est le nom d'un objet ou d'une pièce syntaxique qui
-dans un usage normal serait remplacée par une valeur réelle.
-
-Typiquement ceci sera représenté par des italiques, ou les formats
-de texte seulement en encadrant le texte avec des crochets angulaires
-comme &lt;ceci&gt;. Si plusieurs méta-variables apparaissent
-successivement, elles doivent chacune utiliser leur propre élément
-<samp>&lt;var&gt;</samp>.
-
-<p><dt><samp>&lt;prgn&gt;</samp> - nom d'un programme ou d'un fichier bien connu<dd>Indique que le texte contenu est le nom d'un programme, d'un fichier
-bien connu (habituellement sans chemin), d'une fonction ou d'un objet
-équivalent ayant un nom pour l'ordinateur.
-
-Dans les formats de sortie où il existe des styles de caractères spéciaux
-et des styles de polices variés, ceci est habituellement représenté en
-utilisant une police non-proportionnelle. Dans les formats de sortie
-texte seulement, ces noms ne sont pas spécialement marqués,
-puisqu'ils surviennent fréquemment et qu'introduire un encadrement
-perturberait le cours du texte.
-
-<p><dt><samp>&lt;tt&gt;</samp> - chemin, code ou fragment de sortie, chaîne de commande<dd>Indique que le texte contenu est une chaîne quelconque provenant
-ou étant destiné à un ordinateur. Ceci doit être utilisé pour les
-chemins complets, les fragments de code devant être visualisés
-sous forme brute et sans justification (voir aussi <a href="ch-listexamp.html#s-examples">Exemples, section 5.2</a>
-pour une autre solution) et ainsi de suite. Il est fréquemment nécessaire
-d'introduire des méta-variables dans ces chaînes, qui dans ce cas
-doivent faire partie de l'élément <samp>&lt;tt&gt;</samp> plutôt que des
-éléments environnants.
-
-Ceci sera habituellement représenté en utilisant une police de largeur
-fixe; dans les formats texte seulement un encadrement peut être
-utiliser autour de l'élément.
-
-<p><dt><samp>&lt;qref id=&quot;<var>refid</var>&quot;&gt;</samp> - référence conditionnelle<dd>Crée une «référence conditionnelle» vers la référence nommée id (voir
-<a href="#s-xref">Références croisées, section 4.2</a>). Ceci doit être utilisé lorsque une référence croisée
-est utile si elle ne perturbe pas le cours du texte, mais
-que non-essentielle, elle peut être abandonnée si elle doit le perturber.
-
-Dans les formats permettant des références croisées non-perturbantes en
-faisant d'une zone de texte un hyperlien sans introduire du nouveau
-texte, cet élément fera du texte contenu un hyperlien vers
-la cible de la référence croisée. Dans les autres formats cet élément
-n'aura aucun effet.
-
-</dl>
-</p>
-
-<hr>
-
-<h2>
-<a name="s-xref">4.2 Références croisées</a>
-</h2>
-
-<p>
-Il y a plusieurs éléments permettant d'introduire des références croisées
-soit vers les autres parties d'un même document soit vers d'autres
-documents.
-</p>
-
-<p>
-Les références croisées internes au document sont basées sur un schéma
-d'identifiants référentiels. Chaque chapitre, section, sous-section, etc.
-peut avoir un attribut <samp>id</samp> lui donnant son identifiant référentiel
-- par exemple <samp>&lt;chapt id=&quot;spong&quot;&gt;</samp> spécifie que le chapitre
-commençant possède l'identifiant référentiel <samp>spong</samp>. Cet identifiant
-référentiel peut alors être pointé dans d'autres parties du document
-en utilisant les éléments spéciaux des références croisées.
-</p>
-
-<p>
-L'identifiant référentiel sera aussi utilisé pour générer des noms
-de fichiers et des objets référentiels pour les formats tel que HTML
-qui produisent plusieurs fichiers de sortie; si aucun identifiant
-référentiel n'est spécifié alors les numéros de chapitres et de sections
-seront utilisés. C'est une bonne idée de donner au moins à tous vos
-chapitres un identifiant référentiel pour que les noms de fichiers ne
-changent pas si vous changez l'ordre des chapitres ou des sections
-dans votre document.
-</p>
-
-<p>
-<dl>
-<p><dt><samp>&lt;ref id=&quot;<var>idref</var>&quot;&gt;</samp> - Référence interne au document<dd>Ceci génère une référence croisée à l'intérieur du même document vers
-la section ou le chapitre correspondant à l'identifiant <var>idref</var>.
-
-L'élément <samp>&lt;ref&gt;</samp> n'a pas de contenu; le numéro de section ou de
-chapitre, le titre et son numéro de page ou tout autre chose approprié
-pour le format de sortie sera inséré dans le texte à l'endroit où la
-balise apparaît.
-
-Syntaxiquement la référence croisée est une phrase sans verbe,
-approprié dans des situations tel que
-<samp>(voir &lt;ref id=&quot;<var>...</var>&quot;&gt;)</samp> ou
-<samp>plus d'informations dans &lt;ref id=&quot;<var>...</var>&quot;&gt;.</samp>.
-
-<p><dt><samp>&lt;manref name=&quot;<var>nom</var>&quot; section=&quot;<var>section</var>&quot;&gt;</samp> - page de manuel (manpage)<dd>Génère une référence croisée vers la page de manuel <var>nom</var> de la
-section <var>section</var>. Cette balise n'a pas de contenu; le texte
-décrivant la page, typiquement <samp><var>nom</var>(<var>section</var>)</samp>, sera
-inséré à l'endroit où <samp>&lt;manref&gt;</samp> apparaît.
-
-<p><dt><samp>&lt;email&gt;</samp> - adresse de courrier électronique (email)<dd>Indique que le texte contenu est une adresse de courrier électronique
-(email). Le contenu de la balise doit uniquement être le texte de
-l'adresse elle-même; les balises de style de caractères et les
-références croisées sont interdites. Habituellement la balise de fin
-<samp>&lt;/email&gt;</samp> ne doit pas être omise, mais on peut l'oublier
-lorsque l'adresse apparaît à la fin d'un élément <samp>&lt;author&gt;</samp>.
-Le début de l'élément suivant impliquera la fin de l'adresse de courrier
-électronique.
-
-Dans certains formats, ceci générera une véritable référence croisée
-qui pourra (par exemple) être utiliser pour envoyer un courrier électronique
-à l'adresse définie. Dans d'autres, cela marquera simplement le texte
-de manière spéciale, habituellement en l'encadrant de crochets angulaires
-<samp>&lt;</samp> <samp>&gt;</samp>.
-
-<p><dt><samp>&lt;ftpsite&gt;</samp> - nom de site FTP anonyme<p><dt><samp>&lt;ftppath&gt;</samp> - chemin dans le dernier site FTP cité<dd><samp>&lt;ftpsite&gt;</samp> indique que le contenu de l'élément est le nom DNS
-d'un site FTP anonyme et <samp>&lt;ftppath&gt;</samp> un chemin dans ce site FTP.
-Les deux éléments ne peuvent contenir aucune balise de style de
-caractères ou de références croisées.
-
-Typiquement les deux éléments seront représentés par une police non-proportionnelle;
-si possible, le chemin du site (<samp>&lt;ftppath&gt;</samp>) sera
-transformé en un hyperlien fonctionnel vers le fichier ou le répertoire
-du dernier site FTP (<samp>&lt;ftpsite&gt;</samp>) cité.
-
-<samp>&lt;ftppath&gt;</samp> doit toujours être précédé par
-<samp>&lt;ftpsite&gt;</samp> dans le même chapitre, mais une fois qu'un
-site FTP a été cité, plusieurs chemins peuvent apparaître.
-
-</dl>
-</p>
-
-<hr>
-
-<h2>
-<a name="s4.3">4.3 Notes de bas de page</a>
-</h2>
-
-<p>
-Les notes de bas de page peuvent apparaître dans la plupart des textes
-bruts et sont indiquées par <samp>&lt;footnote&gt;<var>...</var>&lt;/footnote&gt;</samp>.
-Le texte de la note de bas de page sera retiré, placé ailleurs
-(l'endroit dépendant du format) et remplacé par une référence ou un
-hyperlien vers la note de bas de page.
-</p>
-
-<p>
-Le contenu de la note de bas de page doit être un ou plusieurs
-paragraphes; le début du premier paragraphe doit être marqué
-explicitement. Les balises de texte brut tel que les styles
-de caractères n'ont pas d'effet sur le contenu de la note de bas de
-page définit à l'intérieur d'eux - la note de bas de page fait table
-rase.
-</p>
-
-<p>
-Les notes de bas de page peuvent être imbriquées, mais c'est
-rarement une bonne idée.
-</p>
-
-<hr>
-
-[<a href="ch-chaptsectpar.html">pr&eacute;c&eacute;dent</a>]
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
- [<a href="ch-listexamp.html">suivant</a>]
-
-<hr>
-
-Manuel de Debiandoc-SGML<br>
-
-<address>
-30 mars 1999<br>
-Ian Jackson <a href="mailto:ijackson@gnu.ai.mit.edu">ijackson@gnu.ai.mit.edu</a><br>
-Traduction de Christophe Le Bars <a href="mailto:clebars@debian.org">clebars@debian.org</a>
-</address>
-
-</body>
-
-</html>
-
diff --git a/french/international/french/translations/markup.fr.html/ch-listexamp.html b/french/international/french/translations/markup.fr.html/ch-listexamp.html
deleted file mode 100644
index 2911e45a7bc..00000000000
--- a/french/international/french/translations/markup.fr.html/ch-listexamp.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<html>
-
-<head>
-
-<title>Manuel de Debiandoc-SGML - Listes et exemples</title>
-
-</head>
-
-<body>
-
-<hr>
-
-[<a href="ch-inline.html">pr&eacute;c&eacute;dent</a>]
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
-
-<hr>
-
-<h1>
-Manuel de Debiandoc-SGML - Chapitre 5<br>
-Listes et exemples
-</h1>
-
-<hr>
-
-<h2>
-<a name="s5.1">5.1 Listes</a>
-</h2>
-
-<p>
-Il y a trois sortes de listes:
-<ul compact>
-<li><samp>&lt;list&gt;</samp> - liste ordinaire (avec puces);
-
-<li><samp>&lt;enumlist&gt;</samp> - liste numérotée;
-
-<li><samp>&lt;taglist&gt;</samp> - liste de définitions.
-
-</ul>
-</p>
-
-<p>
-Chaque entrée dans une liste ordinaire ou numérotée est introduite
-par <samp>&lt;item&gt;</samp>. Chaque entrée dans une liste de
-définitions est un ou plusieurs objets <samp>&lt;tag&gt;</samp>s suivis par
-un objet <samp>&lt;item&gt;</samp>.
-</p>
-
-<p>
-Il n'est pas nécessaire de marquer la fin de <samp>&lt;tag&gt;</samp> ou de
-<samp>&lt;item&gt;</samp>.
-</p>
-
-<p>
-Les trois types de listes viennent en deux variantes, ceci dépend
-de la présence (par ex. <samp>&lt;taglist compact&gt;</samp>) ou non (par ex.
-<samp>&lt;enumlist&gt;</samp>) de l'attribut <samp>compact</samp>. L'objet
-<samp>&lt;tag&gt;</samp> peut seulement contenir du texte brut.
-</p>
-
-<p>
-Les versions compactes sont prévues pour être utilisées à l'intérieur
-des paragraphes. Le formateur n'insèrera pas de blanc autour de la liste
-ou entre les entrées.<a href="footnotes.html#1" name="fr1">[1]</a> Les entrées dans
-une liste compacte doivent être un seul paragraphe (il n'est pas
-nécessaire de marquer le début du paragraphe). Toutes les listes
-à l'intérieur d'une liste compacte doivent être elles-mêmes
-marquées compactes (même si les formateurs déduiront en faite par
-eux-mêmes qu'elles doivent être compactes).
-</p>
-
-<p>
-Les versions non compactes sont prévues pour se comporter comme
-des paragraphes. Chaque entrée dans une telle liste peut contenir
-plus d'un paragraphe (encore une fois, le début du premier paragraphe
-n'a pas besoin d'être marqué). La liste est séparée du texte environnant
-et chaque entrée des autres, par des lignes blanches comme il est
-d'usage pour les ruptures de paragraphe.
-</p>
-
-<hr>
-
-<h2>
-<a name="s-examples">5.2 Exemples</a>
-</h2>
-
-<p>
-Exemples - fragments de codes de plusieurs lignes, scripts et bouts
-de textes d'ordinateur équivalents - sont introduits avec
-<samp>&lt;example&gt;</samp> et finissent avec <samp>&lt;/example&gt;</samp>.
-</p>
-
-<p>
-L'exemple sera formatté exactement comme il y a été saisi, en reproduisant
-espaces et sauts de lignes. Il sera représenté dans une police
-non-proportionnelle, habituellement celle utilisée pour le style
-de caractère <samp>&lt;tt&gt;</samp>, même si le formateur utilise
-normalement une police proportionnelle. Toute indentation
-appropriée sera ajoutée par le formateur; l'exemple doit
-être saisi en commençant dans la colonne la plus à gauche.
-</p>
-
-<p>
-Les exemples peuvent contenir du texte balisé mais ne
-peuvent pas contenir des références croisées ou les éléments
-de style de caractères <samp>&lt;tt&gt;</samp>, <samp>&lt;prgn&gt;</samp> et
-<samp>&lt;em&gt;</samp>. Voir <a href="ch-inline.html">Texte brut balisé et balisage du style de caractères, chapter 4</a>.
-</p>
-
-<p>
-Un exemple ne produit pas de rupture de paragraphe; les exemples
-sont considérés comme parties des paragraphes. Si un exemple doit
-être un paragraphe par lui-même alors la balise de début de paragraphe
-doit être insérée comme approprié.
-</p>
-
-<p>
-Tout caractère spécial SGML dans l'exemple doit être échappé
-comme habituellement - voir <a href="ch-markup.html">Balises SGML et caractères spéciaux, chapter 1</a>. <samp>&lt;example&gt;</samp>
-ne fonctionne pas comme l'environnement TeX <samp>verbatim</samp>.
-</p>
-
-<hr>
-
-[<a href="ch-inline.html">pr&eacute;c&eacute;dent</a>]
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
-
-<hr>
-
-Manuel de Debiandoc-SGML<br>
-
-<address>
-30 mars 1999<br>
-Ian Jackson <a href="mailto:ijackson@gnu.ai.mit.edu">ijackson@gnu.ai.mit.edu</a><br>
-Traduction de Christophe Le Bars <a href="mailto:clebars@debian.org">clebars@debian.org</a>
-</address>
-
-</body>
-
-</html>
-
diff --git a/french/international/french/translations/markup.fr.html/ch-markup.html b/french/international/french/translations/markup.fr.html/ch-markup.html
deleted file mode 100644
index 84ac4baef03..00000000000
--- a/french/international/french/translations/markup.fr.html/ch-markup.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<html>
-
-<head>
-
-<title>Manuel de Debiandoc-SGML - Balises SGML et caractères spéciaux</title>
-
-</head>
-
-<body>
-
-<hr>
-
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
- [<a href="ch-structure.html">suivant</a>]
-
-<hr>
-
-<h1>
-Manuel de Debiandoc-SGML - Chapitre 1<br>
-Balises SGML et caractères spéciaux
-</h1>
-
-<hr>
-
-<p>
-Puisqu'il est saisi avec un éditeur de texte, un document SGML
-est constitué de texte entremêlé de balises marquant
-le début et la fin d'éléments.
-</p>
-
-<p>
-Les balises sont de la forme <samp>&lt;<var>element</var>&gt;</samp> pour
-commencer l'élément <var>element</var> et <samp>&lt;/<var>element</var>&gt;</samp>
-pour le finir.
-</p>
-
-<p>
-Il y a quelques raccourcis que vous pouvez utiliser:
-<samp>&lt;<var>element</var>/<var>contenu</var>/</samp> spécifie un élément
-<var>element</var> qui contient <var>contenu</var> - mais le <var>contenu</var>
-ne peut pas contenir une barre oblique <samp>/</samp>. <samp>&lt;/&gt;</samp>
-ferme l'élément encore ouvert le plus proche.
-</p>
-
-<p>
-Certains types de balises de début d'élément peuvent avoir
-des attributs; ceux-ci apparaissent à l'intérieur des crochets
-angulaires et sont séparés du nom de l'élément par un espace.
-Les attributs autorisés pour une balise de début d'élément
-particulière sont décrits en même temps que cet élément.
-</p>
-
-<p>
-Si vous voulez inclure des caractères spéciaux SGML (crochets angulaires
-<samp>&lt;</samp> <samp>&gt;</samp>, et commercial <samp>&amp;</samp>) comme texte, vous
-devez les désigner par leurs noms (ceci est appelé une référence
-d'entité dans le jargon SGML). <samp>&amp;<var>name</var>;</samp> produit
-le caractère dont le nom est <var>name</var>. Quelques noms de caractère
-utiles sont:
-<dl compact>
-<dt><samp>lt</samp><dd>le symbole inférieur (crochet angulaire gauche) <samp>&lt;</samp>;
-
-<dt><samp>gt</samp><dd>le symbole supérieur (crochet angulaire droit) <samp>&gt;</samp>;
-
-<dt><samp>amp</samp><dd>le et commercial <samp>&amp;</samp>;
-
-<dt><samp>copy</samp><dd>le symbole copyright <samp>©</samp>;
-
-</dl>
-
-La liste complète des caractères est empruntée à <code>linuxdoc-sgml</code>, dans
-le fichier <samp>rep/latin1/general</samp>.
-</p>
-
-<p>
-Vous pouvez aussi utiliser <samp>&amp;#<var>number</var>;</samp> pour désigner le
-caractère dont le numéro est <var>number</var> (en ISO-LATIN-1). <var>number</var>
-doit être en décimal.
-</p>
-
-<hr>
-
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
- [<a href="ch-structure.html">suivant</a>]
-
-<hr>
-
-Manuel de Debiandoc-SGML<br>
-
-<address>
-30 mars 1999<br>
-Ian Jackson <a href="mailto:ijackson@gnu.ai.mit.edu">ijackson@gnu.ai.mit.edu</a><br>
-Traduction de Christophe Le Bars <a href="mailto:clebars@debian.org">clebars@debian.org</a>
-</address>
-
-</body>
-
-</html>
-
diff --git a/french/international/french/translations/markup.fr.html/ch-structure.html b/french/international/french/translations/markup.fr.html/ch-structure.html
deleted file mode 100644
index a681086bf76..00000000000
--- a/french/international/french/translations/markup.fr.html/ch-structure.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<html>
-
-<head>
-
-<title>Manuel de Debiandoc-SGML - Structure générale</title>
-
-</head>
-
-<body>
-
-<hr>
-
-[<a href="ch-markup.html">pr&eacute;c&eacute;dent</a>]
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
- [<a href="ch-chaptsectpar.html">suivant</a>]
-
-<hr>
-
-<h1>
-Manuel de Debiandoc-SGML - Chapitre 2<br>
-Structure générale
-</h1>
-
-<hr>
-
-<p>
-La première ligne du document doit être
-<pre>
-&lt;!doctype debiandoc system&gt;
-</pre>
-
-pour indiquer que le document est un fichier Debiandoc-SGML.
-</p>
-
-<p>
-Le document doit commencer par la balise <samp>&lt;book&gt;</samp> et se terminer par
-<samp>&lt;/book&gt;</samp>.
-</p>
-
-<p>
-Ceci doit être suivi par le titre, <samp>&lt;title&gt;</samp>, une ou plusieurs
-paires <samp>&lt;author&gt;</samp>-<samp>&lt;email&gt;</samp> (auteur-adresse électronique),
-et optionnellement une <samp>&lt;version&gt;</samp>. Chacune d'elles est une
-partie du texte brut balisé - voir <a href="ch-inline.html">Texte brut balisé et balisage du style de caractères, chapter 4</a>. La <samp>&lt;version&gt;</samp>
-peut aussi contenir <samp>&lt;date&gt;</samp> qui représente la date et
-l'heure de formatage du document.
-</p>
-
-<p>
-Puis peut venir un résumé (<samp>&lt;abstract&gt;</samp>), une note de
-<samp>&lt;copyright&gt;</samp> et une balise de table des matières
-(<samp>&lt;toc&gt;</samp>).
-</p>
-
-<p>
-Le résumé (<samp>&lt;abstract&gt;</samp>) contient un seul paragraphe.
-</p>
-
-<p>
-Le <samp>&lt;copyright&gt;</samp> contient un résumé du copyright (ceci
-est utilisé, par exemple, en bas de chaque page HTML) suivi
-par un ou plusieurs paragraphes, le premier devant être signalé
-par une balise <samp>&lt;p&gt;</samp> pour le distinguer du résumé.
-</p>
-
-<p>
-La balise <samp>&lt;toc&gt;</samp> spécifie qu'une table des matières doit
-être produite. <samp>&lt;toc&gt;</samp> ne contient rien dans le
-source SGML - son contenu est généré par le formatage.
-<samp>&lt;toc&gt;</samp> peut avoir un attribut précisant son niveau de détail;
-par exemple <samp>&lt;toc sect1&gt;</samp> précise que les sous-sections doivent
-être incluses, tandis que <samp>&lt;toc chapt&gt;</samp> précise que seuls les
-chapitres doivent être inclus. Les valeurs autorisées sont <samp>chapt</samp>,
-<samp>sect</samp>, <samp>sect1</samp> et <samp>sect2</samp>.
-</p>
-
-<p>
-Après ces parties vient le corps du document - un ou plusieurs
-chapitres <samp>&lt;chapt&gt;</samp>.
-</p>
-
-<p>
-Il n'est pas nécessaire de marquer la fin des éléments <samp>&lt;title&gt;</samp>,
-<samp>&lt;author&gt;</samp>, <samp>&lt;version&gt;</samp>, <samp>&lt;abstract&gt;</samp> et
-<samp>&lt;copyright&gt;</samp> - ils sont implicitement terminés par le
-début de l'élément suivant.
-</p>
-
-<hr>
-
-[<a href="ch-markup.html">pr&eacute;c&eacute;dent</a>]
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
- [<a href="ch-chaptsectpar.html">suivant</a>]
-
-<hr>
-
-Manuel de Debiandoc-SGML<br>
-
-<address>
-30 mars 1999<br>
-Ian Jackson <a href="mailto:ijackson@gnu.ai.mit.edu">ijackson@gnu.ai.mit.edu</a><br>
-Traduction de Christophe Le Bars <a href="mailto:clebars@debian.org">clebars@debian.org</a>
-</address>
-
-</body>
-
-</html>
-
diff --git a/french/international/french/translations/markup.fr.html/footnotes.html b/french/international/french/translations/markup.fr.html/footnotes.html
deleted file mode 100644
index 06022cfa20c..00000000000
--- a/french/international/french/translations/markup.fr.html/footnotes.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<html>
-
-<head>
-
-<title>Manuel de Debiandoc-SGML - Notes de bas de page</title>
-
-</head>
-
-<body>
-
-<hr>
-
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
-
-<hr>
-
-<h1>Manuel de Debiandoc-SGML - Notes de bas de page</h1>
-
-<hr>
-
-<h2><a href="#fr1" name="1">1</a>
-</h2>
-<p>
-Il y a un problème dans ce cas avec HTML.
-Le formateur HTML ne le fait pas, en utilisant l'attribut <samp>compact</samp>
-des listes HTML pour les listes qu'il génère, mais peu de
-navigateurs interprète cela correctement.
-</p><hr>
-
- [<a href="index.html#copyright">Copyright</a>]
- [<a href="index.html#contents">Table des mati&egrave;res</a>]
-
-<hr>
-
-Manuel de Debiandoc-SGML<br>
-
-<address>
-30 mars 1999<br>
-Ian Jackson <a href="mailto:ijackson@gnu.ai.mit.edu">ijackson@gnu.ai.mit.edu</a><br>
-Traduction de Christophe Le Bars <a href="mailto:clebars@debian.org">clebars@debian.org</a>
-</address>
-
-</body>
-
-</html>
-
diff --git a/french/international/french/translations/markup.fr.html/index.html b/french/international/french/translations/markup.fr.html/index.html
deleted file mode 100644
index 059b7124268..00000000000
--- a/french/international/french/translations/markup.fr.html/index.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<html>
-
-<head>
-
-<title>Manuel de Debiandoc-SGML</title>
-
-</head>
-
-<body>
-
-<hr>
-
- [<a href="#copyright">Copyright</a>]
- [<a href="#contents">Table des mati&egrave;res</a>]
-
-<hr>
-
-<h1>Manuel de Debiandoc-SGML</h1>
-
-<hr>
-
-<h2><a name="copyright">Copyright</a></h2>
-
-<p>
-Copyright ©1996 Ian Jackson.
-</p>
-
-<p>
-Debiandoc-SGML, dont fait partie ce manuel, est un logiciel libre;
-vous pouvez le redistribuer et/ou le modifier selon les
-termes de la Licence Publique Générale GNU publiée par la
-Free Software Foundation, version 2 ou supérieure.
-</p>
-
-<p>
-Debiandoc-SGML est distribué car potentiellement utile, mais
-<em>sans aucune garantie</em>; sans même la garantie implicite
-de commercialisation ou adéquation à une tâche particulière. Consultez
-la Licence Publique Générale GNU pour plus de détails.
-</p>
-
-<p>
-Vous devez avoir reçu une copie de la Licence Publique Générale GNU
-avec votre système Debian GNU/Linux, dans <samp>/usr/doc/copyright/GPL</samp>,
-ou avec le paquet source <code>debiandoc-sgml</code> dans le fichier
-<samp>COPYING</samp>. Sinon, écrivez à la Free Software Foundation,
-Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-</p>
-
-
-
-<hr>
-
-<h2><a name="contents">Table des mati&egrave;res</a></h2>
-
-<ul>
-<li><a href="ch-markup.html">1 Balises SGML et caractères spéciaux</a>
-<li><a href="ch-structure.html">2 Structure générale</a>
-<li><a href="ch-chaptsectpar.html">3 Chapitres, sections et paragraphes</a>
-<li><a href="ch-inline.html">4 Texte brut balisé et balisage du style de caractères</a>
-<ul>
-<li><a href="ch-inline.html#s4.1">4.1</a> Style de caractères
-<li><a href="ch-inline.html#s-xref">4.2</a> Références croisées
-<li><a href="ch-inline.html#s4.3">4.3</a> Notes de bas de page
-</ul>
-<li><a href="ch-listexamp.html">5 Listes et exemples</a>
-<ul>
-<li><a href="ch-listexamp.html#s5.1">5.1</a> Listes
-<li><a href="ch-listexamp.html#s-examples">5.2</a> Exemples
-</ul>
-</ul>
-
-<hr>
-
- [<a href="#copyright">Copyright</a>]
- [<a href="#contents">Table des mati&egrave;res</a>]
-
-<hr>
-
-Manuel de Debiandoc-SGML<br>
-
-<address>
-30 mars 1999<br>
-Ian Jackson <a href="mailto:ijackson@gnu.ai.mit.edu">ijackson@gnu.ai.mit.edu</a><br>
-Traduction de Christophe Le Bars <a href="mailto:clebars@debian.org">clebars@debian.org</a>
-</address>
-
-</body>
-
-</html>
-
diff --git a/french/international/french/translations/markup.fr.sgml b/french/international/french/translations/markup.fr.sgml
deleted file mode 100644
index d76f81e0998..00000000000
--- a/french/international/french/translations/markup.fr.sgml
+++ /dev/null
@@ -1,451 +0,0 @@
-<!doctype debiandoc system>
-<book>
-<title>Manuel de Debiandoc-SGML
-<author>Ian Jackson <email>ijackson@gnu.ai.mit.edu
-<author>Traduction de Christophe Le Bars <email>clebars@debian.org
-<version><date>
-<copyright>Copyright &copy;1996 Ian Jackson.
-<p>
-
-Debiandoc-SGML, dont fait partie ce manuel, est un logiciel libre;
-vous pouvez le redistribuer et/ou le modifier selon les
-termes de la Licence Publique Générale GNU publiée par la
-Free Software Foundation, version 2 ou supérieure.
-<p>
-
-Debiandoc-SGML est distribué car potentiellement utile, mais
-<em>sans aucune garantie</em>; sans même la garantie implicite
-de commercialisation ou adéquation à une tâche particulière. Consultez
-la Licence Publique Générale GNU pour plus de détails.
-<p>
-
-Vous devez avoir reçu une copie de la Licence Publique Générale GNU
-avec votre système Debian GNU/Linux, dans <tt>/usr/doc/copyright/GPL</tt>,
-ou avec le paquet source <prgn/debiandoc-sgml/ dans le fichier
-<tt>COPYING</tt>. Sinon, écrivez à la Free Software Foundation,
-Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-<toc sect>
-
-<chapt id="markup">Balises SGML et caractères spéciaux
-<p>
-
-Puisqu'il est saisi avec un éditeur de texte, un document SGML
-est constitué de texte entremêlé de balises marquant
-le début et la fin d'éléments.
-<p>
-
-Les balises sont de la forme <tt/&lt;<var/element/&gt;/ pour
-commencer l'élément <var/element/ et <tt>&lt;/<var/element/&gt;</>
-pour le finir.
-<p>
-
-Il y a quelques raccourcis que vous pouvez utiliser:
-<tt>&lt;<var/element//<var/contenu//</> spécifie un élément
-<var/element/ qui contient <var/contenu/ - mais le <var/contenu/
-ne peut pas contenir une barre oblique <tt>/</>. <tt>&lt;/&gt;</>
-ferme l'élément encore ouvert le plus proche.
-<p>
-
-Certains types de balises de début d'élément peuvent avoir
-des attributs; ceux-ci apparaissent à l'intérieur des crochets
-angulaires et sont séparés du nom de l'élément par un espace.
-Les attributs autorisés pour une balise de début d'élément
-particulière sont décrits en même temps que cet élément.
-<p>
-
-Si vous voulez inclure des caractères spéciaux SGML (crochets angulaires
-<tt/&lt;/ <tt/&gt;/, et commercial <tt/&amp;/) comme texte, vous
-devez les désigner par leurs noms (ceci est appelé une référence
-d'entité dans le jargon SGML). <tt/&amp;<var/name/;/ produit
-le caractère dont le nom est <var/name/. Quelques noms de caractère
-utiles sont:
-<taglist compact>
-<tag><tt/lt/
-<item>le symbole inférieur (crochet angulaire gauche) <tt>&lt;</>;
-<tag><tt/gt/
-<item>le symbole supérieur (crochet angulaire droit) <tt>&gt;</>;
-<tag><tt/amp/
-<item>le et commercial <tt>&amp;</>;
-<tag><tt/copy/
-<item>le symbole copyright <tt>&copy;</>;
-</taglist>
-La liste complète des caractères est empruntée à <prgn/linuxdoc-sgml/, dans
-le fichier <tt>rep/latin1/general</>.
-<p>
-
-Vous pouvez aussi utiliser <tt/&amp;#<var/number/;/ pour désigner le
-caractère dont le numéro est <var/number/ (en ISO-LATIN-1). <var/number/
-doit être en décimal.
-
-<chapt id="structure">Structure générale
-<p>
-
-La première ligne du document doit être
-<example>
-&lt!doctype debiandoc system&gt
-</example>
-pour indiquer que le document est un fichier Debiandoc-SGML.
-<p>
-
-Le document doit commencer par la balise <tt/&lt;book&gt;/ et se terminer par
-<tt>&lt;/book&gt;</>.
-<p>
-
-Ceci doit être suivi par le titre, <tt/&lt;title&gt;/, une ou plusieurs
-paires <tt/&lt;author&gt;/-<tt/&lt;email&gt;/ (auteur-adresse électronique),
-et optionnellement une <tt/&lt;version&gt;/. Chacune d'elles est une
-partie du texte brut balisé - voir <ref id="inline">. La <tt/&lt;version&gt;/
-peut aussi contenir <tt/&lt;date&gt;/ qui représente la date et
-l'heure de formatage du document.
-<p>
-
-Puis peut venir un résumé (<tt/&lt;abstract&gt;/), une note de
-<tt/&lt;copyright&gt;/ et une balise de table des matières
-(<tt/&lt;toc&gt;/).
-<p>
-
-Le résumé (<tt/&lt;abstract&gt;/) contient un seul paragraphe.
-<p>
-
-Le <tt/&lt;copyright&gt;/ contient un résumé du copyright (ceci
-est utilisé, par exemple, en bas de chaque page HTML) suivi
-par un ou plusieurs paragraphes, le premier devant être signalé
-par une balise <tt/&lt;p&gt;/ pour le distinguer du résumé.
-<p>
-
-La balise <tt/&lt;toc&gt;/ spécifie qu'une table des matières doit
-être produite. <tt/&lt;toc&gt;/ ne contient rien dans le
-source SGML - son contenu est généré par le formatage.
-<tt/&lt;toc&gt;/ peut avoir un attribut précisant son niveau de détail;
-par exemple <tt/&lt;toc sect1&gt;/ précise que les sous-sections doivent
-être incluses, tandis que <tt/&lt;toc chapt&gt;/ précise que seuls les
-chapitres doivent être inclus. Les valeurs autorisées sont <tt/chapt/,
-<tt/sect/, <tt/sect1/ et <tt/sect2/.
-<p>
-
-Après ces parties vient le corps du document - un ou plusieurs
-chapitres <tt/&lt;chapt&gt;/.
-<p>
-
-Il n'est pas nécessaire de marquer la fin des éléments <tt/&lt;title&gt;/,
-<tt/&lt;author&gt;/, <tt/&lt;version&gt;/, <tt/&lt;abstract&gt;/ et
-<tt/&lt;copyright&gt;/ - ils sont implicitement terminés par le
-début de l'élément suivant.
-
-<chapt id="chaptsectpar">Chapitres, sections et paragraphes
-<p>
-
-Chaque chapitre commence par une balise <tt/&lt;chapt&gt;/, suivi
-par le titre du chapitre. Le titre peut contenir du texte brut balisé,
-mais pas de références croisées (voir <ref id="inline">).
-<p>
-
-Le corps du chapitre est constitué de zéro à plusieurs paragraphes,
-le premier devant être indiqué par une balise <tt/&lt;p&gt/ pour
-le distinguer du titre, puis de zéro à plusieurs sections.
-<p>
-
-Une section commence par <tt/&lt;sect&gt;/ et possède une structure équivalente:
-titre, optionnellement des paragraphes et puis optionnellement des sous-sections.
-<p>
-
-Les sous-sections sont <tt/&lt;sect1&gt;/; il y a aussi des divisions
-plus petites <tt/&lt;sect2&gt;/, <tt/&lt;sect3&gt;/ and <tt/&lt;sect4&gt;/.
-<p>
-
-Les paragraphes sont introduits par <tt/&lt;p&gt;/. Parfois la balise de
-début de paragraphe peut être omise, mais elle est obligatoire
-après <tt/&lt;chapt&gt;/, <tt/&lt;sect&gt;/ et ainsi de suite. Il n'est
-jamais nécessaire de marquer la fin d'un paragraphe avec <tt>&lt;/p&gt;</>.
-<p>
-
-Les paragraphes peuvent contenir du texte brut balisé
-(voir <ref id="inline">) ainsi que des listes et des exemples
-(<ref id="listexamp">).
-
-<chapt id="inline">Texte brut balisé et balisage du style de caractères
-<p>
-
-Le texte ordinaire (appelé «texte brut» dans ce document) peut contenir
-des éléments de formatage spécial et de référencement croisé. Le texte brut
-apparaît dans les titres de chapitres et de sections, dans le
-résumé du copyright, à l'intérieur des paragraphe et dans d'autres
-endroits équivalents.
-
-<sect>Style de caractères
-<p>
-
-Il y a un certain nombre d'éléments pour marquer la signification
-particulière de certains morceaux de textes. Pour ceux-ci, la fin
-du texte spécial doit être marqué explicitement, en utilisant
-une balise de fin explicite <tt>&lt;/<var/element/&gt;</>, la balise
-de fin abrégée fermant l'élément le plus proche <tt>&lt;/&gt;</> ou
-la barre oblique <tt>/</> qui termine la forme la plus abrégée
-des balises. (voir <ref id="markup">).
-
-<taglist>
-<tag><tt/&lt;em&gt;/ - emphase
-<item>
-Indique que le texte contenu est plus important ou plus
-significatif que celui environnant.
-<p>
-
-Typiquement ceci sera représenté si possible par des italiques, ou
-par un texte en gras ou souligné, ou bien dans les formats de texte
-seulement, sans styles de caractère spéciaux, en encadrant le texte
-avec des astérisques comme *ceci*.
-
-<tag><tt/&lt;var&gt;/ - méta-variable
-<item>
-Indique que le texte contenu est une méta-variable. C'est-à-dire,
-que c'est le nom d'un objet ou d'une pièce syntaxique qui
-dans un usage normal serait remplacée par une valeur réelle.
-<p>
-
-Typiquement ceci sera représenté par des italiques, ou les formats
-de texte seulement en encadrant le texte avec des crochets angulaires
-comme &lt;ceci&gt;. Si plusieurs méta-variables apparaissent
-successivement, elles doivent chacune utiliser leur propre élément
-<tt/&lt;var&gt;/.
-
-<tag><tt/&lt;prgn&gt;/ - nom d'un programme ou d'un fichier bien connu
-<item>
-Indique que le texte contenu est le nom d'un programme, d'un fichier
-bien connu (habituellement sans chemin), d'une fonction ou d'un objet
-équivalent ayant un nom pour l'ordinateur.
-<p>
-
-Dans les formats de sortie où il existe des styles de caractères spéciaux
-et des styles de polices variés, ceci est habituellement représenté en
-utilisant une police non-proportionnelle. Dans les formats de sortie
-texte seulement, ces noms ne sont pas spécialement marqués,
-puisqu'ils surviennent fréquemment et qu'introduire un encadrement
-perturberait le cours du texte.
-
-<tag><tt/&lt;tt&gt;/ - chemin, code ou fragment de sortie, chaîne de commande
-<item>
-Indique que le texte contenu est une chaîne quelconque provenant
-ou étant destiné à un ordinateur. Ceci doit être utilisé pour les
-chemins complets, les fragments de code devant être visualisés
-sous forme brute et sans justification (voir aussi <ref id="examples">
-pour une autre solution) et ainsi de suite. Il est fréquemment nécessaire
-d'introduire des méta-variables dans ces chaînes, qui dans ce cas
-doivent faire partie de l'élément <tt/&lt;tt&gt;/ plutôt que des
-éléments environnants.
-<p>
-
-Ceci sera habituellement représenté en utilisant une police de largeur
-fixe; dans les formats texte seulement un encadrement peut être
-utiliser autour de l'élément.
-
-<tag><tt/&lt;qref id="<var/refid/"&gt;/ - référence conditionnelle
-<item>
-Crée une «référence conditionnelle» vers la référence nommée id (voir
-<ref id="xref">). Ceci doit être utilisé lorsque une référence croisée
-est utile si elle ne perturbe pas le cours du texte, mais
-que non-essentielle, elle peut être abandonnée si elle doit le perturber.
-<p>
-
-Dans les formats permettant des références croisées non-perturbantes en
-faisant d'une zone de texte un hyperlien sans introduire du nouveau
-texte, cet élément fera du texte contenu un hyperlien vers
-la cible de la référence croisée. Dans les autres formats cet élément
-n'aura aucun effet.
-</taglist>
-
-<sect id="xref">Références croisées
-<p>
-
-Il y a plusieurs éléments permettant d'introduire des références croisées
-soit vers les autres parties d'un même document soit vers d'autres
-documents.
-<p>
-
-Les références croisées internes au document sont basées sur un schéma
-d'identifiants référentiels. Chaque chapitre, section, sous-section, etc.
-peut avoir un attribut <tt/id/ lui donnant son identifiant référentiel
-- par exemple <tt/&lt;chapt id="spong"&gt;/ spécifie que le chapitre
-commençant possède l'identifiant référentiel <tt/spong/. Cet identifiant
-référentiel peut alors être pointé dans d'autres parties du document
-en utilisant les éléments spéciaux des références croisées.
-<p>
-
-L'identifiant référentiel sera aussi utilisé pour générer des noms
-de fichiers et des objets référentiels pour les formats tel que HTML
-qui produisent plusieurs fichiers de sortie; si aucun identifiant
-référentiel n'est spécifié alors les numéros de chapitres et de sections
-seront utilisés. C'est une bonne idée de donner au moins à tous vos
-chapitres un identifiant référentiel pour que les noms de fichiers ne
-changent pas si vous changez l'ordre des chapitres ou des sections
-dans votre document.
-<p>
-
-<taglist>
-<tag><tt/&lt;ref id="<var/idref/"&gt;/ - Référence interne au document
-<item>
-Ceci génère une référence croisée à l'intérieur du même document vers
-la section ou le chapitre correspondant à l'identifiant <var/idref/.
-<p>
-
-L'élément <tt/&lt;ref&gt;/ n'a pas de contenu; le numéro de section ou de
-chapitre, le titre et son numéro de page ou tout autre chose approprié
-pour le format de sortie sera inséré dans le texte à l'endroit où la
-balise apparaît.
-<p>
-
-Syntaxiquement la référence croisée est une phrase sans verbe,
-approprié dans des situations tel que
-<tt>(voir &lt;ref id="<var/.../"&gt;)</> ou
-<tt>plus d'informations dans &lt;ref id="<var/.../"&gt;.</>.
-
-<tag><tt/&lt;manref name="<var/nom/" section="<var/section/"&gt;/ -
-page de manuel (manpage)
-<item>
-Génère une référence croisée vers la page de manuel <var/nom/ de la
-section <var/section/. Cette balise n'a pas de contenu; le texte
-décrivant la page, typiquement <tt/<var/nom/(<var/section/)/, sera
-inséré à l'endroit où <tt/&lt;manref&gt;/ apparaît.
-
-<tag><tt/&lt;email&gt;/ - adresse de courrier électronique (email)
-<item>
-Indique que le texte contenu est une adresse de courrier électronique
-(email). Le contenu de la balise doit uniquement être le texte de
-l'adresse elle-même; les balises de style de caractères et les
-références croisées sont interdites. Habituellement la balise de fin
-<tt>&lt;/email&gt;</> ne doit pas être omise, mais on peut l'oublier
-lorsque l'adresse apparaît à la fin d'un élément <tt/&lt;author&gt;/.
-Le début de l'élément suivant impliquera la fin de l'adresse de courrier
-électronique.
-<p>
-
-Dans certains formats, ceci générera une véritable référence croisée
-qui pourra (par exemple) être utiliser pour envoyer un courrier électronique
-à l'adresse définie. Dans d'autres, cela marquera simplement le texte
-de manière spéciale, habituellement en l'encadrant de crochets angulaires
-<tt/&lt;/ <tt/&gt;/.
-
-<tag><tt/&lt;ftpsite&gt;/ - nom de site FTP anonyme
-<tag><tt/&lt;ftppath&gt;/ - chemin dans le dernier site FTP cité
-<item>
-<tt/&lt;ftpsite&gt;/ indique que le contenu de l'élément est le nom DNS
-d'un site FTP anonyme et <tt/&lt;ftppath&gt;/ un chemin dans ce site FTP.
-Les deux éléments ne peuvent contenir aucune balise de style de
-caractères ou de références croisées.
-<p>
-
-Typiquement les deux éléments seront représentés par une police non-proportionnelle;
-si possible, le chemin du site (<tt/&lt;ftppath&gt;/) sera
-transformé en un hyperlien fonctionnel vers le fichier ou le répertoire
-du dernier site FTP (<tt/&lt;ftpsite&gt;/) cité.
-<p>
-
-<tt/&lt;ftppath&gt;/ doit toujours être précédé par
-<tt/&lt;ftpsite&gt;/ dans le même chapitre, mais une fois qu'un
-site FTP a été cité, plusieurs chemins peuvent apparaître.
-</taglist>
-
-<sect>Notes de bas de page
-<p>
-
-Les notes de bas de page peuvent apparaître dans la plupart des textes
-bruts et sont indiquées par <tt>&lt;footnote&gt;<var/.../&lt;/footnote&gt</>.
-Le texte de la note de bas de page sera retiré, placé ailleurs
-(l'endroit dépendant du format) et remplacé par une référence ou un
-hyperlien vers la note de bas de page.
-<p>
-
-Le contenu de la note de bas de page doit être un ou plusieurs
-paragraphes; le début du premier paragraphe doit être marqué
-explicitement. Les balises de texte brut tel que les styles
-de caractères n'ont pas d'effet sur le contenu de la note de bas de
-page définit à l'intérieur d'eux - la note de bas de page fait table
-rase.
-<p>
-
-Les notes de bas de page peuvent être imbriquées, mais c'est
-rarement une bonne idée.
-
-<chapt id="listexamp">Listes et exemples
-
-<sect>Listes
-<p>
-
-Il y a trois sortes de listes:
-<list compact>
-<item><tt/&lt;list&gt;/ - liste ordinaire (avec puces);
-<item><tt/&lt;enumlist&gt;/ - liste numérotée;
-<item><tt/&lt;taglist&gt;/ - liste de définitions.
-</list>
-<p>
-
-Chaque entrée dans une liste ordinaire ou numérotée est introduite
-par <tt/&lt;item&gt;/. Chaque entrée dans une liste de
-définitions est un ou plusieurs objets <tt/&lt;tag&gt;/s suivis par
-un objet <tt/&lt;item&gt;/.
-<p>
-
-Il n'est pas nécessaire de marquer la fin de <tt/&lt;tag&gt;/ ou de
-<tt/&lt;item&gt;/.
-<p>
-
-Les trois types de listes viennent en deux variantes, ceci dépend
-de la présence (par ex. <tt>&lt;taglist compact&gt;</>) ou non (par ex.
-<tt/&lt;enumlist&gt;/) de l'attribut <tt/compact/. L'objet
-<tt/&lt;tag&gt;/ peut seulement contenir du texte brut.
-<p>
-
-Les versions compactes sont prévues pour être utilisées à l'intérieur
-des paragraphes. Le formateur n'insèrera pas de blanc autour de la liste
-ou entre les entrées.<footnote>Il y a un problème dans ce cas avec HTML.
-Le formateur HTML ne le fait pas, en utilisant l'attribut <tt/compact/
-des listes HTML pour les listes qu'il génère, mais peu de
-navigateurs interprète cela correctement.</footnote> Les entrées dans
-une liste compacte doivent être un seul paragraphe (il n'est pas
-nécessaire de marquer le début du paragraphe). Toutes les listes
-à l'intérieur d'une liste compacte doivent être elles-mêmes
-marquées compactes (même si les formateurs déduiront en faite par
-eux-mêmes qu'elles doivent être compactes).
-<p>
-
-Les versions non compactes sont prévues pour se comporter comme
-des paragraphes. Chaque entrée dans une telle liste peut contenir
-plus d'un paragraphe (encore une fois, le début du premier paragraphe
-n'a pas besoin d'être marqué). La liste est séparée du texte environnant
-et chaque entrée des autres, par des lignes blanches comme il est
-d'usage pour les ruptures de paragraphe.
-
-<sect id="examples">Exemples
-<p>
-
-Exemples - fragments de codes de plusieurs lignes, scripts et bouts
-de textes d'ordinateur équivalents - sont introduits avec
-<tt/&lt;example&gt;/ et finissent avec <tt>&lt;/example&gt;</>.
-<p>
-
-L'exemple sera formatté exactement comme il y a été saisi, en reproduisant
-espaces et sauts de lignes. Il sera représenté dans une police
-non-proportionnelle, habituellement celle utilisée pour le style
-de caractère <tt/&lt;tt&gt;/, même si le formateur utilise
-normalement une police proportionnelle. Toute indentation
-appropriée sera ajoutée par le formateur; l'exemple doit
-être saisi en commençant dans la colonne la plus à gauche.
-<p>
-
-Les exemples peuvent contenir du texte balisé mais ne
-peuvent pas contenir des références croisées ou les éléments
-de style de caractères <tt/&lt;tt&gt;/, <tt/&lt;prgn&gt;/ et
-<tt/&lt;em&gt;/. Voir <ref id="inline">.
-<p>
-
-Un exemple ne produit pas de rupture de paragraphe; les exemples
-sont considérés comme parties des paragraphes. Si un exemple doit
-être un paragraphe par lui-même alors la balise de début de paragraphe
-doit être insérée comme approprié.
-<p>
-
-Tout caractère spécial SGML dans l'exemple doit être échappé
-comme habituellement - voir <ref id="markup">. <tt/&lt;example&gt;/
-ne fonctionne pas comme l'environnement TeX <tt/verbatim/.
-
-</book>
diff --git a/french/international/french/translations/policy.fr.sgml b/french/international/french/translations/policy.fr.sgml
deleted file mode 100644
index ad8cd577a35..00000000000
--- a/french/international/french/translations/policy.fr.sgml
+++ /dev/null
@@ -1,9260 +0,0 @@
-<!DOCTYPE debiandoc SYSTEM [
-<!-- include version information so we don't have to hard code it
- within the document -->
-<!-- arch devel-3.7-patch-26 -->
-<!--entity % versiondata SYSTEM "version.ent"> &versiondata; -->
-]>
-
-<!-- IMPORTANT : AVANT DE COMMITER, SUPPRIMER LE DOUBLE "" LIGNE 5505 -->
-
-<debiandoc>
-
- <book>
- <titlepag>
- <title>La Charte Debian</title>
- <author><qref id="authors">La liste de diffusion Debian-Policy</qref></author>
- <version>version 3.7.2.2</version>
-
- <abstract>
- Ce manuel est la charte de la distribution Debian
-GNU/Linux. Sont abordés la structure et le contenu d'une archive Debian,
-certaines questions sur la conception du système d'exploitation,
-ainsi que les exigences techniques que chaque paquet doit satisfaire afin
-d'être inclus dans la distribution.
- </abstract>
-
- <copyright>
- <copyrightsummary>
- Copyright &copy; 1996,1997,1998 Ian Jackson
- et Christian Schwarz.
- </copyrightsummary>
- <p>
- Ce manuel est un logiciel libre&nbsp;; il peut être redistribué
-et modifié selon les termes de la licence publique générale du projet GNU
-(GNU GPL), telle que publiée par la «&nbsp;Free Software Foundation&nbsp;»
-(version 2 ou toute version supérieure).
- </p>
- <p>
- Il est distribué dans l'espoir qu'il sera utile, mais <em>sans aucune
-garantie</em>&nbsp;; sans même la garantie implicite d'une possible valeur
-marchande ou d'une adéquation à un besoin particulier.
-Consultez la licence publique générale du projet GNU pour plus de détails.
- </p>
- <p>
-Une copie de la licence publique générale est disponible
-à <tt>/usr/share/common-licenses/GPL</tt> dans la distribution Debian GNU/Linux
-ou sur la «&nbsp;Toile&nbsp;»&nbsp;:
-<url id="https://www.gnu.org/copyleft/gpl.html" name=" La licence publique générale du projet GNU">.
-Vous pouvez également l'obtenir en écrivant à la
-Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-Boston, MA 02110-1301, USA.
- </p>
- </copyright>
- </titlepag>
- <toc detail="sect1">
-<chapt id="scope">
- <heading>À propos de ce manuel</heading>
- <sect>
- <heading>Les objectifs de ce manuel</heading>
- <p>
- Ce manuel est la charte de la distribution
-Debian GNU/Linux. Sont abordés la structure et le contenu d'une archive
-Debian, certaines questions sur la conception du système d'exploitation,
-ainsi que les exigences techniques que chaque paquet doit satisfaire afin
-d'être inclus dans la distribution.
- </p>
-<p>
-Ce manuel décrit aussi la politique Debian en ce qui concerne la création
-des paquets. Ce n'est pas un cours sur la construction des paquets et il ne
-décrit pas complètement le comportement du système de gestion des paquets.
-Il essaye plutôt de définir la seule interface que doivent maîtriser les
-développeurs
-<footnote><p>
-D'une manière informelle, l'intégration de «&nbsp;matériel&nbsp;» se fait
-selon les critères suivants&nbsp;:
-<taglist compact="compact">
-<tag>Interfaces standards</tag>
-<item> <p>
-Le «&nbsp;matériel&nbsp;» présenté est une interface au système de gestion de
-paquets dont l'utilisation est obligatoire&nbsp;; un nombre significatif de paquets
-l'utilise et elle ne sera pas modifiée sans une étude sérieuse. Les
-responsables de paquet peuvent donc compter sur la stabilité de cette
-interface et les auteurs du système de gestion des paquets doivent assurer
-la compatibilité avec les définitions de ces interfaces. Le format des
-fichiers «&nbsp;control&nbsp;» et «&nbsp;changelog&nbsp;» en est un exemple.
-</p>
- </item>
- <tag>Convention choisie</tag>
- <item>
- <p>
-Quand on a besoin, pour des raisons d'inter-opérabilité, de faire un choix
-parmi un certain nombre de possibilités techniquement valides. Le numéro
-de version est un exemple.
-</p></item></taglist>
-Veuillez noter que ces critères ne s'excluent pas mutuellement&nbsp;; une
-convention choisie devient souvent une interface standard.
- </p>
- </footnote>.
- </p>
-<p>
-Les notes de ce manuel ne font pas partie de la Charte et sont purement
-documentaires.
-</p>
-<p>
-Les annexes de ce manuel ne sont pas non plus normatives.
-Voyez <ref id="pkg-scope"> pour des informations supplémentaires.
- </p>
-
-<p>
-Dans la partie normative de ce manuel, les mots <em>must</em>,
-<em>should</em>, <em>may</em> et les adjectifs
-<em>required</em>, <em>recommended</em> et <em>optional</em> servent
-à distinguer la signification des diverses directives contenues dans cette
-charte. La distribution Debian ne considérera généralement pas comme
-acceptables les paquets qui ne se conforment pas aux directives dénotées par
-<em>must</em> (ou <em>required</em>)<footnote><p>
-En français, nous employons le verbe «&nbsp;devoir&nbsp;» et ses déclinaisons.
-</p></footnote>. Une non-conformité à une directive
-dénotée par <em>should</em> (ou <em>recommended</em>) sera en général
-considérée comme un bogue, mais cela n'empêchera pas nécessairement la
-distribution du paquet.<footnote><p>
-En français, nous employons le futur de l'indicatif et jamais le verbe
-«&nbsp;devoir&nbsp;».</p></footnote>.
-Les directives dénotées par <em>may</em> (ou <em>optional</em>) sont
-véritablement facultatives et sont laissées à l'appréciation du responsable
-de paquet.
-</p>
-<p>
-Ce classement est en gros équivalent à celui des bogues&nbsp;: <em>serious</em>
-(pour les violations des directives <em>must</em> ou <em>required</em>),
-<em>minor</em>, <em>normal</em> ou <em>important</em> (pour les violations
-des directives <em>should</em> ou <em>recommended</em>) et <em>wishlist</em>
-(pour les éléments <em>optional</em>)
-<footnote>Comparez avec la RFC 2119.
-Remarquez cependant que ces mots sont employés différemment dans ce
-document.</footnote>.
-</p>
- <p>
- La plupart des informations de ce manuel seront également utiles
-pour la création de paquets que l'on doit distribuer d'une autre façon
-ou qui sont destinés à un usage local.
- </p>
- </sect>
- <sect>
-
-<heading>Nouvelles versions de ce document</heading>
-
- <p>
-Ce document est distribué dans le paquet Debian
-<package><url name="debian-policy" id="https://packages.debian.org/debian-policy"></package>
- (<httpsite>packages.debian.org</httpsite>
- <httppath>/debian-policy</httppath>).
- </p>
-
- <p>
-La dernière version de ce document est aussi disponible sur les miroirs web
-de Debian,
-<tt><url name="/doc/debian-policy/"
- id="https://www.debian.org/doc/debian-policy/"></tt>.
- (<httpsite>www.debian.org</httpsite>
- <httppath>/doc/debian-policy/</httppath>)
-Dans le même répertoire, d'autres formats existent&nbsp;:
-<file>policy.html.tar.gz</file>,
-(<httppath>/doc/debian-policy/policy.html.tar.gz</httppath>),
- <file>policy.pdf.gz</file>
-(<httppath>/doc/debian-policy/policy.pdf.gz</httppath>)
-et
-<file>policy.ps.gz</file>
-(<httppath>/doc/debian-policy/policy.ps.gz</httppath>).
- </p>
-
-<p>
-Le paquet <package>debian-policy</package> contient aussi le fichier
-<tt>upgrading-checklist.txt.gz</tt> qui liste les changements entre les versions
-de ce document.
-</p>
- </sect>
-
- <sect id="authors">
- <heading>Auteurs et responsables</heading>
-
- <p>
-Ce manuel, appelé «&nbsp;Debian GNU/Linux Policy Manual&nbsp;», a été
-rédigé d'abord par Ian Jackson en 1996, puis révisé par David A. Morris le 27
-novembre 1996. Christian Schwarz ajouta de nouvelles sections le 15 mars
-1997 et retravailla le texte entre les mois d'avril et de Juin 1997.
-Christoph Lameter a apporté la contribution sur le «&nbsp;Web Standard&nbsp;».
-Et il a été grandement restructuré en 2001 par Julian Gilbey.
- </p>
-<p>
-Depuis septembre 1998, la <url name="liste de discussion debian-policy"
- id="mailto:debian-policy@lists.debian.org"> est responsable
-du contenu de ce document. Les propositions y sont discutées, puis, quand
-un consensus est dégagé, elles sont introduites dans le document.
-<!-- insert shameless policy-process plug here eventually -->
-L'édition est faite par un groupe de responsables sans pouvoir
-rédactionnel, dont voici la liste actuelle&nbsp;:
- <enumlist>
- <item>Julian Gilbey</item>
- <item>Branden Robinson</item>
- <item>Josip Rodin</item>
- <item>Manoj Srivastava</item>
- </enumlist>
- </p>
-
- <p>
- Bien que les auteurs de ce document aient veillé à ne pas introduire
-de coquilles ou d'autres erreurs, il en reste toujours.
-Si vous découvrez des erreurs dans cette version du manuel ou si
-vous voulez faire part de vos commentaires, suggestions ou
-critiques, veuillez envoyer un courrier électronique sur la liste de diffusion
-«&nbsp;Debian Policy&nbsp;», <email>debian-policy@lists.debian.org</email>,
-ou un rapport de bogue concernant le paquet <tt>debian-policy</tt>.
- </p>
-<p>
-N'essayez pas, s'il vous plaît, de contacter personnellement les auteurs et
-les responsables de ce document dans le but de modifier la Charte Debian.
- </p>
-</sect>
- <sect id="related">
- <heading>Documents associés</heading>
-
- <p>
-Plusieurs autres documents sont nécessaires pour comprendre pleinement les
-règles et les procédures Debian.
- </p>
-
- <p>
-Ces documents complémentaires sont référencés dans&nbsp;:
- <list compact="compact">
- <item><ref id="fhs"></item>
- <item><ref id="virtual_pkg"></item>
- <item><ref id="menus"></item>
- <item><ref id="mime"></item>
- <item><ref id="perl"></item>
- <item><ref id="maintscriptprompt"></item>
- <item><ref id="emacs"></item>
- </list>
- </p>
-
- <p>
-En dehors de ces documents normatifs, il y a aussi la référence du
-développeur Debian. Ce document décrit les procédures et les ressources
-disponibles aux développeurs Debian, mais il <em>n'est pas</em> normatif.
-Il comprend des éléments qui n'ont pas valeur de règle mais qui sont
-considérés comme des pratiques exemplaires pour les développeurs.
- </p>
-
- <p>
-La référence des développeurs Debian est disponible dans le paquet
-<package>developers-reference</package>. On peut aussi le trouver sur les
-miroirs web de Debian, <tt><url name="/doc/developers-reference/"
- id="https://www.debian.org/doc/developers-reference/"></tt>.
- </p>
- </sect>
-
-<sect id="extra-trans-">
-<heading>À propos de la traduction</heading>
-<p>
-Depuis la version 3.5.0.0, la charte Debian regroupe le
-<em>Debian Policy Manual</em> et des éléments tirés du
-<em>Debian Packaging Manual</em>.</p>
-<p>
-Serge Stinckwich et David Rocher ont initié la traduction du
-<em>Debian Policy Manual</em> et ils furent rejoints par Christophe Le Bars,
-Benjamin Drieu, Laurent Pelecq, Christophe Mertz, Olivier Ripoll,
-Georges Mariano, Hugues Marilleau, Michel Court et les relecteurs de la liste
-de diffusion <em>debian-l10n-french</em>. Il a ensuite été repris
-par Philippe Batailler.
-</p>
-<p>
-David Curé et Christian Jacolot ont traduit les passages
-du <em>Debian Packaging Manual</em> intégrés dans la charte.
-</p>
-<p>
-Si vous voulez faire part de vos commentaires, suggestions ou critiques sur
-cette traduction, vous pouvez envoyer un courriel à Frédéric Bothamy <email>
-frederic.bothamy@free.fr</email>, ou à la liste <em>debian-l10n-french</em>,
-<email>debian-l10n-french@lists.debian.org</email>.
-</p>
- </sect>
- </chapt>
-
- <chapt id="archive">
- <heading>L'archive Debian</heading>
- <p>
- Le système Debian GNU/Linux est maintenu et distribué sous la forme
-d'un ensemble de <em>paquets</em>. Très nombreux (plus de 15000), ces paquets
-sont répartis en plusieurs <em>sections</em> et on leur donne des
-<em>priorités</em> afin de simplifier leur traitement.
- </p>
- <p>
- Le projet Debian s'efforce de construire un système
-d'exploitation libre, mais tous les paquets que nous voulons rendre
-accessibles ne sont pas <em>libres</em> selon notre définition
-(voir plus loin les Directives Debian pour le logiciel libre) ou ne peuvent
-pas être importés ou exportés sans restrictions. L'archive a donc été
-divisée en zones de distributions ou catégories définies par les licences des
-logiciels ou par certaines restrictions.
- </p>
- <p>
-Nos buts sont les suivants&nbsp;:
- <list compact="compact">
- <item>offrir le plus grand nombre possible de logiciels&nbsp;;</item>
- <item>encourager chacun à écrire des logiciels libres&nbsp;;</item>
- <item>et faciliter la production de cédéroms de notre système en
-évitant que des licences, des restrictions d'importation ou d'exportation
-ou des lois quelconques ne soient violées.</item>
- </list>
- </p>
-
-<p>
- La catégorie <em>main</em> constitue la <em>distribution Debian
- GNU/Linux</em>.
-</p>
- <p>
- Les paquets des autres zones de distribution (<tt>contrib</tt>,
-<tt>non-free</tt>) ne sont pas considérés comme faisant
-partie de la distribution Debian, bien que nous soutenions leur utilisation
-à travers notre infrastructure (comme notre système
-de suivi des bogues et nos listes de diffusion). La <em>Charte Debian</em>
-s'applique aussi à ces paquets.
-</p>
-
- <sect id="dfsg">
- <heading>Les directives Debian pour le logiciel libre</heading>
- <p>
- Les directives Debian pour le logiciel libre (DFSG :
-«&nbsp;Debian Free Software Guidelines&nbsp;») suivantes constituent notre
-définition du «&nbsp;logiciel libre&nbsp;».
- <taglist>
- <tag>Redistribution autorisée
- </tag>
- <item>
- <p>
- La licence d'un composant Debian ne doit pas empêcher quiconque
- de vendre ou de donner ce logiciel en tant qu'élément d'une distribution
- logicielle qui regroupe des programmes de différentes sources. La licence
- ne doit pas demander le paiement de droits ou de redevances
- pour une telle vente.
- </p>
- </item>
- <tag>Code source
- </tag>
- <item>
- <p>
- Le programme doit inclure son code source et doit permettre sa
- distribution en tant que code source et sous forme compilée.
- </p>
- </item>
- <tag>Travaux dérivés
- </tag>
- <item>
- <p>
- La licence doit autoriser les modifications et les travaux
-dérivés. Elle doit autoriser leur distribution selon les termes mêmes de
-la licence du logiciel original.
- </p>
- </item>
- <tag>Intégrité du code source de l'auteur
- </tag>
- <item>
- <p>
- La distribution d'un code source modifié peut être limitée
-par la licence <em>seulement</em> si des fichiers «&nbsp;patch&nbsp;», joints
-avec le code source, permettent de modifier le programme au moment de sa
-compilation. La licence doit explicitement permettre la redistribution de
-logiciels construits à partir de code source modifié. La licence peut exiger
-que les travaux dérivés portent un nom différent ou un numéro de version
-différent du logiciel initial. (C'est un compromis. Le projet Debian
-encourage tous les auteurs à ne pas limiter les modifications de fichier,
-source ou binaire.)
- </p>
- </item>
- <tag>Non-discrimination envers des personnes ou groupes
-de personnes
- </tag>
- <item>
- <p>
- La licence ne doit faire aucune discrimination à l'encontre
-d'une personne ou d'un groupe de personnes.
- </p>
- </item>
- <tag>Non-discrimination envers des champs d'activités
- </tag>
- <item>
- <p>
- La licence ne doit pas empêcher l'usage du programme dans un
- champ spécifique d'activité. Par exemple, elle ne doit pas empêcher
- l'utilisation du programme dans le cadre d'une activité commerciale ou
- pour faire de la recherche génétique.
- </p>
- </item>
- <tag>Distribution de licence
- </tag>
- <item>
- <p>
- Les droits attachés au programme doivent s'appliquer à tous
-ceux à qui le logiciel est redistribué sans que ceux-ci aient besoin
-d'une licence supplémentaire.
- </p>
- </item>
- <tag>La licence ne doit pas être spécifique à Debian
- </tag>
- <item>
- <p>
- Les droits attachés à un programme ne doivent pas être liés
-à l'appartenance de ce programme à un système Debian. Si ce programme
-est extrait de Debian et est utilisé ou distribué sans Debian mais
-dans les termes de la licence du programme, toutes les parties
-à qui ce programme a été redistribué doivent avoir les mêmes droits
-que ceux qui sont accordés avec le système Debian.
- </p>
- </item>
- <tag>La licence ne doit pas contaminer d'autres logiciels
- </tag>
- <item>
- <p>
- La licence ne doit pas apporter des restrictions à d'autres
-logiciels distribués avec le logiciel en question. Par exemple, la licence ne
-doit pas exiger que tous les autres programmes distribués sur le même
-support soient des logiciels libres.
- </p>
- </item>
- <tag>Exemples de licence
- </tag>
- <item>
- <p>
- Les licences «&nbsp;GPL&nbsp;», «&nbsp;BSD&nbsp;» et
-«&nbsp;Artistic&nbsp;» sont des exemples de licence que nous considérons
-comme <em>libres</em>.
- </p>
- </item>
- </taglist>
- </p>
- </sect>
-
- <sect id="sections">
- <heading>Les catégories</heading>
-
- <sect1 id="main">
- <heading>La catégorie «&nbsp;main&nbsp;»</heading>
- <p>
- Tous les paquets dans <em>main</em> doivent se conformer aux <em>DFSG</em>
-(«&nbsp;Debian Free Software Guidelines&nbsp;» &mdash; Les principes du logiciel
-libre selon Debian).
- </p>
-
- <p>
- De plus, les paquets dans <em>main</em>
- <list compact="compact">
- <item>
- <p>
-ne doivent pas demander un paquet extérieur à <em>main</em> pour leur
-compilation ou leur exécution (ainsi les paquets ne doivent pas déclarer de
-relation «&nbsp;Depends&nbsp;», «&nbsp;Recommends&nbsp;» ou
-«&nbsp;Build-Depends&nbsp;» avec un paquet qui n'est pas contenu dans
-<em>main</em>),
- </p>
- </item>
- <item>
- <p>
- ne doivent pas être tellement bogués que nous refusions de les
-soutenir,
- </p>
- </item>
- <item>
- <p>
- et doivent se conformer à toutes les règles énoncées
-dans ce manuel.
- </p>
- </item>
- </list>
- </p>
-
- </sect1>
-
- <sect1 id="contrib">
- <heading>La catégorie «&nbsp;contrib&nbsp;»</heading>
- <p>
- Tous les paquets dans <em>contrib</em> doivent se conformer aux
- «&nbsp;DFSG&nbsp;».
- </p>
- <p>
-De plus, les paquets dans <em>contrib</em>
- <list compact="compact">
- <item>
- <p>
-ne doivent pas être tellement bogués que nous refusions de les soutenir,
- </p>
- </item>
-<item>
-<p>
-et doivent se conformer à toutes les règles énoncées dans ce manuel.
- </p>
- </item>
- </list>
-</p>
-<p>
-Voici des exemples de paquets que l'on peut mettre dans <em>contrib</em>&nbsp;:
-<list compact="compact">
-<item><p>
-des paquets libres qui demandent pour leur compilation ou
-leur exécution des paquets appartenant aux sections <em>contrib</em>,
-<em>non-free</em> ou des paquets qui ne sont pas contenus dans notre archive&nbsp;;
- </p>
- </item>
- <item>
- <p>
-des paquets «&nbsp;wrapper&nbsp;», et des accessoires libres pour des
-programmes non libres.
- </p>
- </item>
- </list>
- </p>
- </sect1>
- <sect1 id="non-free">
- <heading>La catégorie «&nbsp;non-free&nbsp;»</heading>
- <p>
-On doit placer dans les sections <em>non-free</em>
-les paquets qui ne se conforment pas aux «&nbsp;DFSG&nbsp;», ou bien les
-paquets dont la distribution est rendue problématique par des brevets ou des
-questions légales.
- </p>
-<p>
-De plus les paquets dans <em>non-free</em>
-<list compact="compact">
-<item>
-<p>
-ne doivent pas être tellement bogués que nous refusions de les soutenir,
- </p>
- </item>
-<item>
-<p>
-et doivent se conformer, autant qu'il leur est possible, à toutes les règles
-énoncées dans ce manuel<footnote><p>
-Il se peut que certains paquets ne puissent pas respecter telle règle&nbsp;;
-p. ex. les sources ne sont pas disponibles. Ces situations seront examinées au
-cas par cas.
-</p>
- </footnote>.</p>
- </item>
- </list>
-</p>
- </sect1>
-
- <sect id="pkgcopyright">
- <heading>Considérations sur le copyright</heading>
-
- <p>
-Tous les paquets doivent être accompagnés d'une copie <em>verbatim</em>
-de leur copyright et de leur licence dans le fichier
- <file>/usr/share/doc/<var>paquet</var>/copyright</file>
-(voir <ref id="copyrightfile"> pour des précisions).
-</p>
- <p>
- Nous nous réservons le droit d'empêcher l'inclusion de fichiers
-dans nos archives si
- <list compact="compact">
- <item>
- leur utilisation ou leur distribution violent une loi&nbsp;;
- </item>
- <item>
- leur utilisation ou leur distribution créent un conflit éthique&nbsp;;
- </item>
- <item>
- nous sommes obligés de signer une licence pour les utiliser&nbsp;;
- </item>
- <item>
- leur distribution entre en conflit avec des politiques
-du projet Debian.
- </item>
- </list>
- </p>
-
- <p>
- Les programmes dont les auteurs encouragent l'utilisateur à faire des
-dons conviennent très bien à la section <em>main</em>, sauf si les auteurs
-affirment que ne pas faire de don est immoral, non éthique, illégal
-ou quelque chose de similaire&nbsp;; dans ce cas, ces programmes
-doivent être placés dans la section <em>non-free</em>.
-</p>
-
- <p>
- Les paquets dont les notices de copyright (ou des problèmes de
-brevet) ne permettent pas la redistribution, même sous forme binaire,
-et pour lesquels aucune permission spéciale n'a été obtenue, ne doivent pas
-être placés sur le site FTP de Debian et ses miroirs.</p>
-
- <p>
-On notera que dans la loi internationale du copyright (ceci s'applique aussi
-aux États-Unis), <em>aucune</em> distribution ou modification d'un travail
-n'est autorisée sans une mention explicite. C'est pourquoi un programme sans
-notice de copyright <em>est</em> protégé et vous ne pouvez rien en faire
-sans risquer d'être poursuivi. De même, un programme, avec une notice
-de copyright qui n'énoncerait pas explicitement ce qui est permis,
-interdit tout.
-</p>
-
- <p>
-Beaucoup d'auteurs de logiciels prétendument libres ignorent les problèmes
-posés aux utilisateurs par des copyrights restrictifs (ou l'absence
-de notice de copyright). Il est souvent intéressant de contacter
-diplomatiquement de tels auteurs pour leur demander de modifier les
-termes de leur licence. Cependant cela peut être politiquement difficile
-et vous devriez au préalable demander conseil sur la liste
-de diffusion <tt>debian-legal</tt>, comme il est expliqué plus bas.
-</p>
-
- <p>
-En cas de doute à propos d'un copyright, envoyez un courrier électronique
-à <email>debian-legal@lists.debian.org</email>. Soyez prêt à nous donner
-le copyright complet. Les logiciels couverts par la «&nbsp;GPL&nbsp;», les
-logiciels du domaine public et les copyrights de type «&nbsp;BSD&nbsp;» sont
-sûrs&nbsp;; méfiez-vous d'expressions comme «&nbsp;utilisation commerciale
-interdite&nbsp;» et «&nbsp;distribution limitée&nbsp;».
-</p>
- </sect>
-
- <sect id="subsections" >
- <heading>Les sections</heading>
-
- <p>
-Les paquets des catégories (<em>main</em>, <em>contrib</em> et <em>non-free</em>
-sont regroupés en <em>sections</em> pour simplifier leur traitement.
-</p>
-
- <p>
- La catégorie et la section seront spécifiées dans le champ de
-contrôle <tt>Section</tt> de chaque paquet. Toutefois, le responsable de
-l'archive Debian peut modifier ce choix afin d'assurer la cohérence de la
-distribution Debian. le champ <tt>Section</tt> sera de la forme&nbsp;:
-<list compact="compact">
-<item>
-<p>
-<em>section</em> si le paquet appartient à la catégorie <em>main</em>,
-</p>
- </item>
-<item>
-<p>
-<em>segment/section</em> si le paquet appartient aux zones de distribution
-<em>contrib</em> ou <em>non-free</em>.
- </p>
- </item>
- </list>
- </p>
-
- <p>
-Les responsables de l'archive Debian donnent la liste des sections
-autorisées&nbsp;:
- <em>admin</em>, <em>base</em>, <em>comm</em>,
- <em>contrib</em>, <em>devel</em>, <em>doc</em>,
- <em>editors</em>, <em>electronics</em>, <em>embedded</em>,
- <em>games</em>, <em>gnome</em>, <em>graphics</em>,
- <em>hamradio</em>, <em>interpreters</em>, <em>kde</em>,
- <em>libs</em>, <em>libdevel</em>, <em>mail</em>,
- <em>math</em>, <em>misc</em>, <em>net</em>, <em>news</em>,
- <em>non-free</em>, <em>oldlibs</em>,
- <em>otherosfs</em>, <em>perl</em>, <em>python</em>,
- <em>science</em>, <em>shells</em>,
- <em>sound</em>, <em>tex</em>, <em>text</em>,
- <em>utils</em>, <em>web</em>, <em>x11</em>.
- </p>
- </sect>
-
-<sect id="priorities">
- <heading>Les priorités</heading>
-
- <p>
- Chaque paquet aura une <em>priorité</em> spécifiée dans son
-<em>fichier de contrôle</em> (voir <ref id="f-Priority">). Cette information,
-utilisée par les outils de gestion des paquets Debian, permet de séparer les
-paquets prioritaires de ceux qui le sont moins.
-</p>
- <p>
- Les outils de gestion des paquets Debian reconnaissent
-les <em>niveaux de priorité</em> suivants&nbsp;:
-
- <taglist>
- <tag><tt>required</tt></tag>
- <item>
- <p>
-Ce sont les paquets nécessaires au bon fonctionnement du système.
-Cela signifie que les fonctionnalités de dpkg dépendent de ces paquets.
-Vous ne devez pas les enlever sous peine de rendre votre système complètement
-inutilisable&nbsp;; vous ne pourrez probablement même plus utiliser
-<prgn>dpkg</prgn> pour remettre les choses en place. Les systèmes composés
-uniquement de paquets <tt>required</tt> sont probablement inutilisables,
-mais ils disposent des fonctionnalités suffisantes pour permettre à
-l'administrateur système d'amorcer le système et d'installer d'autres logiciels.
- </p>
- </item>
- <tag><tt>important</tt></tag>
- <item>
- <p>
-Ces paquets incluent ceux que l'on s'attend à trouver sur un système de type
-Unix. Si l'on pense qu'un expert Unix, détectant l'absence d'un programme
-s'exclamera&nbsp;: «&nbsp;Que se passe-t-il&nbsp;!? Où est le programme
-<prgn>foo</prgn>&nbsp;?&nbsp;», alors celui-ci doit être dans
-<tt>important</tt>
-<footnote>
-<p>
-C'est un critère fort, car nous cherchons à produire, entre autres choses, un
-Unix libre.</p> </footnote>. Les autres paquets sans
-lesquels le système ne fonctionne pas bien ou est inutilisable
-doivent avoir cette priorité. Cela <em>n'inclut pas</em>
-«&nbsp;Emacs&nbsp;», «&nbsp;X11&nbsp;», «&nbsp;TeX&nbsp;» ou d'autres
-grosses applications. Les paquets <tt>important</tt> constituent simplement un
-ensemble minimal d'outils nécessaires et communément attendus.
- </p>
- </item>
- <tag><tt>standard</tt></tag>
- <item>
- <p>
-Ces paquets fournissent un système en mode caractère, relativement
-petit mais pas trop limité. Ils seront installés par défaut si
-l'utilisateur ne sélectionne rien d'autre. Ce niveau laisse de côté
-beaucoup de grosses applications.
-</p>
- </item>
- <tag><tt>optional</tt></tag>
- <item>
- <p>
-En un sens, ce qui n'est pas obligatoire est facultatif, mais
-ici «&nbsp;optional&nbsp;» ne doit pas être compris ainsi. Ce sont tous les
-logiciels que l'on pourrait raisonnablement vouloir installer quand on ne les
-connaît pas et que l'on a pas d'exigences particulières. Cela constitue un
-système nettement plus gros et contient «&nbsp;X11&nbsp;», la distribution
-complète de «&nbsp;TeX&nbsp;» et de nombreuses applications. Notez qu'il ne
-doit pas y avoir de conflit entre les paquets optionnels.
-</p>
- </item>
- <tag><tt>extra</tt></tag>
- <item>
- <p>
-Sont regroupés là les paquets qui sont en conflit avec d'autres
-paquets dont les priorités sont «&nbsp;required&nbsp;», «&nbsp;important&nbsp;», «&nbsp;standard&nbsp;»
-ou «&nbsp;optional&nbsp;», ou bien les paquets utiles uniquement
-si vous savez déjà ce qu'ils font, ou bien les paquets qui ont des
-exigences spécifiques.
- </p>
- </item>
- </taglist>
- </p>
-
- <p>
- Les paquets ne doivent pas dépendre de paquets dont les priorités
-sont de valeur inférieure (hors dépendances pour la construction).
-Pour cela, on pourra ajuster les priorités d'un ou de plusieurs paquets.
- </p>
- </sect>
- </chapt>
-
- <chapt id="binary">
- <heading>Les paquets binaires</heading>
-
- <p>
-La distribution Debian GNU/Linux est fondée sur le système Debian de gestion de
-paquets, appelé <prgn>dpkg</prgn>. Par conséquent, tous les
-paquets de la distribution Debian doivent être fournis au format de
-fichier <tt>.deb</tt>.
-</p>
-
- <sect>
- <heading>Le nom d'un paquet</heading>
-
- <p>
-Chaque paquet doit avoir un nom unique dans l'archive Debian.
-</p>
- <p>
-Le nom d'un paquet est inclus dans le champ de contrôle <tt>Package</tt>
-dont le format est décrit dans <ref id="f-Package">.
-Le nom d'un paquet fait aussi partie du nom du fichier <tt>.deb</tt>.
- </p>
- </sect>
-
- <sect id="versions">
- <heading>La version d'un paquet</heading>
-<p>
-Chaque paquet possède un numéro de version enregistré dans le champ
-<tt>Version</tt> de son fichier de contrôle, voir <ref id="f-Version">.
-</p>
-<p>
-Le système de gestion des paquets impose un ordre aux numéros de
-version&nbsp;: il peut ainsi connaître quel type de mise à niveau est en
-cours et les applications qui lui servent d'interface peuvent dire si un
-paquet disponible est plus récent que celui installé sur le système. La
-partie la plus significative (du moins en ce qui concerne la comparaison) du
-format des numéros de version se trouve au début.
- </p>
-
-<p>
-Quand la numérotation d'un paquet pose problème, elle sera convertie en un
-format utilisable dans le champ <tt>Version</tt>.
- </p>
-
- <sect1>
- <heading>La numérotation des versions fondée sur des dates</heading>
-
-<p>
-En règle générale, les paquets Debian utiliseront les mêmes numéros de
-version que les sources.</p>
-
-<p>
-Cependant, la numérotation des sources est parfois fondée sur une date (par
-exemple, un instantané d'une version de développement)&nbsp;; le système de
-gestion des paquets ne peut pas manipuler cette numérotation sans les
-<em>epochs</em>. Et <prgn>dpkg</prgn> par exemple considère que
-«&nbsp;96May01&nbsp;» est plus grand que «&nbsp;96Dec24&nbsp;».
-</p>
-
-<p>
-Pour éviter l'utilisation d'<em>epochs</em> à chaque nouvelle version source,
-on emploiera pour la partie date du numéro de version le format suivant&nbsp;:
-«&nbsp;19960501&nbsp;», «&nbsp;19961224&nbsp;».
-Le responsable de paquet décidera d'embêter ou non le responsable des
-sources avec une demande de modification de la numérotation de ses versions.
- </p>
-
-<p>
-Il faut noter que d'autres formats fondés sur les dates et qui sont
-correctement analysés par le système de gestion des paquets <em>ne doivent
-pas</em> être modifiés.
- </p>
-
-<p>
-Les paquets «&nbsp;Debian pure souche&nbsp;» (c.-à-d. écrits spécialement
-pour Debian)
-dont les numéros de version comprennent des dates utiliseront toujours le
-format suivant&nbsp;: «&nbsp;AAAAMMJJ&nbsp;».
- </p>
- </sect1>
- </sect>
-
- <sect>
- <heading>Le responsable d'un paquet</heading>
-
- <p>
- Chaque paquet doit avoir un responsable Debian (quelqu'un ou
-un groupe de personnes, qu'on peut joindre à une adresse électronique, telle
-que, par exemple, une liste de diffusion). Le responsable assure que la
-licence du logiciel du paquet suit les règles des distributions auxquelles
-il appartient.
-</p>
- <p>
-Le responsable doit être indiqué dans le champ <tt>Maintainer</tt> avec son
-nom correct et une adresse électronique valable. Quand une personne s'occupe
-de plusieurs paquets, elle essaiera d'éviter d'avoir différents noms ou
-adresses dans les champs <tt>Maintainer</tt> des différents paquets.
-</p>
- <p>
-Le format du champ <tt>Maintainer</tt> est décrit dans <ref id="f-Maintainer">.
- </p>
-
- <p>
-Quand la personne en charge d'un paquet quitte le projet Debian,
-c'est le groupe Debian QA <email>packages@qa.debian.org</email>
-qui reprend la maintenance du paquet jusqu'à ce qu'un volontaire
-se propose pour cette tâche.
-Ces paquets sont appelés <em>paquets orphelins</em>
-<footnote>
-La façon élégante de le faire peut être trouvée dans le
-« Debian Developer's Reference », voyez <ref id="related">.
- </footnote>.
-</p>
- </sect>
-
- <sect id="descriptions">
- <heading>La description d'un paquet</heading>
-
- <p>
-Chaque paquet Debian doit avoir une description complète enregistrée
-dans les champs <em>ad hoc</em> de son <em>fichier de contrôle</em>.
-L'information technique sur le format du champ <tt>Description</tt> se trouve
-dans <ref id="f-Description">.
- </p>
-<p>
-La description donnera assez d'informations sur le paquet (le programme) pour
-qu'un utilisateur (un administrateur système) n'ayant jamais rencontré ce
-paquet puisse décider de l'installer. La description ne reprendra pas
-simplement la documentation du programme.
- </p>
-<p>
-Mettez les informations importantes d'abord, à la fois dans le résumé et
-dans la description longue. Parfois, seule la première partie du résumé ou
-de la description longue est affichée. On peut assumer malgré tout qu'il y a
-une façon de voir toute la description longue.
- </p>
-<p>
-La description donnera aussi des informations sur les dépendances et les
-conflits significatifs entre ce paquet et les autres&nbsp;: l'utilisateur
-saura ainsi pourquoi ces dépendances et ces conflits ont été déclarés.
- </p>
-<p> Les instructions de configuration ou d'utilisation du paquet ne doivent
-pas en faire partie (c'est le rôle des scripts d'installation, des pages de
-man, des fichiers infos, etc.), non plus que les notices de copyright et les
-autres écrits administratifs (c'est le rôle des fichiers de copyright).
-</p>
-
-<sect1 id="synopsis"><heading>Le résumé sur une seule ligne</heading>
-
-<p>
-La ligne de résumé sera brève -- moins de 80 caractères.
- </p>
-
-<p>
-Ne mettez pas le nom du paquet dans la ligne de résumé. Le logiciel
-sait déjà l'afficher, et ce n'est pas nécessaire de l'indiquer. N'oubliez pas
-que dans beaucoup de cas, l'utilisateur ne peut lire que la ligne de
-résumé&nbsp;: il faut donc la rendre aussi instructive que possible.
- </p>
- </sect1>
-
-<sect1 id="extendeddesc"><heading>La description étendue</heading>
-
-<p>
-N'essayez pas de poursuivre la ligne du résumé dans la description étendue.
-Cela ne fonctionnera pas correctement quand la description complète est
-affichée et cela n'aura aucun sens quand seul le résumé est disponible.
- </p>
-<p>
-La description étendue décrira ce que fait le paquet, et comment il
-se relie au reste du système (en termes, par exemple, de sous-systèmes,
-de partie de ...).
- </p>
-<p>
-Le champ description doit être compréhensible par tout le monde, y compris
-par ceux qui n'ont aucune idée de ce que fait le paquet <footnote>
-<p>
-Le commentaire, qui est fourni par un programme dans ses fichiers
-d'annonces ou dans les fichiers <tt>README</tt>, est rarement approprié pour
-une utilisation dans une description. Il est habituellement conçu pour les
-gens qui connaissent déjà le paquet.
- </p>
- </footnote>.
- </p>
-
- </sect1>
- </sect>
-
- <sect>
- <heading>Les dépendances</heading>
-
- <p>
-Chaque paquet doit indiquer ses relations de dépendance avec les
-paquets dont il a besoin pour fonctionner correctement.
-</p>
- <p>
-Par exemple, une relation de dépendance doit être déclarée pour toute
-bibliothèque partagée qui est demandée par un exécutable
-dynamiquement lié d'un paquet.
-</p>
-
- <p>
-Il n'est pas nécessaire d'indiquer les dépendances d'un paquet envers
-des paquets étiquetés <tt>Essential</tt> (voir ci-dessous), et on ne doit
-pas le faire, à moins que ce ne soit une dépendance pour une version
-précise de tel paquet.<footnote>
- <p>
-<tt>Essential</tt> est défini comme l'ensemble minimal de fonctionnalités qui
-doivent être disponibles et utilisables sur le système même quand les paquets
-sont dans un état non configuré (mais dépaqueté). Cela est nécessaire pour
-éviter des boucles de dépendances non solutionnables lors des mises à jour. Si
-des paquets ajoutent des dépendances inutiles sur des paquets de cet ensemble,
-les possibilités qu'il y <strong>aura</strong> une boucle de dépendance non
-solutionnable induite par le forçage de configuration de ces paquets essentiels
-avant que cela ne soit nécessaire est fortement augmenté. Cela augmente
-également les possibilités que des frontaux ne seront pas capable de
-<strong>calculer</strong> un chemin de mise à jour, même si celui-ci existe.
- </p>
- <p>
-De plus, il est peut probable qu'une fonctionnalité d'<tt>Essential</tt> soit
-jamais supprimée (ce qui est une raison pour laquelle une attention particulière
-doit être prise avant de faire un ajout à l'ensemble des paquets
-d'<tt>Essential</tt>), mais des <em>paquets</em> ont été retirés de l'ensemble
-<tt>Essential</tt> quand la fonctionnalité a été déplacée dans un paquet
-différent. Donc, dépendre de ces paquets <em>au cas où</em> ils ne seraient plus
-essentiels pose plus de problèmes que cela n'en résoud.
- </p>
- </footnote>
-</p>
- <p>
-Dans certains cas, l'installation d'un paquet exige l'installation
-<em>et</em> la configuration préalables d'un autre paquet. Il faut alors
-déclarer une relation <tt>Pre-Depends</tt> pour ce paquet.</p>
-
- <p>
-Vous ne déclarerez pas une relation <tt>Pre-Depends</tt>
-pour un paquet avant qu'une discussion dans la liste de diffusion
-<tt>debian-devel</tt> n'ait abouti à un consensus sur le sujet.
-</p>
- <p>
-Le format des champs concernant les relations entre paquets est décrit dans
-<ref id="relationships">.
- </p>
- </sect>
-
- <sect id="virtual_pkg">
- <heading>Les paquets virtuels</heading>
-
- <p>
-Parfois il y a des paquets qui font plus ou moins la même chose.
-Dans ce cas, il est utile de définir un <em>paquet virtuel</em> dont
-le nom décrit la fonction de ces paquets. Les paquets virtuels existent
-de manière logique et non physique&nbsp;; c'est pour cela qu'ils sont appelés
-<em>virtuels</em>. Les paquets assurant cette fonction viendront
-<em>pourvoir</em> ce paquet virtuel. Ainsi, tout autre paquet qui a besoin
-de cette fonction pourra simplement dépendre du paquet virtuel, sans
-avoir à énumérer tous les paquets possibles.
-</p>
-
- <p>
-Tous les paquets utiliseront les noms de paquets virtuels
-quand il conviendra de le faire&nbsp;; ils s'arrangeront pour en créer de
-nouveaux quand ce sera nécessaire. On n'utilisera que les paquets
-virtuels qui ont été acceptés et qui apparaissent dans la liste des noms de
-paquets virtuels
-(sauf de manière privée, pour un ensemble local de paquets corrélés).
-Voir aussi <ref id="virtual">.
-</p>
-
- <p>
-La version la plus récente de la liste officielle des paquets virtuels se
-trouve dans le paquet <tt>debian-policy</tt>. Elle est aussi disponible sur
-les miroirs web de Debian,
-<tt><url name="/doc/packaging-manuals/virtual-package-names-list.txt"
- id="https://www.debian.org/doc/packaging-manuals/virtual-package\-names-list.txt"></tt>.
- </p>
-<p>
- La procédure de mise à jour de la liste est décrite au début de la liste.
-</p>
-</sect>
-
- <sect>
- <heading>Le système de base</heading>
-
- <p>
-Le système de base est le sous-ensemble minimal du système Debian
-GNU/Linux qui est installé, avant tout autre chose, sur un nouveau système.
-Ainsi, seulement un tout petit nombre de paquets peut aller dans
-la section <tt>base</tt> afin de minimiser la quantité d'espace disque
-nécessaire à une installation.
-</p>
- <p>
-La plupart de ces paquets auront le niveau de priorité
-<tt>required</tt> ou au moins <tt>important</tt> et beaucoup d'entre eux
-seront étiquetés <tt>essential</tt> (voir ci-dessous).
-</p>
-
- </sect>
-
- <sect>
- <heading>Les paquets «&nbsp;essential&nbsp;»</heading>
-
- <p>
-Certains paquets sont marqués <tt>essential</tt>, pour les systèmes qui
-utilisent ce champ <tt>Essential</tt> dans le fichier de contrôle.
-Le format de ce champ est décrit dans <ref id="f-Essential">.
- </p>
- <p>
-Comme ces paquets ne peuvent pas être facilement supprimés
-(il faut ajouter une option de <em>forçage</em> de <prgn>dpkg</prgn>),
-l'indicateur <tt>essential</tt> ne doit être utilisé que si
-c'est absolument nécessaire.
-Un paquet comprenant une bibliothèque partagée ne doit pas être étiqueté
-<em>essential</em>&nbsp;; les dépendances empêchent sa suppression
-prématurée, or il doit être possible de supprimer le paquet quand la
-bibliothèque est périmée.
-</p>
-<p>
-Comme <prgn>dpkg</prgn> n'empêche pas la mise à jour de paquets alors qu'un
-paquet <em>essential</em> n'est pas configuré, tous les paquets
-<em>essential</em> doivent fournir l'essentiel de leurs fonctions même s'ils
-ne sont pas configurés. Quand un paquet ne peut pas satisfaire à cette
-exigence, il ne doit pas être étiqueté <em>essential</em>&nbsp;; et tous les
-paquets qui en dépendent doivent, comme il est de règle, expliciter leurs
-dépendances.
-</p>
-
- <p>
-Vous ne devez pas étiqueter un paquet comme <tt>essential</tt> avant qu'une
-discussion dans la liste de diffusion <tt>debian-devel</tt>
-n'ait abouti à un consensus sur le sujet.
-</p>
- </sect>
-
- <sect id="maintscripts">
- <heading>Les scripts du responsable de paquet</heading>
-
- <p>
-Les scripts d'installation d'un paquet éviteront d'afficher des
-messages que l'utilisateur n'a pas besoin de voir et s'appuieront
-sur <prgn>dpkg</prgn> pour sauver de l'ennui un utilisateur qui
-installe de nombreux paquets. Cela signifie entre autres choses qu'il faut
-utiliser l'option <tt>--quiet</tt> de <prgn>install-info</prgn>.
-</p>
-
- <p>
-Les scripts d'installation doivent détecter toute erreur qui se produit et
-doivent arrêter immédiatement l'installation en cours.
-</p>
-
- <p>
-On remarquera que la section <ref id="scripts">, s'applique généralement
-aussi aux scripts des responsables de paquet.
-</p>
-
-<p>
-On n'utilisera pas <prgn>dpkg-divert</prgn> sur un fichier appartenant à
-un autre paquet sans avoir consulté au préalable le responsable du paquet en
-question.
-</p>
-
-<p>
-Tous les paquets qui donnent une valeur au nom «&nbsp;partagé&nbsp;» d'une
-commande (en général, c'est un nom de fichier), utiliseront en général
-<prgn>update-alternatives</prgn>, de manière à rendre possible leur
-installation simultanée. Quand on n'emploie pas
-<prgn>update-alternatives</prgn>, chaque paquet doit utiliser
-<tt>Conflicts</tt> pour s'assurer que les autres paquets ne sont pas
-installés. On peut spécifier dans ce cas un conflit avec quelques
-versions antérieures d'un paquet qui n'utilisait pas
-<prgn>update-alternatives</prgn>&nbsp;; c'est une exception à la règle
-habituelle qui demande d'éviter les conflits de version.
-</p>
-
-<sect1 id="maintscriptprompt">
-<heading>Poser des questions via les scripts du responsable</heading>
-<p>
-Les scripts du responsable de paquet peuvent interroger l'utilisateur quand
-c'est nécessaire. L'interrogation se fera par l'intermédiaire d'un programme,
-tel que <prgn>debconf</prgn>, qui se conforme à la spécification Debian pour
-les systèmes de configuration, version 2 ou supérieure.
-On peut interroger par d'autres moyens, notamment
-<em>à la main</em>&nbsp;<footnote>
-Tiré du Jargon&nbsp;: <em>à la main</em> 2. Par extension, écrire du code pour
-faire quelque chose explicitement ou à un bas niveau alors qu'une routine
-de bibliothèque (<em>debconf, dans ce cas</em>) est déjà disponible.
- </footnote> mais c'est déconseillé.
-</p>
-
- <p>
-La spécification Debian pour les systèmes de configuration se trouve dans le
-fichier <file>debconf_specification</file> du paquet
-<package>debian-policy</package>. Elle est aussi disponible sur les miroirs
-web de Debian,
- <tt><url name="/doc/packaging-manuals/debconf_specification.html"
- id="https://www.debian.org/doc/packaging-manuals/debconf_specifi\cation.html"></tt>.
- </p>
-<p>
-Les paquets qui utilisent les règles Debian de gestion de la configuration
-peuvent contenir un script supplémentaire <prgn>config</prgn> et un fichier
-<tt>templates</tt> dans leur archive de contrôle <footnote>
-Le fichier control.tar.gz dans le .deb.
-Voyez <manref name="deb" section="5">.
- </footnote>.
-Le script
-<prgn>config</prgn> peut être lancé avant le script <prgn>preinst</prgn> et
-avant que le paquet soit dépaqueté ou bien avant que ses dépendances et
-pré-dépendances soient satisfaites : il doit donc fonctionner en utilisant
-seulement les outils présents dans les paquets <em>Essential</em> <footnote>
-<p>
-<package>Debconf</package> ou tout autre outil qui met en ½uvre les règles
-Debian de gestion de la configuration est aussi installé, et toutes les
-dépendances concernant des versions sont satisfaites avant le commencement de
-la configuration préalable.
- </p>
- </footnote>.
- </p>
-
-<p>
-Les paquets essaieront de minimiser le nombre de questions posées et
-s'assureront que chaque question ne sera posée qu'une seule fois. Cela
-signifie que les paquets doivent essayer d'utiliser les fichiers de
-configuration partagés (comme <tt>/etc/papersize</tt> ou
-<tt>/etc/news/server</tt>) et les variables partagées de
-<package>debconf</package>, plutôt que de redemander, chacun, la même
-information.
-</p>
-
-<p>
-Cela signifie aussi que, lors d'une mise à niveau, on ne doit pas poser
-encore les mêmes questions, à moins que l'utilisateur n'ait utilisé
-<tt>dpkg --purge</tt> pour supprimer les fichiers de configuration. Les
-réponses aux questions de configuration seront sauvegardées à l'endroit
-approprié dans <tt>/etc</tt>, et l'on documentera le processus&nbsp;; ainsi
-l'utilisateur pourra les modifier.
- </p>
- <p>
-Quand un paquet doit donner une information importante à l'utilisateur
-(comme&nbsp;: «&nbsp;n'exécutez pas directement ce programme, vous devez
-d'abord
-modifier les fichiers de configuration suivants sinon votre système
-émettra des messages mal formatés&nbsp;»), il affichera ce message
-dans le script <prgn>config</prgn> ou dans le script <prgn>postinst</prgn>).
-Il demandera ensuite à l'utilisateur de taper sur la touche
-«&nbsp;retour-chariot&nbsp;» quand il a pris connaissance du message. Les
-messages de copyright et les instructions d'utilisation ne sont pas considérés
-comme des messages vitaux. Ils doivent apparaître respectivement
-dans <tt>/usr/share/doc/<var>paquet</var>/copyright</tt> et dans la
-documentation en ligne, où tous les utilisateurs peuvent les consulter.
-</p>
-
- <p>
-Presque toujours, seuls les scripts <prgn>config</prgn> et
-<prgn>postinst</prgn> poseront les questions nécessaires&nbsp;; quand on utilise
-le script <prgn>postinst</prgn>, il doit empêcher, par une condition
-quelconque, qu'elles soient posées en cas d'échec de l'installation d'un
-paquet ou s'il est appelé avec <tt>abort-upgrade</tt>, <tt>abort-remove</tt> ou
-<tt>abort-deconfigure</tt>.
-</p>
- </sect1>
- </sect>
- </chapt>
-
-<chapt id="source">
- <heading>Les paquets sources</heading>
-
- <sect id="standardsversion">
- <heading>La conformité aux manuels Debian</heading>
-
- <p>
-On indiquera la version la plus récente de la <em>Charte Debian</em> à
-laquelle s'est conformé le paquet lors de sa mise à jour la plus récente.
- </p>
- <p>
-On peut utiliser cette valeur pour remplir automatiquement des rapports de
-bogue quand le paquet est vraiment trop vieux.
-</p>
-<p>
-La version est indiquée dans le champ de contrôle <tt>Standards-Version</tt>.
-Le format de ce champ est décrit dans <ref id="f-Standards-Version">.
-</p>
- <p>
-Vous consulterez régulièrement, et notamment si votre paquet est obsolète,
-la plus récente version de la <em>Charte Debian</em>, et vous mettrez à jour
-votre paquet si nécessaire.
-Lorsque le paquet est conforme à la nouvelle norme,
-vous mettrez à jour le champ <tt>Standards-Version</tt>
-du paquet source et vous le diffuserez
-<footnote><p>
-Consultez le fichier <tt>upgrading-checklist</tt> pour connaître les
-changements entre différentes versions de ce document.</p>
- </footnote>.
-</p>
- </sect>
-
- <sect id="pkg-relations">
- <heading>Les relations entre paquets</heading>
-
- <p>
-Les paquets source préciseront les paquets binaires qui doivent être
-installés et ceux qui ne doivent pas l'être, pour que leur construction
-réussisse.
-Si l'on doit, par exemple, compiler un paquet avec un compilateur particulier,
-une dépendance de compilation sera déclarée envers ce paquet.
- </p>
-
- <p>
-Pour un très petit nombre de paquets, ceux dont on a toujours besoin pour
-compiler, lier et insérer dans un paquet Debian un programme classique écrit
-en C ou C++ comme «&nbsp;Hello world!&nbsp;», il n'est pas nécessaire de
-déclarer explicitement des relations de dépendance. Ces paquets, sur lesquels
-on peut trouver des renseignements dans la liste
-<tt>/usr/share/doc/build-essential/list</tt> (contenue dans le
-paquet <tt>build-essential</tt>), sont marqués <em>build-essential</em>
-<footnote>
-<p>
-Le raisonnement&nbsp;:
-<list compact="compact">
-<item>
-<p>
-on peut ainsi maintenir une liste distincte de la Charte (une liste nécessite
-moins de contrôle que la Charte)&nbsp;;
- </p>
- </item>
-<item>
-<p>
-un paquet distinct permet l'installation des paquets
-«&nbsp;build-essential&nbsp;» sur une machine, et permet aussi que d'autres
-paquets tels que les tâches installent les paquets
-«&nbsp;build-essential&nbsp;» à travers une relation de dépendance&nbsp;;
- </p>
- </item>
-<item>
-<p>
-un paquet distinct permet de séparer les rapports de bogues concernant la
-liste du processus de gestion de la charte dans le «&nbsp;BTS&nbsp;»
-(système de suivi des bogues).
- </p>
- </item>
- </list></p>
- </footnote>.
-</p>
-
- <p>
-La liste des dépendances de compilation ne contiendra que les paquets
-explicitement nécessaires à la compilation. Les paquets simplement demandés
-parce qu'un paquet de cette liste dépend d'eux ne doivent pas être déclarés
-<footnote><p>
-La raison en est que les relations de dépendance changent et vous ne
-déclarerez que les paquets et <em>seulement ceux-là</em> dont <em>vous</em>
-avez besoin. Ce dont les autres ont besoin est leur affaire. Si, par exemple,
-vous utilisez la bibliothèque <tt>libimlib</tt>, vous aurez besoin d'une
-dépendance de construction pour le paquet <package>libimlib2-dev</package>&nbsp;;
-mais vous n'avez pas besoin de dépendance pour les paquets <tt>libjpeg*</tt>,
-même si <tt>libimlib2-dev</tt> dépend de ces paquets&nbsp;: l'installation de
-<package>libimlib2-dev</package> s'assurera que toutes les dépendances
-nécessaires à son exécution sont satisfaites.</p>
- </footnote>.
- </p>
-
- <p>
-Quand les relations de dépendance de compilation sont indiquées, on doit
-pouvoir compiler un paquet et produire un binaire opérationnel sur un
-système où les paquets <tt>essential</tt> et <tt>build-essential</tt> sont
-installés ainsi que ceux nécessaires pour que les relations de dépendance de
-compilation soient satisfaites (y compris les implicites). Cela signifie en
-particulier que, dans les relations de
-dépendance de compilation, on doit traiter rigoureusement les questions de
-version de manière à éviter les paquets mal ou stupidement configurés quand
-les relations de dépendances sont correctement satisfaites.
-</p>
- <p>
- Le chapitre <ref id="relationships"> explique les détails techniques.
- </p>
- </sect>
-
- <sect>
- <heading>Les modifications dans les sources amont</heading>
-
- <p>
-Si vous modifiez le code source d'une manière qui n'est pas liée au système
-Debian, vous enverrez
-ces changements aux auteurs, dans la forme qu'ils préféreront, de manière
-à ce qu'ils puissent être intégrés dans la version originale.
-</p>
-
- <p>
-Si vous avez besoin de configurer le paquet de façon différente sous
-Debian et sous Linux et si les sources originaux ne proposent pas de manière
-de le faire, veuillez ajouter ces moyens de configuration.
-C'est, par exemple, un nouveau test d'<prgn>autoconf</prgn> ou un
-<tt>#define</tt>. Envoyez ensuite le correctif aux auteurs,
-en choisissant comme valeur par défaut la configuration qu'ils
-avaient choisie. Vous pouvez facilement remplacer la valeur par défaut
-dans votre <tt>debian/rules</tt> ou dans tout autre endroit approprié.
-</p>
- <p>
-Vous vérifierez que l'outil <prgn>configure</prgn>
-détecte la bonne déclaration d'architecture (reportez-vous à la section
-<ref id="arch-spec"> pour plus de précisions).
-</p>
- <p>
-Si vous avez besoin de modifier un <prgn>Makefile</prgn> qui utilise
-des scripts <prgn>configure</prgn> de style «&nbsp;GNU&nbsp;», vous modifierez
-les fichiers <tt>.in</tt>, plutôt que directement le
-<prgn>Makefile</prgn>. Cela permet à l'utilisateur de reconfigurer
-le paquet si nécessaire. Vous <em>ne devez pas</em>
-configurer le paquet et modifier le <prgn>Makefile</prgn> produit&nbsp;!
-Cela rend impossible la reconfiguration ultérieure du paquet par
-un autre utilisateur sans perdre vos modififications.
-</p>
- </sect>
-
- <sect id="dpkgchangelog">
-<heading>Changelog Debian : <file>debian/changelog</file></heading>
-<p>
-Ce fichier, <file>debian/changelog</file>, enregistre les modifications
-apportées à la version d'un paquet Debian. <footnote>
-<p>
-Plutôt que de <em>ré-écrire l'histoire</em> en rectifiant les anciennes
-entrées, il vaut mieux en écrire de nouvelles pour corriger les
-erreurs de ce fichier.</p></footnote>
-Cela comprend les modifications
-du paquet Debian par rapport au paquet source ainsi que les autres
-changements et mises à jour concernant le paquet
-<footnote><p>
-Bien que rien n'empêche un auteur qui est aussi le
-responsable Debian d'utiliser ce fichier pour tous les changements, il faudra
-modifier son nom si les responsables Debian et les auteurs deviennent
-différents. Mais dans ce cas, il vaudrait mieux considérer le paquet comme
-n'étant pas un paquet Debian «&nbsp;pure souche&nbsp;».
- </p></footnote>.
- </p>
-
-<p>
-Son format spécial permet aux outils de construction de paquets
-de découvrir quelle version du paquet est en train de se construire
-et de trouver des informations spécifiques à cette version.
- </p>
-
-<p>
-Le format ressemble à une suite d'entrées&nbsp;:
-
-<example compact="compact">
-<var>paquet</var> (<var>version</var>) <var>distribution(s)</var>;
-urgency=<var>urgency</var>
-<comment>
-<p>[ ligne(s) vide(s) facultative(s), enlevée(s)]</p>
- </comment>
- * <var>détails des modifications</var>
- <var>plus de détails</var>
-<comment>
-<p>[ligne(s) vide(s), apparaissant dans la sortie de dpkg-parsechangelog]</p>
- </comment>
- * <var>encore plus de détails</var>
-<comment>
-<p>[ligne(s) vide(s) facultative(s), enlevée(s)]</p>
- </comment>
- -- <var>nom du responsable</var> &lt;<var>adresse électronique</var>&gt;
-<var>[deux espaces]</var> <var>date</var>
-</example>
- </p>
-
-<p>
-Les entrées <var>paquet</var> et <var>version</var> représentent le nom du
-paquet source et le numéro de version.
- </p>
-
-<p>
-L'entrée <var>distribution(s)</var> liste les distributions dans lesquelles
-cette version sera installée. Elle est copiée dans le champ
-<tt>Distributions</tt> du fichier <tt>.changes</tt>.
-Voyez <ref id="f-Distribution">.
- </p>
-
-<p>
-<var>urgency</var> est la valeur pour le champ <tt>Urgency</tt>
-du fichier <tt>.changes</tt> pour l'envoi du paquet sur le serveur (voir
-<ref id="f-Urgency">).
-Une <var>urgency</var> ne peut pas contenir de virgules&nbsp;; les virgules sont
-utilisées pour séparer les couples
-<tt><var>mot-clé</var>=<var>valeur</var></tt> dans le format du fichier
-d'enregistrement de <tt>dpkg</tt> (bien qu'il n'y ait pour
-l'instant qu'un seul <var>mot-clé</var> utile&nbsp;: <tt>urgency</tt>)
-<footnote><p>
-les valeurs habituelles pour <tt>urgency</tt> sont&nbsp;: <tt>low</tt>,
-<tt>medium</tt>, <tt>high</tt> et <tt>emergency</tt>. Elles influent sur la
-rapidité avec laquelle on envisagera l'installation du paquet dans la
-distribution <tt>testing</tt> et elles donnent une indication de l'importance
-des corrections contenues dans cette mise à jour.</p>
- </footnote>.
- </p>
-
-<p>
-L'énoncé des modifications peut n'être qu'une suite de lignes
-commençant par au moins deux espaces, mais par convention, on commence
-une modification par une étoile «&nbsp;*&nbsp;» suivie d'une espace&nbsp;; les
-lignes de continuation sont décalées pour les amener en face du texte de la
-ligne précédente. On peut séparer si l'on veut les groupes de modifications
-par des lignes vides.
- </p>
-
-<p>
-Si par cette mise à jour sont corrigés des bogues enregistrés par le système
-de suivi de bogues (BTS), ils seront automatiquement fermés par l'installation
-de ce paquet dans l'archive Debian et une chaîne
-<tt>closes: Bug#<var>nnnnn</var></tt> sera insérée dans les notes de
-modifications<footnote>
-<p>
-Pour être précis, cette chaîne doit correspondre à l'expression rationnelle
-Perl suivante :
- <example>
-/closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/i
- </example>
- </p>
-<p>
-Alors tous les numéros de bogues listés seront fermés par le script de
-maintenance de l'archive (<prgn>katie</prgn>), ou, dans le cas d'une mise
-à jour par un suppléant du responsable (Non-maintainer-upload), seront
-marqués comme corrigés.</p>
- </footnote>.
-Cette information est transmise par le champ <tt>Closes</tt> du fichier
-<tt>.changes</tt> (voir <ref id="f-Closes">).
- </p>
-<p>
-Le nom du responsable et son adresse électronique utilisés dans le
-<em>changelog</em> seront ceux de la personne installant <em>cette</em>
-version. Ils <em>ne sont pas</em> nécessairement ceux du responsable habituel
-du paquet. Ces informations seront copiées dans le champ <tt>Changed-By</tt>
-du fichier <tt>.changes</tt>, (voir <ref id="f-Changed-By">), et plus tard,
-utilisées pour envoyer un
-accusé de réception quand le chargement aura été installé.
- </p>
-<p>
-La date doit être dans le format RFC 822
-<footnote><p>Elle est produite par le programme <prgn>822-date</prgn>.
-</p></footnote>&nbsp;;
-elle doit inclure le nom du fuseau horaire spécifié
-sous forme de chiffre, et en option le nom du fuseau ou son abréviation entre
-parenthèses.
- </p>
-<p>
-La première ligne de «&nbsp;titre&nbsp;» avec le nom du paquet commencera
-sur la marge de gauche, la ligne de «&nbsp;fin&nbsp;» avec les renseignements
-sur le responsable et la date, doit être précédée par exactement
-une espace. Les éléments responsable et date doivent être
-séparés exactement par deux espaces.
- </p>
-
- <p>
-Veuillez consulter <ref id="changelogs"> pour des informations
-supplémentaires sur la manière de placer les fichiers changelog dans les
-paquets binaires.
- </p>
-
-<sect1>
-<heading>Autres formats pour le fichier changelog</heading>
-<p>
-Pour les paquets non expérimentaux, le fichier <file>debian/changelog</file>
-doit utiliser un format reconnu par la version la plus récente de
-<prgn>dpkg</prgn>.
- </p>
-<p>
-Si vous souhaitez utiliser un autre format, vous pouvez le faire tant que
-vous fournissez un outil d'analyse («&nbsp;parser&nbsp;») pour ce format. Cet
-outil doit avoir une API compatible avec celle attendue par
-<prgn>dpkg-genchanges</prgn> et par <prgn>dpkg-gencontrol</prgn> <footnote>
-Si ce nouveau format reçoit un assentiment partagé, vous contacterez le
-responsable de <package>dpkg</package> afin qu'il ajoute le script analyseur
-de votre format dans le paquet <prgn>dpkg</prgn>. Vous accepterez ainsi que
-l'analyseur et sa page de manuel soient distribués sous la licence
-«&nbsp;GNU GPL&nbsp;», comme l'est le reste du paquet <prgn>dpkg</prgn>.
- </footnote>
-et il ne doit pas interagir avec l'utilisateur.
-</p>
- </sect1>
- </sect>
-
- <sect id="dpkgcopyright">
- <heading>Copyright&nbsp;: <file>debian/copyright</file></heading>
- <p>
- Tout paquet doit être accompagné par une copie verbatim de son
- copyright et de sa licence de distribution dans le fichier
- <file>/usr/share/doc/<var>paquet</var>/copyright</file>
- (voir <ref id="copyrightfile"> pour plus de détails). Veuillez
- également consulter <ref id="pkgcopyright"> pour d'autres
- considérations reliées aux copyrights des paquets.
- </p>
- </sect>
-
- <sect>
- <heading>La détection des erreurs dans les makefiles</heading>
-
- <p>
-Quand <prgn>make</prgn> appelle une commande dans un makefile (incluant les
-makefiles originaux de votre paquet et <tt>debian/rules</tt>), cela se fait par
-<tt>sh</tt>. Or <tt>sh</tt> traite mal les erreurs&nbsp;:
-si vous incluez un mini-script shell en tant que
-commande dans votre makefile, vous constaterez que si
-vous n'avez pas de mécanisme de détection d'erreur, <prgn>make</prgn>
-continuera aveuglément malgré les problèmes rencontrés.
-</p>
-
- <p>
-Chaque fois que vous mettez plus d'une commande shell (cela
-inclut l'utilisation d'une boucle) dans une commande
-du makefile, vous devez vous assurer que les erreurs
-sont détectées. Pour de simples commandes composées comme changer de
-répertoire et exécuter un programme,
-il est suffisant d'utiliser <tt>&amp;&amp;</tt> à la place
-du point-virgule.
-Pour des commandes plus complexes incluant la plupart des boucles et
-des instructions conditionnelles, vous ajouterez la commande <tt>set -e</tt>
-au début de chacun de ces mini-scripts shell que sont les commandes d'un
-makefile.
-</p>
- </sect>
-
-
-<sect id="timestamps">
-<heading>Cachets de date</heading>
-
-<p>
-Les responsables de paquets préserveront, autant que possible,
-les dates de modification des fichiers sources d'un paquet<footnote>
-<p>
-Le raisonnement est que la connaissance de l'âge d'un fichier apporte
-certaines informations&nbsp;; par exemple, on peut reconnaître l'ancienneté de telle
-documentation en regardant la date de modification. Et donc il serait bon de
-préserver les dates de modification des fichiers sources.</p>
- </footnote>.
-</p>
- </sect>
-
-<sect id="restrictions">
-<heading>Restrictions sur les objets dans les paquets source</heading>
-
-<p>
-Un paquet source ne peut pas contenir des liens «&nbsp;en dur&nbsp;» <footnote>
-<p>On ne les détecte pas encore pendant la phase de construction du paquet
-source, mais seulement pendant la phase d'extraction.
-</p>
-<p>
-À l'avenir, les liens «&nbsp;en dur&nbsp;» pourraient être autorisés d'une
-manière ou d'une autre, mais cela demandera beaucoup de travail.
- </p>
- </footnote>,
-des fichiers spéciaux pour les périphériques, des <em>sockets</em> ou des
-fichiers <em>setuid</em> ou <em>setgid</em><footnote>
-<p>
-Les répertoires <em>setgid</em> sont autorisés.
- </p>
- </footnote>.
- </p>
- </sect>
-
-<sect id="debianrules">
-<heading><file>debian/rules</file>, le principal script
- de construction</heading>
-
-<p>
-Ce fichier doit être un <em>makefile</em> exécutable et doit contenir des
-règles permettant la compilation du paquet et la construction de paquet(s)
-binaire(s) à partir des sources.
- </p>
-
-<p>
-Il doit commencer par la ligne <tt>#!/usr/bin/make -f</tt>,
-afin de pouvoir être appelé directement sans passer par <prgn>make</prgn>.
- </p>
-
-<p>
-Puisqu'un script <tt>debian/rules</tt> interactif ne peut pas compiler un
-paquet automatiquement et empêche une reproduction de ce paquet binaire par
-d'autres personnes, toutes les <em>cibles exigées</em> DOIVENT ne pas être
-interactives. Au minimum, les cibles exigées sont celles qu'appelle
-<prgn>dpkg-buildpackage</prgn>, à savoir, <em>clean</em>, <em>binary</em>,
-<em>binary-arch</em>, <em>binary-indep</em>, et <em>build</em>. Il s'ensuit
-qu'une cible dont dépendent ces cibles, doit être aussi non interactive.
- </p>
-<p>
-Les cibles (toutes nécessaires sauf celles marquées facultatives) sont&nbsp;:
-
-<taglist>
-<tag><tt>build</tt></tag>
-<item>
-<p>
-La cible <tt>build</tt> procédera à la configuration et à la compilation du
-paquet. Quand un paquet
-possède une routine interactive de configuration préalable à la construction,
-soit le paquet source debianisé doit être construit après cette opération
-(afin qu'il puisse être construit sans ré-exécuter cette configuration), soit
-la routine de configuration doit devenir non interactive. Cette dernière façon
-est préférable quand la routine détecte des caractéristiques propres
-à l'architecture.
- </p>
-
-<p>
-Pour certains paquets, notamment ceux où la même arborescence source est
-compilée différemment pour obtenir des paquets binaires différents, la cible
-<tt>build</tt> n'a aucun sens. Pour ces paquets, il suffit de prévoir deux
-cibles ou plus (<tt>build-a</tt>, <tt>build-b</tt>, ...) pour chaque manière
-de construire le paquet et une cible <tt>build</tt> qui ne produit rien. La
-cible <tt>binary</tt> s'occupera de construire le paquet pour chaque cas
-possible et de créer le paquet binaire correspondant à chacun d'eux.
- </p>
-
-<p>
-La cible <tt>build</tt> ne doit pas effectuer d'actions qui exigent les
-privilèges du super-utilisateur.
- </p>
-
-<p>
-La cible <tt>build</tt> peut avoir besoin d'exécuter d'abord la
-cible <tt>clean</tt>. Voir ci-dessous.
- </p>
-
-<p>
-Quand un paquet possède une routine de configuration qui prend du temps, ou
-quand le <em>makefile</em> est pauvrement conçu, ou quand <tt>build</tt>
-a d'abord besoin d'exécuter <tt>clean</tt>, il est alors intéressant
-d'exécuter <tt>touch build</tt> quand le processus de construction est
-terminé. On s'assure ainsi que si <tt>debian/rules build</tt> est lancé
-à nouveau, il ne reconstruira pas le programme complet
-<footnote><p>
-Une autre façon de faire est que <tt>build</tt> dépende de
-<prgn>build-stamp</prgn> sans rien faire d'autre, et que
-<prgn>build-stamp</prgn> fasse le travail et se termine par
-<tt>touch build-stamp</tt>. C'est particulièrement utile si la routine
-crée un fichier ou un répertoire appelé <tt>build</tt>&nbsp;; <tt>build</tt>
-doit alors être déclaré comme une cible <tt>.PHONY</tt>. Consultez la
-documentation de <prgn>make</prgn> pour des renseignements sur les cibles
-«&nbsp;phony&nbsp;»</p>
- </footnote>.
- </p>
- </item>
- <tag><tt>build-arch</tt> (facultative),
- <tt>build-indep</tt> (facultative)
- </tag>
- <item>
-<p>
-Un paquet peut aussi proposer les deux cibles <tt>build-arch</tt> et
-<tt>build-indep</tt>. Si la cible <tt>build-arch</tt> existe, elle fera
-la configuration et la compilation nécessaires pour
-créer les paquets binaires pour chaque architecture (ce sont les paquets
-dont le champ <tt>Architecture</tt> dans le fichier <tt>debian/control</tt>
-est différent de <tt>all</tt>). De même, si la cible <tt>build-indep</tt>
-existe, elle fera la configuration et la compilation
-nécessaires pour créer les paquets binaires indépendant d'une architecture (ce
-sont les paquets dont le champ <tt>Architecture</tt> dans le fichier
-<tt>debian/control</tt> vaut <tt>all</tt>). La cible <tt>build</tt> dépendra
-des cibles <tt>build-arch</tt> et <tt>build-indep</tt> qui sont données par
-le fichier <em>rules</em>.
- </p>
-<p>
-Quand manque l'une des cibles <tt>build-arch</tt> et <tt>build-indep</tt> (ou
-les deux), un appel à <tt>debian/rules</tt> avec l'une des cibles manquantes
-provoquera un code d'erreur égal à 2. Quand une cible manque, <prgn>make</prgn>
-produit automatiquement ce code.
- </p>
-<p>
-Les cibles <tt>build-arch</tt> et <tt>build-indep</tt> ne
-doivent pas effectuer d'actions qui exigent les privilèges de root.
- </p>
- </item>
-
-<tag><tt>binary</tt>, <tt>binary-arch</tt>, <tt>binary-indep</tt></tag>
-<item>
-<p>
-La cible <tt>binary</tt> doit comprendre tout ce qui est nécessaire à
-l'utilisateur pour construire le(s) paquet(s) binaire(s) à partir du paquet
-source. Cette cible a deux parties : <prgn>binary-arch</prgn> construit les
-paquets binaires qui sont spécifiques à une architecture particulière, et
-<tt>binary-indep</tt> construit les paquets qui ne le sont pas.
- </p>
-<p>
-<tt>binary</tt> peut être (et c'est communément le cas) une cible sans
-commande, qui dépend simplement de <tt>binary-arch</tt> et de
-<tt>binary-indep</tt>.
- </p>
-<p>
-Les deux cibles <tt>binary-*</tt> dépendront soit de la cible
-<tt>build</tt>, soit de l'une des cibles <tt>build-arch</tt> ou
-<tt>build-indep</tt> si elles sont proposées, afin que le paquet soit
-construit s'il ne l'a pas déjà été. Les paquets binaires pertinents seront
-ensuite créés en utilisant <prgn>dpkg-gencontrol</prgn> pour créer leurs
-fichiers de contrôle et <prgn>dpkg-deb</prgn> pour construire les binaires et
-les placer dans le répertoire parent du répertoire le plus élevé.
- </p>
-
-<p>
-Les cibles <tt>binary-arch</tt> et <tt>binary-indep</tt>
-<em>doivent</em> exister.
-Si l'une des deux cibles <tt>binary-*</tt> n'a rien à faire (ce sera
-toujours le cas si le source crée un seul paquet binaire, qu'il soit
-dépendant de l'architecture ou pas), elle doit tout de même exister,
-et doit toujours se dérouler correctement.
- </p>
-
-<p>
-Les cibles <tt>binary</tt> doivent être invoquées avec les privilèges de root
-<footnote><p>
-Le paquet <prgn>fakeroot</prgn> permet souvent de construire correctement
-un paquet tout en n'étant pas root.</p>
- </footnote>.
- </p>
- </item>
-<tag><tt>clean</tt></tag>
- <item>
-
-<p>
-Cette cible doit nettoyer les effets obtenus par les cibles
-<tt>build</tt> et <tt>binary</tt>, mais elle doit laisser les
-fichiers de sortie créés par la cible <tt>binary</tt> dans le répertoire
-parent.
- </p>
-
-<p>
-Si un fichier <tt>build</tt> est créé par <prgn>touch</prgn> à la fin
-de la cible <tt>build</tt>, comme suggéré ci-dessus, c'est la première
-chose qui sera effacée par la cible <tt>clean</tt>&nbsp;; ainsi
-<tt>build</tt>, exécuté de nouveau après un nettoyage (<tt>clean</tt>)
-interrompu, ne pensera pas que tout est déjà fait.
- </p>
-
-<p>
-La cible <tt>clean</tt> peut être invoquée par root, si
-<tt>binary</tt> a été invoqué depuis le dernier <tt>clean</tt>, ou
-si <tt>build</tt> a été invoqué par root (étant donné que
-<tt>build</tt> peut créer des répertoires par exemple).
- </p>
- </item>
-<tag><tt>get-orig-source</tt> (facultative)</tag>
-<item>
-<p>
-Cette cible va chercher la plus récente version du paquet original dans un
-site d'archive autorisé (par FTP ou WWW, par exemple), s'occupe des
-arrangements nécessaires pour le mettre sous la forme d'un fichier tar (une
-archive source) décrite ci-dessus, et le laisse dans le répertoire en cours.
- </p>
-<p>
-Cette cible peut être invoquée dans n'importe quel répertoire et s'occupera
-de supprimer tous ses fichiers temporaires.
- </p>
-<p>
-Elle est facultative mais la proposer, quand c'est possible, est une bonne
-idée.
- </p>
- </item>
- </taglist>
- </p>
-<p>
-Les cibles <tt>build</tt>, <tt>binary</tt> et <tt>clean</tt>
-doivent être invoquées avec comme répertoire courant, le répertoire de plus
-haut niveau du paquet.
- </p>
-<p>
-Des cibles supplémentaires peuvent exister dans <file>debian/rules</file>, soit
-comme des interfaces publiées ou non documentées soit pour l'utilisation
-interne du paquet.
- </p>
-<p>
-Ce sont les variables de <prgn>make</prgn> à travers
-<qref id="pkg-dpkg-architecture"> <prgn>dpkg-architecture</prgn></qref>
-qui déterminent l'architecture <em>sur</em>
-laquelle et <em>pour</em> laquelle on construit. On peut obtenir, aussi bien
-pour la machine sur laquelle on construit que pour la machine pour laquelle
-on construit, la chaîne indiquant l'architecture Debian et la chaîne
-indiquant l'architecture à la façon <em>GNU</em>. Voici une liste de
-variables acceptées par <prgn>make</prgn>&nbsp;:
-<list compact="compact">
- <item>
- <p><tt>DEB_*_ARCH</tt> (l'architecture Debian)</p>
-</item>
- <item>
- <p><tt>DEB_*_GNU_TYPE</tt> (l'architecture indiquée à la
- façon <em>GNU</em>)</p>
- </item>
- <item>
- <p><tt>DEB_*_GNU_CPU</tt> (la partie CPU de
-<tt>DEB_*_GNU_TYPE)</tt></p>
- </item>
- <item>
-<p><tt>DEB_*_GNU_SYSTEM</tt> (la partie système de <tt>DEB_*_GNU_TYPE)</tt></p>
- </item>
-</list>
-
-où «&nbsp;*&nbsp;» représente <tt>BUILD</tt> pour une indication de la
-machine <em>sur</em>
-laquelle on construit, ou bien <tt>HOST</tt> pour une indication de la machine
-<em>pour</em> laquelle on construit.
- </p>
-<p>
-On peut assurer une compatibilité ascendante dans le fichier <em>rules</em>
-en fixant par défaut les bonnes variables à des valeurs adéquates&nbsp;;
-veuillez consulter la documentation de <prgn>dpkg-architecture</prgn>
-pour des précisions.
- </p>
-<p>
-Il est important de comprendre que la chaîne <tt>DEB_*_ARCH</tt> détermine
-seulement l'architecture Debian sur ou pour laquelle on construit. On
-ne l'utilisera pas pour avoir des renseignements sur le CPU ou le
-système&nbsp;; les variables GNU sont là pour ça.
- </p>
- </sect>
-
-<!-- FIXME: section pkg-srcsubstvars is the same as srcsubstvars -->
-
-<sect id="substvars">
-<heading><file>debian/substvars</file>
- et le remplacement de variables</heading>
-
-<p>
-Quand <prgn>dpkg-gencontrol</prgn>, <prgn>dpkg-genchanges</prgn> et
-<prgn>dpkg-source</prgn> créent des fichiers de contrôle, ils procèdent au
-remplacement des variables qu'ils doivent écrire dans ces fichiers. Les
-substitutions de variable sont de la forme
-<tt>${<var>variable-nom</var>}</tt>.
-Le fichier facultatif <file>debian/substvars</file> contient les
-remplacements de variable à utiliser. On peut aussi fixer directement les
-variables dans le fichier <file>debian/rules</file> en utilisant l'option
-<tt>-V</tt> des commandes d'empaquetage des sources&nbsp;; certaines
-variables pré-définies sont disponibles.
- </p>
-<p>
-Le fichier <file>debian/substvars</file> est habituellement créé et modifié
-dynamiquement par les cibles de <file>debian/rules</file>, et dans ce cas, il
-doit être supprimé par la cible <tt>clean</tt>.
- </p>
-
-<p>
-Voyez <manref name="dpkg-source" section="1"> pour plus de détails sur les
-remplacements de variables source, et sur le format de
-<file>debian/substvars</file>.
- </p>
- </sect>
-
- <sect id="debianwatch">
- <heading>Adresse optionnelle du code source amont&nbsp;:
- <file>debian/watch</file></heading>
-
- <p>
-Il s'agit d'un fichier de contrôle optionnel, mais recommandé pour l'utilitaire
-<tt>uscan</tt> qui définit comment scanner automatiquement les sites FTP et HTTP
-pour des mises à jour nouvellement disponibles du paquet. C'est utilisé par <url
-id="https://dehs.alioth.debian.org/"> et d'autres outils d'Assurance Qualité de
-Debian pour aider au contrôle de qualité et à la maintenance de la distribution
-dans son ensemble.
- </p>
-
- </sect>
-
-<sect id="debianfiles">
-<heading>Liste des fichiers créés : <file>debian/files</file></heading>
-
-<p>
-Ce fichier n'est pas un fichier permanent de l'arborescence source ; il est
-utilisé pendant la construction des paquets pour enregistrer quels
-fichiers sont créés. <prgn>dpkg-genchanges</prgn>
-l'utilise quand il crée un fichier <tt>.changes</tt>.
- </p>
-<p>
-Ce fichier ne doit pas exister dans le paquet source qu'on propose, et il
-doit être supprimé par la règle <tt>clean</tt> (ainsi que n'importe quel
-fichier temporaire ou de sauvegarde tel que <tt>files.new</tt>
-<footnote><p><tt>files.new</tt> est utilisé
-temporairement par <prgn>dpkg-gencontrol</prgn> et
-<prgn>dpkg-distaddfile</prgn>&nbsp;; ils écrivent une nouvelle version
-de <file>files</file> avant de le renommer, pour éviter de laisser
-une copie corrompue, si une erreur se produit.</p></footnote>).
-Il peut aussi être sage, pour garantir un nouveau départ, de l'enlever ou
-de le vider au début de la cible <tt>binary</tt>.
- </p>
-
-<p>
-Quand <prgn>dpkg-gencontrol</prgn> est exécuté pour un paquet binaire, il
-ajoute une entrée dans le fichier <file>debian/files</file> pour le fichier
-<tt>.deb</tt> qui sera créé quand <tt>dpkg-deb --build</tt> sera
-exécuté pour ce paquet binaire. Ainsi pour la plupart des paquets, il n'y a
-rien d'autre à faire que de supprimer ce fichier dans la cible
-<tt>clean</tt>.
- </p>
-
-<p>
-Quand une installation de paquet inclut des fichiers autres que ceux du paquet
-source ou des paquets binaires dont les fichiers de contrôle ont été créés par
-<prgn>dpkg-gencontrol</prgn>, ces fichiers seront placés dans le
-répertoire parent du répertoire racine du paquet et
-<prgn>dpkg-distaddfile</prgn> sera appelé pour ajouter ces fichiers à la liste
-<file>debian/files</file>.
- </p>
- </sect>
- </chapt>
-
-
-<chapt id="controlfields">
-<heading>Les fichiers de contrôle et leurs champs</heading>
-
-<p>
-Le système de gestion des paquets manipule les données de
-la même façon&nbsp;: des <em>données de contrôle</em> sont stockées dans des
-<em>fichiers de contrôle</em>.
-Les paquets source et binaire possèdent des fichiers de contrôle&nbsp;; et
-les fichiers <tt>.changes</tt> qui contrôlent l'installation des
-fichiers sur le serveur (upload) sont aussi des fichiers de contrôle
-<footnote>Les bases de données internes à
-<tt>dpkg</tt> sont aussi des fichiers de contrôle.
- </footnote>.
- </p>
-
-<sect id="controlsyntax">
-<heading>La syntaxe des fichiers de contrôle</heading>
-<p>
-Un fichier consiste en un ou plusieurs paragraphes comportant des champs
-<footnote> Ces paragraphes sont aussi appelés des strophes.
- </footnote>.
-Ces paragraphes sont séparés par des lignes blanches. Certains fichiers de
-contrôle n'autorisent qu'un seul paragraphe&nbsp;; d'autres en autorisent
-plusieurs, et dans ce cas, chaque paragraphe fait souvent référence à un
-paquet différent. Dans les paquets sources, par exemple, le premier
-paragraphe se réfère au paquet source et les paragraphes suivants aux paquets
-binaires créés à partir de ce source.</p>
-<p>
-Chaque paragraphe est une série de champs contenant des données&nbsp;; chaque champ
-est constitué d'un nom, suivi par deux-points et la valeur associée. Il se
-termine à la fin de la ligne (logique). Les espaces horizontaux (espaces et
-tabulations) peuvent apparaître immédiatement avant la valeur et après, mais
-là, ils sont ignorés ; par convention, il y a une espace après les deux-points.
-Voici un exemple de champ&nbsp;:
-<example compact="compact">
-Package: libc6
- </example>
-Le nom du champ est <tt>Package</tt> et la valeur est <tt>libc6</tt>.
-</p>
-<p>
-Un grand nombre de valeurs de champ peuvent déborder sur plusieurs lignes ; dans ce cas
-chaque nouvelle ligne doit commencer par une espace ou une tabulation.
-Toutes les espaces ou tabulations restantes en fin de ligne sont ignorées.
- </p>
-<p>
-Dans les champs où il est spécifié que les lignes ne peuvent pas déborder,
-une seule ligne de données est
-autorisée et les espaces ne sont pas significatives dans le corps du
-champ. Les espaces ne doivent jamais apparaître dans les noms (de
-paquets, d'architectures, de fichiers, etc), dans les numéros de version
-ou entre les éléments de relations de version à plusieurs caractères.
- </p>
-<p>
-Les noms de champs sont indépendants de la casse&nbsp;; en général, ceux-ci
-sont écrits en commençant par une majuscule puis en mélangeant majuscules et
-minuscules comme dans les exemples plus bas.
-</p>
-<p>
-Les lignes vides ou les lignes contenant seulement des espaces ou des
-tabulations ne sont pas autorisées à l'intérieur des valeurs de champ ou
-entre les champs - ce qui signifierait un nouveau paragraphe.
- </p>
- </sect>
-
- <sect id="sourcecontrolfiles">
-<heading>Le fichier de contrôle d'un paquet source&nbsp;: <file>debian/control</file></heading>
-
-<p>
-Le fichier <file>debian/control</file> contient les informations les plus
-importantes sur le paquet source et sur les paquets binaires qui sont créés.
-Elles sont indépendantes des versions.
- </p>
-<p>
-Le premier paragraphe contient en général les informations sur le paquet
-source&nbsp;; chaque ensemble suivant décrit
-un paquet binaire que l'arbre source construit.
- </p>
-<p>
-Les champs du paragraphe général (le premier, concernant le paquet source)
-sont&nbsp;:
- <list compact="compact">
- <item><qref id="f-Source"><tt>Source</tt></qref> (obligatoire)</item>
- <item><qref id="f-Maintainer"><tt>Maintainer</tt></qref> (obligatoire)</item>
- <item><qref id="f-Uploaders"><tt>Uploaders</tt></qref></item>
-
- <item><qref id="f-Section"><tt>Section</tt></qref> (recommandé)</item>
- <item><qref id="f-Priority"><tt>Priority</tt></qref> (recommandé)</item>
- <item><qref id="sourcebinarydeps"><tt>Build-Depends</tt> et autres</qref></item>
- <item><qref id="f-Standards-Version"><tt>Standards-Version</tt></qref> (recommandé)</item>
- </list>
-
- </p>
-<p>
-Les champs des paragraphes pour les paquets binaires sont&nbsp;:
- <list compact="compact">
- <item><qref id="f-Package"><tt>Package</tt></qref> (obligatoire)</item>
- <item><qref id="f-Architecture"><tt>Architecture</tt></qref> (obligatoire)</item>
- <item><qref id="f-Section"><tt>Section</tt></qref> (recommandé)</item>
- <item><qref id="f-Priority"><tt>Priority</tt></qref> (recommandé)</item>
- <item><qref id="f-Essential"><tt>Essential</tt></qref></item>
- <item><qref id="binarydeps"><tt>Depends</tt> et autres</qref></item>
- <item><qref id="f-Description"><tt>Description</tt></qref> (obligatoire)</item>
- </list>
- </p>
-<p>
-La syntaxe et la sémantique des champs sont décrites ci-dessous.
- </p>
-<!-- stuff -->
-<p>
-Ces champs sont utilisés par <prgn>dpkg-gencontrol</prgn> pour créer
-les fichiers de contrôle pour les paquets binaires (voir ci-dessus),
-par <prgn>dpkg-genchanges</prgn> pour créer le fichier <tt>.changes</tt>
-qui accompagne l'installation sur le serveur et par <prgn>dpkg-source</prgn>
-quand il crée le fichier de contrôle source <tt>.dsc</tt> comme une partie
-de l'archive source. Il est permis pour un grand nombre de champs de s'étendre
-sur plusieurs lignes dans <file>debian/control</file>, mais pas dans tout autre
-fichier de contrôle. Ces outils sont responsables pour supprimer les sauts de
-ligne de tels champs quand des champs de <file>debian/control</file> sont
-utilisés pour générer d'autres fichiers de contrôle.
- </p>
-<p>
-Les champs peuvent contenir des références à des variables, leurs valeurs
-seront substituées par <prgn>dpkg-gencontrol</prgn>,
-<prgn>dpkg-genchanges</prgn> ou <prgn>dpkg-source</prgn> quand ils créeront
-les fichiers de sortie. Voir <ref id="substvars"> pour des précisions.
- </p>
- </sect>
-
- <sect id="binarycontrolfiles">
-<heading>Les fichiers de contrôles des paquets binaires : <file>DEBIAN/control</file></heading>
-
-<p>
-Le fichier <file>DEBIAN/control</file> contient les informations les plus
-importantes sur le paquet binaire.
-Elles sont indépendantes des versions.
- </p>
- <p>
- Les champs de ce fichier sont&nbsp;:
-
- <list compact="compact">
- <item><qref id="f-Package"><tt>Package</tt></qref> (obligatoire)</item>
- <item><qref id="f-Source"><tt>Source</tt></qref></item>
- <item><qref id="f-Version"><tt>Version</tt></qref> (obligatoire)</item>
- <item><qref id="f-Section"><tt>Section</tt></qref> (recommandé)</item>
- <item><qref id="f-Priority"><tt>Priority</tt></qref> (recommandé)</item>
- <item><qref id="f-Architecture"><tt>Architecture</tt></qref> (obligatoire)</item>
- <item><qref id="f-Essential"><tt>Essential</tt></qref></item>
- <item><qref id="binarydeps"><tt>Depends</tt> et autres</qref></item>
- <item><qref id="f-Installed-Size"><tt>Installed-Size</tt></qref></item>
- <item><qref id="f-Maintainer"><tt>Maintainer</tt></qref> (obligatoire)</item>
- <item><qref id="f-Description"><tt>Description</tt></qref> (obligatoire)</item>
- </list>
- </p>
- </sect>
-
- <sect id="debiansourcecontrolfiles">
- <heading>Les fichiers de contrôle des sources Debian -- <tt>.dsc</tt></heading>
-<p>
-Ce fichier contient une série de champs, identifiés et séparés comme les
-champs dans le fichier de contrôle d'un paquet binaire. Les champs sont
-listés ci-dessous&nbsp;; leur syntaxe est décrite ci-dessus dans
-<ref id="pkg-controlfields">.
-
- <list compact="compact">
- <item><qref id="f-Format"><tt>Format</tt></qref> (obligatoire)</item>
- <item><qref id="f-Source"><tt>Source</tt></qref> (obligatoire)</item>
- <item><qref id="f-Version"><tt>Version</tt></qref> (obligatoire)</item>
- <item><qref id="f-Maintainer"><tt>Maintainer</tt></qref> (obligatoire)</item>
- <item><qref id="f-Uploaders"><tt>Uploaders</tt></qref></item>
- <item><qref id="f-Binary"><tt>Binary</tt></qref></item>
- <item><qref id="f-Architecture"><tt>Architecture</tt></qref></item>
- <item><qref id="sourcebinarydeps"><tt>Build-Depends</tt> et autres</qref></item>
- <item><qref id="f-Standards-Version"><tt>Standards-Version</tt></qref> (recommandé)</item>
- <item><qref id="f-Files"><tt>Files</tt></qref> (obligatoire)</item>
- </list>
-
-</p>
-<p>
-Le fichier de contrôle du paquet source est créé par <prgn>dpkg-source</prgn>
-quand il crée l'archive source, à partir des autres fichiers
-dans le paquet source, décrit ci-dessus. Quand on le déballe, il est
-vérifié par rapport aux autres fichiers et répertoires dans les autres
-parties du paquet source, comme décrit ci-dessous.
- </p>
- </sect>
-
- <sect id="debianchangesfiles">
- <heading>Les fichiers Debian changes&nbsp;: <file>.changes</file></heading>
- <p>
-Les fichiers <file>.changes</file> sont utilisés par les logiciels de gestion de l'archive
-Debian pour gérer les mises à jour des paquets.
-Ils contiennent un paragraphe d'informations provenant du fichier
-<file>debian/control</file> ainsi que d'autres données concernant le paquet
-source provenant des fichiers
-<file>debian/changelog</file> et <file>debian/rules</file>.
- </p>
-
- <p>
- Les champs de ce fichier sont les suivants&nbsp;:
-
- <list compact="compact">
- <item><qref id="f-Format"><tt>Format</tt></qref> (obligatoire)</item>
- <item><qref id="f-Date"><tt>Date</tt></qref> (obligatoire)</item>
- <item><qref id="f-Source"><tt>Source</tt></qref> (obligatoire)</item>
- <item><qref id="f-Binary"><tt>Binary</tt></qref> (obligatoire)</item>
- <item><qref id="f-Architecture"><tt>Architecture</tt></qref> (obligatoire)</item>
- <item><qref id="f-Version"><tt>Version</tt></qref> (obligatoire)</item>
- <item><qref id="f-Distribution"><tt>Distribution</tt></qref> (obligatoire)</item>
- <item><qref id="f-Urgency"><tt>Urgency</tt></qref> (recommandé)</item>
- <item><qref id="f-Maintainer"><tt>Maintainer</tt></qref> (obligatoire)</item>
- <item><qref id="f-Changed-By"><tt>Changed-By</tt></qref></item>
- <item><qref id="f-Description"><tt>Description</tt></qref> (obligatoire)</item>
- <item><qref id="f-Closes"><tt>Closes</tt></qref></item>
- <item><qref id="f-Changes"><tt>Changes</tt></qref> (obligatoire)</item>
- <item><qref id="f-Files"><tt>Files</tt></qref> (obligatoire)</item>
- </list>
- </p>
- </sect>
-
-<sect id="controlfieldslist">
-<heading>La liste des champs</heading>
-
- <sect1 id="f-Source">
- <heading><tt>Source</tt></heading>
-<p>
-Ce champ identifie le nom du paquet source.
- </p>
-<p>
-Dans un fichier principal de contrôle de source ou dans un
-fichier <file>.changes</file> ou dans un fichier <file>.dsc</file>, ce champ
-peut ne contenir que le nom du paquet source.
-</p>
-<p>
-Dans un fichier de contrôle d'un paquet binaire (ou dans un fichier
-<tt>Packages</tt>), il peut être suivi par un numéro de version entre
-parenthèses<footnote><p>En général, on laisse une espace après le nom du
-paquet si un numéro de version est spécifié.</p></footnote>.
-Ce numéro de version peut être omis (et il l'est par <tt>dpkg-gencontrol</tt>) s'il a la même valeur que le champ <tt>Version</tt> du
-paquet binaire en question. Le champ lui-même peut être omis d'un
-fichier de contrôle d'un paquet binaire quand le paquet source possède
-le même nom et la même version que le paquet binaire.
- </p>
- </sect1>
- <sect1 id="f-Maintainer">
- <heading><tt>Maintainer</tt></heading>
-<p>
-Ce champ contient le nom du responsable et son adresse électronique.
-Le nom vient d'abord, suivi par l'adresse électronique entre
-les signes inférieur et supérieur <tt>&lt;&gt;</tt> (au format RFC 822).
- </p>
-<p>
-Si le nom du responsable contient un point alors le champ entier ne
-fonctionnera pas directement comme une adresse électronique à cause
-d'un problème dans la syntaxe spécifiée dans la RFC 822&nbsp;; un programme
-utilisant ce champ comme une adresse doit vérifier cela et corriger le
-problème si nécessaire (par exemple en mettant entre parenthèses le nom
-et en le déplaçant à la fin, et en amenant l'adresse électronique
-devant).
- </p>
- </sect1>
- <sect1 id="f-Uploaders">
- <heading><tt>Uploaders</tt></heading>
-
- <p>
-Liste les noms et les adresses des co-responsables d'un paquet, s'il y en a.
-Quand un paquet possède d'autres responsables que celui nommé dans
-le <qref id="f-Maintainer">champ « Maintainer »</qref>, leurs noms et adresses
-seront indiqués dans ce champ. Le format est le même que celui du champ
-« Maintainer », plusieurs entrées seront séparées par des
-virgules. Actuellement, ce champ est limité à une seule ligne de données. C'est
-un champ facultatif.
- </p>
- <p>
-Tout analyseur interprétant le champ Uploaders dans <file>debian/control</file>
-devrait l'autoriser à s'étendre sur plusieurs lignes<footnote>
-Dans le futur, il sera permis que le champ Uploaders de
-<file>debian/control</file> (mais pas dans d'autres fichiers de contrôle)
-s'étende sur plusieurs lignes et l'interprétation d'un champ Uploaders de
-plusieurs lignes devrait être obligatoire.</footnote>. Les sauts de ligne dans
-un champ Uploaders qui s'étendent sur plusieurs lignes ne sont pas significatifs
-et les sémantiques du champ sont les mêmes que si les sauts de ligne étaient
-absents.
- </p>
- </sect1>
-
- <sect1 id="f-Changed-By">
- <heading><tt>Changed-By</tt></heading>
- <p>
-Le nom et l'adresse électronique de celui qui a modifié ce paquet.
-C'est habituellement le nom du responsable du paquet. Toutes les règles qui
-s'appliquent au champ Maintainer s'appliquent aussi.
- </p>
- </sect1>
-
- <sect1 id="f-Section">
- <heading><tt>Section</tt></heading>
-
-<p>
-Le champ <tt>Section</tt> représente un secteur d'applications dans laquelle
-le paquet a été classé (voir <ref id="subsections">).
- </p>
-<p>
-Quand ce champ apparaît dans le fichier <file>debian/control</file>, il
-donne la valeur du sous-champ <tt>Section</tt> du champ <tt>Files</tt>
-du fichier <file>.changes</file>, et il donne la valeur par
-défaut de la section pour les paquets binaires.
- </p>
- </sect1>
-
- <sect1 id="f-Priority">
- <heading><tt>Priority</tt></heading>
-<p>
-Le champ <tt>Priority</tt> représente l'importance accordée à un paquet.
-Voyez <ref id="priorities">.
- </p>
-
-<p>
-Quand ce champ apparaît dans le fichier <file>debian/control</file>, il
-donne la valeur du sous-champ <tt>Priority</tt> du champ <tt>Files</tt>
-du fichier <file>.changes</file>, et il donne la valeur par
-défaut de la priorité pour les paquets binaires.
- </p>
- </sect1>
-
-<sect1 id="f-Package">
-<heading><tt>Package</tt></heading>
-
-<p>
-Le nom du paquet binaire. Les noms de paquet sont constitués de
-lettres minuscules (<tt>a-z</tt>), de chiffres (<tt>0-9</tt>), et des
-caractères plus (<tt>+</tt>), moins (<tt>-</tt>), ainsi que du point
-(<tt>.</tt>). Il doit contenir au moins deux caractères et doit commencer
-par un caractère alphanumérique.
- </p>
- </sect1>
-
- <sect1 id="f-Architecture">
- <heading><tt>Architecture</tt></heading>
-<p>
-Selon le contexte et le fichier de contrôle utilisé, le champ
-<tt>Architecture</tt> peut comporter les valeurs suivantes :
- <list>
- <item>Un mot unique identifiant l'architecture d'une machine
- Debian, voyez <ref id="arch-spec">.
- <item><tt>all</tt>, qui indique un paquet indépendant d'une
- architecture.
- <item><tt>any</tt>, qui indique un paquet qui peut être
- construit pour toutes les architectures.
- <item><tt>source</tt>, qui indique un paquet source.
- </list>
-
- </p>
-
-<p>
-Dans le fichier principal <file>debian/control</file> du paquet source, ou dans
-le fichier de contrôle des paquets sources <tt>.dsc</tt>, on peut indiquer
-une liste des architectures (séparées par des espaces) ou bien les valeurs
-spéciales, <tt>any</tt> et <tt>all</tt>.
- </p>
- <p>
-Utiliser la valeur<tt>any</tt> indique que le paquet source ne dépend pas
-d'une architecture particulière et qu'il se compile bien sur toute
-architecture. Le paquet binaire résultant sera spécifique à
-l'architecture qui a cours <footnote>
- C'est la valeur la plus utilisée et celle qui est conseillée
-pour les nouveaux paquets qui ne ne sont pas <tt>Architecture: all</tt>.
- </footnote>.
- </p>
-<p>
-Utiliser une liste d'architectures indique que le paquet source produira
-un paquet dépendant de l'architecture et fonctionnera correctement sur toutes
-les architectures listées <footnote>
-C'est une valeur utilisée dans une minorité de cas, quand le programme n'est
-pas portable. Et elle ne devrait pas être utilisée pour les nouveaux
-paquets. </footnote>.
- </p>
-
-<p>
-Dans un fichier <file>.changes</file>, le champ <tt>Architecture</tt> liste la
-ou les architectures des paquets qui sont installés sur le serveur. Ce sera
-une liste&nbsp;; si le source du paquet est aussi installé, l'entrée spéciale
-<tt>source</tt> est aussi présente.
- </p>
-<p>
-Voir <ref id="debianrules"> pour des informations sur la manière
-d'obtenir l'architecture pour le processus de construction.
- </p>
- </sect1>
-
- <sect1 id="f-Essential">
- <heading><tt>Essential</tt></heading>
-<p>
-C'est un champ booléen qui ne peut apparaître que dans un fichier de
-contrôle d'un paquet binaire ou dans un paragraphe concernant un
-paquet dans un fichier principal de contrôle de source.
- </p>
-<p>
-S'il est positionné à <tt>yes</tt>, le système de gestion des paquets
-refusera d'enlever ce paquet (bien qu'il puisse être mis à niveau
-ou remplacé). L'autre valeur possible est <tt>no</tt>, ce qui est la
-même chose que de ne pas avoir de champ du tout.
- </p>
- </sect1>
-
- <sect1>
- <heading>Les champs concernant la relation entre les paquets&nbsp;:
- <tt>Depends</tt>, <tt>Pre-Depends</tt>,
- <tt>Recommends</tt>, <tt>Suggests</tt>, <tt>Conflicts</tt>,
- <tt>Provides</tt>, <tt>Replaces</tt>, <tt>Enhances</tt>
- </heading>
-<p>
-Ces champs décrivent les relations du paquet avec les autres paquets.
-Leurs syntaxe et sémantique sont décrites dans <ref id="relationships">.
- </p>
- </sect1>
-
- <sect1 id="f-Standards-Version">
- <heading><tt>Standards-Version</tt></heading>
-
- <p>
-Ce champ donne la plus récente version des normes (la charte Debian et les
-textes associés) à laquelle se conforme le paquet.
-</p>
-<p>
-Le numéro de version est composé de quatre parties&nbsp;: un numéro de version
-majeur et un mineur, un niveau de patch majeur et un mineur. Quand les normes
-changent, exigeant des modifications dans tous les paquets, le numéro
-majeur est changé. Les changements significatifs, exigeant des évolutions
-dans de nombreux paquets, sont signalés par un changement du numéro mineur.
-Le niveau majeur de patch sera modifié pour tout changement
-limité de la signification des standards. Le niveau de
-patch mineur sera changé pour toute amélioration légère (typographique, ou
-autres...) qui ne modifie pas le sens de ce document, ou pour des changements
-qui n'affectent pas le contenu des paquets.
-</p>
- <p>
-Seuls les trois premiers chiffres de la version sont significatifs pour le
-champ <em>Standards-Version</em>, et on peut choisir
-de donner soit les trois chiffres, soit la formule complète
- <footnote>
- <p>
-Par le passé, on devait donner la formule complète à quatre chiffres,
-par exemple&nbsp;: «&nbsp;2.3.0.0&nbsp;». Mais comme un changement de niveau de
-patch n'introduit pas une nouvelle norme, on a trouvé préférable d'assouplir
-la règle et de ne demander qu'une formule à trois chiffres, dans ce cas&nbsp;:
-«&nbsp;2.3.0&nbsp;». (On peut toujours utiliser la formule complète si l'on
-veut.)
- </p>
- </footnote>.
- </p>
-
- <sect1 id="f-Version">
-<heading><tt>Version</tt></heading>
-
- <p>
-Ce champ donne le numéro de version d'un paquet. Son format est le
-suivant&nbsp;: [<var>epoch</var><tt>:</tt>]<var>version_amont</var>[<tt>-</tt><var>révision_debian</var>]
- </p>
- <p>
- Les trois composantes sont :
-<taglist>
-
-<tag><var>epoch</var></tag>
-<item>
-<p>
-C'est simplement un entier non signé (souvent petit). Il peut être
-omis et dans ce cas il est égal à 0. S'il est omis, le champ
-<var>version_originelle</var> ne peut pas contenir un «&nbsp;:&nbsp;».
-</p>
-<p>
-Il sert à permettre les erreurs dans les numéros des vieilles
-versions d'un paquet, et aussi à abandonner les précédentes structures de
-numérotation concernant les versions d'un paquet.
-</p>
- </item>
-
-<tag><var>version_amont</var></tag>
-<item>
-<p>
-C'est la partie principale du champ. En général, on utilise le numéro de la
-version amont («&nbsp;upstream&nbsp;») du paquet à partir duquel le
-fichier <file>.deb</file> a été créé (s'il est utilisable). Le plus souvent,
-ce champ est dans le même format que celui spécifié par le ou les auteurs
-amont&nbsp;; cependant, il peut devoir être reformaté pour s'adapter au format
-et aux méthodes de comparaison du système de gestion des paquets.
- </p>
-<p>
-Les méthodes de comparaison du système de gestion des paquets en ce qui
-concerne la partie <var>version_amont</var> sont décrites ci-dessous.
-Cette partie est obligatoire.
- </p>
-<p>
-La partie <var>version_amont</var> ne peut contenir que des
-caractères alphanumériques <footnote><p>Les caractères alphanumériques sont&nbsp;:
-<tt>A-Za-z0-9</tt></p>
- </footnote>et les caractères <tt>.</tt>, <tt>+</tt>,
-<tt>-</tt> et <tt>:</tt> (point, plus, trait d'union et deux-points)&nbsp;; elle
-commencera par un chiffre. S'il n'y a pas de partie <var>révision_debian</var>
-alors le trait d'union «&nbsp;-&nbsp;» n'est pas autorisé. S'il n'y a pas de
-partie <var>epoch</var> alors les «&nbsp;:&nbsp;» ne sont pas autorisés.
- </p>
- </item>
-
-<tag> <var>révision_debian</var></tag>
-<item>
-<p>
-Cette partie du champ indique le numéro de version du paquet Debian basé sur
-la version originelle. Il ne peut contenir que des caractères alphanumériques
-et les caractères <tt>+</tt> et <tt>.</tt> (plus et point)&nbsp;; les
-méthodes de comparaison sont les mêmes que pour la partie
-<var>version_amont</var>.
- </p>
-<p>
-Cette partie est facultative. Si elle manque, la partie
-<var>version_amont</var> ne peut contenir de trait d'union.
-On utilise cette partie quand un morceau de code a été écrit spécialement pour
-obtenir un paquet Debian. Il n'y a qu'une seule <em>debianisation</em> de
-ce paquet et aucune indication de révision n'est nécessaire.
-</p>
-
-<p>
-Par convention, la partie <var>révision_debian</var> est remis à 1 à chaque
-fois que la partie <var>version_amont</var> est incrémentée.
-</p>
-
-<p>
-Le système de gestion des paquets sépare les parties
-<var>version_amont</var> et <var>révision_debian</var> au dernier trait
-d'union de la chaîne. Dans une comparaison, l'absence de la partie
-<em>révision_debian</em> est détectée plus tôt que sa présence (néanmoins
-la partie <var>révision_debian</var> est la partie la
-moins significative du numéro de version).
-</p>
- </item>
-</taglist>
- </p>
-<p>
-Le système de gestion des paquets compare les parties
-<var>version_amont</var> et <var>révision_debian</var> en utilisant le
-même algorithme.
- </p>
-
-<p>
-Les chaînes sont comparées de gauche à droite.
- </p>
-
-<p>
-Pour chaque chaîne, une partie initiale composée uniquement de
-lettres est déterminée. Ces deux parties (l'une peut être vide) sont comparées
-lexicalement. Si une différence est trouvée, elle est retournée. La
-comparaison lexicale est une comparaison qui utilise des valeurs ASCII
-modifiées de manière à ce que toutes les lettres soient classées avant les
-chiffres et les caractères de ponctuation.
- </p>
-
-<p>
-Ensuite, pour ce qui reste de cette chaîne, une partie initiale composée
-uniquement de chiffres est déterminée. Les valeurs numériques de ces deux
-parties sont comparées, la différence est retournée comme résultat de la
-comparaison. Dans ce but, une chaîne vide (qui peut seulement
-apparaître à la fin de l'une ou des deux chaînes que l'on compare)
-compte pour zéro.
- </p>
-
-<p>
-Ces deux phases sont répétées (comparaison et suppression des caractères et
-des chiffres se trouvant au début des chaînes) jusqu'à ce qu'une différence
-soit trouvée ou que les deux chaînes soient terminées.
- </p>
-
-<p>
-Le but de la partie <var>epoch</var> est de permettre des erreurs dans la
-numérotation de version et de s'arranger avec les situations où la
-numérotation de version change. Il <em>ne sert pas</em> à corriger les
-numéros de version contenant des chaînes de caractères que le système de
-gestion des paquets ne peut pas interpréter (tel que <tt>ALPHA</tt> ou
-<tt>pre-</tt>) ou une numérotation bâtarde (l'auteur de ce manuel a
-entendu parler d'un paquet dont les versions allaient ainsi&nbsp;:
-<tt>1.1.1.2</tt>, <tt>1.3</tt>, <tt>1</tt>, <tt>2.1</tt>, <tt>2.2</tt>,
-<tt>2</tt> et ainsi de suite).
- </p>
- </sect1>
-
- <sect1 id="f-Description">
- <heading><tt>Description</tt></heading>
-<p>
-Le champ <tt>Description</tt> dans le fichier de contrôle d'un paquet
-source ou binaire comprend deux
-parties, le résumé ou courte description et la description étendue. Le
-format de ce champ est le suivant&nbsp;:
- </p>
- <p><example>
- Description: &lt;résumé sur une seule ligne&gt;
- &lt;description étendue sur plusieurs lignes&gt;
-</example>
-</p>
-
-<p>
-Les lignes de la description étendue peuvent suivre ces formats&nbsp;:
- </p>
-
-<p>
-<list>
-<item>
-Les lignes commençant par une espace font partie d'un paragraphe. Les lignes
-successives seront mis en forme pour être affichées et l'espace sera supprimée.
- </item>
-<item>
-Les lignes commençant par deux espaces ou plus seront affichées
-<em>verbatim</em>. Si elles ne rentrent pas horizontalement, le programme
-d'affichage les coupera sans faire attention aux mots coupés. S'il le peut,
-le programme terminera les lignes sur la droite. Zéro, une ou deux espaces
-peuvent être supprimées mais ce nombre sera le même pour toutes les lignes
-(ainsi l'indentation sera correcte).
- </item>
-<item>
-les lignes contenant un seul espace suivi par un seul point seront affichées
-comme des lignes blanches. C'est le seul moyen d'obtenir une ligne blanche
-<footnote>
-Les lignes complètement vides ne seront pas affichées comme des lignes
-blanches. Elles induisent plutôt que vous commencez un nouvel enregistrement
-dans le fichier <em>control</em> et l'analyseur s'arrêtera en constatant une
-erreur.</footnote>.
- </item>
-<item>
-Les lignes contenant une espace, un point et d'autres caractères serviront
-à de prochains développements. Ne les utilisez pas.
- </item>
- </list>
- </p>
-
-<p>
-N'utilisez pas le caractère de tabulation, son effet est imprévisible.
- </p>
-
- <p>
-Voyez <ref id="descriptions"> pour des informations supplémentaires.
- </p>
-
- <p>
-Dans un fichier <file>.changes</file>, le champ <tt>Description</tt>
-contient les résumés des descriptions des paquets déposés sur le serveur.
- </p>
-
- <p>
-La partie du champ située avant le premier retour à la ligne est vide&nbsp;;
-chaque ligne comprend donc le nom du paquet binaire et sa ligne de
-résumé. Chaque ligne commence par une espace.
- </p>
-
- </sect1>
-
- <sect1 id="f-Distribution">
-<heading><tt>Distribution</tt></heading>
-
- <p>
-Dans un fichier <file>.changes</file> ou affiché par l'analyse d'un changelog,
-ce champ contient les noms (séparés par des espaces) des distributions dans
-lesquelles cette version du paquet sera installée. Les noms de
-distribution sont déterminés par les responsables de l'archive
- <footnote><p>
-Actuellement, les noms des distributions sont les suivants&nbsp;:
- <taglist compact="compact">
- <tag><em>stable</em></tag>
- <item>
- <p>
-C'est l'édition d'une version à jour de Debian GNU/Linux.
-Une fois que la distribution est <em>stable</em>, seule la
-correction d'erreurs majeures ou d'erreurs concernant la sécurité est
-autorisée. Quand cette distribution est modifiée, son numéro d'édition est
-incrémenté (par exemple&nbsp;: 1.2r1 devient 1.2r2 puis 1.2r3 etc.).
- </p>
- </item>
-<tag><em>unstable</em></tag>
- <item>
- <p>
-Cette valeur de distribution fait référence au côté
-<em>développement</em> de l'arbre Debian des distributions. Les nouveaux
-paquets, de nouvelles sources pour les paquets et la correction d'erreur
-vont dans le répertoire <em>unstable</em>. C'est prendre des risques que
-d'utiliser cette distribution.
- </p>
- </item>
-
- <tag><em>testing</em></tag>
-<item>
-<p>
-Cette valeur de distribution fait référence au côté <em>test</em> de l'arbre
-Debian des distributions. Les paquets qui la composent proviennent de la
-distribution <em>unstable</em> où ils sont restés un court moment de manière
-à s'assurer qu'ils n'ont pas de défauts graves. Les paquets de cette
-distribution sont moins défectueux que ceux de la distribution
-<em>unstable</em> mais comportent des risques. On ne peut pas installer des
-paquets dans <em>testing</em>.</p>
- </item>
-
- <tag><em>frozen</em></tag>
- <item>
- <p>
-De temps en temps, la distribution <em>testing</em> entre dans un état
-dit de «&nbsp;gel du code&nbsp;» qui anticipe la version <em>stable</em>.
-Pendant cette période de test, seules les corrections d'erreurs existantes ou
-nouvellement découvertes sont autorisées. Le détail précis de cette étape est
-déterminé par le responsable de l'édition («&nbsp;Release Manager&nbsp;»).
- </p>
- </item>
-
- <tag><em>experimental</em></tag>
- <item>
- <p>
-Les paquets qui possèdent cette valeur de distribution sont considérés par
-leur responsable comme représentant un grand risque. Souvent, ce sont des
-paquets en phase bêta ou en cours de développement, provenant de sources
-variées que les responsables veulent faire tester, mais ce ne sont pas des
-paquets qui peuvent être inclus dans d'autres répertoires de l'arbre Debian
-des distributions. À utiliser à ses risques et périls.
- </p>
- </item>
- </taglist>
-
- </p>
-<p>
-On listera <em>toutes</em> les distributions dans lesquelles le paquet sera
-installé.
- </p>
- </footnote>.
- </p>
- </sect1>
-
- <sect1 id="f-Date">
- <heading><tt>Date</tt></heading>
-<p>
-Ce champ donne la date de la construction de paquet ou de la dernière édition.
- </p>
- <p>
-Sa valeur est tirée du fichier <file>debian/changelog</file> - voyez
- <ref id="dpkgchangelog">.
- </p>
- </sect1>
-
- <sect1 id="f-Format">
- <heading><tt>Format</tt></heading>
-<p>
-Ce champ indique une révision de format pour le fichier. Le format décrit ici
-est la version <strong>1.5</strong>. La syntaxe de la valeur du format est la
-même que la numérotation de la version des paquets, sauf que epoch et la
-révision Debian ne sont pas autorisés - voir <ref id="versions">.
- </p>
- </sect1>
-
- <sect1 id="f-Urgency">
- <heading><tt>Urgency</tt></heading>
-<p>
-Ce champ décrit l'importance de la mise à jour de cette version par rapport
-aux autres versions. Il contient un simple mot-clé qui prend
-habituellement une de ces valeurs <tt>low</tt>, <tt>medium</tt> ou
-<tt>high</tt> (peu importe la casse) suivie par un commentaire optionnel
-(séparé par une espace) qui est généralement entre parenthèses.
-Par exemple&nbsp;:
-<example>
-Urgency: low (HIGH pour les utilisateurs de diversions)
-</example>
- </p>
-
- <p>
-La valeur de ce champ est habituellement tirée du fichier
-<file>debian/changelog</file> - voyez <ref id="dpkgchangelog">.
- </p>
- </sect1>
-
-
- <sect1 id="f-Changes">
- <heading><tt>Changes</tt></heading>
-<p>
-Ce champ contient les données lisibles des changements, décrivant les
-différences entre la dernière version et celle courante.
- </p>
-<p>
-Il ne doit rien y avoir dans ce champ avant le première nouvelle ligne&nbsp;;
-toutes les lignes suivantes doivent être indentées d'au moins une
-espace&nbsp;; les lignes vides doivent être représentées par une ligne
-contenant seulement une espace et un point.
- </p>
- <p>
-La valeur de ce champ est habituellement tirée du fichier
-<file>debian/changelog</file>&nbsp;&ndash; voyez <ref id="dpkgchangelog">.
- </p>
-
-<p>
-Chaque information de changement de version doit être précédée par une
-ligne de titre donnant au moins la version, la ou les distributions
-et l'urgence, d'une façon lisible.
- </p>
-<p>
-Si les données de plusieurs versions sont retournées, l'entrée de la
-plus récente version doit être retournée d'abord, et les entrées
-doivent être séparées par une ligne vide (la ligne de titre peut aussi
-être suivie par une ligne vide).
- </p>
- </sect1>
-
- <sect1 id="f-Binary">
- <heading><tt>Binary</tt></heading>
-<p>
-Ce champ est une liste de paquets binaires.
- </p>
-<p>
-Quand il apparaît dans un fichier <tt>.dsc</tt>, il représente la liste
-des paquets binaires qu'un paquet source peut produire.
-Il ne produit pas nécessairement tous ces paquets binaires pour chaque
-architecture. Le fichier de contrôle source ne contient pas les détails
-sur les architectures qui sont les plus appropriées pour les paquets
-binaires.</p>
-<p>
-
-Quand il apparaît dans un fichier <tt>.changes</tt>, il liste les noms des
-paquets binaires actuellement installés sur le serveur.</p>
-<p>
-
-La syntaxe est une liste de paquets binaires séparée par des
-virgules<footnote><p>Par convention, il y a une espace après chaque
-virgule.</p></footnote>.
-Actuellement, les paquets doivent être séparés en utilisant seulement
-des espaces dans le fichier <tt>.changes</tt>.
- </p>
- </sect1>
-
- <sect1 id="f-Installed-Size">
- <heading><tt>Installed-Size</tt></heading>
-<p>
-Ce champ apparaît dans les fichiers de contrôle des paquets binaires, et
-dans les fichiers <tt>Packages</tt>. Il donne la capacité totale du disque
-nécessaire pour installer le paquet.</p>
-<p>
-
-L'espace disque est représenté en Kilo-octets comme un nombre décimal
-simple.</p>
- </sect1>
-
- <sect1 id="f-Files">
- <heading><tt>Files</tt></heading>
-<p>
-Ce champ contient la liste des fichiers avec des informations sur chacun
-d'eux. L'information exacte et la syntaxe exacte varient avec le
-contexte. Dans tous les cas, la partie du contenu du champ sur la même
-ligne que le nom du champ est vide. Le reste du champ est une ligne par
-fichier, chaque ligne est indentée par une espace et contient un nombre
-de sous-champs séparés par des espaces.</p>
-<p>
-
-Dans le fichier <tt>.dsc</tt> (contrôle des sources Debian), chaque ligne
-contient la somme de contrôle MD5, la taille et le nom du fichier tar et
-(éventuellement) le fichier diff qui représente le reste du paquet
-source<footnote><p>C'est la partie qui n'est pas <tt>.dsc</tt>.</p></footnote>.
-Les formes exactes des noms de fichier sont décrites dans
-<ref id="pkg-sourcearchives">.
-</p>
-<p>
-Dans le fichier <tt>.changes</tt>, il contient une ligne par fichier
-chargé. Chaque ligne contient la somme de contrôle, la taille, la
-section et la priorité et le nom du fichier. La
-<qref id="f-Section">section</qref> et la
-<qref id="f-Priority">priorité</qref> sont les valeurs des champs
-correspondants dans le fichier principal de contrôle des sources. Si aucune
-section ou
-priorité n'est spécifiée alors <tt>-</tt> doit être utilisé, bien que les
-valeurs de section et de priorité doivent être spécifiées pour installer
-correctement les nouveaux paquets.
-</p>
- <p>
-La valeur spéciale <tt>byhand</tt> pour la section dans un fichier
-<tt>.changes</tt> indique que le fichier en question n'est pas un fichier
-ordinaire de paquet et doit être installé à la main par les responsables
-de la distribution. Si la valeur de la section est <tt>byhand</tt> alors
-la valeur de la priorité devrait être <tt>-</tt>.
- </p>
-<p>
-Si une nouvelle révision Debian d'un paquet est chargée et qu'aucune
-archive originale source n'est distribuée, le fichier <tt>.dsc</tt> doit
-toujours contenir l'entrée du champ <tt>Fields</tt> pour l'archive
-originale source <em>package-upstream-version</em><tt>.orig.tar.gz</tt> mais
-le fichier <tt>.changes</tt> devrait l'omettre. Dans ce cas, l'archive
-originale source sur le site de distribution doit être exactement, octet
-par octet, l'archive originale source qui a été utilisée pour créer le
-fichier <tt>.dsc</tt> et le fichier diff qui a été installé sur le serveur.
- </p>
- </sect1>
-
- <sect1 id="f-Closes">
- <heading><tt>Closes</tt></heading>
-
- <p>
-Une liste de numéros de rapport de bogues séparés par des espaces qui sont
-fermés par le téléchargement défini par le fichier <file>.changes </file>.
- </p>
- </sect1>
- </sect>
-
- <sect>
- <heading>Champs définis par l'utilisateur</heading>
-<p>
-Des champs utilisateurs supplémentaires peuvent être ajoutés au fichier
-de contrôle du paquet source. Ces champs seront ignorés, ne seront pas
-copiés dans les fichiers de contrôle des paquets sources ou binaires
-(par exemple) ou dans les fichiers de contrôle de l'installation sur le
-serveur.
- </p>
-<p>
-Quand on souhaite ajouter des champs supplémentaires non reconnus par
-ces fichiers de sortie, on utilisera le mécanisme décrit ci-dessous.
- </p>
-<p>
-Les champs du fichier principal de contrôle de source
-avec des noms commençant par X, suivis par une ou plusieurs lettres
-<tt>BCS</tt> et un trait d'union -, seront copiés vers les fichiers de sortie.
-Seule la partie du nom du champ qui se trouve après le trait d'union sera
-utilisée dans le fichier de sortie.
-Si la lettre <tt>B</tt> est utilisée, le champ apparaîtra dans les fichiers
-de contrôle des paquets binaires, si c'est la lettre <tt>S</tt>, dans les
-fichiers de contrôle de paquet source, et si c'est la lettre <tt>C</tt>, dans
-les fichiers de contrôle de l'installation sur le serveur (<tt>.changes</tt>).
- </p>
-<p>
-Par exemple, le fichier principal de contrôle de source
-contient le champ suivant&nbsp;:
-
-<example>
- XBS-Comment: I stand between the candle and the star.
-</example>
-
-alors les fichiers de contrôle des paquets sources et binaires contiendront
-le champ&nbsp;:
-<example>
-Comment: I stand between the candle and the star.
- </example>
- </p>
- </sect>
- </chapt>
-
-<chapt id="maintainerscripts">
-<heading>Les scripts du responsable de paquet
- et la procédure d'installation</heading>
-
-<sect>
-<heading>Introduction aux scripts du responsable de paquet</heading>
-
-<p>
-Il est possible de fournir des scripts qui seront exécutés
-par le système de gestion des paquets lors d'une installation, d'une mise à
-jour ou d'une suppression du paquet.
- </p>
-
-<p>
-Ces scripts sont les fichiers <prgn>preinst</prgn>, <prgn>postinst</prgn>,
-<prgn>prerm</prgn> et <prgn>postrm</prgn> contenus dans le répertoire de
-contrôle du paquet. Ils doivent être des fichiers exécutables corrects&nbsp;;
-quand ce sont des scripts (ce qui est recommandé), ils doivent commencer par
-la convention habituelle&nbsp;: <tt>#!</tt>. Ils seront lisibles et exécutables
-par tout le monde mais ils ne doivent pas être modifiables par tout le monde.
- </p>
-
-<p>
-Le système de gestion de paquets teste le code de sortie de ces scripts. Il
-est important que ce code soit différent de zéro quand il y a une erreur&nbsp;;
-le système de gestion de paquets peut alors s'interrompre. Pour les
-scripts shell, cela signifie que l'on doit <em>presque toujours</em>
-utiliser <tt>set -e</tt> (et c'est généralement vrai pour tout script shell).
-Bien sûr, il est aussi important que ce code ne soit pas différent de zéro
-quand tout s'est bien passé.
- </p>
-
-<p>
-De plus, les paquets interagissant avec les utilisateurs utilisant
-<tt>debconf</tt> dans le script <prgn>postinst</prgn> doivent installer un
-script <prgn>config</prgn> dans la zone de contrôle, voir <ref
-id="maintscriptprompt"> pour plus de détails.
- </p>
-
-<p>
-Quand un paquet est mis à jour, une combinaison des scripts de l'ancien et
-du nouveau paquet est appelée durant la procédure de mise à jour. Il faut
-faire attention quand les scripts se compliquent et il faut vérifier leurs
-arguments.
- </p>
-
-<p>
-D'une manière générale, le script <prgn>preinst</prgn> est appelé avant
-d'installer (une version particulière d') un paquet, et le script
-<prgn>postinst</prgn> après&nbsp;; le script <prgn>prerm</prgn> avant
-d'effacer (une version d') un paquet et <prgn>postrm</prgn> après.
- </p>
-
-<p>
-Normalement on ne doit pas préfixer le chemin des programmes appelés par les
-scripts. Avant le début de l'installation, le système de
-gestion de paquet vérifie que les programmes <prgn>ldconfig</prgn>,
-<prgn>start-stop-daemon</prgn>, <prgn>install-info</prgn> et
-<prgn>update-rc.d</prgn> peuvent être trouvés via la
-variable d'environnement <tt>PATH</tt>. Ces programmes, et n'importe quel
-autre programme qu'on s'attend à trouver dans le <tt>PATH</tt>, seront
-donc appelés sans nom de chemin absolu.
-Les scripts du responsable ne doivent pas non plus réinitialiser la variable
-<tt>PATH</tt>, bien qu'ils puissent choisir de la modifier en ajoutant
-au début ou à la fin un répertoire spécifique à un paquet.
-Ces considérations s'appliquent vraiment à tous les scripts shell.
- </p>
- </sect>
-
-<sect id="idempotency">
- <heading>L'idempotence des scripts du responsable</heading>
-<p>
-Il est nécessaire pour les procédures de gestion des erreurs que les
-scripts soient idempotents. Cela signifie qu'un script, appelé à nouveau
-après une exécution réussie, n'explose pas et ne fait pas de dégâts ; il
-s'assure simplement que chaque chose est à sa place. Si le premier appel
-échoue, ou s'arrête au milieu du chemin pour une raison ou une autre, le
-second appel fera, s'il y en a, les choses qui n'ont pas été faites la
-première fois et se terminera normalement si tout est correct <footnote><p>
-Qu'une erreur arrive -- l'utilisateur interrompt <prgn>dpkg</prgn> ou bien
-quelque chose d'imprévu se passe -- il ne faut pas laisser un paquet
-défectueux à l'utilisateur quand <prgn>dpkg</prgn> essaye de refaire l'action.
- </p>
- </footnote>.
- </p>
- </sect>
-<sect id="controllingterminal">
- <heading>Les terminaux de contrôle et les scripts du responsable</heading>
-
-<p>
-Les scripts du responsable sont assurés de s'exécuter avec un terminal de
-contrôle et de pouvoir interagir avec l'utilisateur. Comme
-ces scripts peuvent rediriger leur sortie standard dans un tube à des fins
-d'enregistrement, les scripts Perl utiliseront un mode de sortie sans tampon
-mémoire en déclarant <tt>$|=1</tt> de manière à ce que la sortie soit affichée
-immédiatement plutôt que d'être mise dans un tampon mémoire.
- </p>
- </sect>
- <sect id="exitstatus">
- <heading>Code de sortie</heading>
-<p>
-Chaque script retournera un code de sortie égal à zéro en cas de succès et
-un code différent de zéro en cas d'échec.
-
-Chaque script doit retourner un code de sortie égal à zéro en cas de succès et
-un code différent de zéro en cas d'échec car le système de gestion des paquets
-récupère le code de sortie de ces scripts et détermine l'action suivante en
-fonction de cette valeur.
- </p>
- </sect>
-
-<sect id="mscriptsinstact">
-<heading>Résumé des façons d'appeler les scripts du
-responsable</heading>
-<p>
-
-<list compact="compact">
-<item>
-<p><var>preinst-du-nouveau-paquet</var> <tt>install</tt></p>
- </item>
-<item>
-<p><var>preinst-du-nouveau-paquet</var> <tt>install</tt> <var>vieille-version</var>
- </p>
- </item>
-<item>
-<p><var>preinst-du-nouveau-paquet</var> <tt>upgrade</tt> <var>vieille-version</var></p>
- </item>
-<item><p><var>preinst-de-l'ancien-paquet</var> <tt>abort-upgrade</tt>
-<var>nouvelle-version</var></p>
- </item>
-</list>
- </p>
-<p>
-<list compact="compact">
-<item>
-<p><var>postinst</var> <tt>configure</tt> <var>version-la-plus-récemment-configurée</var></p>
- </item>
-<item><p><var>postinst-de-l'ancien-paquet</var> <tt>abort-upgrade</tt>
-<var>nouvelle-version</var></p>
- </item>
-<item><p> <var>postinst-du-paquet-conflictuel</var> <tt>abort-remove</tt> <tt>in-favour</tt>
-<var>paquet</var> <var>nouvelle-version</var></p>
- </item>
- <item>
-<p><var>postinst</var> <tt>abort-remove</tt></p>
- </item>
-<item><p> <var>postinst-du-paquet-déconfiguré</var> <tt>abort-deconfigure</tt> <tt>in-favour</tt>
-<var>paquet-dont-installation-a-échoué</var> <var>version</var> <tt>removing</tt>
-<var>paquet-conflictuel</var> <var>version</var></p>
- </item>
- </list>
- </p>
-<p>
-<list compact="compact">
-<item>
-<p><var>prerm</var> <tt>remove</tt></p>
- </item>
-<item>
-<p> <var>prerm-de-l'ancien-paquet</var> <tt>upgrade</tt> <var>nouvelle-version</var></p>
- </item>
-<item>
-<p><var>prerm-du-nouveau-paquet</var> <tt>failed-upgrade</tt> <var>vieille-version</var>
-</p>
- </item>
-<item>
-<p><var>prerm-du-paquet-conflictuel</var> <tt>remove</tt> <tt>in-favour</tt>
-<var>paquet</var> <var>nouvelle-version</var></p>
- </item>
-<item>
-<p><var>prerm-du-paquet-déconfiguré</var> <tt>deconfigure</tt> <tt>in-favour</tt>
-<var>paquet-installé</var> <var>version</var> <tt>removing</tt>
-<var>paquet-conflictuel</var> <var>version</var></p>
- </item>
-</list>
- </p>
-<p>
-<list compact="compact">
-<item>
-<p><var>postrm</var> <tt>remove</tt></p>
- </item>
-<item>
-<p><var>postrm</var> <tt>purge</tt></p>
- </item>
-
-<item>
-<p><var>postrm-de-l'ancien-paquet</var> <tt>upgrade</tt> <var>nouvelle-version</var></p>
- </item>
-<item>
-<p><var>postrm-du-nouveau-paquet</var> <tt>failed-upgrade</tt> <var>vieille-version</var>
- </p>
- </item>
-<item>
-<p> <var>postrm-du-nouveau-paquet</var> <tt>abort-install</tt></p>
- </item>
-<item>
-<p><var>postrm-du-nouveau-paquet</var> <tt>abort-install</tt> <var>vieille-version</var>
- </p>
- </item>
-<item>
-<p><var>postrm-du-nouveau-paquet</var> <tt>abort-upgrade</tt> <var>vieille-version</var>
- </p>
- </item>
-<item>
-<p><var>postrm-du-paquet-disparu</var> <tt>disappear</tt> <var>remplaçant</var>
-<var>version-du-remplaçant</var></p>
- </item>
-</list>
- </p>
- </sect>
-
-<sect id="unpackphase">
-<heading>Précisions sur la phase de dépaquetage lors
-d'une installation ou d'une mise à jour</heading>
-
-<p>
-La procédure lors d'une installation, d'une mise à jour, d'un remplacement ou
-d'une disparition (c'est-à-dire quand on exécute <tt>dpkg --unpack</tt>,
-ou bien l'étape <em>unpack</em> de <tt>dpkg --install</tt>) est la suivante.
-Dans chaque cas, si une erreur majeure se produit (à moins d'être listée
-ci-dessous), les actions sont généralement «&nbsp;rembobinées&nbsp;» -- ce
-qui signifie que les scripts du responsable sont
-exécutés dans l'ordre inverse avec des arguments différents. Ce sont les
-appels «&nbsp;correction d'erreur&nbsp;» listés ci-dessous.
-
-<enumlist>
-<item>
-<p>
- <enumlist>
- <item>
-<p>
-Si une version du paquet est déjà installée, appel de
- <example compact="compact">
-<var>prerm-de-l'ancien-paquet</var> upgrade <var>nouvelle-version</var>
- </example>
- </p>
- </item>
- <item><p>Quand le script se termine avec un code de sortie
-différent de zéro, <prgn>dpkg</prgn> essaye&nbsp;:
- <example compact="compact">
-<var>prerm-du-nouveau-paquet</var> failed-upgrade <var>vieille-version</var>
- </example>
- Si cela réussit, la mise à jour continue. Sinon, correction
- d'erreur&nbsp;:
- <example compact="compact">
-<var>postinst-de l'ancien-paquet</var> abort-upgrade <var>nouvelle-version</var>
- </example>
- Si cela réussit, alors l'ancienne version est dans l'état
- «&nbsp;Installed&nbsp;». Sinon, l'ancienne version est dans l'état
- «&nbsp;Failed-Config&nbsp;».
-</p>
- </item>
- </enumlist>
-</p>
- </item>
-
-<item>
-<p>
-Si un paquet conflictuel est enlevé en même temps&nbsp;:
- <enumlist>
-
- <item>
-<p>
-Quand un paquet dépend de ce paquet conflictuel et si l'option
- <tt>--auto-deconfigure</tt> est spécifiée, appel pour chaque paquet&nbsp;:
- <example compact="compact">
-<var>prerm-du-paquet-déconfiguré</var> deconfigure in-favour
-<var>paquet-à-installer</var> <var>version</var>
-removing <var>paquet-conflictuel</var> <var>version</var>
- </example>
-
- Correction d'erreurs&nbsp;:
- <example compact="compact">
-<var>postinst-du-paquet-déconfiguré</var> abort-deconfigure in-favour
-<var>paquet-dont-l'installation-a-échoué</var> <var>version</var>
-removing <var>paquet-conflictuel</var> <var>version</var>
- </example>
- Les paquets déconfigurés sont indiqués comme nécessitant une
-configuration, afin que, si l'option <tt>--install</tt> est utilisée, ils
-soient, si possible, de nouveau configurés.
- </p>
-
- </item>
-<item>
-<p>
-Pour préparer l'effacement du paquet conflictuel, appel de&nbsp;:
- <example compact="compact">
-<var>prerm-du-paquet-conflictuel</var> remove in-favour
- <var>paquet</var> <var>nouvelle-version</var>
- </example>
- Correction d'erreurs&nbsp;:
- <example compact="compact">
-<var>postinst-du-paquet-conflictuel</var> abort-remove in-favour
- <var>paquet</var> <var>nouvelle-version</var>
- </example>
- </p>
- </item>
- </enumlist>
- </p>
- </item>
-
-<item>
- <p>
-<enumlist>
- <item>
-<p>
-Si le paquet est mis à jour, appel de&nbsp;:
- <example compact="compact">
-<var>preinst-du-nouveau-paquet</var> upgrade <var>vieille-version</var>
- </example>
- Si cela échoue, on appelle&nbsp;:
- <example>
-<var>postrm-du-nouveau-paquet</var> abort-upgrade <var>vieille-version</var>
- </example>
- <enumlist>
- <item>
- <p>
- Si cela fonctionne, alors
- <example>
-<var>postinst-de-l'ancien-paquet</var> abort-upgrade <var>nouvelle-version</var>
- </example>
- est appelé. Si cela fonctionne, alors l'ancienne
- version est dans un état «&nbsp;Installed&nbsp;»,
- sinon elle est laissée dans un état
- «&nbsp;Unpacked&nbsp;».
- </p>
- </item>
- <item>
- <p>
- Si cela échoue, alors l'ancienne version est laissée
- dans un état «&nbsp;Half-Installed&nbsp;».
- </p>
- </item>
- </enumlist>
-
- </item>
-<item><p>
-Autrement, si le paquet a des fichiers de configuration d'une
- version précédemment installée (c'est-à-dire, s'il ne reste
- plus du paquet que les fichiers de configuration)&nbsp;:
- <example compact="compact">
-<var>preinst-du-nouveau-paquet</var> install <var>vieille-version</var>
- </example>
- Correction d'erreur :
- <example>
-<var>postrm-du-nouveau-paquet</var> abort-install <var>vieille-version</var>
- </example>
- Si cela échoue, le paquet est laissé dans un état
- «&nbsp;Half-Installed&nbsp;» qui impose une
- réinstallation. Si cela réussit, le paquet est laissé dans
- un état «&nbsp;Config Files&nbsp;».
- </p>
- </item>
-<item>
-<p>
-Autrement (c'est-à-dire, le paquet a été complètement
-effacé)&nbsp;:
- <example compact="compact">
-<var>preinst-du-nouveau-paquet</var> install
- </example>
-
- Correction d'erreurs
- <example compact="compact">
-<var>postrm-du-nouveau-paquet</var> abort-install
- </example>
- Si la correction d'erreur échoue, le paquet est dans un
- état «&nbsp;Half Installed&nbsp;» et nécessite une
- réinstallation. Si elle réussit, le paquet n'est plus installé.
- </p>
- </item>
- </enumlist>
- </p>
- </item>
-<item><p>
-Les fichiers du nouveau paquet sont dépaquetés, remplaçant ceux qui
-peuvent déjà être sur le système, par exemple, les fichiers appartenant à la
-vieille version du même paquet ou ceux d'un autre paquet. Les sauvegardes des
-vieux fichiers sont laissées, et si quelque chose se passe mal, le système de
-gestion des paquets, dans sa partie «&nbsp;correction d'erreurs&nbsp;»
-essayera de les remettre en place.
- </p>
-<p>
-C'est une erreur pour un paquet de contenir des fichiers qui sont sur le
-système dans un autre paquet, à moins que <tt>Replaces</tt> ne soit utilisé
-(voir <ref id="replaces">). </p>
-<!-- The following paragraph is not currently the case:
-Pour l'instant l'option <tt>force-overwrite</tt> -->
-<!--est disponible, la dégradant en un avertissement, mais cela ne sera
-peut-être pas toujours le cas.-->
-<p>
-C'est une erreur plus grave pour un paquet de contenir un simple
-fichier ou autre chose qu'un répertoire quand un autre paquet veut un
-répertoire (à moins que <tt>Replaces</tt> ne soit utilisé).
-Cette erreur peut être évitée si c'est l'effet recherché, en utilisant
-<tt>--force-overwrite-dir</tt>, mais ce n'est pas à conseiller.
- </p>
-<p>
-Les paquets qui remplacent mutuellement leurs fichiers ont une démarche qui,
-bien que déterministe, est difficile à comprendre pour
-un administrateur système. Cela peut aisément conduire à des programmes
-annoncés comme «&nbsp;absent&nbsp;» quand, par exemple, un paquet remplaçant
-tel fichier d'un autre paquet est installé puis effacé <footnote><p>Une
-partie du problème vient certainement d'une erreur de <prgn>dpkg</prgn>.
-</p></footnote>.
- </p>
-<p>
-Un répertoire ne sera jamais remplacé par un lien symbolique vers un
-répertoire et vice versa&nbsp;; à la place, l'état existant (lien symbolique
-ou non) est conservé et <prgn>dpkg</prgn> suivra les liens s'il y en a.
- </p>
- </item>
-
-<item>
-<p> <enumlist>
- <item><p>
-Si le paquet est mis à jour, appel de&nbsp;:
- <example compact="compact">
-<var>postrm-de l'ancien-paquet</var> upgrade <var>nouvelle-version</var>
- </example></p>
- </item>
-
- <item>
-<p>Si cela échoue, <prgn>dpkg</prgn> essaye&nbsp;:
- <example compact="compact">
-<var>postrm-du-nouveau-paquet</var> failed-upgrade <var>vieille-version</var>
- </example>
- Si cela réussit, l'installation continue. Sinon, correction
- d'erreur&nbsp;:
- <example compact="compact">
-<var>preinst-de-l'ancien-paquet</var> abort-upgrade <var>nouvelle-version</var>
- </example>
- Si cela échoue, l'ancienne version est laissée dans un état «&nbsp;Half
- Installed&nbsp;». Si cela réussit, dpkg appelle maintenant&nbsp;:
- <example compact="compact">
-<var>postrm-du-nouveau-paquet</var> abort-upgrade <var>vieille-version</var>
- </example>
- Si cela échoue, l'ancienne version est laissée dans un état «&nbsp;Half
- Installed&nbsp;». Si cela échoue, dpkg appelle maintenant&nbsp;:
- <example compact="compact">
-<var>postinst-de-l'ancien-paquet</var> abort-upgrade <var>nouvelle-version</var>
- </example>
- Si cela échoue, l'ancienne version est dans un état
- «&nbsp;Unpacked&nbsp;».
- </p>
- </item>
- </enumlist>
- </p>
- </item>
-<item><p>
- C'est le point de non-retour. Quand <prgn>dpkg</prgn> atteint ce
-point, il ne revient pas en arrière si une erreur se produit. Le paquet
-reste dans un très mauvais état et demande une réinstallation réussie
-pour remettre tout en place&nbsp;; cela arrive quand <prgn>dpkg</prgn>
-commence à faire des choses irréversibles.
- </p>
- </item>
-
-<item><p>
-Tous les fichiers de la version précédente du paquet qui ne sont pas dans la
-nouvelle sont effacés.
- </p>
- </item>
-<item><p>
-La nouvelle liste de fichiers remplace la précédente.
- </p>
- </item>
-
-<item><p>
-Les nouveaux scripts du responsable remplacent les anciens.
- </p>
- </item>
-
-<item><p>
-Les paquets dont tous les fichiers ont été remplacés pendant
-l'installation, et qui ne sont pas nécessaires pour les dépendances,
-sont considérés comme effacés. Pour ces paquets :
- <enumlist>
- <item>
-<p>
-<prgn>dpkg</prgn> appelle&nbsp;:
- <example compact="compact">
-<var>postrm-du-paquet-effacé</var> disappear
-<var>remplaçant</var> <var>version-du-remplaçant</var>
- </example>
- </p>
- </item>
-
- <item>
-<p>Les scripts du responsable de paquet sont effacés.
- </p>
- </item>
-
- <item><p>
-Le paquet est inscrit dans la base de données «&nbsp;status&nbsp;»
-comme étant dans un état correct, à savoir non installé (ses
-<em>conffiles</em> sont ignorés et non pas supprimés par <prgn>dpkg</prgn>).
-Il faut remarquer que <prgn>dpkg</prgn> n'appelle pas le script prerm du paquet
-effacé, car il ne sait pas à l'avance que le paquet va disparaître.
- </p>
- </item>
- </enumlist>
- </p>
- </item>
-<item>
-<p>
-Les fichiers du paquet à installer qui sont aussi répertoriés par d'autres
-paquets sont enlevés des listes de ces paquets, ce qui
-lobotomisera la liste de fichiers du paquet «&nbsp;conflictuel&nbsp;», s'il y
-en a un.
- </p>
- </item>
-
-<item>
-<p>
-Les fichiers de sauvegarde faits pendant la phase précédente d'installation
-sont effacés.
- </p>
- </item>
-
-<item><p>
-Le statut du nouveau paquet est correct et enregistré comme
-«&nbsp;dépaqueté&nbsp;».</p>
-<p>
-C'est un autre point de non-retour - si l'effacement d'un
-paquet conflictuel échoue, on ne «&nbsp;rembobine&nbsp;» pas le reste de
-l'installation ; le paquet conflictuel est laissé dans un état
-«&nbsp;enlevé à moitié&nbsp;».
- </p>
- </item>
-
-<item><p>
-Au cas où existe un paquet conflictuel, on procède aux actions
-d'effacement (décrites ci-dessus), en commençant par l'effacement des
-fichiers du paquet conflictuel (les fichiers qui sont aussi dans le
-paquet installé ont déjà été effacés de la liste des fichiers du paquet
-conflictuel et ne sont pas enlevés maintenant).
- </p>
- </item>
- </enumlist>
- </p>
- </sect>
-
-<sect id="configdetails">
-<heading>Précisions sur la configuration</heading>
-
-<p>
-Quand on configure un paquet (avec <tt>dpkg --install</tt>, ou avec
-<tt>--configure</tt>), on met à jour d'abord les <tt>conffiles</tt> et
-ensuite on appelle :
-<example compact="compact">
-<var>postinst</var> configure <var>version-la-plus-récemment-configurée</var>
-</example>
- </p>
-<p>
-On n'essaye pas de «&nbsp;rembobiner&nbsp;» après une erreur pendant la
-configuration. Si la configuration échoue, le paquet est dans un état
-«&nbsp;Failed Config&nbsp;» et un message d'erreur est généré.
- </p>
-<p>
-S'il n'existe pas de «&nbsp;version-la-plus-récemment-configurée&nbsp;»,
-<prgn>dpkg</prgn> passe un argument nul&nbsp;<footnote>
- <p>
-Note historique : les versions vraiment anciennes (pre-1997) de
-<prgn>dpkg</prgn> passaient dans ce cas <tt>&lt;unknown&gt;</tt> (avec les
-signes supérieur et inférieur). Et les plus vieilles versions ne passaient
-pas de second argument du tout, quelles que soient les circonstances.
-Notez qu'une mise à jour utilisant de telles versions de dpkg ne fonctionnera
-vraisemblablement pas, pour d'autres raisons, et même si votre script
-postinst gère ce cas.
- </p>
- </footnote>.
- </p>
- </sect>
-
-<sect id="removedetails">
-<heading>Précisions sur la phase de suppression sans
-ou avec suppression des fichiers de configuration</heading>
-
-<p>
-<enumlist>
-
-<item>
-<p>
-<example compact="compact">
-<var>prerm</var> remove
- </example>
- </p>
- <p>
- Si le script prerm échoue pendant le remplacement à cause d'un conflit
- <example>
-<var>postinst-du-paquet-en-conflit</var> abort-remove \
- in-favour <var>paquet</var> <var>nouvelle-version</var>
- </example>
- Ou sinon on appelle&nbsp;:
- <example>
-<var>postinst</var> abort-remove
- </example>
- </p>
- <p>
- Si cela échoue, le paquet est dans un état «&nbsp;Failed-Config&nbsp;»
- ou sinon il reste «&nbsp;Installed&nbsp;».
- </p>
- </item>
-<item><p>
-Les fichiers du paquet sont effacés (sauf les <tt>conffiles</tt>).
- </p>
- </item>
-
-<item>
-<p>
-<example compact="compact">
-<var>postrm</var> remove
- </example>
- <p>
- Si cela échoue, il n'y a pas de correction d'erreur et le paquet
- est dans un état «&nbsp;Half-Installed&nbsp;».
- </p>
- </item>
-
-<item>
-<p>Tous les scripts du responsable sont effacés sauf <prgn>postrm</prgn>.
- </p>
-<p>
-Si on n'efface pas le paquet, la procédure s'arrête là. Il faut remarquer que
-les paquets qui n'ont pas de <prgn>postrm</prgn> ni de <tt>conffiles</tt> sont
-automatiquement purgés pendant l'effacement, puisqu'il n'y pas de différence,
-sauf pour le fichier status de <prgn>dpkg</prgn>.
- </p>
- </item>
-
-
-<item><p>
-Les <tt>conffiles</tt> et les fichiers de sauvegarde (fichiers <tt>~</tt>,
-fichiers <tt>#*#</tt>, fichiers <tt>&#37;</tt>, <tt>.dpkg-{old, new, tmp}</tt>,
-etc.) sont effacés.
- </p>
- </item>
-
-<item><p>
-<example compact="compact">
-<var>postrm</var> purge
- </example>
- </p>
- <p>
- Si cela échoue, le paquet reste dans un état
- «&nbsp;Config-Files&nbsp;».
- </p>
- </item>
-
-<item>
-<p>La liste des fichiers du paquet est effacée.
- </p>
- </item>
-</enumlist>
-</p>
- </sect>
- </chapt>
-
-<chapt id="relationships">
-<heading>Comment déclarer des relations entre les paquets ?</heading>
-
-<sect id="depsyntax">
-<heading>La syntaxe des champs de relation</heading>
-
-<p>
-Ces champs ont tous la même syntaxe. Ce sont des listes de
-noms de paquets séparés par des virgules.
- </p>
-
-<p>
-Dans les champs <tt>Depends</tt>, <tt>Recommends</tt>, <tt>Suggests</tt>,
-<tt>Pre-Depends</tt>, <tt>Build-Depends</tt> et <tt>Build-Depends-Indep</tt>
-(les champs qui déclarent les dépendances d'un paquet envers d'autres
-paquets), ces noms peuvent aussi être des listes de noms de paquets
-alternatifs, séparés par des symboles barre verticale «&nbsp;|&nbsp;»
-(symbole du tube de communication). Si c'est le cas, quand l'un des paquets
-alternatifs est installé, on considère que cette partie de la dépendance
-est satisfaite.
- </p>
-
-<p>
-Tous les champs sauf le champ <tt>Provides</tt> peuvent restreindre leur
-application à des versions particulières de chaque paquet nommé. Ces versions
-sont indiquées entre parenthèses après chaque nom de paquet ; les
-parenthèses contiendront une des relations de la liste ci-dessous,
-suivie par un numéro de version, dans le format décrit dans
-<ref id="f-Version">.
- </p>
-
-<p>
-Les relations autorisées sont : <tt>&lt;&lt;</tt>, <tt>&lt;=</tt>,
-<tt>=</tt>, <tt>&gt;=</tt> et <tt>&gt;&gt;</tt> pour
-strictement avant, avant ou égal, égal, après ou égal, strictement
-après, respectivement. Les formes déconseillées <tt>&lt;</tt> et
-<tt>&gt;</tt> ont été utilisées pour signifier avant/après ou égal, plutôt
-que strictement avant/après, ainsi elles ne doivent pas apparaître dans les
-nouveaux paquets (bien que <prgn>dpkg</prgn> les accepte encore).
- </p>
-
-<p>
-Les espaces peuvent apparaître n'importe où dans la spécification de
-version sujette aux règles énoncées dans <ref id="controlsyntax">, et doivent
-apparaître là où c'est nécessaire pour supprimer toute ambiguïté ; autrement
-elles ne sont pas significatives. Pour la cohérence et dans le cas de futures
-modifications de <prgn>dpkg</prgn>, il est recommandé de mettre une seule
-espace après une relation de version et avant un numéro de version ; il est
-aussi convenu de mettre une espace après chaque virgule, de chaque côté d'une
-barre verticale, et avant chaque parenthèse ouvrante.
- </p>
-
-<p>
-Par exemple, une liste de dépendances peut apparaître ainsi :
-<example compact="compact">
-Package: mutt
-Version: 1.3.17-1
-Depends: libc6 (>= 2.2.1), exim | mail-transport-agent
-</example>
- </p>
-
-<p>
-On peut limiter à un ensemble d'architectures tous les champs qui précisent
-des relations pour la compilation
-(<tt>Build-Depends</tt>, <tt>Build-Depends-Indep</tt>, <tt>Build-Conflicts</tt>
-et <tt>Build-Conflicts-Indep</tt>). On se sert de crochets après chaque nom
-de paquet et l'indication facultative de la version. Les crochets enferment
-une liste d'architectures acceptées par Debian, séparées par une espace. Un
-point d'exclamation peut être ajouté à chaque nom. On ne peut pas ajouter un
-point d'exclamation à certains noms et pas à d'autres. Quand l'architecture de
-la machine hôte n'est pas présente dans la liste et qu'il n'y a pas de
-point d'exclamation, ou bien quand elle est dans la liste et qu'elle est
-préfixée par un point d'exclamation, le paquet et l'indication de la version
-associée sont complètement ignorés pour ce qui concerne la définition du
-système de relation.
- </p>
-<p>
-Par exemple&nbsp;:
-<example compact="compact">
-Source: glibc
-Build-Depends-Indep: texinfo
-Build-Depends: kernel-headers-2.2.10 [!hurd-i386],
- hurd-dev [hurd-i386], gnumach-dev [hurd-i386]
- </example>
- </p>
-<p>
-Il faut remarquer que les champs concernant les relations entre paquets
-binaires tel que <tt>Depends</tt> apparaissent dans l'une des sections du
-fichier de contrôle du paquet binaire, alors que les champs concernant
-les relations pour la construction tel que <tt>Build-Depends</tt> apparaissent
-dans la première section du fichier de contrôle du paquet source.
- </p>
- </sect>
-
-<sect id="binarydeps">
- <heading>Les dépendances pour les paquets binaires - <tt>Depends</tt>,
- <tt>Recommends</tt>, <tt>Suggests</tt>, <tt>Enhances</tt>,
- <tt>Pre-Depends</tt>
- </heading>
-<p>
-Les paquets peuvent déclarer dans leur fichier de contrôle qu'ils ont
-certaines relations avec d'autres paquets - par exemple, qu'ils ne
-peuvent pas être installés en même temps que tel paquet, ou qu'ils dépendent
-de la présence de tel autre.
- </p>
-<p>
-On se sert pour cela des champs du fichier <em>control</em> suivants&nbsp;:
-<tt>Depends</tt>, <tt>Pre-Depends</tt>, <tt>Recommends</tt>,
-<tt>Suggests</tt>, <tt>Enhances</tt> et <tt>Conflicts</tt>.
- </p>
-
-<p>
-Ces six champs sont utilisés pour déclarer une relation de dépendance d'un
-paquet envers un autre paquet. Ils apparaissent dans le fichier
-<em>control</em> du paquet dépendant (binaire), sauf le champ
-<tt>Enhances</tt> qui apparaît dans le fichier de contrôle du paquet
-recommandé.
- </p>
-
-<p>
-Un champ <tt>Depends</tt> prend effet <em>seulement</em> lors de la
-configuration du paquet. Il n'empêche pas qu'un paquet soit sur le système
-dans un état «&nbsp;non configuré&nbsp;» et ses dépendances non
-satisfaites&nbsp;;
-il est aussi possible de remplacer un paquet correctement installé et dont
-les dépendances sont satisfaites par une version différente dont les
-dépendances ne sont pas et ne peuvent pas être satisfaites&nbsp;; quand c'est
-le cas, le paquet dépendant est laissé «&nbsp;non configuré&nbsp;» (étant
-donné
-que les tentatives pour le configurer donnent des erreurs) et il ne
-fonctionne pas correctement. On peut utiliser si nécessaire un champ
-<tt>Pre-Depends</tt> qui a un effet limité même si le paquet est dans la
-phase de dépaquetage, comme c'est expliqué plus bas. (Les trois autres
-champs, <tt>Recommends</tt>, <tt>Suggests</tt> et <tt>Enhances</tt>, ne
-sont utilisés que par les différentes interfaces de <prgn>dpkg</prgn>,
-telle que <prgn>dselect</prgn>.)
- </p>
-
-<p>
-Pour cette raison, lors d'une installation, les paquets sont généralement
-tous installés d'abord et tous configurés ensuite&nbsp;; cela permet que les
-dernières versions des paquets ayant des dépendances sur les dernières
-versions d'autres paquets voient leurs dépendances satisfaites.
- </p>
-
-<p>
-Dans le cas de dépendances circulaires, comme l'ordre d'installation ou de
-suppression pour honorer l'ordre des dépendances ne peut être établi, les
-boucles de dépendances sont cassées à un certain point (basé sur les règles
-ci-dessous) et certains paquets peuvent ne pas pouvoir être certain que leurs
-dépendances soient présentes lors de l'installation ou de la suppression selon
-de quel côté de la cassure de la boucle de dépendance circulaire ils sont
-placés. Si l'un des paquets dans la boucle n'a pas de script postinst, alors le
-cycle peut être cassé sur ce paquet pour garantir que tous les scripts postinst
-sont exécutés avec leurs dépendances correctement configurés si cela est
-possible. Sinon, le point de cassure est arbitraire.
- </p>
-
-
-<p>
-Ainsi le champ <tt>Depends</tt> autorise les responsables de paquet à imposer
-un ordre sur la manière de configurer les paquets.
- </p>
-
-
-<p>
-Voici la signification des cinq champs de dépendance :
-<taglist>
-<tag><tt>Depends</tt></tag>
-<item>
-<p>
-Ce champ déclare une dépendance absolue. Il n'est pas possible de configurer
-un paquet tant que tous les paquets listés dans ce champ n'ont pas été
-correctement configurés.
- </p>
-<p>
-Le champ <tt>Depends</tt> sera utilisé quand le paquet dépendant a besoin,
-pour fonctionner d'une manière intéressante, de tel paquet.
- </p>
-<p>
-Le champ <tt>Depends</tt> sera aussi utilisé quand les scripts
-<prgn>postinst</prgn>, <prgn>prerm</prgn> ou <prgn>postrm</prgn> demandent
-que tel paquet soit présent pour qu'ils puissent fonctionner. Cependant,
-il faut noter que le script <prgn>postrm</prgn> ne peut pas compter sur
-la présence de paquets «&nbsp;non-essential&nbsp;» pendant la phase de <tt>purge</tt>.
- </p>
-</item>
-<tag><tt>Recommends</tt></tag>
-<item><p>
-Ce champ déclare une dépendance forte, mais pas absolue.
-Le champ <tt>Recommends</tt> listera les paquets qu'on trouve habituellement
-avec ce paquet dans toute installation standard.
- </p>
- </item>
-
-<tag><tt>Suggests</tt></tag>
-<item>
-<p>
-On se sert de ce champ pour déclarer qu'un paquet serait plus utile avec
-un ou plusieurs autres paquets. On indique au système de gestion de
-paquet et à l'utilisateur que les paquets listés sont liés au paquet et
-qu'ils peuvent peut-être augmenter son utilité, mais qu'une installation
-sans ces paquets est parfaitement concevable.
- </p>
- </item>
-
-<tag><tt>Enhances</tt></tag>
-<item>
-<p>
-Ce champ ressemble au champ <tt>Suggests</tt> mais il marche en sens inverse.
-On s'en sert pour déclarer qu'un paquet améliore l'efficacité de tel
-autre paquet.
- </p>
- </item>
-<tag><tt>Pre-Depends</tt></tag>
-<item><p>
-Ce champ ressemble au champ <tt>Depends</tt>, sauf qu'il force aussi
-<prgn>dpkg</prgn> à terminer l'installation des paquets qu'il liste avant
-même de démarrer l'installation du paquet qui déclare ces pré-dépendances.
- </p>
-
-<p>
-Quand un paquet déclarant une relation de pré-dépendance est sur le point
-d'être <em>dépaqueté</em>, cette relation peut être satisfaite si le paquet
-exigé par la pré-dépendance est, soit pleinement configuré, <em>soit même</em>
-s'il est seulement dépaqueté ou « à demi configuré », pourvu qu'il ait été
-déjà correctement configuré au moins une fois (et pas effacé ou partiellement
-effacé depuis). Dans ce cas, les deux versions,
-celle précédemment configurée et celle actuellement dépaquetée ou dans un état
-«&nbsp;à moitié configuré&nbsp;», doivent satisfaire à toute clause de version
-contenue dans le champ <tt>Pre-Depends</tt>.
-</p>
-
-<p>
-Quand le paquet déclarant une relation de <tt>Pre-Dépendance</tt> est
-configuré, cette relation sera considérée comme une relation <tt>Depends</tt>
-normale&nbsp;; c'est-à-dire, elle sera considérée comme satisfaite seulement
-si le paquet dépendant a bien été configuré.
- </p>
-
-<p>
-Le champ <tt>Pre-Depends</tt> sera utilisé parcimonieusement et de préférence
-seulement pour les paquets dont une mise à jour ou une installation
-prématurée entraverait la capacité du système à continuer les mises à jour
-en cours.
- </p>
-<p>
-Des relations <tt>Pre-Depends</tt> sont aussi exigées quand un script
-<prgn>preinst</prgn> dépend d'un paquet cité. Il vaut mieux
-éviter cette situation.
- </p>
-</item>
- </taglist>
- </p>
-
-<p>
-Pour choisir un niveau de dépendance, on mesurera l'importance du paquet
-demandé pour les fonctionnalités du paquet qui déclare la dépendance. Certains
-paquets sont composés d'éléments plus ou moins importants. Un tel paquet
-listera dans le champ <tt>Depends</tt> le ou les paquets qui sont nécessaires
-aux éléments les plus importants. Les autres éléments peuvent
-être mentionnés comme des Suggestions ou des Recommandations, selon
-l'importance relative de ces éléments.
- </p>
- </sect>
-
-<sect id="conflicts">
-<heading>Mettre en conflit des paquets binaires --
- le champ <tt>Conflicts</tt>
- </heading>
-<p>
-Quand un paquet déclare un conflit avec un autre, en utilisant le champ
-<tt>Conflicts</tt>, <prgn>dpkg</prgn> refuse
-de les installer en même temps sur le système.
- </p>
-<p>
-Si l'on veut installer l'un de ces paquets, l'autre doit d'abord être supprimé
-&mdash; si le paquet en cours d'installation est marqué comme remplaçant
-(voir <ref id="replaces">) le paquet sur le système, ou si celui-ci est
-marqué comme «&nbsp;désélectionné&nbsp;», ou bien si les deux paquets sont
-marqués <tt>Essential</tt>, alors <prgn>dpkg</prgn> enlève automatiquement le
-paquet qui crée le conflit, ou bien arrête l'installation du nouveau paquet
-par une erreur. Ce mécanisme est spécifiquement conçu pour provoquer une
-erreur quand le paquet installé est marqué <tt>Essential</tt> et que le
-nouveau paquet ne l'est pas.
- </p>
-
-<p>
-Un paquet ne provoque pas de conflit simplement parce que ses fichiers de
-configuration sont toujours installés&nbsp;; il doit être au moins dans l'état
-«&nbsp;à moitié installé&nbsp;».
- </p>
-
-<p>
-Une exception spéciale est faite pour les paquets qui déclarent un conflit
-avec leur propre nom de paquet, ou avec le paquet virtuel qu'ils
-fournissent (voir ci-dessous)&nbsp;: cela n'empêche pas leur installation,
-et cela autorise un paquet à déclarer un conflit avec les paquets qui
-peuvent le remplacer. On utilise ce dispositif quand on veut
-que le paquet en question soit le seul paquet à fournir une fonctionnalité
-particulière.
- </p>
-
-<p>
-Une entrée <tt>Conflicts</tt> ne devrait presque jamais avoir une clause de
-version indiquant une relation «&nbsp;avant&nbsp;». Cela empêcherait <prgn>dpkg</prgn>
-de mettre à jour ou d'installer le paquet qui déclare un tel conflit jusqu'à
-ce que la mise à jour ou l'effacement du paquet en conflit ait été terminé.
- </p>
- </sect>
-
-<sect id="virtual">
-<heading>Les paquets virtuels -- le champ <tt>Provides</tt></heading>
-
-<p>
-Aussi bien que des noms de paquets réels (concrets), les champs de
-relation <tt>Depends</tt>, <tt>Recommends</tt>, <tt>Suggests</tt>,
-<tt>Enhances</tt>, <tt>Pre-Depends</tt>, <tt>Conflicts</tt>,
-<tt>Build-Depends</tt>, <tt>Build-Depends-Indep</tt>, <tt>Build-Conflicts</tt>
-et <tt>Build-Conflicts-Indep</tt>
-peuvent mentionner des noms de «&nbsp;paquets virtuels&nbsp;».
- </p>
-
-<p>
-Un paquet «&nbsp;virtuel&nbsp;» est un paquet qui apparaît dans le champ
-<tt>Provides</tt> du fichier «&nbsp;control&nbsp;» d'un autre paquet. L'effet
-est le même que si le ou les paquets qui fournissent un paquet virtuel
-particulier avaient été listés par leur nom partout où le nom du paquet virtuel
-apparaît. Voir aussi <ref id="virtual_pkg">.
- </p>
-
-<p>
-Quand un paquet concret et un paquet virtuel ont le même nom, la dépendance
-peut être satisfaite (ou le conflit provoqué) soit par le paquet concret du
-même nom soit par tout autre paquet concret fournissant le paquet virtuel du
-même nom.
-Par exemple, en supposant que nous ayons :
-<example compact="compact">
-Package: foo
-Depends: bar
-</example>
-et que quelqu'un d'autre sorte un paquet <tt>bar</tt> amélioré, il peut
-dire&nbsp;:
-<example compact="compact">
-Package: bar-plus
-Provides: bar
-</example>
-
-et le paquet <tt>bar-plus</tt> satisfera aussi la dépendance pour le
-paquet <tt>foo</tt>.
- </p>
-
-<p>
-Quand un numéro de version est attaché à une dépendance ou à un conflit,
-seuls les paquets réels seront examinés pour savoir si la relation est
-satisfaite (ou, pour un conflit, l'interdiction violée) - on supposera
-qu'un paquet réel qui fournit un paquet virtuel n'a pas la «&nbsp;bonne&nbsp;»
-version. Ainsi, un champ <tt>Provides</tt> ne peut pas contenir de numéros
-de version, et le numéro de version du paquet concret qui fournit un
-paquet virtuel particulier n'est pas examiné quand on considère une
-dépendance envers ou un conflit avec le nom du paquet virtuel.
- </p>
-
-<p>
-Il est probable que la possibilité d'indiquer un numéro de version pour
-chaque paquet virtuel sera ajoutée dans une version prochaine de
-<prgn>dpkg</prgn>. Cette caractéristique n'est pas encore présente et
-il est probable qu'elle sera très peu utilisée.
- </p>
-
-<p>
-Quand on veut spécifier quel paquet d'un ensemble de paquets réels
-sera celui qui satisfait par défaut une dépendance particulière envers
-un paquet virtuel, on listera le paquet réel alternatif
-avant le paquet virtuel.
- </p>
-
- </sect>
-
-<sect id="replaces">
-<heading>le champ <tt>Replaces</tt> -- regénérer les fichiers et remplacer les paquets</heading>
-
-<p>
-Un paquet peut déclarer dans son fichier <em>control</em> qu'il modifiera
-des fichiers appartenant à un autre paquet ou qu'il remplacera complètement
-un autre paquet. Le champ <tt>Replaces</tt> du fichier <em>control</em>
-remplit ces deux fonctions.
- </p>
-
-<sect1><heading>Regénérer les fichiers appartenant à d'autres paquets</heading>
-
-<p>
-Tout d'abord, comme mentionné auparavant, qu'un paquet possède des fichiers
-qui sont sur le système mais dans un autre paquet est généralement une erreur.
- </p>
-
-<p>
-Cependant, si le paquet, qui veut faire un remplacement, déclare, dans le champ
-<tt>Replaces</tt>, qu'il remplace le paquet
-qui contient le fichier à remplacer, <prgn>dpkg</prgn> procède au
-remplacement du fichier de l'ancien paquet par le nouveau. Ce fichier ne
-sera plus listé comme faisant partie de l'ancien paquet.
- </p>
-
-<p>
-Quand un paquet est ainsi complètement remplacé, de sorte que
-<prgn>dpkg</prgn> ne sait pas quels fichiers il contient encore, on
-considère qu'il a «&nbsp;disparu&nbsp;». Sur le système, il est marqué comme
-«&nbsp;non sélectionné&nbsp;» (sélectionné pour l'effacement) et «&nbsp;non installé&nbsp;».
-Tous les renseignements contenus dans les <tt>conffiles</tt> sont ignorés, vu
-que le paquet remplaçant les aura repris. Le script <prgn>postrm</prgn> du
-paquet est exécuté avec un argument particulier pour permettre au paquet de
-faire le nettoyage final nécessaire.
-Voir <ref id="mscriptsinstact"> <footnote>
- <p>
-Replaces est une relation à sens unique -- vous devez installer le paquet
-remplaçant après le paquet remplacé.
- </p>
- </footnote>.
- </p>
-
-<p>
-Avec cette utilisation du champ <tt>Replaces</tt>, et quand on l'examine,
-on ne prend pas en compte les paquets virtuels (voyez <ref id="virtual">)
--- les paquets déclarant qu'ils sont remplacés doivent être mentionnés par
-leurs noms réels.
-</p>
-
-<p>
-De plus, cet usage de <tt>Replaces</tt> prend seulement effet quand deux
-paquets sont -- au moins partiellement -- en même temps sur le système, et
-cela peut seulement se produire s'ils ne sont pas en conflit, ou si le
-conflit a été annulé.
- </p>
- </sect1>
-
-<sect1>
-<heading>Le remplacement total d'un paquet ; forcer sa suppression</heading>
-
-<p>
-Et deuxièmement, le champ <tt>Replaces</tt> permet au système de gestion des
-paquets de savoir quel paquet enlever quand il y a un conflit - voir
-<ref id="conflicts">. Cet usage prend seulement effet quand deux paquets sont
-réellement en conflit, afin que les deux usages de ce champ n'interfèrent pas
-l'un avec l'autre.
- </p>
-<p>
-Dans ce cas, le paquet déclaré comme étant remplacé peut être un paquet
-virtuel ; c'est ainsi que les agents de transport du courrier (MTA) pourront
-avoir les champs suivants dans leur fichier de contrôle&nbsp;:
- <example compact="compact">
-Provides: mail-transport-agent
-Conflicts: mail-transport-agent
-Replaces: mail-transport-agent
- </example>
-On s'assure ainsi qu'un seul MTA peut être installé à la fois.
- </p>
- </sect1>
- </sect>
-
-<sect id="sourcebinarydeps">
-<heading>Les relations entre les paquets binaires et les paquets sources
--- les champs <tt>Build-Depends</tt>, <tt>Build-Depends-Indep</tt>,
- <tt>Build-Conflicts</tt>, <tt>Build-Conflicts-Indep</tt>
- </heading>
-<p>
-Les paquets sources peuvent déclarer des relations avec des paquets
-binaires si, par exemple, ils ont besoin que tel paquet binaire soit présent
-ou absent au moment de leur construction.
- </p>
-
-<p>
-On se sert des champs <tt>Build-Depends</tt>, <tt>Build-Depends-Indep</tt>,
-<tt>Build-Conflicts</tt> et <tt>Build-Conflicts-Indep</tt> du fichier
-<em>control</em>.
- </p>
- <p>
-Les dépendances de construction sur les paquets binaires appartenant
-à «&nbsp;build-essential&nbsp;» peuvent être omises. Voyez
-<ref id="pkg-relations"> pour davantage d'informations.
- </p>
-
- <p>
-Les dépendances ou les conflits qu'ils définissent doivent être résolus
-(comme cela a été défini plus haut pour les paquets binaires) pour pouvoir
-appeler les cibles de <tt>debian/rules</tt><footnote>
-<p>
-Si vous construisez «&nbsp;build-arch&nbsp;» ou «&nbsp;binary-arch&nbsp;»,
-vous avez besoin de Build-Depends. Si vous construisez
-«&nbsp;build-indep&nbsp;» ou «&nbsp;binary-indep&nbsp;», vous avez besoin de
-Build-Depends et de Build-Depends-Indep. Si vous construisez
-«&nbsp;build&nbsp;» ou «&nbsp;binary&nbsp;», vous avez besoin des deux.
- </p>
-<p>
- «&nbsp;Build-Depends-Arch&nbsp;» n'existe pas&nbsp;; ce rôle est
-essentiellement rempli par les Build-Depends. Il est supposé que celui qui veut
-construire les cibles <tt>build-indep</tt> et <tt>binary-indep</tt> veut
-de toute façon construire le paquet dans son entier et qu'il installe donc
-toutes les dépendances de construction. Les constructeurs automatiques
-(«&nbsp;autobuilders&nbsp;») utilisent <tt>dpkg-buildpackage -B</tt> qui appelle
-<tt>build</tt> (pas <tt>build-arch</tt> car il ne sait pas encore vérifier son
-existence) et <tt>binary-arch</tt>.
-</p>
-<p>
-Le but de cette séparation, je m'en rappelle, était que les constructeurs
-automatiques n'aient pas besoin d'installer les paquets supplémentaires
-requis par les cibles binary-indep. Mais, sans la séparation
-build-arch/build-indep, cela ne marchait pas, car le plus gros du travail
-était fait par la cible build et non pas par la cible binary.
- </p>
- </footnote>
-comme suit&nbsp;:
-
-<taglist>
- <tag><tt>Build-Depends</tt>, <tt>Build-Conflicts</tt></tag>
- <item>
- <p>
-Les champs <tt>Build-Depends</tt> et <tt>Build-Conflicts</tt> doivent être
-satisfaits quand l'une des cibles suivantes est appelée :
-<tt>build</tt>, <tt>clean</tt>, <tt>binary</tt>, <tt>binary-arch</tt>,
-<tt>build-arch</tt>, <tt>build-indep</tt> et <tt>binary-indep</tt>.
- </p>
- </item>
- <tag><tt>Build-Depends-Indep</tt>,
-<tt>Build-Conflicts-Indep</tt></tag>
- <item>
- <p>
-Les champs <tt>Build-Depends-Indep</tt> et <tt>Build-Conflicts-Indep</tt>
-doivent être satisfaits quand l'une des cibles suivantes est appelée :
-<tt>build</tt>, <tt>build-indep</tt>, <tt>binary</tt> et <tt>binary-indep</tt>.
- </p>
- </item>
- </taglist>
- </p>
- </sect>
- </chapt>
-
-
-<chapt id="sharedlibs">
-<heading>Les bibliothèques partagées</heading>
-
-<p>
-On doit construire avec soin les paquets qui contiennent des bibliothèques
-partagées afin de s'assurer que ces bibliothèques seront
-toujours disponibles. Et particulièrement, les paquets qui demandent des
-bibliothèques vitales, telle que la bibliothèque C, (actuellement&nbsp;:
-<em>libc6</em>).
- </p>
-
-<p>
-Un paquet qui contient des bibliothèques partagées sera séparé
-en plusieurs paquets binaires. Cette section est consacrée à la façon de
-faire cette séparation&nbsp;; les règles pour les fichiers à l'intérieur
-des paquets de bibliothèques partagées sont traitées dans
-<ref id="libraries">.
- </p>
-
- <sect id="sharedlibs-runtime">
- <heading>Les bibliothèques reliables dynamiquement</heading>
-
- <p>
-La bibliothèque partagée doit être placée dans un paquet
-dont le nom change chaque fois que la version objet partagée change.
-<footnote>
-<p>
-Puisqu'il est courant d'installer plusieurs versions d'un paquet qui fournit
-des bibliothèques partagées, c'est une bonne idée que la bibliothèque ne contienne
-pas des fichiers supplémentaires sans version, à moins qu'ils soient placés dans
-des répertoires qui ont une version.
-</p></footnote>
-Le mécanisme le plus courant est de mettre la bibliothèque dans un paquet
-appelé <package><var>nom-de-bibliothèque</var><var>version-so</var></package>,
-où <file><var>version-so</var></file> est le numéro de version du nom-so de la
-bibliothèque partagée <footnote>
-<p>
-Le nom-so est le nom du fichier objet partagé&nbsp;: c'est ce qui, entre le moment
-de la construction de l'exécutable et celui de son fonctionnement, doit être
-exactement le même pour que l'éditeur des liens dynamiques soit capable de
-faire marcher le programme. Par exemple, si le nom-so de la bibliothèque est
-<tt>libfoo.so.6</tt>, le paquet de la bibliothèque sera appelé
-<tt>libfoo6</tt>.</p>
- </footnote>
-Quand cela amène de la confusion d'ajouter directement <var>version-so</var>
-à <var>nom-de-bibliothèque</var> (par exemple, quand
-<var>nom-de-bibliothèque</var> se termine lui-même par un numéro), on peut
-aussi utiliser à la place
-<package><var>nom-de-bibliothèque</var>-<var>version-so</var></package> et
-<package><var>nom-de-bibliothèque</var>-<var>version-so</var>-dev</package>.
-</p>
-
- <p>
-Si votre paquet comprend des programmes d'aide exécutables que les utilisateurs
-n'ont pas besoin d'appeler eux-mêmes, mais qui sont néammoins nécessaires au
-fonctionnement du paquet, il est recommandé de placer ces programmes
-(si ce sont des binaires) dans un répertoire de <file>/usr/lib</file>,
-de préférence sous <file>/usr/lib/</file><var>nom-de-paquet</var>.
-Si les programmes ne dépendent pas de l'architecture, il est recommandé de les placer
-dans un répertoire de <file>/usr/share</file>, de préférence sous
- <file>/usr/share/</file><var>nom-de-paquet</var>.
- </p>
-
-
- <p>
-Si vous construisez plusieurs bibliothèques partagées à partir d'un même
-arbre de sources, vous pouvez les regrouper dans le même paquet de
-bibliothèques, sachant que vous devrez changer tous leurs nom-so
-simultanément (pour éviter des conflits de noms de fichiers lors de
-l'installation de différentes versions de ce paquet).
-</p>
-<p>
-Une paquet installera les bibliothèques partagées sous
-leurs vrais noms. Par exemple, le paquet <package>libgdbm3</package>
-installera <file>libgdbm.so.3.0.0</file> en tant que
-<file>/usr/lib/libgdbm.so.3.0.0</file>.
-Aucun script <prgn>prerm</prgn> ou <prgn>postrm</prgn> ne changera le nom de
-ces fichiers ni ne créera de lien pour ces fichiers&nbsp;;
-<prgn>dpkg</prgn> s'occupe des changements de nom et cela, sans troubler les
-programmes en fonctionnement.
-Essayer d'interférer avec ce système crée des problèmes.
- </p>
-
-<p>
-Les bibliothèques partagées ne doivent pas être installées comme exécutables,
-puisque l'éditeur de liens dynamiques ne le demande pas et que tenter
-d'exécuter une bibliothèque partagée se traduit par un <em>core dump</em>.
-</p>
-
-<p>
-Le paquet de la bibliothèque partagée comportera le lien symbolique que
-<prgn>ldconfig</prgn> voudra créer pour les bibliothèques partagées. Par
-exemple, le paquet <package>libgdbm3</package> inclura un lien symbolique de
-<file>/usr/lib/libgdbm.so.3</file> vers <file>libgdbm.so.3.0.0</file>. C'est
-nécessaire pour que l'éditeur des liens dynamiques (<prgn>ld.so</prgn> ou
-<prgn>ld-linux.so.*</prgn>) puisse trouver la bibliothèque entre le
-moment où <prgn>dpkg</prgn> l'installe et celui où <prgn>ldconfig</prgn> est
-exécuté par le script <prgn>postinst</prgn> <footnote>
-<p>
-Le système de gestion des paquets demande que la bibliothèque soit placée avant
-le lien symbolique qui pointe vers elle dans le fichier <tt>.deb</tt>. Ainsi,
-avant que <prgn>dpkg</prgn> n'installe le lien symbolique (en remplaçant le
-lien précédent qui pointe sur une version plus ancienne de la bibliothèque),
-la nouvelle bibliothèque est déjà en place. Par le passé, on créait la
-bibliothèque dans le répertoire temporaire où l'on faisait le paquet avant de
-créer le lien symbolique. Malheureusement, cela ne marchait pas toujours car
-la construction du fichier <em>tar</em> pour le fichier <tt>.deb</tt>
-dépendait du système de fichier sous-jacent. Des systèmes de fichiers (comme
-reiserfs) réordonne les fichiers de sorte que l'ordre dans lequel on les crée
-est oublié. Avec sa version 1.7.0, <prgn>dpkg</prgn> réordonne,
-si nécessaire, les fichiers lors de la construction d'un paquet. Et il n'est
-plus nécessaire de se préoccuper de l'ordre de création des fichiers.
-</p>
-</footnote>.
- </p>
-
- <sect1 id="ldconfig">
- <heading><tt>ldconfig</tt></heading>
-
-<p>
-Tout paquet qui installe des bibliothèques partagées dans l'un des
-répertoires par défaut de l'éditeur de liens dynamiques, (actuellement,
-<tt>/usr/lib</tt> et <tt>/lib</tt>) ou dans un répertoire listé par
-<tt>/etc/ld.so.conf</tt>
-<footnote>
-<p>
-Les voici :
- <list compact="compact">
- <item><p>/usr/local/lib</p></item>
- <item><p>/usr/lib/libc5-compat</p></item>
- <item><p>/lib/libc5-compat</p></item>
- </list>
- </p>
- </footnote>
-doit utiliser <prgn>ldconfig</prgn> pour mettre à jour le système des
-bibliothèques partagées.
- </p>
-<p>
-Les scripts de responsable de paquet ne doivent appeler <prgn>ldconfig</prgn>
-que dans ces circonstances&nbsp;:
- <list compact="compact">
- <item>quand le script <prgn>postinst</prgn> est exécuté avec comme
- premier paramètre <tt>configure</tt>, le script doit appeler
- <prgn>ldconfig</prgn> et peut facultativement appeler
- <prgn>ldconfig</prgn> à d'autres moments.
- </item>
- <item>quand le script <prgn>postrm</prgn> est exécuté avec comme
- premier paramètre <tt>remove</tt>, le script devrait appeler
- <prgn>ldconfig</prgn>.
- </item>
- </list>
- <footnote>
-<p>
-Pendant une installation ou une mise à jour, le script preinst est appelé
-avant que de nouveaux fichiers ne soient installés&nbsp;: appeler
-«&nbsp;ldconfig&nbsp;» est inutile. Le script preinst d'un paquet existant
-peut aussi être appelé en cas d'échec de la mise à jour. Cela arrive cependant
-au moment critique où une bibliothèque partagée existe sur le disque sous un
-nom temporaire. Ainsi, il est dangereux, et c'est interdit par la Charte,
-d'appeler «&nbsp;ldconfig&nbsp;» à ce moment.
-</p>
-<p>
-Lors de l'installation ou la mise à jour d'un paquet, le script
-«&nbsp;postinst configure&nbsp;» s'exécute après que
-les nouveaux fichiers ont été installés de façon certaine sur le disque.
-Puisqu'on peut parfaitement appeler sans condition ldconfig dans un postinst,
-un paquet peut mettre ldconfig dans son postinst sans vérifier les arguments.
-Le script postinst peut aussi être appelé lors d'un essai de récupération après
-l'échec d'une mise à jour. Cela arrive avant que les nouveaux fichiers ne
-soient dépaquetés&nbsp;: il n'y a donc pas besoin d'appeler
-«&nbsp;ldconfig&nbsp;» à ce moment.
- </p>
-<p>
-Lors de la suppression d'un paquet, le script prerm est appelé alors que tous
-les fichiers sont intacts&nbsp;: appeler «&nbsp;ldconfig&nbsp;» est inutile.
-Les autres appels de «&nbsp;prerm&nbsp;» se passent lors d'une mise à jour,
-quand tous les fichiers de l'ancien paquet sont sur le disque, et, encore une
-fois, appeler «&nbsp;ldconfig&nbsp;» est inutile.
- </p>
-<p>
-D'un autre côté, le script postrm est appelé avec l'argument <em>remove</em>
-juste après que les fichiers ont été supprimés&nbsp;: c'est le moment idéal
-pour appeler «&nbsp;ldconfig&nbsp;» et notifier ainsi au système la
-suppression des bibliothèques partagées appartenant au paquet. Le
-script postrm peut être appelé à plusieurs moments. Lors de
-«&nbsp;postrm purge&nbsp;», de «&nbsp;postrm abort-install&nbsp;» ou de
-«&nbsp;postrm abort-upgrade&nbsp;», appeler «&nbsp;ldconfig&nbsp;» est
-inutile parce que les fichiers de la bibliothèque partagée ne sont pas sur
-le disque. Cependant, lorsque le script postrm est appelé avec les arguments
-«&nbsp;upgrade&nbsp;», «&nbsp;failed-upgrade&nbsp;» ou «&nbsp;disappear&nbsp;»,
-la bibliothèque partagée peut exister sur le disque sous un nom temporaire.
- </p>
- </footnote>.
- </p>
- </sect1>
-
- </sect>
-
-<sect id="sharedlibs-runtime-progs">
- <heading>Les programmes d'aide au fonctionnement</heading>
-
- <p>
-Si votre paquet contient des programmes d'aide au fonctionnement
-qui utilisent la bibliothèque partagée, vous ne devez pas les mettre dans le
-paquet de la bibliothèque partagée. Si vous le faites, vous ne pourrez pas
-installer plusieurs versions de la bibliothèque sans créer des conflits
-de noms de fichiers.
- </p>
-<p>
-À la place, vous pouvez soit créer un autre paquet pour ces binaires
-fonctionnels (le paquet peut s'appeler
-<package><var>nom-de-bibliothèque</var>-runtime</package> -- notez l'absence
-de <var>version-so</var> dans le nom du paquet), soit
-inclure ces binaires dans le paquet de développement si celui-ci est petit.
-</p>
- </sect>
-
- <sect id="sharedlibs-static">
- <heading>Les bibliothèques statiques</heading>
-
- <p>
-Une bibliothèque statique (<file><var>nom-de-bibliothèque.a</var></file>)
-accompagne généralement la version partagée&nbsp;; elle est placée dans le
-paquet de développement. Voyez plus bas.
- </p>
- <p>
-Dans les cas suivants, il est acceptable qu'une bibliothèque ne soit
-disponible que sous sa forme statique&nbsp;:
- <list>
- <item>
-<p>
-
-bibliothèque pour langage dont la version partagée est immature ou
-instable&nbsp;;</p>
- </item>
- <item>
- <p>
-bibliothèque dont l'interface change constamment ou est en développement
-(c'est le cas pour une bibliothèque dont le numéro majeur de version est zéro,
-ou dont la compatibilité binaire (<em>ABI</em>) n'est pas assurée pour des
-niveaux de patch différents)&nbsp;;
- </p>
- </item>
- <item>
- <p>
-bibliothèque explicitement prévue pour n'être disponible que sous une forme
-statique par ses auteurs.
- </p>
- </item>
- </list>
-
- <sect id="sharedlibs-dev">
- <heading>Les fichiers de développement</heading>
-
- <p>
-Les fichiers de développement associés à une bibliothèque partagée seront
-placés dans un paquet appelé
-<package><var>nom-de-bibliothèque</var><var>version-so</var>-dev</package>,
-ou, si vous préférez ne gérer qu'une version de développement à la fois,
-<package><var>nom-de-bibliothèque</var>-dev</package>.
- </p>
-<p>
-Quand plusieurs versions de développement existent, vous pouvez utiliser le
-mécanisme de gestion des conflits de <prgn>dpkg</prgn> (voir
-<ref id="conflicts">) pour vous assurer que l'utilisateur ne peut installer
-qu'une seule version de développement à la fois. Plusieurs versions de
-développement auront sans doute les mêmes fichiers d'en-tête, ce qui créera
-un conflit de nom en cas d'installation multiple.
- </p>
-
-<p>
-Le paquet de développement contiendra un lien symbolique vers la
-bibliothèque partagé qui lui est associée sans le numéro de version.
-Par exemple, le paquet <package>libgdbm-dev</package> fera un lien de
-<file>/usr/lib/libgdbm.so</file> vers <file>libgdbm.so.3.0.0</file>.
-L'éditeur de liens (<prgn>ld</prgn>) a besoin de ce lien pour la compilation
-des programmes car il ne recherche que <file>libgdbm.so</file> lors
-d'une compilation dynamique.
- </p>
- </sect>
-
- <sect id="sharedlibs-intradeps">
- <heading>Les dépendances entre les paquets d'une même bibliothèque</heading>
-
- <p>
-La version de développement aura une dépendance sur une version précise
-de la bibliothèque partagée afin que la compilation et l'édition de liens
-s'effectuent correctement. La variable de substitution
-<tt>${Source-Version}</tt> peut être utile dans ce cas.
-</p>
-
- </sect>
-
- <sect id="sharedlibs-shlibdeps">
- <heading>Les dépendances entre une bibliothèque et les paquets -
- le système <tt>shlibs</tt></heading>
-
-<p>
-Quand un paquet contient un binaire ou une bibliothèque liés à une
-bibliothèque partagée, on doit s'assurer que, lors de l'installation de ce
-paquet sur le système, toutes les bibliothèques nécessaires sont aussi
-installées. Cela a conduit à la création du système <tt>shlibs</tt>&nbsp;; de
-conception très simple, ce système demande que tout paquet qui fournit
-(champ <em>provides</em>) une bibliothèque partagée donne aussi les
-informations de dépendance nécessaires à la présence de cette
-bibliothèque&nbsp;;
-ainsi tout paquet qui <em>utilise</em> une bibliothèque partagée, utilise
-ces informations pour connaître les dépendances requises. Les fichiers qui
-contiennent les relations entre les bibliothèques partagées et les
-informations sur les dépendances nécessaires sont les fichiers <tt>shlibs</tt>.
- </p>
-<p>
-Ainsi, quand on construit un paquet contenant une bibliothèque partagée,
-on doit fournir un fichier <tt>shlibs</tt> utilisable par d'autres
-paquets&nbsp;;
-et quand on construit un paquet contenant une bibliothèque partagée ou un
-binaire compilé, ce paquet doit exécuter
-<qref id="pkg-dpkg-shlibdeps"><prgn>dpkg-shlibdeps</prgn></qref> pour
-ces programmes de manière à connaître les bibliothèques utilisées et donc
-les dépendances nécessaires à ce paquet <footnote>
-<p>
-Par le passé, on appelait <prgn>ldd</prgn> pour connaître les bibliothèques
-partagées requises&nbsp;; maintenant on appelle <prgn>objdump</prgn>. Le seul
-changement dans la manière de construire un paquet est que l'on doit aussi
-exécuter <prgn>dpkg-shlibdeps</prgn> sur les bibliothèques partagées, alors
-qu'avant ce n'était pas nécessaire. La suite de cette note explique les
-avantages de cette méthode.
-</p>
-<p>
-Un binaire <tt>foo</tt> utilise <em>directement</em> la bibliothèque
-<tt>libbar</tt> quand il est lié explicitement à cette bibliothèque (c'est à
-dire qu'il utilise le drapeau <tt>-lbar</tt> pendant la phase de liaison). Les
-autres bibliothèques dont <tt>libbar</tt> a besoin sont liées
-<em>indirectement</em> à <tt>foo</tt>, et l'éditeur de liens dynamiques les
-charge automatiquement quand il charge <tt>libbar</tt>. Un paquet dépendra
-des bibliothèques qu'il utilise directement, et les dépendances
-de ces bibliothèques amèneront automatiquement les autres bibliothèques.
-</p>
-<p>
-Malheureusement, le programme <prgn>ldd</prgn> indique toutes les
-bibliothèques, celles directement utilisées et celles indirectement utilisées&nbsp;;
-ce qui signifie que les dépendances comportent des dépendances directes et
-indirectes. Avec <prgn>objdump</prgn>, on évite ce problème en
-indiquant seulement les bibliothèques directement utilisées.
-</p>
-<p>
-Voici un exemple qui montre l'intérêt de ce système&nbsp;: on pourrait mettre à
-jour <tt>libimlib</tt> avec une version qui accepte le nouveau format
-graphique <em>dgf</em> (tout en gardant le même numéro majeur de version). En
-utilisant l'ancienne méthode <prgn>ldd</prgn>, chaque paquet qui se sert de
-<tt>libimlib</tt> devrait être recompilé pour qu'il dépende aussi de
-<tt>libdgf</tt>, sinon il ne marcherait pas à cause de symboles manquants.
-Mais, avec le nouveau système, les paquets qui se servent de
-<tt>libimlib</tt> peuvent dépendre simplement de <tt>libimlib</tt> qui
-possède elle-même la dépendance envers <tt>libdgf</tt> et ils n'auront pas
-besoin d'être mis à jour.
- </p>
-</footnote>.
- </p>
-<p>
-Les sections suivantes décrivent l'emplacement des différents fichiers
-<tt>shlibs</tt>, la façon d'utiliser le programme <prgn>dpkg-shlibdeps</prgn>,
-et le format du fichier <tt>shlibs</tt> ainsi que la façon de créer ces
-fichiers quand un paquet contient une bibliothèque partagée.
-</p>
-
-<sect1><heading>Les fichiers <tt>shlibs</tt> sur le système</heading>
-<p>
-On peut trouver des fichiers <tt>shlibs</tt> à plusieurs endroits. La liste
-suivante les donne dans l'ordre selon lequel
-<qref id="pkg-dpkg-shlibdeps"><prgn>dpkg-shlibdeps</prgn></qref> les
-a lus. Le premier qui donne l'information demandée est utilisé.
-</p>
-<p>
- <list>
- <item>
- <p><file>debian/shlibs.local</file></p>
- <p>
-Cela donne les remplacements à faire pour ce paquet. Son usage est décrit
-plus bas (<ref id="shlibslocal">).
- </p>
- </item>
- <item>
- <p><file>/etc/dpkg/shlibs.override</file></p>
- <p>
-Cela donne les remplacements à faire pour tout le système. Cette liste,
-maintenue par l'administrateur local, est normalement vide.
- </p>
- </item>
- <item>
- <p>Les fichiers <file>DEBIAN/shlibs</file> dans le « répertoire
-de construction »</p>
- <p>
-Quand on construit un paquet, tous les fichiers <file>debian/shlibs</file> sont
-copiés dans le répertoire temporaire de construction avec comme nom
-<file>shlibs</file>. Ces fichiers donnent des renseignements sur toutes les
-bibliothèques partagées contenues dans le paquet <footnote>
-<p>
-Un exemple nous aidera&nbsp;: supposons que le paquet source <tt>foo</tt> produit
-deux paquets binaires, <tt>libfoo2</tt> et <tt>foo-runtime</tt>. Pour la
-construction de ces paquets, on utilise les répertoires <tt>debian/libfoo2</tt>
-et <tt>debian/foo-runtime</tt> respectivement (on pourrait utiliser
-<tt>debian/tmp</tt> à la place de l'un des deux). Puisque <tt>libfoo2</tt>
-fournit la bibliothèque partagée <tt>libfoo</tt>, il demandera un fichier
-<tt>shlibs</tt> qui sera installé dans <tt>debian/libfoo2/DEBIAN/shlibs</tt>,
-et deviendra finalement <tt>/var/lib/dpkg/info/libfoo2.shlibs</tt>. Maintenant,
-quand on exécute <prgn>dpkg-shlibdeps</prgn> pour l'exécutable
-<tt>debian/foo-runtime/usr/bin/foo-prog</tt>, <prgn>dpkg-shlibdeps</prgn>
-examine le fichier <tt>debian/libfoo2/DEBIAN/shlibs</tt> pour savoir si les
-dépendances de <tt>foo-prog</tt> en ce qui concerne les bibliothèques
-sont satisfaites par les bibliothèques fournies par <tt>libfoo2</tt>. Pour
-cette raison, on ne doit exécuter <prgn>dpkg-shlibdeps</prgn> qu'après que
-tous les fichiers <tt>shlibs</tt> de chaque paquet binaire ont été installés
-dans le répertoire de construction.
- </p>
-</footnote>.
- </p>
- </item>
- <item>
- <p><file>/var/lib/dpkg/info/*.shlibs</file></p>
- <p>
-Ce sont tous les fichiers <file>shlibs</file> de tous les paquets installés
-sur le système&nbsp;; ils sont maintenus par les responsables des paquets concernés.
- </p>
- </item>
- <item>
- <p><file>/etc/dpkg/shlibs.default</file></p>
- <p>
-Ce fichier liste toutes les bibliothèques partagées dont les paquets n'ont
-pas pu fournir de fichiers <tt>shlibs</tt> corrects. Il était utilisé quand
-on a introduit le système <tt>shlibs</tt> pour la première fois&nbsp;; il est
-maintenant normalement vide. Il est maintenu par le responsable de
-<tt>dpkg</tt>.
- </p>
- </item>
- </list>
- </p>
- </sect1>
-
-<sect1>
-<heading>Comment utiliser <prgn>dpkg-shlibdeps</prgn> et les fichiers <file>shlibs</file>&nbsp;? </heading>
-
-<p>
-Placez un appel au programme
-<qref id="pkg-dpkg-shlibdeps"><prgn>dpkg-shlibdeps</prgn></qref> dans le
-fichier <tt>debian/rules</tt>. Si le paquet contient seulement des binaires
-compilés et des bibliothèques (mais pas de scripts), on peut utiliser la
-commande&nbsp;:
- <example compact="compact">
-dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \
- debian/tmp/usr/lib/*
- </example>
-Sinon, on devra explicitement lister les binaires compilés et les bibliothèques
-<footnote>
-<p>
-Quand on utilise <tt>debhelper</tt>, le programme <prgn>dh_shlibdeps</prgn>
-fera le nécessaire pour vous. Il gérera convenablement les paquets avec
-plusieurs binaires.</p>
-</footnote>.
-</p>
-<p>
-Cette commande place les informations sur les dépendances dans le fichier
-<file>debian/substvars</file>, qui est ensuite utilisé par
-<prgn>dpkg-gencontrol</prgn>. Vous devrez placer une variable
-<tt>${shlibs:Depends}</tt> dans le champ <tt>Depends</tt> du fichier de
-contrôle pour que cela marche.
-</p>
-<p>
-Si <prgn>dpkg-shlibdeps</prgn> ne se plaint pas, c'est bon. Sinon, vous
-pourriez avoir besoin de créer un fichier <file>debian/shlibs.local</file>,
-comme expliqué plus bas (<ref id="shlibslocal">).
-</p>
-<p>
-Si vous avez des paquets contenant plusieurs binaires, vous devrez appeler
-<prgn>dpkg-shlibdeps</prgn> sur tous ceux qui ont des binaires compilés et des
-bibliothèques. Dans ce cas, vous aurez besoin de l'option <tt>-T</tt> des
-outils <tt>dpkg</tt> pour spécifier un fichier <tt>substvars</tt> différent.
-</p>
- <p>
-Veuillez consulter <ref id="pkg-dpkg-shlibdeps"> et
- <manref name="dpkg-shlibdeps" section="1"> pour des précisions
-sur le programme dpkg-shlibdeps.
- </p>
-
- </sect1>
-
-<sect1 id="shlibs"><heading>Le format du fichier <file>shlibs</file></heading>
-
-<p>
-Chaque fichier <file>shlibs</file> possède le même format. Les lignes
-commençant par <tt>#</tt> sont des commentaires et sont ignorées. Chaque
-ligne est de la forme&nbsp;:
- <example compact="compact">
-<var>nom-de-bibliothèque</var> <var>nomso-version-numéro</var> <var>dépendances ...\</var>
- </example>
- </p>
-<p>
-Nous allons expliquer cette ligne en prenant comme exemple le paquet
-<tt>zlib1g</tt>, qui, au moment où est écrit ce texte, installe la
-bibliothèque partagée <tt>/usr/lib/libz.so.1.1.3</tt>.
- </p>
-<p>
-<var>nom-de-bibliothèque</var> est le nom de la bibliothèque partagée, dans
-ce cas&nbsp;: <tt>libz</tt>. Cela doit correspondre à la partie « nom » du
-<em>nomso</em>, voyez plus bas.
- </p>
-<p>
-<var>nomso-version-numéro</var> est la partie version du <em>nomso</em> de la
-bibliothèque. Le <em>nomso</em> est ce qui doit coller exactement pour que la
-bibliothèque soit reconnue par l'éditeur des liens dynamiques, et il est habituellement
-de la forme&nbsp;: <tt><var>nom</var>.so.<var>version-numéromajeur</var></tt>,
-et dans ce cas <tt>libz.so.1</tt><footnote>
-<p>
-La commande suivante peut le déterminer&nbsp;:
- <example compact="compact">
-objdump -p /usr/lib/libz.so.1.1.3 | grep SONAME
- </example>
-</p>
-</footnote>.
-La partie version est la partie qui suit <tt>.so.</tt>, et donc ici&nbsp;:
-<tt>1</tt>.
- </p>
-<p>
-<var>dépendances</var> possède le même format qu'un champ de dépendances dans
-le fichier de contrôle d'un paquet binaire. Cette partie donnera des
-renseignements sur les paquets qui sont demandés pour compiler un binaire
-avec la version de la bibliothèque contenue dans le paquet. Voir
-<ref id="depsyntax"> pour des précisions.
- </p>
-<p>
-Dans notre exemple, si la première version du paquet <tt>zlib1g</tt>, contenant
-un numéro mineur égal à au moins <tt>1.3</tt>, était de <var>1:1.1.3-1</var>,
-alors l'entrée <tt>shlibs</tt> pour cette bibliothèque pourra énoncer&nbsp;:
- <example compact="compact">
-libz 1 zlib1g (>= 1:1.1.3)
- </example>
-La dépendance pour une version particulière sert à éviter les avertissements
-de l'éditeur de liens dynamiques au sujet de l'utilisation d'anciennes
-bibliothèques avec des binaires plus récents.
-</p>
- </sect1>
-
-<sect1><heading>Comment créer un fichier <file>shlibs</file> ?</heading>
-<p>
-Si le paquet fournit une bibliothèque partagée, vous devez créer un fichier
-<file>shlibs</file> en suivant le format décrit plus haut. Habituellement,
-on le nomme <file>debian/shlibs</file> (mais si le paquet contient plusieurs
-binaires, on pourra l'appeler <tt>debian/shlibs.<var>package</var></tt>).
-Puis on laissera <file>debian/rules</file> l'installer dans la zone de
-contrôle&nbsp;:
- <example compact="compact">
-install -m644 debian/shlibs debian/tmp/DEBIAN
- </example>
-ou, en cas de paquet avec de multiples binaires&nbsp;:
- <example compact="compact">
-install -m644 debian/shlibs.<var>package</var> debian/<var>package</var>/DEBIAN/shlibs
- </example>
-Une autre façon de faire est de créer directement le fichier <tt>shlibs</tt>
-dans la zone de contrôle à partir du fichier <tt>debian/rules</tt> sans
-utiliser un fichier <tt>debian/shlibs</tt><footnote>
-<p>
-C'est ce que fait <prgn>dh_makeshlibs</prgn> de la suite <tt>debhelper</tt>.
-</p>
-</footnote>,
-puisque le fichier <tt>debian/shlibs</tt> lui-même est ignoré par le
-programme <prgn>dpkg-shlibdeps</prgn>.
-</p>
-<p>
-Comme <prgn>dpkg-shlibdeps</prgn> lit tous les fichiers <tt>DEBIAN/shlibs</tt>
-de tous les paquets binaires construits à partir du paquet source, tous les
-fichiers <tt>DEBIAN/shlibs</tt> seront installés avant d'appeler
-<prgn>dpkg-shlibdeps</prgn> pour chaque paquet binaire.
- </p>
- </sect1>
-
-<sect1 id="shlibslocal">
-<heading>Comment écrire le fichier <file>debian/shlibs.local</file> ?</heading>
-
-<p>
-Ce fichier est prévu seulement pour une correction temporaire quand les
-binaires ou les bibliothèques dépendent d'une bibliothèque pour laquelle
-aucun fichier <tt>shlibs</tt> correct n'est produit par le paquet.
- </p>
-<p>
-Nous supposons que vous essayez de créer un paquet binaire <tt>foo</tt>. Quand
-vous essayez d'exécuter <prgn>dpkg-shlibdeps</prgn>, vous obtenez le message
-d'erreur suivant (l'option <tt>-O</tt> affiche les informations de
-dépendance sur <tt>stdout</tt> au lieu de les écrire dans le fichier
-<tt>debian/substvars</tt>, et les lignes ont été enveloppées pour faciliter
-la lecture)&nbsp;:
- <example compact="compact">
-$ dpkg-shlibdeps -O debian/tmp/usr/bin/foo
-dpkg-shlibdeps: warning: unable to find dependency
- information for shared library libbar (soname 1,
- path /usr/lib/libbar.so.1, dependency field Depends)
-shlibs:Depends=libc6 (>= 2.2.2-2)
- </example>
-Vous pouvez alors exécuter <prgn>ldd</prgn> sur le binaire pour trouver
-l'emplacement exact de la bibliothèque en question&nbsp;:
- <example compact="compact">
-$ ldd foo
-libbar.so.1 => /usr/lib/libbar.so.1 (0x4001e000)
-libc.so.6 => /lib/libc.so.6 (0x40032000)
-/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
- </example>
-Ainsi le binaire <prgn>foo</prgn> dépend de la bibliothèque partagée
-<prgn>libbar</prgn>, mais aucun paquet ne donne un fichier <tt>*.shlibs</tt>
-qui gère <tt>libbar.so.1</tt> dans <tt>/var/lib/dpkg/info/</tt>. Déterminons
-le paquet responsable&nbsp;:
- <example compact="compact">
-$ dpkg -S /usr/lib/libbar.so.1
-bar1: /usr/lib/libbar.so.1
-$ dpkg -s bar1 | grep Version
-Version: 1.0-1
- </example>
-Ce qui nous indique que le paquet <tt>bar1</tt>, version <tt>1.0-1</tt>, est
-celui qu'on utilise. Maintenant nous pouvons envoyer un rapport de bogue
-contre le paquet <tt>bar1</tt> et créer notre propre fichier
-<tt>debian/shlibs.local</tt> pour corriger localement le problème évoqué.
-Insérer la ligne suivante dans le fichier <tt>debian/shlibs.local</tt>&nbsp;:
- <example compact="compact">
-libbar 1 bar1 (>= 1.0-1)
- </example>
-permettra la construction du paquet.
-</p>
-<p>
-Dès que le responsable de <tt>bar1</tt> fournit un fichier <tt>shlibs</tt>
-correct, vous supprimerez cette ligne dans le fichier
-<tt>debian/shlibs.local</tt>. Vous aurez sans doute aussi un champ
-<tt>Build-Depends</tt> concernant les versions pour <tt>bar1</tt> de
-manière à s'assurer que d'autres n'aient pas le même problème pour
-construire votre paquet.
- </p>
- </sect1>
- </sect>
- </chapt>
-
-<chapt id="opersys">
-<heading>Le système d'exploitation</heading>
-
-
- <sect>
- <heading>La hiérarchie du système de fichiers</heading>
-
-
- <sect1 id="fhs">
- <heading>La structure du système de fichiers</heading>
-
- <p>
-L'emplacement de tous les répertoires et fichiers installés
-doit être conforme au standard sur la hiérarchie du système de fichiers
-(FHS, version&nbsp;2.3), avec les exceptions notées ci-dessous et sauf si cela
-va à l'encontre d'un principe de la charte Debian.
-Les exceptions suivantes au FSH s'appliquent&nbsp;:
- <enumlist>
- <item>
- <p>
- Les serveurs XFree86 historiques sont autorisés à conserver
- l'emplacement du fichier de configuration
- <file>/etc/X11/XF86Config-4</file>.
- </p>
- </item>
- <item>
- <p>
- Les règles optionnelles relatives aux fichiers de
- configuration spécifiques à l'utilisateurs pour les
- applications sont stockées dans le répertoire personnel de
- l'utilisateur sont réduites. Il est recommandé que de tels
- fichiers commencent par un point («&nbsp;fichier caché&nbsp;»)
- et si une application a besoin de créer plus d'un fichier
- caché, alors l'emplacement préféré est dans un sous-répertoire
- dont le nom commence par un point («&nbsp;répertoire
- caché&nbsp;»). Dans ce cas, il est recommandé que les fichiers
- de configuration ne commencent pas par un point.
- </p>
- </item>
- <item>
- <p>
- L'obligation pour amd64 d'utiliser <file>/lib64</file> pour
- les binaires 64&nbsp;bit est supprimée.
- </p>
- </item>
- <item>
- <p>
- L'obligation que <file>/usr/local/share/man</file> soit
- «&nbsp;synonyme&nbsp;» de <file>/usr/local/man</file> est
- réduite à une recommendation.</p>
- </item>
- <item>
- <p>
- L'obligation que les gestionnaires de fenêtres avec un seul
- fichier de configuration l'appelle <file>system.*wmrc</file>
- est supprimée, tout comme la restriction que le
- sous-répertoire du gestionnaire de fenêtres soit nommée de
- façon identique au nom du gestionnaire de fenêtres lui-même.
- </p>
- </item>
- <item>
- <p>
- L'obligation que les fichiers de configuration des
- gestionnaires d'amorçage soient placés sous <file>/etc</file>
- ou au moins aient un lien symbolique à cet endroit, est
- réduite à une recommendation.
- </p>
- </item>
- </enumlist>
-
- </p>
- <p>
-On peut trouver cette version du document dans le paquet
-<tt>debian-policy</tt> ou, avec ce manuel, sur
-<url id="https://www.debian.org/doc/packaging-manuals/fhs/" name="FHS (copie Debian)"> (ou, si le paquet <package>debian-policy</package> est installé, sur
-<url id="file:///usr/share/doc/debian-policy/fhs/" name="FHS (copie locale)">).
-La version la plus récente (ou simplement une plus récente) se trouve
-sur <url id="http://www.pathname.com/fhs/" name="FHS (amont)">.
-Toute question relative à la manière de suivre ce standard
-peut être posée dans la liste de diffusion
-<tt>debian-devel</tt> ou dans la liste consacrée au FHS (voyez, pour des
-renseignements supplémentaires,
-<url id="http://www.pathname.com/fhs/" name="le site web du FHS">).
-</p>
-</sect1>
-
- <sect1>
- <heading>Les programmes spécifiques à un site</heading>
-
- <p>
-Conformément au «&nbsp;FHS&nbsp;», aucun paquet ne doit placer de fichiers
-dans<tt>/usr/local</tt>, que ce soit en les mettant dans l'archive
-qui doit être dépaquetée par <prgn>dpkg</prgn> ou
-en les manipulant dans les scripts d'installation.
-</p>
- <p>
-Cependant, un paquet peut créer des répertoires vides sous <tt>/usr/local</tt>
-de manière que l'administrateur système ait un endroit où placer
-des fichiers locaux. Ce ne sont pas des répertoires directement <em>dans</em>
-<file>/usr/local</file>, mais des sous-répertoires de répertoires dans
-<file>/usr/local</file>. Si ces répertoires (<file>/usr/local/*/dir/</file>)
-sont vides, ils seront supprimés quand on supprime le paquet.
-</p>
-
- <p>
-On notera que cela ne s'applique qu'aux répertoires <em>sous</em>
-<tt>/usr/local</tt> et non pas <em>dans</em> <tt>/usr/local</tt>.
-Le répertoire <tt>/usr/local</tt> ne doit
-contenir lui-même que les répertoires listés dans le FHS,
-section 4.5. Cependant vous pouvez créer autant de répertoires que vous voulez
-sous ces répertoires. Vous ne devez pas supprimer
-les répertoires listés à la section 4.5, même si vous les avez créés.
-</p>
- <p>
-Comme <tt>/usr/local</tt> peut être monté depuis un serveur distant et
-n'autoriser que la lecture, on doit créer ces répertoires avec
-les scripts de post-installation, <prgn>postinst</prgn> et on doit les
-supprimer avec les scripts de pré-désinstallation, <prgn>prerm</prgn>&nbsp;;
-ils ne doivent pas être dans l'archive <tt>.deb</tt>.
-Ces scripts ne doivent pas échouer si l'une de ces opérations échoue.
-</p>
-
- <p>
-Par exemple, le paquet <tt>emacsen-common</tt> pourrait contenir
- <example compact="compact">
-if [ ! -e /usr/local/share/emacs ]
-then
- if mkdir /usr/local/share/emacs 2>/dev/null
- then
- chown root:staff /usr/local/share/emacs
- chmod 2775 /usr/local/share/emacs
- fi
-fi
- </example>
-dans le script <prgn>postinst</prgn>, et
- <example compact="compact">
-rmdir /usr/local/share/emacs/site-lisp 2>/dev/null || true
-rmdir /usr/local/share/emacs 2>/dev/null || true
- </example>
-dans le script <prgn>prerm</prgn>. Il faut remarquer qu'on utilise cette forme
-pour s'assurer que le répertoire <tt>/usr/local/share/emacs</tt> sera encore
-supprimé si le script est interrompu.
-</p>
-
- <p>
-Si vous créez un répertoire dans <tt>/usr/local</tt> pour
-ajouter des éléments à un paquet, vous vous assurerez que le paramétrage
-dans <tt>/usr/local</tt> sera prioritaire par rapport à celui dans
-<tt>/usr</tt>.
-</p>
-
- <p>
-Cependant, puisque <tt>/usr/local</tt> et son contenu sont réservés à
-l'administrateur local, un paquet ne doit pas compter sur la présence ou
-l'absence de fichiers ou répertoires dans <tt>/usr/local</tt>
-pour toute opération normale.
-</p>
-<p>Le répertoire <tt>/usr/local</tt> lui-même et tous les sous-répertoires
-créés par un paquet, auront (par défaut) les droits 2775 (modifiables et
-exécutables par le groupe (bit «&nbsp;set-group-id&nbsp;» positionné)). Ils
-doivent appartenir à <tt>root.staff</tt>.
-</p>
-</sect1>
-<sect1>
-<heading>Le répertoire commun pour le courrier</heading>
-<p>
-Le répertoire commun pour le courrier est <tt>/var/mail</tt>. Ce répertoire
-fait partie du système de base et il n'appartiendra à aucun opérateur de
-courrier particulier. L'utilisation de l'ancien répertoire
-<tt>/var/spool/mail</tt> est déconseillée, même si le courrier se trouve
-toujours physiquement là. Pour garder, lors d'une mise à jour, une
-compatibilité avec les systèmes qui utilisent <tt>/var/spool/mail</tt> comme
-répertoire de courrier, les paquets qui se servent de <tt>/var/mail</tt>
-doivent dépendre de <package>libc6</package> (&gt;= 2.1.3-13), ou bien de
-<package>base-files</package> (&gt;= 2.2.0), et des versions plus récentes
-de ces paquets.</p>
- </sect1>
-</sect>
-
- <sect>
- <heading>Les utilisateurs et les groupes</heading>
-
-<sect1>
-<heading>Introduction</heading>
- <p>
-Le système Debian est configuré pour utiliser soit les mots de passe
-ordinaires soit les mots de passe masqués («&nbsp;shadow password&nbsp;»).
-</p>
-
- <p>
-L'utilisation de quelques identifiants d'utilisateur (UID) et de groupe
-(GID) est réservée à certains paquets. Ces paquets ont besoin
-d'inclure des fichiers appartenant à ces utilisateurs ou à ces groupes,
-ou bien ont besoin de compiler des binaires avec ces identifiants&nbsp;; c'est
-pourquoi, sur tout système Debian, ces identifiants ne pourront être utilisés
-que dans un cadre prédéfini.
-C'est une restriction importante, et on évitera d'interférer avec des
-politiques particulières d'administration système. De nombreux sites
-notamment attribuent des utilisateurs ou des groupes systèmes spécifiques
-à partir de 100.
-</p>
-
- <p>
-En dehors de cet aspect, les identifiants seront attribués dynamiquement et
-seront rangés selon un ordre raisonnable mais qui peut être redéfini.
-</p>
- <p>
-Seul le paquet <tt>base-passwd</tt> a le droit de modifier
-<tt>/etc/passwd</tt>, <tt>/etc/shadow</tt>, <tt>/etc/group</tt>
-ou <tt>/etc/gshadow</tt>.
-</p>
- </sect1>
-<sect1><heading>Les classes d'« UID » et de « GID »</heading>
- <p>
-Les numéros des «&nbsp;UID&nbsp;» et des «&nbsp;GID&nbsp;» sont rangés en
-classes&nbsp;:
- <taglist>
- <tag>0-99 :</tag>
- <item>
- <p>
-Attribués en bloc par le projet Debian, ils doivent être identiques sur tout
-système Debian. Ces identifiants apparaîtront dans les fichiers
-<tt>passwd</tt> et <tt>group</tt> de tout système Debian, tout nouvel
-identifiant dans cet intervalle étant automatiquement ajouté quand le paquet
-<tt>base-passwd</tt> est mis à jour.
- </p>
-
- <p>
-Un paquet qui a besoin d'un identifiant UID ou GID unique et attribué de
-manière fixe utilisera cet intervalle&nbsp;; le responsable demandera
-son obtention au responsable de <tt>base-passwd</tt>.
- </p>
- </item>
-
- <tag>100-999 :</tag>
- <item>
- <p>
-Utilisateurs et groupes système attribués dynamiquement. Les paquets qui
-ont besoin d'un utilisateur ou d'un groupe et qui
-tolèrent que cet identifiant soit attribué dynamiquement et différemment
-sur chaque système, utiliseront <tt>adduser --system</tt>
-pour la création d'un tel groupe ou utilisateur.
-Le programme <prgn>adduser</prgn> vérifie qu'un tel groupe ou utilisateur
-n'existe pas déjà et utilise si nécessaire un autre identifiant dans
-l'intervalle spécifié par <tt>adduser.conf</tt>.
- </p>
-</item>
-
- <tag>1000-29999 :</tag>
- <item>
- <p>
-Comptes utilisateur attribués dynamiquement. Par défaut, <prgn>adduser</prgn>
-choisit les «&nbsp;UID&nbsp;» et les «&nbsp;GID&nbsp;» pour les comptes
-utilisateur dans cet intervalle, bien que <tt>adduser.conf</tt> puisse
-modifier ce comportement.
- </p>
-</item>
-
- <tag>30000-59999 :</tag>
- <item>
- <p>Usage réservé.</p></item>
-
-
- <tag>60000-64999 :</tag>
- <item>
- <p>
-Attribués en bloc par le projet Debian, mais ils ne sont créés
-qu'à la demande. Les identifiants sont attribués de manière fixe et centralisée
-mais les comptes ne sont effectivement créés sur le système qu'à la demande.
- </p>
-
- <p>
-Ces identifiants sont réservés à des paquets obscurs ou à des paquets qui
-demandent de nombreux identifiants attribués de manière fixe. Ces paquets
-doivent s'assurer de l'inexistence de ces comptes dans <tt>/etc/passwd</tt>
-ou dans <tt>/etc/group</tt> et les créer eux-mêmes si nécessaire (en utilisant
-si possible <prgn>adduser</prgn>).
-Les paquets qui risquent d'avoir besoin de davantage d'identifiants,
-se réserveront un intervalle d'attribution plus large que de besoin, laissant
-ainsi des possibilités de développement.
-</p>
-</item>
-
-
- <tag>65000-65533 :</tag>
- <item>
- <p>Usage réservé.</p></item>
-
-
- <tag>65534 :</tag>
- <item>
-<p>
-Utilisateur <tt>nobody</tt>. Le «&nbsp;gid&nbsp;» correspondant renvoie au
-groupe <tt>nogroup</tt>.
-</p>
-</item>
-
-
- <tag>65535 :</tag>
- <item>
- <p>
- <tt>(uid_t)(-1) == (gid_t)(-1)</tt>. <em>Ne doit pas</em> être
-utilisé car il s'agit de la valeur sentinelle pour retourner une erreur.
- </p>
- </item>
- </taglist>
- </p>
- </sect1>
-</sect>
-
- <sect id="sysvinit">
- <heading>Les niveaux de fonctionnement du système et les scripts dans <file>init.d</file></heading>
-
-
- <sect1 id="/etc/init.d">
- <heading>Introduction</heading>
-
- <p>
-Le répertoire <file>/etc/init.d</file> contient les scripts exécutés
-par <prgn>init</prgn> quand le système démarre et quand l'état
-de <prgn>init</prgn> (son «&nbsp;niveau de fonctionnement&nbsp;») est modifié
-(voir <manref name="init" section="8">).
-</p>
-
- <p>
-Il y a au moins deux façons, différentes mais fonctionnellement équivalentes,
-de se servir de ces scripts. Pour rester simple, on décrit ici la méthode des
-liens symboliques. Les scripts du responsable ne doivent cependant pas
-présumer que cette méthode est utilisée, et toute manipulation automatisée
-du comportement des différents niveaux de fonctionnement doit être faite
-avec le programme <prgn>update-rc.d</prgn> comme décrit plus bas, et non pas
-en créant ou en supprimant eux-même les liens symboliques.
-Voyez la documentation du paquet <tt>file-rc</tt> pour des renseignements sur
-la mise en ½uvre de l'autre méthode.
-</p>
-
- <p>
-Ces scripts sont référencés par des liens symboliques dans les
-répertoires <file>/etc/rc<var>n</var>.d</file>. Lorsque le niveau
-de fonctionnement change, <prgn>init</prgn> recherche les scripts qu'il doit
-exécuter dans le répertoire <file>/etc/rc<var>n</var>.d</file>, où
-<tt><var>n</var></tt> est soit le niveau de fonctionnement demandé, soit
-<tt>S</tt> pour le démarrage.
-</p>
- <p>
-Les noms de ces liens sont tous de la forme
-<file>S<var>mm</var><var>script</var></file> ou de la forme
-<file>K<var>mm</var><var>script</var></file>&nbsp;;
-<var>mm</var> est un nombre à deux chiffres et <var>script</var>
-est le nom du script (qui sera le même que le
-véritable script dans <tt>/etc/init.d</tt>).
-</p>
-
- <p>
-Lorsque <prgn>init</prgn> change de niveau de fonctionnement, il exécute
-d'abord les scripts référencés par les liens dont le nom commence
-par <tt>K</tt>, chacun avec un seul argument&nbsp;: <tt>stop</tt>. Puis
-<prgn>init</prgn> exécute les scripts préfixés par <tt>S</tt>, avec pour
-chacun un seul argument&nbsp;: <tt>start</tt>. (Les liens appartiennent au
-répertoire de <tt>/etc/rc<var>n</var>.d</tt> qui correspond au nouveau
-niveau de fonctionnement.) Les liens <tt>K</tt> sont chargés d'arrêter les
-services et les liens <tt>S</tt> de démarrer les services au démarrage du
-niveau de fonctionnement.
-</p>
- <p>
-Par exemple, pour passer du niveau 2 au niveau 3, <prgn>init</prgn>
-exécutera d'abord tous les scripts préfixés par <tt>K</tt> qu'il trouve dans
-<tt>/etc/rc3.d</tt>, puis tous les scripts de ce répertoire préfixés par
-<tt>S</tt>.
-Les liens qui commencent par <tt>K</tt> entraîneront l'exécution
-des scripts qu'ils référencent avec l'argument <tt>stop</tt> alors que les
-liens <tt>S</tt> entraîneront l'exécution des scripts avec
-l'argument <tt>start</tt>.
-</p>
-
- <p>
-Le nombre à deux chiffres <var>mm</var> est utilisé pour
-décider de l'ordre d'exécution des scripts&nbsp;: les scripts de numéros les
-plus faibles sont exécutés en priorité. Par exemple les scripts <tt>K20</tt>
-seront exécutés avant les scripts <tt>K30</tt>. Cela sert quand un service
-doit être démarré avant un autre. Par exemple, il peut être nécessaire de
-démarrer le serveur de noms <prgn>bind</prgn> avant le serveur de nouvelles
-<prgn>inn</prgn> afin que <prgn>inn</prgn> puisse
-positionner ses listes d'accès.
-Dans ce cas, le script de démarrage de <prgn>bind</prgn> doit
-avoir un numéro plus faible que le script qui démarre <prgn>inn</prgn>&nbsp;:
- <example compact="compact">
-/etc/rc2.d/S17bind
-/etc/rc2.d/S70inn
- </example>
-</p>
-
-<p>
-Les deux niveaux 0 (halt) et 6 (reboot) sont légèrement différents. Dans ces
-niveaux, les liens préfixés par <tt>S</tt> sont toujours appelés après les
-liens préfixés par <tt>K</tt>, mais ils sont aussi appelés avec l'unique
-argument <tt>stop</tt>.
- </p>
-<p>
-De plus, quand le nom du script se termine par <tt>.sh</tt>, le script sera
-créé dans le niveau <tt>S</tt> plutôt que d'être exécuté dans un sous-processus
-«&nbsp;forké&nbsp;», et dans tous les autres niveaux il sera exécuté par le
-programme <prgn>sh</prgn>.
- </p>
-
- </sect1>
-
- <sect1>
- <heading>L'écriture des scripts</heading>
-
- <p>
-Les paquets qui mettent en service des «&nbsp;démons&nbsp;» mettront des
-scripts dans <tt>/etc/init.d</tt> pour démarrer ou arrêter des services au
-moment de l'amorçage ou pour un changement du niveau de fonctionnement.
-Ces scripts seront nommés <tt>/etc/init.d/<var>paquet</var></tt> et ne
-doivent prendre qu'un seul argument, lequel indique ce qu'il faut faire :
-
- <taglist>
- <tag><tt>start</tt></tag>
- <item><p>démarrer le service,</p></item>
-
- <tag><tt>stop</tt></tag>
- <item><p>arrêter le service,</p></item>
-
- <tag><tt>restart</tt></tag>
- <item><p>arrêter et redémarrer le service s'il fonctionne déjà,
-sinon lancer le service</p></item>
-
- <tag><tt>reload</tt></tag>
- <item><p>chargement d'une nouvelle configuration
-du service sans réellement arrêter et redémarrer le service,
- </p>
-</item>
-
- <tag><tt>force-reload</tt></tag> <item><p>
-chargement d'une nouvelle configuration si le service le permet,
-sinon redémarrer le service.
- </p>
-</item>
- </taglist>
-
- Les options <tt>start</tt>, <tt>stop</tt>, <tt>restart</tt> et
-<tt>force-reload</tt> seront acceptées par tous les scripts
-de <tt>/etc/init.d</tt>&nbsp;; l'option <tt>reload</tt> est facultative.
-</p>
-
- <p>
-Les scripts de <tt>/etc/init.d</tt> doivent avoir un comportement raisonnable quand
-ils sont appelés avec l'option <tt>start</tt> alors que le service tourne
-déjà. Il en est de même pour l'option <tt>stop</tt> quand le service
-ne tourne pas. Ils ne doivent pas tuer des processus utilisateur
-appelés par mégarde.
-Le meilleur moyen est généralement d'utiliser <prgn>start-stop-daemon</prgn>.
-</p>
-<p>
-Quand un service recharge automatiquement sa configuration (comme
-c'est le cas de <prgn>cron</prgn> par exemple),
-l'option <tt>reload</tt> du script dans <tt>/etc/init.d</tt>
-se comportera comme si la configuration avait été rechargée avec succès.
-</p>
-
-<p>
-Les scripts dans <tt>/etc/init.d</tt> seront considérés comme des fichiers de
-configuration, soit en les marquant comme des <tt>conffile</tt>s (s'ils se
-trouvent dans le paquet, c'est-à-dire dans le fichier .deb), soit en les
-gérant correctement dans les scripts du responsable de paquet (s'ils ne sont
-pas présents dans le fichier .deb)&nbsp;: voyez <ref id="config-files">.
-C'est important car nous voulons laisser à
-l'administrateur système la possibilité d'adapter ces scripts à son système
-local&nbsp;&mdash; par exemple, désactiver un service sans désinstaller le paquet,
-ou bien spécifier des options particulières sur la ligne de commande au
-démarrage d'un service&nbsp;&mdash; tout en assurant que ses modifications ne seront
-pas perdues lors de la prochaine mise à jour du paquet.
-</p>
-
- <p>
-Ces scripts ne doivent pas échouer de façon obscure quand ils trouvent dans
-le système les fichiers de configuration d'un paquet supprimé&nbsp;; en effet par
-défaut, <prgn>dpkg</prgn> conserve ces fichiers de configuration et ne les
-supprime qu'avec l'option <tt>--purge</tt>. En particulier, comme le script
-<tt>init</tt> lui-même est un fichier de configuration (voir
-<ref id="/etc/init.d">), il reste sur le système quand le paquet est supprimé
-avec l'option <tt>remove</tt> et non pas avec l'option <tt>purge</tt>. C'est
-pourquoi vous inclurez une instruction de <tt>test</tt> au début du script,
-comme par exemple&nbsp;:
- <example compact="compact">
-test -f <var>programme-exécuté-plus-tard-dans-le-script</var> || exit 0
- </example>
-</p>
-<p>
- Dans les scripts <tt>init.d</tt>, il y a souvent des valeurs
-que l'administrateur voudra changer fréquemment. Modifier ces scripts qui
-sont souvent des <em>conffiles</em> demande que l'administrateur rajoute
-ses modifications à chaque mise à jour du paquet et à chaque modification
-des <em>conffiles</em>. Pour rendre la vie des administrateurs système moins
-dure, on ne placera pas de telles valeurs configurables directement dans le
-script mais plutôt dans un fichier <tt>/etc/default</tt> qui aura, de façon
-classique, le même nom que le script d'<tt>init.d</tt>. Ce
-fichier supplémentaire sera lu quand le script démarrera. Il doit seulement
-contenir les définitions des variables et des commentaires dans le format
-POSIX <prgn>sh</prgn>. Ce peut être aussi bien un <tt>conffile</tt> qu'un
-fichier de configuration maintenu avec les scripts du responsable de paquet.
-Voir <ref id="config-files"> pour des précisions.
-</p>
-
-<p>
-Pour s'assurer que des valeurs vitales sont toujours définies et disponibles,
-le script <file>init.d</file>, affectera, avant de lire le fichier
-<file>/etc/default/</file>, une valeur par défaut pour chaque variable du
-shell dont il se sert&nbsp;; soit avant de lire le fichier
-<file>/etc/default/</file>, soit après avoir utilisé une syntaxe
-de ce genre&nbsp;: <tt>${VAR:=default}</tt>. Et le script <file>init.d</file>
-doit se comporter raisonnablement et sans échec
-quand le fichier <file>/etc/default</file> est supprimé.
- </p>
- </sect1>
-
-
- <sect1>
- <heading>L'interfaçage avec le système d'initialisation par script</heading>
- <p>
-Les responsables de paquet utiliseront le modèle abstrait donné par les
-programmes <prgn>update-rc.d</prgn> et <prgn>invoke-rc.d</prgn> pour gérer
-la façon dont leurs scripts <prgn>postinst</prgn>, <prgn>prerm</prgn> ou
-<prgn>postrm</prgn> gèrent les scripts d'initialisation.
- </p>
-<p>
-La gestion directe des liens dans «&nbsp;/etc/rc?.d&nbsp;» et l'appel des
-scripts dans <file>/etc/init.d/</file> seront faits seulement par les paquets
-qui fournissent le sous-système d'initialisation (<prgn>sysv-rc</prgn> et
-<prgn>file-rc</prgn>).
- </p>
- <sect2>
- <heading>La gestion des liens</heading>
-<p>
-Avec le programme <prgn>update-rc.d</prgn>, les responsables de paquet peuvent
-gérer la création et la suppression des liens symboliques dans
-<tt>/etc/rc<var>n</var>.d</tt>, ou de leurs équivalents fonctionnels quand une
-autre méthode est employée.
-Les responsables de paquet peuvent s'en servir dans leurs scripts
-<prgn>postinst</prgn> et <prgn>postrm</prgn>.
-</p>
- <p>
-On ne doit pas inclure des liens symboliques dans le
-<tt>/etc/rc<var>n</var>.d</tt> du système réel, ni en créer ou en supprimer
-directement dans les scripts du responsable de paquet (cela échouera si le
-système d'information sur les niveaux de fonctionnement utilise une autre
-méthode)&nbsp;: on doit utiliser le programme <prgn>update-rc.d</prgn>. On ne
-doit pas non plus inclure les répertoires <tt>/etc/rc<var>n</var>.d</tt> dans
-l'archive. (Seul le paquet <tt>sysvinit</tt> peut le faire.)
-</p>
-<p>
-Par défaut, <prgn>update-rc.d</prgn> démarrera les serveurs
-dans chacun des niveaux de fonctionnement du système (2, 3, 4 et 5) pour le
-mode multi-utilisateurs et les arrêtera dans le niveau (0) mode arrêt,
-le niveau (1) mode mono-utilisateur et le niveau (6) mode redémarrage.
-L'administrateur système pourra paramétrer les
-niveaux de fonctionnement soit en ajoutant, supprimant ou déplaçant
-les liens symboliques contenus dans <tt>/etc/rc<var>n</var>.d</tt> si la
-méthode des liens symboliques est utilisée, soit en modifiant
-<tt>/etc/runlevel.conf</tt> quand on utilise la méthode <tt>file-rc</tt>.
-</p>
- <p>
-Pour obtenir le comportement par défaut pour votre paquet,
-mettez dans le script <prgn>postinst</prgn>&nbsp;:
-
- <example compact="compact">
-update-rc.d <var>paquet</var> defaults
- </example>
- et dans votre <prgn>postrm</prgn>
- <example compact="compact">
-if [ "$1" = purge ]; then
-update-rc.d <var>paquet</var> remove
-fi
- </example>
-Remarquez que si votre paquet change les niveaux de fonctionnement ou les
-priorités, il vous faudra supprimer les liens puis les recréer&nbsp;; sinon
-les liens précédents persisteraient. Référez-vous à la documentation de
-<prgn>update-rc.d</prgn>.
-</p>
- <p>
-Le numéro d'ordre d'exécution par défaut sera égal à 20. Si l'ordre ou
-le moment d'exécution du script <tt>init.d</tt> sont indifférents, utilisez
-cette valeur par défaut. S'ils sont importants, vous devez en discuter avec le
-responsable du paquet <prgn>sysvinit</prgn> ou envoyer
-un message à <tt>debian-devel</tt>. Ceci devrait vous
-aider à déterminer le numéro d'ordre d'exécution.
-</p>
- <p>
-Pour plus d'informations sur l'utilisation d'<tt>update-rc.d</tt>,
-veuillez consulter sa page de manuel
-<manref name="update-rc.d" section="8">.
-</p>
- </sect2>
- <sect2>
- <heading>Comment utiliser les scripts d'initialisation</heading>
- <p>
-Le programme <prgn>invoke-rc.d</prgn> facilite l'appel correct d'un script
-d'initialisation par les responsables de paquet&nbsp;; cela comprend le
-respect du niveau de fonctionnement et des contraintes définies localement
-qui pourraient limiter le droit au démarrage d'un paquet, ainsi que la gestion
-d'autres services. Les responsables de paquets peuvent utiliser ce programme
-dans leurs scripts.
- </p>
-<p>
-Les scripts du responsable de paquet doivent utiliser <prgn>invoke-rc.d</prgn>
-pour l'appel des scripts dans <file>/etc/init.d/*</file> au lieu de les appeler
-directement.
- </p>
- <p>
-Par défaut, <prgn>invoke-rc.d</prgn> passera toute demande d'action (start,
-stop, reload, restart...) au script <file>/etc/init.d</file> et filtrera les
-demandes de démarrage ou de redémarrage d'un service selon ses niveaux de
-fonctionnement prévus.
- </p>
- <p>
-La plupart des paquets auront simplement à changer
-<example compact="compact">/etc/init.d/&lt;package&gt;
- &lt;action&gt;</example>
-dans leurs scripts <prgn>postinst</prgn> et <prgn>prerm</prgn> pour&nbsp;:
-<example compact="compact">
- if which invoke-rc.d >/dev/null 2>&1; then
- invoke-rc.d <var>package</var> &lt;action&gt;
- else
- /etc/init.d/<var>package</var> &lt;action&gt;
- fi
- </example>
-</p>
- <p>
-Davantage d'informations sur l'utilisation de <prgn>invoke-rc.d</prgn> se
-trouvent dans sa page de manuel <manref name="invoke-rc.d" section="8">.
- </p>
- </sect2>
-</sect1>
-
-
- <sect1>
- <heading>L'initialisation au moment de l'amorçage</heading>
-
- <p>
-Classiquement, un autre répertoire, <file>/etc/rc.boot</file>, contenait les
-scripts exécutés seulement au démarrage. Mais on préfère maintenant
-se servir de liens de <file>/etc/rcS.d</file> vers les fichiers dans
-<file>/etc/init.d</file>, comme décrit dans <ref id="/etc/init.d">.
-Aucun paquet ne doit placer de fichier dans <file>/etc/rc.boot</file>.
-</p>
-</sect1>
-
-
- <sect1>
- <heading>Exemple</heading>
-
- <p>
-Un exemple sur lequel baser
-les scripts de <file>/etc/init.d</file> se trouve dans
-<file>/etc/init.d/skeleton</file>.
-</p>
-
- </sect1>
-</sect>
-
-
- <sect>
-<heading>Les messages de la console provenant des scripts <file>init.d</file></heading>
-
- <p>
-Cette section décrit les formats des messages que les scripts du
-répertoire <file>/etc/init.d</file> écrivent sur la sortie standard.
-L'objectif est d'améliorer la cohérence du style Debian
-en matière de séquences de démarrage et d'arrêt d'un système. Pour cette
-raison, veuillez faire très attention aux détails. Nous voulons que les
-messages standardisés fassent une utilisation identique des espaces, de la
-ponctuation et de la casse des lettres.
-</p>
- <p>
-Voici une liste des règles générales à respecter pour la création
-de messages provenant des scripts de <file>/etc/init.d</file>.
-</p>
- <p>
- <list>
- <item>
- <p>
- Tous les messages tiendront sur une ligne (inférieure à 80 caractères). Ils
-commenceront par une capitale et se termineront par un point «&nbsp;.&nbsp;»
-et un saut de ligne (<tt>"\n"</tt>).
- </p>
-</item>
-
-
-<item>
- <p>
-Quand vous voulez signaler que l'ordinateur est occupé (exécution d'une
-tâche particulière et non pas le démarrage ou l'arrêt d'un programme),
-utilisez une «&nbsp;ellipse&nbsp;», à savoir trois points <tt>...</tt>,
-sans espace avant ou après les points ni de retour à la ligne.
- </p>
-</item>
-
- <item>
- <p>
-Concevez vos messages comme si l'ordinateur vous disait ce qu'il fait
-(rendez-le poli&nbsp;:-), mais n'en faites pas un personnage.
-Par exemple, si vous voulez dire&nbsp;:
- <example compact="compact">
-I'm starting network daemons: nfsd mountd.
- </example>
- dites simplement&nbsp;:
- <example compact="compact">
-Starting network daemons: nfsd mountd.
- </example>
-</p>
-</item>
- </list>
-</p>
-
- <p>
-Il y a des messages standard pour les situations suivantes. Ils seront
-utilisés par les scripts d'<tt>init.d</tt>.
-</p>
-
- <p>
- <list>
- <item>
- <p>au lancement d'un démon.</p>
-
- <p>
-Utilisez ce format si votre script démarre un ou plusieurs démons.
-Le message en sortie (une seule ligne, sans espace au début)
-doit ressembler à ceci&nbsp;:
- <example compact="compact">
-Starting <var>description</var>: <var>daemon-1</var> ... <var>daemon-n</var>.
- </example>
- L'élément <var>description</var> décrira le sous-système dont fait
-partie le ou les démons alors que les éléments de <var>daemon-1</var> jusqu'à
-<var>daemon-n</var> indiqueront chacun le nom du démon (habituellement le nom
-du fichier programme).
-</p>
- <p>
-Par exemple, la sortie de <tt>/etc/init.d/lpd</tt> ressemble à&nbsp;:
- <example compact="compact">
-Starting printer spooler: lpd.
- </example>
-</p>
-
- <p>
-ce qui peut être obtenu en écrivant dans le script&nbsp;:
- <example compact="compact">
-echo -n "Starting printer spooler: lpd"
-start-stop-daemon --start --quiet --exec /usr/sbin/lpd
-echo "."
- </example>
-Si vous devez démarrer plusieurs démons, vous pouvez écrire le code
-suivant&nbsp;:
- <example compact="compact">
-echo -n "Starting remote file system services:"
-echo -n " nfsd"; start-stop-daemon --start --quiet nfsd
-echo -n " mountd"; start-stop-daemon --start --quiet mountd
-echo -n " ugidd"; start-stop-daemon --start --quiet ugidd
-echo "."
- </example>
-L'utilisateur peut savoir ainsi ce qui prend tant de temps et quand
-le dernier démon a été démarré. Vous serez précis avec les espaces&nbsp;: dans
-l'exemple précédent un administrateur système
-peut facilement commenter une ligne s'il ne veut pas lancer un démon
-particulier&nbsp;; le message affiché reste correct.
- </p>
-</item>
-
- <item>
- <p>quand un paramètre système est positionné.</p>
-
- <p>
-Si vous devez positionner différents paramètres au démarrage du système,
-vous utiliserez ce format&nbsp;:
- <example compact="compact">
-Setting <var>parameter</var> to "<var>value</var>".
- </example></p>
-
- <p>
-vous pouvez utiliser le message suivant qui place correctement les
-guillemets&nbsp;:
- <example compact="compact">
-echo "Setting DNS domainname to \"$domainname\"."
- </example></p>
-
- <p>
-
-<!-- IMPORTANT : il n'y a qu'un caractère " dans la ligne ci-dessous, -->
-<!-- mais un 2e a été ajouté temporairement pour la coloration syntaxique -->
-Il faut noter que le même caractère (<tt>"</tt>) est utilisé pour les
-guillemets à gauche et à droite. Un accent grave (<tt>`</tt>) n'est pas
-un guillemet gauche&nbsp;; de même, une apostrophe (<tt>'</tt>) n'est pas un
-guillemet droit.
- </p></item>
-
- <item>
- <p>quand on arrête ou relance un démon.</p>
-
- <p>
-Quand vous arrêtez ou relancez un démon, vous devez afficher un message
-similaire à celui du démarrage en remplaçant <tt>Starting</tt> par
-<tt>Stopping</tt> ou <tt> Restarting</tt>.
- </p>
-
- <p>
-Le message à l'arrêt du démon d'impression sera&nbsp;:
- <example compact="compact">
-Stopping printer spooler: lpd.
- </example></p></item>
-
- <item>
- <p>quand on exécute un programme.</p>
-
- <p>
-Il y a plusieurs cas où vous devez lancer un programme soit au démarrage
-soit à l'arrêt du système pour exécuter des tâches spécifiques. Par
-exemple, initialiser l'heure système à l'aide de <prgn>netdate</prgn> ou
-bien tuer tous les processus à l'arrêt du système. Vos messages suivront
-cet exemple&nbsp;:
- <example compact="compact">
-Doing something very useful...done.
- </example>
-Vous afficherez le <tt>done.</tt> immédiatement après la fin de la tâche
-de manière que l'utilisateur soit renseigné sur le pourquoi de son attente.
-Pour cela, mettez dans votre script&nbsp;:
- <example compact="compact">
-echo -n "Doing something very useful..."
-do_something
-echo "done."
- </example>
-</p></item>
-
- <item>
- <p>quand la configuration est rechargée.</p>
-
- <p>
-Quand un démon est forcé de recharger ses fichiers de configuration,
-vous utiliserez des messages qui suivent le format suivant&nbsp;:
- <example compact="compact">
-Reloading <var>description</var> configuration...done.
- </example>
-où <var>description</var> est identique au message de démarrage du démon.
-</p>
-</item>
- </list></p>
- </sect>
- <sect>
- <heading>Les travaux de «&nbsp;Cron&nbsp;»</heading>
-
- <p>
-Les paquets ne doivent pas modifier le fichier de configuration
-<file>/etc/crontab</file>, ni les fichiers contenus dans
-<file>/var/spool/cron/crontabs</file>.
-</p>
-
- <p>
-Quand un paquet veut confier une tâche au programme <prgn>cron</prgn>,
-il placera un fichier de même nom que lui dans l'un des répertoires
-suivants&nbsp;:
- <example compact="compact">
-/etc/cron.daily
-/etc/cron.weekly
-/etc/cron.monthly
- </example>
-Comme l'indique le nom de ces répertoires, les fichiers sont exécutés une
-fois par jour, une fois par semaine ou une fois par mois.
-Le rythme exact est contenu dans <file>/etc/crontab</file>.
- </p>
- <p>
-Tous les fichiers installés dans l'un de ces répertoires
-doivent être des scripts (scripts shell, Perl, etc.)
-pour que l'administrateur du système local puisse facilement les modifier.
-De plus ils seront traités comme des fichiers de configuration.
-</p>
-<p>
-Quand une tâche doit s'exécuter plus souvent
-que quotidiennement, le paquet installera un fichier
-<tt>/etc/cron.d/<var>paquet</var></tt>. Ce fichier a la même
-syntaxe que le fichier <tt>/etc/crontab</tt> et est traité automatiquement
-par <prgn>cron</prgn>. Il doit aussi être considéré comme un fichier de
-configuration. (On remarquera que le programme <prgn>anacron</prgn> ne se sert
-pas des scripts dans le répertoire <tt>/etc/cron.d</tt>. Vous ne
-l'utiliserez donc que pour des tâches qui peuvent être omises si le système
-ne tourne pas.)
-</p>
- <p>
-
-Les scripts ou les entrées de la «&nbsp;crontab&nbsp;» dans ces répertoires
-doivent vérifier d'abord la présence de tous les fichiers nécessaires
-à leur exécution. Sinon, il y aura des problèmes avec les paquets
-qui ont été supprimés sans l'option «&nbsp;purge&nbsp;»,
-car, dans ce cas, les fichiers de configuration sont conservés.
-</p>
-</sect>
-
-
- <sect id="menus">
- <heading>Les menus</heading>
-
- <p>
-Le paquet Debian <tt>menu</tt> propose une interface standard entre les
-paquets qui fournissent des applications et
-<em>les programmes offrant des menus</em> (aussi bien des gestionnaires de
-fenêtres sous X que des programmes qui fournissent des menus en mode
-texte, comme par exemple <prgn>pdmenu</prgn>).
-</p>
-
- <p>
-Les paquets renseigneront une rubrique de menu pour toutes les
-applications qui, pour leur usage normal, n'ont pas besoin
-de recevoir d'argument particulier depuis la ligne de commande.
-Ainsi les utilisateurs du paquet <em>menu</em> auront automatiquement des
-rubriques de menu pour ces applications dans leurs
-gestionnaires de fenêtres et dans des shells comme <tt>pdmenu</tt>.
-</p>
-<p>
-Les entrées de menu suivront les règles contenues dans le texte
-<tt>menu-policy</tt>.
- </p>
-<p>
-On peut trouver ces règles dans les fichiers <tt>menu-policy</tt> du paquet
-<tt>debian-policy</tt>. Elles sont aussi disponibles sur les miroirs web de
-Debian,
-<tt><url name="/doc/packaging-manuals/menu-policy/"
- id="https://www.debian.org/doc/packaging-manuals/menu-policy/"></tt>.
- </p>
-
- <p>
-Veuillez-vous référer au document <em>Debian Menu System</em>
-livré avec le paquet <package>menu</package> pour plus d'informations
-sur la manière de déclarer vos applications et vos documents web.
-</p>
-</sect>
-
- <sect id="mime">
- <heading>Outils pour le multimédia</heading>
-
- <p>
- MIME (Multipurpose Internet Mail Extensions, RFC 2045-2049) est une
-manière de coder les fichiers et les flux de données et de donner des
-informations supplémentaires, telles que, par exemple, leur type (par exemple,
-audio ou vidéo) et leur format (par exemple, PNG, HTML, MP3).
- </p>
-
- <p>
-La déclaration de la capacité à traiter les types «&nbsp;MIME&nbsp;»
-permet à des programmes comme les logiciels de courriers (MUA) ou les butineurs
-web de faire appel à ces outils pour lire, éditer ou afficher les types
-«&nbsp;MIME&nbsp;» qu'ils ne reconnaissent pas directement.
- </p>
- <p>
-Les paquets qui proposent des solutions pour lire, afficher, jouer, composer,
-modifier ou imprimer les types «&nbsp;MIME&nbsp;» déclareront cette
-capacité, et se conformeront ainsi à l'actuelle directive concernant
-«&nbsp;MIME&nbsp;».
- </p>
- <p>
-On peut trouver les règles concernant MIME dans le fichier
-<tt>mime-policy</tt> du paquet <tt>debian-policy</tt>. Elles sont aussi
-disponibles sur les miroirs web de Debian,
- <tt><url name="/doc/packaging-manuals/mime-policy/"
- id="https://www.debian.org/doc/packaging-manuals/mime-policy/"></tt>.
- </p>
-
- </sect>
-
- <sect>
- <heading>La configuration du clavier</heading>
-
- <p>
-Pour obtenir une configuration cohérente du clavier de façon que tous
-les programmes interprètent les événements clavier de la même manière,
-tous les programmes de la distribution Debian doivent suivre les directives
-suivantes&nbsp;:
-</p>
-
- <p>
-Les touches suivantes doivent être interprétées ainsi&nbsp;:
-
- <taglist>
- <tag><tt>&lt;--</tt></tag>
- <item><p>supprime le caractère à gauche du curseur</p></item>
-
- <tag><tt>Delete</tt></tag>
- <item><p>supprime le caractère à droite du curseur</p></item>
-
- <tag><tt>Control+H</tt></tag>
- <item><p>emacs : le préfixe d'aide</p></item>
- </taglist>
-
-L'interprétation des événements clavier sera indépendante du terminal utilisé
-(la console, X Window, une session rlogin ou telnet, etc.).
-</p>
-
- <p>
-La liste suivante explique comment les différents programmes
-seront configurés pour y arriver&nbsp;:
-</p>
-
- <p>
- <list>
- <item><p><tt>&lt;--</tt> génère KB_BackSpace sous X.</p></item>
-
- <item><p><tt>Delete</tt> génère KB_Delete sous X.</p></item>
-
- <item>
- <p>
-Le mécanisme «&nbsp;X translations&nbsp;» est configuré pour que
-<tt>KB_Backspace</tt> déclenche ASCII DEL et que <tt>KB_Delete</tt> déclenche
-<tt>ESC [ 3 ~</tt> (c'est la séquence d'échappement du vt220 pour la touche
-«&nbsp;delete character&nbsp;»). Il faut charger les ressources sur tous les
-serveurs locaux «&nbsp;X&nbsp;» à l'aide de <prgn>xrdb</prgn> et ne pas
-utiliser les valeurs par défaut des applications pour que les ressources de
-translation correspondent aux choix de <prgn>xmodmap</prgn>.
-</p>
-</item>
-
- <item>
- <p>
- La console Linux est configurée pour que la touche <tt>&lt;--</tt>
-déclenche DEL et <tt>Delete</tt> déclenche <tt>ESC [ 3 ~</tt>.
-</p></item>
- <item><p>
-Les applications X sont configurées pour que <tt>&lt;--</tt> efface
-à gauche et <tt>Delete</tt> efface à droite. Les applications Motif
-fonctionnent déjà de cette manière.
- </p>
-</item>
-
- <item><p>Les terminaux auront <tt>stty erase ^?</tt> .</p></item>
-
- <item><p>
-L'entrée <tt>xterm</tt> dans terminfo aura <tt>ESC [ 3~</tt>
-pour <tt>kdch1</tt>, tout comme <tt>TERM=linux</tt> et <tt>TERM=vt220</tt>.
- </p>
-</item>
-
- <item><p>
-Emacs est programmé pour associer <tt>KB_Backspace</tt> ou le caractère
-<tt>stty erase</tt> à <tt>delete-backward-char</tt>. Il associe
-<tt>KB_Delete</tt> ou <tt>kdch1</tt> à <tt>delete-forward-char</tt> et
-associe <tt>^H</tt> à <tt>help</tt> comme toujours.
- </p>
-</item>
-
- <item><p>
-D'autres applications utilisent le caractère <tt>stty erase</tt> et
-<tt>kdch1</tt> comme deux touches d'effacement. ASCII DEL est la
-«&nbsp;suppression du caractère précédent&nbsp;». <tt>kdch1</tt> est la
-«&nbsp;suppression du caractère sous le curseur&nbsp;».
- </p>
-</item>
- </list>
-</p>
-
- <p>
-Tout cela résout le problème sauf dans les cas suivants&nbsp;:
- </p>
-
- <p>
- <list>
- <item><p>
-Certains terminaux ont une touche <tt>&lt;--</tt> qui ne peut pas
-produire autre chose que <tt>^H</tt>. Sur ces terminaux l'aide
-d'Emacs ne sera pas accessible à partir de <tt>^H</tt> (en supposant
-que le caractère «&nbsp;stty erase&nbsp;» est prioritaire dans Emacs et qu'il
-ait été bien configuré). Les touches <tt>M-x help</tt> ou <tt>F1</tt> (si
-elles sont disponibles) peuvent être utilisées en remplacement.
- </p>
-</item>
-
- <item><p>
-Certains systèmes utilisent <tt>^H</tt> pour <tt>stty erase</tt>.
-Cependant les versions modernes de <prgn>telnet</prgn> et toutes les versions
-de <prgn>rlogin</prgn> diffusent les configurations <tt>stty</tt>. Presque
-toutes les versions d'UNIX acceptent <tt>stty erase</tt>. Quand la
-configuration <tt>stty</tt> n'est pas reproduite correctement, on peut
-résoudre le problème en utilisant <tt>stty</tt> manuellement.
-</p></item>
-
- <item><p>
-Certains systèmes (notamment des versions antérieures de Debian) utilisent
-<prgn>xmodmap</prgn> pour que <tt>&lt;--</tt> et <tt>Delete</tt>
-déclenchent <tt>KB_Delete</tt>. Nous pouvons changer le comportement de
-leurs clients X à
-l'aide des mêmes ressources que nous avons utilisées ou bien
-configurer nos propres clients avec les ressources de ces systèmes dans le cas
-inverse. Sur des serveurs configurés de cette manière, <tt>&lt;--</tt>
-fonctionnera mais pas <tt>Delete</tt>.
- </p>
-</item>
-
- <item><p>
-Certains systèmes d'exploitation ont d'autres configurations pour
-<tt>kdch1</tt> dans leur base de données <tt>terminfo</tt> pour <tt>xterm</tt>
-et consort. Sur ces systèmes, la touche <tt>Delete</tt> ne fonctionnera pas
-quand vous vous connecterez depuis un système qui suit notre politique. Mais
-<tt>&lt;--</tt> fonctionnera.
- </p>
-</item>
-</list>
-</p>
-</sect>
-
- <sect>
- <heading>Les variables d'environnement</heading>
-
- <p>
-Un programme ne doit pas dépendre des variables d'environnement
-pour déterminer des valeurs par défaut&nbsp;;
-cela impliquerait de définir ces variables globalement au niveau
-du système par exemple dans <file>/etc/profile</file>, ce que tous les shells
-ne permettent pas.
-</p>
- <p>
-Quand un programme dépend de variables d'environnement
-pour sa configuration, il doit prévoir, en leur absence, une configuration
-raisonnable par défaut.
-Si c'est difficile à faire (p. ex. quand le code source d'un programme non
-libre n'est pas disponible), le programme doit être remplacé par un petit
-script shell enveloppant («&nbsp;wrapper&nbsp;») qui positionne les variables
-d'environnement et appelle le programme initial.
-</p>
- <p>
-Voici un exemple de script enveloppant écrit dans ce but&nbsp;:
-
- <example compact="compact">
-#!/bin/sh
-BAR=${BAR:-/var/lib/fubar}
-export BAR
-exec /usr/lib/foo/foo "$@"
- </example></p>
-
- <p>
-De plus, comme <file>/etc/profile</file> est un fichier de configuration
-du paquet <prgn>bash</prgn>, aucun autre paquet ne peut y ajouter
-des variables d'environnement ou des commandes.
-</p>
-</sect>
-
- <sect id="doc-base">
- <heading>Enregistrer des documents avec doc-base</heading>
-
- <p>
- Le paquet <package>doc-base</package> implémente un mécanisme souple
-pour la gestion et la présentation de la documentation. Il est recommandé
-que chaque paquet Debian enregistre les documents qu'il fournit (autres que
-les pages du manuel) avec <package>doc-base</package>, en installant un
-fichier de contrôle <package>doc-base</package> grâce aux scripts
-<prgn>install-docs</prgn>. Cela se fait au moment de l'installation et lors
-de la suppression du paquet, l'enregistrement des documents est supprimé.
- </p>
- <p>
-Veuillez vous reporter à la documentation du paquet
-<package>doc-base</package> pour des précisions.
- </p>
- </sect>
-
-
-</chapt>
-
- <chapt id="files">
- <heading>Les fichiers</heading>
-
-
- <sect>
- <heading>Les fichiers binaires</heading>
-
- <p>
-Deux paquets ne doivent pas installer des programmes qui ont des
-fonctions différentes tout en ayant le même nom.
-Le cas de deux programmes avec les mêmes fonctionnalités
-mais des implémentations différentes est traité <em>via</em>
-«&nbsp;alternatives&nbsp;» ou par le mécanisme «&nbsp;Conflicts&nbsp;». Voir
-<ref id="maintscripts"> et <ref id="conflicts">.
-Si ce cas se produit, un des deux programmes doit changer de nom.
-Les responsables rapporteront ce problème sur la liste de distribution
-<tt>debian-devel</tt> pour essayer de trouver un consensus. Si aucun
-consensus n'est trouvé, le nom des <em>deux</em> programmes doit être
-changé.
-</p>
-
- <p>
-Par défaut, lors de la construction d'un paquet, tous les binaires créés
-incluront des informations pour le débogage et seront compilés avec
-optimisation. Vous mettrez aussi tous les avertissements de compilation
-qui vous semblent raisonnables&nbsp;: cela facilite la vie des responsables
-de portage qui peuvent consulter les journaux de construction en cas de
-problèmes. Pour le cas de la programmation en C,
-on utilisera les paramètres de compilation suivants&nbsp;:
- <example compact="compact">
-CC = gcc
-CFLAGS = -O2 -g -Wall # les bonnes options peuvent différer selon les programmes
-LDFLAGS = # aucun
-INSTALL = install -s # (ou bien utiliser strip sur les fichiers dans debian/tmp)
- </example>
-</p>
- <p>
-On remarquera que tous les binaires installés sont épurés de tout
-symbole, soit en utilisant l'option <tt>-s</tt> de <prgn>install</prgn>,
-soit en appliquant le programme <prgn>strip</prgn> sur les binaires
-après qu'ils ont été copiés dans <tt>debian/tmp</tt> mais avant
-qu'une arborescence ne soit faite pour le paquet.
-</p>
-<p>
-Bien que les binaires dans l'arbre de construction soient compilés par
-défaut avec des informations pour le débogage, il est souvent difficile de
-déboguer les programmes qui sont soumis à des optimisations pour compilateur.
-Pour cette raison, il est conseillé de reconnaître la variable d'environnement
-standard <tt>DEB_BUILD_OPTIONS</tt>. Cette variable peut contenir plusieurs
-drapeaux de manière à pouvoir modifier la construction et la compilation
-d'un paquet.
- </p>
- <p>
- <taglist>
- <tag>noopt</tag>
- <item>
- <p>
-La présence de cette chaîne signifie que le paquet ne sera soumis qu'à un
-minimum d'optimisation. Pour les programmes en C, il vaut mieux ajouter
-<tt>-O0</tt> à <tt>CFLAGS</tt> (bien que ce soit la valeur par défaut). Il peut
-arriver que quelques programmes ne se construisent pas ou ne fonctionnent pas
-à ce niveau d'optimisation&nbsp;: il peut être nécessaire, par exemple,
-d'utiliser <tt>-O1</tt>.
- </p>
- </item>
- <tag>nostrip</tag>
- <item>
- <p>
-Cette chaîne signifie que les symboles de débogage ne seront pas enlevés
-du binaire pendant l'installation de manière à ce que les informations
-pour le débogage puissent être incluses dans le paquet.
- </p>
- </item>
- </taglist>
- </p>
-<p>
-Le petit makefile suivant explique comment implémenter les options de
-construction&nbsp;; vous aurez sans doute à l'adapter aux conditions de votre
-paquet.
- <example compact="compact">
-CFLAGS = -Wall -g
-INSTALL = install
-INSTALL_FILE = $(INSTALL) -p -o root -g root -m 644
-INSTALL_PROGRAM = $(INSTALL) -p -o root -g root -m 755
-INSTALL_SCRIPT = $(INSTALL) -p -o root -g root -m 755
-INSTALL_DIR = $(INSTALL) -p -d -o root -g root -m 755
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-CFLAGS += -O0
-else
-CFLAGS += -O2
-endif
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-INSTALL_PROGRAM += -s
-endif
- </example>
- </p>
-<p>
-C'est au responsable du paquet de décider des meilleures options
-de compilation. Certains binaires (comme ceux qui font des
-calculs intensifs) fonctionnent mieux avec certaines options
-(p. ex. <tt>-O3</tt>)&nbsp;; faites comme vous voulez. Utilisez ces options avec
-discernement&nbsp;: pour de bonnes raisons, pas seulement pour elles-mêmes.
-Ne craignez pas de remplacer les options qu'avait choisies l'auteur du
-programme original&nbsp;: elles sont souvent inappropriées dans votre environnement.
-</p>
-</sect>
-
- <sect id="libraries">
- <heading>Les bibliothèques</heading>
-
- <p>
-Si le paquet est <strong>architecture: any</strong>, alors les options de
-compilation et de liaison de la bibliothèque partagée doivent inclure
-<tt>-fPIC</tt>, sinon le paquet ne se construira pas sur certaines des
-architectures prises en charge<footnote>
- <p>
- Si vous utilisez GCC, <tt>-fPIC</tt> produira du code avec du code
- indépendant de la position relogeable, ce qui est nécessaire pour
- la plupart des architectures pour créer une bibliothèque partagée,
- avec i386 et peut-être quelques autres où le code non indépendant
- de la position est permis dans une bibliothèque partagée..
- </p>
- <p>
- Le code indépendant de la position peut avoir un impact négatif
- sur les performance, en particulier sur <tt>i386</tt>. Cependant,
- dans la plupart des cas, la perte de performance doit être mesurée
- par rapport à la mémoire gaspillée sur les quelques architectures
- où du code non indépendant de la position est même possible.
- </p>
-</footnote>. Toute exception à cette règle doit être discutée sur la liste de
-diffusion <em>debian-devel@lists.debian.org</em> et un consensus général
-obtenu. Les raisons pour ne pas compiler avec l'option <tt>-fPIC</tt> doivent
-être notifiées dans un fichier <tt>README.Debian</tt> et une attention
-particulière doit être prise pour restreindre l'architecture ou pour s'arranger
-pour que <tt>-fPIC</tt> soit utilisé sur les architectures où cela est
-nécessaire.<footnote>
- <p>
- Parmi les raisons pour lesquelles ceci peut être nécessaire, la
- bibliothèque peut contenir du code assembleur écrit manuellement
- qui n'est pas relogeable, l'impact de performance peut être
- excessif pour des bibltiohèques de calcul intensif et des raisons
- similaires.
- </p>
- </footnote>
- </p>
- <p>
-Pour les bibliothèques statiques, le cas général est de ne pas avoir de code
-relogeable car il n'y a pas de bénéfice sauf dans des cas spécifiques&nbsp;;
-c'est pourquoi la version statique ne doit pas être compilée avec l'option
-<tt>-fPIC</tt>. Toute exception à cette règle doit être discutée sur la liste de
-diffusion <em>debian-devel@lists.debian.org</em> et les raisons pour compiler
-avec l'option <tt>-fPIC</tt> doivent être notifiées dans le fichier
-<tt>README.Debian</tt>. <footnote>
- <p>
-Parmi les raisons pour lier des bibliothèques statiques avec l'option
-<tt>-fPIC</tt>, par exemple, on peut avoir besoin d'une API Perl pour une
-bibliothèque en développement rapide et qui a une API instable, des
-bibliothèques partagées sont alors sans intérêt à ce moment du développement de
-la bibliothèque. Dans ce cas, comme perl a besoin d'une bibliothèque avec du
-code relogeable, il peut y avoir un intérêt de créer une bibliothèque statique
-avec du code relogeable. Une autre raison citée est si vous distillez plusieurs
-bibliothèques dans une bibliothèque partagée commune comme le fait
-<tt>mklibs</tt> dans le projet de l'installateur Debian.
- </p>
- </footnote>
- </p>
- <p>
-En d'autres mots, si à la fois une bibliothèque partagée et une bibliothèque
-statique sont à construire, chaque source (fichiers <tt>*.c</tt> pour
-les sources C, par exemple) devra être compilé deux fois dans le cas normal.
- </p>
-
- <p>
-Vous devez indiquer l'option <tt>-D_REENTRANT</tt> de <prgn>gcc</prgn>
-quand vous compilez une bibliothèque (statique ou dynamique) pour qu'elle
-soit compatible avec les <em>threads</em> Linux.
-</p>
- <p>
-Bien que les outils de construction ne respectent pas cette règle, les
-bibliothèques partagées, tout comme les binaires, doivent être liées à toute
-bibliothèque dont elles utilisent les symboles. Cela permet le bon
-fonctionnement du système <qref id="sharedlibs-shlibdeps">shlibs</qref> et
-cela garantit que toutes les bibliothèques peuvent être ouvertes avec
-<tt>dlopen()</tt>. Les responsables de paquet peuvent utiliser gcc avec
-l'option <tt>-Wl,-z,defs</tt> lors de la construction d'une bibliothèque
-partagée. Cette option effectuant la résolution des symboles au moment de
-la construction, une référence à une bibliothèque manquante sera rapidement
-transformée en erreur fatale.
- </p>
-
- <p>
-Toutes les bibliothèques partagées qu'on installe seront épurées de tout
-symbole par :
- <example compact="compact">
-strip --strip-unneeded <var>votre-bibliothèque</var>
- </example>
-L'option <tt>--strip-unneeded</tt> fait que <prgn>strip</prgn> enlève
-uniquement les symboles qui ne sont pas utiles au mécanisme de réallocation.
-Les bibliothèques partagées fonctionnent parfaitement bien quand elles
-sont épurées, car les symboles de liens dynamiques
-sont dans une autre partie du fichier objet «&nbsp;ELF&nbsp;» <footnote> <p>
-Vous pourriez aussi utiliser les options <tt>--remove-section=.comment</tt> et
-<tt>--remove-section=.note</tt> sur les bibliothèques partagées et sur les
-exécutables, et l'option <tt>--strip-debug</tt> sur les bibliothèques
-statiques.
- </p>
-</footnote>.
-</p>
-
- <p>
-Il faut noter que dans certaines circonstances, il peut être utile d'installer
-une bibliothèque non épurée, p. ex. pour la construction d'un paquet d'aide au
-débogage.
-</p>
-<p>
-Les fichiers objet partagés (comme les fichiers <file>.so</file>) qui ne sont
-pas des bibliothèques publiques, c'est-à-dire que des exécutables tiers (les
-binaires d'autres paquets) ne peuvent s'y lier, seront installés dans des
-sous-répertoires de <tt>/usr/lib</tt>. De tels fichiers n'ont pas à se plier
-aux règles qui gouvernent les bibliothèques partagées ordinaires&nbsp;; mais
-ils ne doivent pas être exécutables et seront épurés <footnote>
-<p>
-Les «&nbsp;plug-ins&nbsp;», ces objets internes partagés, chargés
-dynamiquement par des programmes en utilisant
-<manref name="dlopen" section="3">, en sont un exemple.
- </p>
- </footnote>.
-</p>
-<p>
-Les paquets contenant des bibliothèques partagées qui peuvent être liées
-à d'autres binaires mais qui, pour quelque raison <em>contraignante</em>, ne
-peuvent être installées dans le répertoire <tt>/usr/lib</tt>, peuvent
-installer les bibliothèques partagées dans des sous-répertoires de
-<tt>/usr/lib</tt>&nbsp;; dans ce cas, ils ajouteront ce répertoire dans
-<tt>/etc/ld.so.conf</tt> avec le script de <em>post-installation</em> du
-paquet et le supprimeront avec le script de <em>post-removal</em>.
- </p>
-
- <p>
-Un nombre toujours croissant de paquets utilisent <prgn>libtool</prgn> pour
-l'édition de liens. La plus récente version de «&nbsp;GNU libtools
-(&gt;= 1.3a)&nbsp;» peut se servir avantageusement des meta-données contenues
-dans les fichiers (<tt>*.la</tt>) de <prgn>libtool</prgn>. Le principal
-avantage de ces fichiers est que <prgn>libtool</prgn> peut conserver ces
-meta-données et donc y accéder en fonction des bibliothèques qu'il construit.
-<prgn>Libtool</prgn> cherche ces fichiers et les renseignements
-utiles qu'ils contiennent à propos des bibliothèques (p. ex. les bibliothèques
-nécessaires pour une édition de liens statiques). Ils sont aussi
-<em>indispensables</em> aux programmes utilisant <tt>libltdl</tt> <footnote>
-<p>
-Sans doute, <prgn>libtool</prgn> peut faire de l'édition de liens avec des
-bibliothèques qui n'ont pas de fichier <tt>.la</tt>&nbsp;; mais, n'étant qu'un
-simple script shell, il peut augmenter considérablement le temps de
-compilation d'un paquet s'il doit, pour chaque bibliothèque et chaque
-fois qu'elle est liée, déduire tous ces renseignements des premiers principes.
-Avec l'apparition de «<prgn>libtool-1.4</prgn> (et dans une moindre mesure de
-<prgn>libtool-1.3</prgn>), les fichiers <tt>.la</tt> gardent des
-renseignements sur les dépendances entre bibliothèques qui ne peuvent pas
-être nécessairement déduits une fois détruit le fichier <tt>.la</tt>.
- </p>
- </footnote>.
- </p>
- <p>
-Les paquets qui se servent de <prgn>libtool</prgn> pour créer des
-bibliothèques partagées mettront les fichiers <tt>.la</tt> dans les
-paquets <tt>-dev</tt>&nbsp;; dans le cas où un paquet compte sur la bibliothèque
-<tt>libltdl</tt> de <prgn>libtool</prgn>, les fichiers <tt>.la</tt> iront dans
-le paquet de la bibliothèque.
- </p>
-
- <p>
-Vous devez vous assurer que vous n'utilisez que les versions diffusées des
-bibliothèques partagées pour construire vos paquets&nbsp;; dans le cas
-contraire, les autres utilisateurs ne pourront pas exécuter vos binaires
-correctement. Produire des paquets sources qui dépendent de compilateurs
-non diffusés est habituellement une mauvaise idée.
-</p>
-</sect>
- <sect>
- <heading>Les bibliothèques partagées</heading>
-
-<p>
-Cette section a été déplacée dans <ref id="sharedlibs">.
- </p>
-</sect>
-
- <sect id="scripts">
- <heading>Les scripts</heading>
-
- <p>
-Tous les scripts de commandes, y compris les scripts inclus dans un paquet
-par le responsable et utilisés par <prgn>dpkg</prgn>, commenceront
-par <tt>#!</tt> et le nom du shell interpréteur.
-</p>
-
- <p>
-Pour les scripts Perl, c'est <tt>#!/usr/bin/perl</tt>.</p>
-
- <p>
-Quand des scripts sont installés dans un répertoire du PATH système, le nom du
-script ne devrait pas inclure d'extension comme <tt>.sh</tt> ou <tt>.pl</tt>
-indiquant le langage de programmation actuellement utilisé pour l'implémenter.
- </p>
-
- <p>
-Les scripts shell (<prgn>sh</prgn> et <prgn>bash</prgn>) commenceront presque
-systématiquement par <tt>set -e</tt> pour que les erreurs soient
-détectées. Tous les scripts utiliseront <tt>set -e</tt> ou
-vérifieront l'état de sortie de <em>toutes</em> les commandes.
-</p>
-
- <p>
-L'interpréteur shell de base <tt>/bin/sh</tt> peut être
-un lien symbolique vers n'importe quel shell compatible POSIX, si
-<tt>echo -n</tt> ne produit pas une nouvelle ligne <footnote><p>
-La charte Debian indique que <tt>/bin/sh</tt> suit la norme POSIX, mais
-<tt>echo -n</tt> est largement utilisé dans la communauté Linux (dans cette
-charte, dans les sources du noyau Linux, dans beaucoup de scripts Debian,
-etc.). Ce mécanisme est valable mais n'est pas demandé par POSIX,
-d'où cet ajout explicite. D'autre part, la rumeur dit que ce mécanisme
-doit devenir de toute façon obligatoire dans la LSB.</p></footnote>.
-Les scripts shell indiquant <tt>/bin/sh</tt> comme interpréteur ne doivent donc
-utiliser que des caractéristiques POSIX. Si un script a besoin des
-caractéristiques non-POSIX d'un interpréteur, celui-ci doit être spécifié
-dans la première ligne du script (par exemple <tt>#!/bin/bash</tt>). Son paquet
-doit dépendre du paquet qui fournit le shell (à moins que le
-paquet ne soit marqué «&nbsp;Essential&nbsp;», comme par exemple pour
-<prgn>bash</prgn>).
-</p>
- <p>
-Quand c'est possible, on peut vouloir limiter les scripts aux
-caractéristiques POSIX de manière à utiliser l'interpréteur
-<file>/bin/sh</file>. Si votre script fonctionne avec <prgn>dash</prgn>
-(anciennement <prgn>ash</prgn>), il est probablement
-conforme à POSIX, mais en cas de doute, utilisez <tt>/bin/bash</tt>.
-</p>
- <p>
-Les scripts Perl détecteront les erreurs survenant lors de tous les
-appels système, comme <tt>open</tt>, <tt>print</tt>, <tt>close</tt>,
-<tt>rename</tt> et <tt>system</tt>.
-</p>
-<p>
-Les shells <prgn>csh</prgn> et <prgn>tcsh</prgn> seront évités comme langage
-de script. Référez-vous au
-document <em>Csh Programming Considered Harmful</em> (Pourquoi
-programmer en Csh est risqué), l'une des FAQ du groupe
-usenet <tt>comp.unix.*</tt>. Il peut être trouvé sur
-<url id="http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/">.
-Si un paquet original utilise des scripts <prgn>csh</prgn>
-vous devez vous assurer qu'ils commencent par
-<tt>#!/bin/csh</tt> et vous devez rendre votre paquet
-dépendant du paquet virtuel <prgn>c-shell</prgn>.
-</p>
- <p>
-Tout script qui crée des fichiers dans des répertoires où tout le monde peut
-écrire, (p. ex. dans <tt>/tmp</tt>) doit utiliser un mécanisme qui
-provoquera une erreur de façon atomique si un fichier de même nom existe déjà.
-</p>
-
- <p>
-À cet usage, le système Debian de base fournit
-les utilitaires <prgn>tempfile</prgn> et <prgn>mktemp</prgn>.
-</p></sect>
-
- <sect>
- <heading>Les liens symboliques</heading>
-
- <p>
-En général, les liens symboliques à l'intérieur d'un répertoire de premier
-niveau seront relatifs alors que les liens symboliques qui pointent
-d'un répertoire de premier niveau vers un autre répertoire de premier niveau
-seront absolus. Un répertoire de premier niveau est un sous-répertoire
-du répertoire racine <tt>/</tt>.
-</p>
-
- <p>
-De plus, les liens symboliques doivent utiliser un nom de chemin le plus
-court possible&nbsp;; on évitera par exemple le chemin <tt>foo/../bar</tt>.
-</p>
- <p>
-On remarquera que pour créer un lien relatif avec <prgn>ln</prgn>,
-il n'est pas nécessaire que le fichier cible soit relatif au répertoire où est
-exécuté <prgn>ln</prgn>&nbsp;; de même il n'est pas nécessaire de se déplacer dans
-le répertoire où vous désirez créer le lien.
-Donnez simplement à <prgn>ln</prgn> comme premier argument
-la chaîne de caractères qui représentera la cible du lien (cette
-chaîne doit être un chemin relatif au répertoire contenant le lien).
-</p>
- <p>
-Par exemple, dans votre <prgn>Makefile</prgn> ou
-dans <tt>debian/rules</tt>, vous pouvez écrire&nbsp;:
- <example compact="compact">
-ln -fs gcc $(prefix)/bin/cc
-ln -fs gcc debian/tmp/usr/bin/cc
-ln -fs ../sbin/sendmail $(prefix)/bin/runq
-ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
- </example></p>
-
- <p>
-Un lien symbolique vers un fichier comprimé aura toujours
-le même suffixe que le fichier référencé.
-(Par exemple, si le fichier <tt>foo.gz</tt> est
-référencé par un lien symbolique, le nom du lien doit
-aussi se terminer par «&nbsp;<tt>.gz</tt>&nbsp;», comme par exemple
-<tt>bar.gz</tt>.)
-</p>
-</sect>
-
- <sect>
- <heading>Les fichiers de périphérique</heading>
-
- <p>
-Un paquet ne doit pas contenir de fichiers de périphérique
-dans son arborescence.
-</p>
- <p>
-Si un paquet a besoin d'un fichier de périphérique particulier
-qui n'est pas inclus dans le système de base, il doit
-appeler <prgn>MAKEDEV</prgn> dans le script <prgn>postinst</prgn>,
-après avoir prévenu l'utilisateur <footnote>
- <p>
-On peut prévenir l'utilisateur par un message de debconf dont la
-priorité sera basse, ou bien par un <em>echo</em> (printf).
- </p>
- </footnote>.
-</p>
- <p>
-Un paquet ne doit pas supprimer de fichier de périphérique
-dans le script <prgn>postrm</prgn> ou dans un autre script.
-Ceci doit être laissé à l'initiative de l'administrateur système.
-</p>
- <p>
-Debian utilise les périphériques série <tt>/dev/ttyS*</tt>. Les programmes qui
-utilisent les anciens périphériques <tt>/dev/cu*</tt> seront
-modifiés pour utiliser <tt>/dev/ttyS*</tt>.
-</p>
- </sect>
-
- <sect id="config-files">
- <heading>Les fichiers de configuration</heading>
- <sect1>
- <heading>Définitions</heading>
- <p>
- <taglist>
- <tag>fichier de configuration</tag>
- <item><p>
-C'est un fichier qui influe sur le fonctionnement d'un programme,
-ou bien qui donne des renseignements particuliers à un site ou à un
-hôte, autrement dit un fichier qui singularise le comportement d'un programme.
-Classiquement, les fichiers de configuration sont faits pour être modifiés
-par l'administrateur système (s'il en a besoin ou s'il le souhaite) de
-manière à se conformer aux règles locales ou bien à obtenir un
-fonctionnement plus utile au site.
-</p>
- </item>
-
-
- <tag><tt>conffile</tt></tag>
- <item><p>
-C'est un fichier répertorié dans le fichier <tt>conffiles</tt>
-d'un paquet&nbsp;; <prgn>dpkg</prgn> en fait un usage particulier
-(voir <ref id="configdetails">).
-</p>
- </item>
- </taglist>
- </p>
-
- <p>
-Cette distinction est importante&nbsp;: ce ne sont pas des concepts
-interchangeables. Presque tous les <tt>conffile</tt>s sont des fichiers de
-configuration, mais beaucoup de fichiers de configuration ne sont pas des
-<tt>conffiles</tt>.
-
- </p>
- <p>
-Il faut noter que les scripts qui renferment des informations de configuration
-(ainsi la plupart des fichiers de <tt>/etc/default</tt> et de
-<tt>/etc/cron.{daily,weekly,monthly}</tt>) sont <em>de facto</em> des
-fichiers de configuration et seront traités comme tels.
-</p>
- </sect1>
-<sect1>
-<heading>Emplacement</heading>
-
-<p>
-Tout fichier de configuration créé ou utilisé par un paquet doit se trouver
-dans le répertoire <file>/etc</file>. S'ils sont nombreux, on envisagera la
-création d'un sous-répertoire de <file>/etc</file> qu'on nommera d'après le
-le nom du paquet.
-</p>
-<p>
-Quand un paquet crée ou utilise des fichiers de configuration qui ne sont
-pas dans <file>/etc</file> et qu'il n'est pas facile de modifier ce programme
-pour qu'il utilise <file>/etc</file>, on mettra quand même les fichiers dans
-<file>/etc</file> et on créera des liens symboliques vers ces fichiers depuis
-les emplacements voulus par le paquet.
- </p>
- </sect1>
-<sect1>
-<heading>Comportement</heading>
-<p>
-La gestion des fichiers de configuration doit se conformer aux principes
-suivants&nbsp;:
-<list compact="compact">
- <item>
- <p>
-les changements locaux doivent être préservés pendant
-la mise à jour d'un paquet&nbsp;;
-</p>
- </item>
- <item>
- <p>
-les fichiers de configuration doivent être préservés quand le paquet est
-supprimé&nbsp;; ils ne sont détruits que si le paquet est
-supprimé avec «&nbsp;purge&nbsp;».
-</p>
- </item>
- </list>
-</p>
-<p>
-La façon simple d'obtenir cela, c'est que le fichier de configuration soit
-un <tt>conffile</tt>. C'est parfait quand on peut distribuer une version par
-défaut qui marche pour la plupart des installations, bien que quelques
-administrateurs puissent vouloir la modifier. Cela suppose que la version par
-défaut fasse partie du paquet et que les scripts du responsable du paquet
-ne la modifient pas pendant l'installation (ou à quelque autre moment).
-</p>
-<p>
-Pour faire que les changements locaux soient préservés correctement, nul
-paquet ne peut contenir des liens «&nbsp;en dur&nbsp;», ou en créer, vers des
-«&nbsp;conffiles&nbsp;»<footnote><p>
-Argument : Il y a deux problèmes avec les liens «&nbsp;en dur&nbsp;». Le
-premier, c'est que certains «&nbsp;éditeurs&nbsp;» cassent le lien quand ils
-modifient l'un des fichiers,
-et les deux fichiers peuvent devenir involontairement différents. Le second,
-c'est qu'il arrive que <prgn>dpkg</prgn> casse le lien pendant une mise
-à jour de <tt>conffile</tt>s.</p>
- </footnote>.
- </p>
-<p>
-L'autre façon, c'est d'utiliser les scripts du responsable de paquet.
-Dans ce cas, le fichier de configuration ne doit pas être un <tt>conffile</tt>
-et ne doit pas faire partie du paquet. Si la configuration correcte d'un paquet
-demande un fichier, c'est au responsable du paquet,
-<em>via</em> ses scripts, de créer, mettre à jour, maintenir et supprimer un
-tel fichier. Voir <ref id="maintainerscripts"> pour des précisions. Ces
-scripts doivent être idempotents (c.-à-d. qu'ils doivent fonctionner
-correctement si <prgn>dpkg</prgn> a besoin de les relancer à cause d'erreurs
-survenues pendant l'installation ou la suppression)&nbsp;; ils doivent
-comprendre toutes les manières de <prgn>dpkg</prgn> en ce qui
-concerne l'appel des scripts&nbsp;; ils ne doivent pas remplacer ou même
-déformer la configuration de l'utilisateur sans lui demander&nbsp;; ils ne
-doivent pas poser des questions sans intérêt (surtout pendant les mises
-à jour)&nbsp;; bref, ils doivent être de bons citoyens.
-</p>
-<p>
-Ces scripts n'ont pas à configurer toutes les options possibles d'un paquet,
-mais seulement celles qui sont nécessaires à son bon fonctionnement sur un
-système donné. Idéalement, un sysadmin ne devrait faire aucune autre
-configuration que celle faite presque automatiquement par le script
-<tt>postinst</tt>.
-</p>
-<p>
-Une manière commune de faire est de créer un script
-<file><var>paquet</var>-configure</file> qu'appellera le script
-<prgn>postinst</prgn> du paquet si et seulement si le fichier de
-configuration n'existe pas déjà.
-Parfois, il est bon d'avoir un fichier d'exemple ou un fichier modèle
-utilisable par les scripts du responsable. On mettra ces fichiers
-dans <file>/usr/share/<var>paquet</var></file> ou dans
-<file>/usr/lib/<var>paquet</var></file> (selon qu'ils sont dépendants d'une
-architecture ou non). On créera des liens symboliques vers ces fichiers dans
-<file>/usr/share/doc/<var>paquet</var>/examples</file> si ce sont des fichiers
-d'exemples&nbsp;; ces fichiers sont des fichiers parfaitement ordinaires pour
-<prgn>dpkg</prgn> (ce <em>ne sont pas</em> des fichiers de configuration).
-</p>
- <p>
-On ne doit pas mélanger ces deux manières de gérer les fichiers de
-configuration car alors la folie guette&nbsp;: <prgn>dpkg</prgn> voudra
-remplacer le fichier à chaque mise à jour du paquet.
-</p>
- </sect1>
-
-<sect1>
- <heading>Partager des fichiers de configuration </heading>
- <p>
-On doit indiquer un <em>conflit</em> entre des paquets qui ont le même
-fichier <tt>conffile</tt>. C'est une application de la règle générale qui veut
-qu'on ne partage pas des fichiers. Ni les <em>alternatives</em> ni les
-<em>diversions</em> ne sont appropriés dans ce cas&nbsp;; en particulier,
-<prgn>dpkg</prgn> ne gère pas bien les <tt>conffile</tt>s déviés (diverted).
- </p>
- <p>
-Les scripts d'un responsable de paquet ne doivent modifier le
-<tt>conffile</tt> d'<em>aucun</em> paquet, même celui du paquet auquel ils
-appartiennent.</p>
-
- <p>
-Quand deux paquets ou plus ont le même fichier de configuration et qu'il est
-raisonnable d'installer les deux paquets, on doit définir l'un des
-paquets comme le <em>propriétaire</em> du fichier de configuration, et
-ce sera le paquet qui gère ce fichier comme un fichier de configuration. Les
-autres paquets qui utilisent le fichier de configuration doivent déclarer une
-dépendance envers ce paquet s'ils ont besoin de ce fichier de configuration
-pour leur fonctionnement. Quand
-ils ne l'utilisent que s'il est présent et qu'ils sont capables de
-fonctionner sans lui, ces paquets n'ont pas besoin de déclarer de
-dépendance.</p>
-
- <p>
-Si l'on veut que deux ou plusieurs paquets apparentés partagent un fichier de
-configuration <em>et</em> que chacun d'eux soit capable de le modifier, il
-faut faire ce qui suit&nbsp;:
-
- <enumlist compact="compact">
- <item>
- <p>
-L'un des paquets apparentés (le paquet «&nbsp;propriétaire&nbsp;») doit gérer
-le fichier de
-configuration avec les scripts du responsable de paquet comme il est décrit
-dans les sections précédentes ;</p>
- </item>
- <item><p>
-le paquet «&nbsp;propriétaire&nbsp;» fournira aussi un programme que les
-autres paquets utiliseront pour modifier le fichier de configuration&nbsp;;</p>
- </item>
- <item>
- <p>
-les paquets apparentés doivent se servir de ce programme pour faire
-les modifications voulues sur le fichier de configuration. Ils dépendront alors
-de la garantie donnée quant à la disponibilité de ce programme,
-ou bien ils accepteront avec élégance de ne pouvoir modifier
-le fichier de configuration si ce programme n'est pas disponible. C'est une
-addition au fait que le fichier de configuration pourrait même ne pas
-exister dans ce dernier scénario.
-</p>
- </item>
- </enumlist></p>
- <p>
-Quelques fois, il convient de créer un nouveau paquet qui fournit
-l'infrastructure de base pour les autres paquets et qui gère les fichiers
-de configuration partagés (on peut consulter le paquet <tt>sgml-base</tt>
-comme exemple).</p>
- </sect1>
-
- <sect1>
- <heading>Les fichiers de configuration de l'utilisateur («&nbsp;dotfiles&nbsp;»)</heading>
-
- <p>
-Les fichiers dans <file>/etc/skel</file> sont copiés automatiquement dans les
-comptes des nouveaux utilisateurs par <prgn>adduser</prgn>. Aucun programme
-ne devra référencer les fichiers dans <file>/etc/skel</file>.
-</p>
-
- <p>
-Ainsi, quand un programme, pour fonctionner correctement, a besoin
-qu'un fichier «&nbsp;.fichier&nbsp;» existe par avance dans <tt>$HOME</tt>,
-le paquet installera ce fichier dans <file>/etc/skel</file> et le
-traitera comme un fichier de configuration.
-</p>
-
- <p>
-Cependant, avoir un programme qui, pour fonctionner correctement, a besoin
-de fichiers «&nbsp;.fichier&nbsp;» est une mauvaise idée, à moins que ce
-programme ne crée automatiquement ces fichiers.
- </p>
-<p>L'installation par défaut de Debian
-devrait configurer les programmes d'une manière aussi proche que possible de
-la configuration originelle par défaut.
-</p>
- <p>
-Ainsi, le programme d'un paquet Debian, qui a besoin d'une quelconque
-configuration pour fonctionner correctement, sera configuré globalement pour
-le système à l'aide d'un fichier placé dans <file>/etc</file>. C'est
-uniquement
-dans le cas où le programme n'accepte pas de configuration globale au site,
-et si le responsable du paquet n'a pas le temps d'ajouter un fichier de
-configuration par défaut, qu'un tel fichier pourra être placé dans
-<file>/etc/skel</file>.
-</p>
- <p>
-<file>/etc/skel</file> sera aussi vide que possible. C'est d'autant plus
-nécessaire qu'il n'existe pas de mécanisme simple (ou même désirable) pour
-s'assurer que les
-fichiers «&nbsp;.fichier&nbsp;» nécessaires sont copiés dans les comptes des
-utilisateurs existants à l'installation du paquet.
-</p>
-
- </sect1>
- </sect>
-
- <sect>
- <heading>Les fichiers-journaux («&nbsp;log file&nbsp;»)</heading>
-
- <p>
-Les fichiers-journaux se nomment habituellement
-<tt>/var/log/<var>paquet</var>.log</tt>. Si vous avez de nombreux
-fichiers-journaux ou si vous avez besoin d'un répertoire pour des raisons de
-droits
-(<tt>/var/log</tt> ne peut être modifié que par <tt>root</tt>), vous créerez
-habituellement un répertoire nommé <tt>/var/log/<var>paquet</var></tt> où
-vous mettrez ces fichiers.
-</p>
- <p>
-Une rotation des fichiers-journaux doit être assurée de manière qu'ils
-ne grandissent pas indéfiniment&nbsp;;
-la meilleure façon de procéder est de mettre un fichier de configuration pour
-la rotation des fichiers dans le répertoire <tt>/etc/logrotate.d</tt> et
-d'utiliser les facilités apportées par <em>logrotate</em> <footnote>
-<p>
-L'approche traditionnelle pour les fichiers-journaux était d'utiliser
-«&nbsp;cron&nbsp;» et de simples scripts shell pour monter des combines
-<em>ad hoc</em> pour la rotation des fichiers. Cette
-approche, grandement paramétrable, demandait beaucoup de travail
-à l'administrateur système. Bien que le premier système Debian ait apporté une
-aide en installant automatiquement un système qui pouvait être pris
-comme modèle, cela ne fut pas considéré comme suffisant.
-</p>
- <p>
-Une meilleure idée est d'utiliser <prgn>logrotate</prgn>, un programme
-développé par Red Hat, qui centralise la gestion des fichiers-journaux. Il
-possède à la fois un fichier de configuration
-(<tt>/etc/logrotate.conf</tt>) et un répertoire où les paquets peuvent
-déposer leurs configurations pour la rotation des fichiers,
-(<tt>/etc/logrotate.d</tt>).
- </p>
-</footnote>.
-Voici un bon exemple de fichier de configuration de «&nbsp;logrotate&nbsp;»
-(pour plus de renseignements voir <manref name="logrotate " section="8">)&nbsp;:
- <example compact="compact">
-/var/log/foo/*.log {
-rotate 12
-weekly
-compress
-postrotate
-/etc/init.d/foo force-reload
-endscript
-}
- </example>
- Cela fait tourner tous les fichiers sous <tt>/var/log/foo</tt>,
-sauve 12 compressions, et demande au démon de recharger ses informations de
-configuration après la rotation des fichiers.
- </p>
-
- <p>
-Les fichiers-journaux seront supprimés quand le paquet est
-«&nbsp;purgé&nbsp;» (mais pas quand le paquet est simplement supprimé). Ce
-sera fait par le script <prgn>postrm</prgn> quand il sera appelé avec
-l'argument <tt>purge</tt> (voir <ref id="removedetails">).
- </p>
- </sect>
-
- <sect>
- <heading>Permissions et propriétaires</heading>
-
- <p>
-Les règles de cette section sont des directives pour une utilisation
-élémentaire. Quand c'est nécessaire, vous pouvez vous écarter de certains
-détails. Cependant, dans ce cas, sécurisez ce que vous
-faites et restez aussi cohérent que possible avec le système. Vous devriez
-probablement en discuter aussi dans <prgn>debian-devel</prgn>.
-</p>
- <p>
-Les fichiers appartiendront à <tt>root.root</tt>. Ils seront
-modifiables uniquement par le propriétaire et seront lisibles
-par tous (exécutables si nécessaire) c'est-à-dire 644 ou 755.
-</p>
- <p>
-Les répertoires auront le mode 755 ou, pour ceux qui doivent être
-modifiables par un groupe, le mode 2775. La propriété du répertoire sera
-cohérente avec le mode -- si le répertoire a comme mode 2775, il
-appartiendra au groupe qui a besoin d'y accéder.<footnote>
- <p>
-Quand un paquet est mis à jour et que le propriétaire ou les permissions d'un
-fichier inclus dans le paquet a changé, dpkg s'arrange pour que le propriétaire
-et les permissions soient positionnées correctement lors de
-l'installation. Cependant, cela ne s'étend pas aux répertoires&nbsp;; les
-permissions et le propriétaire des répertoires déjà présents sur le système ne
-changent pas lors d'une installation ou d'une mise à jour de paquet. Cela est
-logique car, sinon, des répertoires communs comme <tt>/usr</tt> serait toujours
-en flux. Pour changer correctement les permissions d'un répertoire appartenant
-à un paquet, une action explicite est nécessaire, habituellement dans le script
-<tt>postinst</tt>. Dans ce cas, une attention particulière doit être prise pour
-gérer également les mises à jour vers une version antérieure.
- </p>
- </footnote>
- </p>
-
- <p>
-Les exécutables qui sont «&nbsp;setuid&nbsp;» et «&nbsp;setgid&nbsp;» auront
-respectivement les modes 4755 et 2755, et ils appartiendront à l'utilisateur
-ou au groupe approprié. On n'interdira pas leur lecture (par des modes
-comme 4711 ou 2711 ou même 4111)&nbsp;; en effet cela n'apporte aucun gain de
-sécurité puisque n'importe qui peut obtenir les binaires dans les paquets
-Debian qui sont librement disponibles&nbsp;; c'est simplement gênant. Pour la même
-raison vous ne restreindrez pas les droits en lecture ou en exécution
-des exécutables «&nbsp;non-set-id&nbsp;».
-</p>
- <p>
-Certains programmes «&nbsp;setuid&nbsp;» doivent être restreints à certains
-groupes d'utilisateurs en se servant des permissions sur les fichiers. Dans
-ce cas, ils appartiendront à l'«&nbsp;uid&nbsp;» pour lesquels ils sont
-«&nbsp;set-id&nbsp;» et au groupe qui aura des droits d'exécution. Ils auront
-le mode 4754&nbsp;; cela ne sert à rien d'empêcher leur lecture aux
-utilisateurs qui n'ont pas les droits d'exécution.
-</p>
- <p>
-On peut permettre que, pour suivre sa politique locale de sécurité, un
-administrateur système puisse reconfigurer un paquet en changeant
-les permissions des fichiers binaires&nbsp;: il peut utiliser
-<prgn>dpkg-statoverride</prgn> pour cela, comme c'est décrit plus bas
-<footnote>
-<p>
-Les fichiers ordinaires (à l'exception des <tt>conffile</tt>s et d'autres
-fichiers similaires) installés par <prgn>dpkg</prgn> ont normalement
-leurs droits réinitialisés avec les droits de la distribution lors de la
-réinstallation d'un paquet. Cependant, l'utilisation du programme
-<prgn>dpkg-statoverride</prgn> annule ce comportement par défaut. Si vous
-utilisez cette méthode, vous penserez à décrire ce programme dans la
-documentation du paquet&nbsp;; en tant qu'apport relativement récent
-à Debian, il est probablement peu connu.
- </p></footnote>.
-Une autre méthode est de créer un groupe comprenant les utilisateurs autorisés
-à utiliser le programme et de rendre tous les exécutables <em>setuid</em>
-exécutables seulement par ce groupe.
- </p>
-
- <p>
-Si vous avez besoin d'un nouvel utilisateur ou groupe pour votre paquet, vous
-avez deux possibilités. La première est de rendre cet utilisateur ou ce
-groupe propriétaire d'un ou plusieurs fichiers de votre paquet. La deuxième
-est de compiler l'identifiant (plutôt que le nom) d'utilisateur ou de groupe
-dans le binaire. Dans ce cas vous avez besoin d'un identifiant attribué de
-façon fixe.
-</p>
- <p>
-Si vous avez besoin d'un identifiant attribué de façon fixe, vous devez alors
-demander un identifiant d'utilisateur ou de groupe au
-responsable du système de base, <tt>base-passwd</tt> et vous ne devez pas
-livrer votre paquet avant d'avoir reçu un tel identifiant. Quand vous l'avez
-reçu, vous devez faire dépendre votre paquet d'une version du système de base
-dans laquelle l'identifiant est présent dans <tt>/etc/passwd</tt> ou dans
-<tt>/etc/group</tt>. Alternativement, vous pouvez modifier votre paquet pour
-qu'il crée lui-même l'utilisateur ou le groupe avec le bon identifiant
-(en utilisant <tt>adduser</tt>) dans les scripts <prgn>preinst</prgn> ou
-<prgn>postinst</prgn>. (Utiliser <prgn>postinst</prgn> est préférable si c'est
-possible&nbsp;; sinon, il faudra une pré-dépendance envers le paquet
-<tt>adduser</tt>.)
-</p>
-
- <p>
-D'un autre côté, un programme peut être capable, en fonctionnement, de
-déterminer l'«&nbsp;uid&nbsp;» ou le «&nbsp;gid&nbsp;» à partir du nom d'un
-groupe de façon à utiliser un identifiant attribué de façon dynamique. Dans
-ce cas vous choisirez un nom d'utilisateur ou de groupe approprié, vous en
-discuterez dans <prgn>debian-devel</prgn>, vous vérifierez avec le responsable
-du paquet <package>base-passwd</package> que ce nom est unique et vous vous
-assurerez qu'ils
-(la liste <prgn>debian-devel</prgn>) ne préfèrent pas un identifiant attribué
-de manière fixe. Quand tout cela a été vérifié, vous devez modifier votre
-paquet pour qu'il crée, si nécessaire, l'utilisateur ou le groupe avec
-<prgn>adduser</prgn> dans les scripts <prgn>preinst</prgn> ou
-<prgn>postinst</prgn> (à nouveau, ces derniers sont préférables si c'est
-possible).
-</p>
- <p>
-Il faut noter que changer la valeur numérique d'un identifiant associé
-à un nom est une opération très difficile. Elle implique de rechercher
-dans le système de fichier tous les fichiers concernés. Réfléchissez
-sérieusement au meilleur choix entre «&nbsp;id&nbsp;» statique ou dynamique,
-car modifier votre choix ultérieurement posera des problèmes.
-</p>
-
-<sect1><heading>L'utilisation du programme <prgn>dpkg-statoverride</prgn></heading>
-<p>
-Cette section ne se veut pas normative&nbsp;: c'est une description de
-l'utilisation du programme <prgn>dpkg-statoverride</prgn>.
- </p>
-<p>
-Le programme <prgn>dpkg-statoverride</prgn> remplace le paquet
-<tt>suidmanager</tt>. Les paquets qui utilisaient <tt>suidmanager</tt>
-auront un champ <tt>Conflicts: suidmanager (&lt;&lt;0.50)</tt> et les appels
-à <tt>suidregister</tt> et à <tt>suidunregister</tt> seront simplement
-supprimés des scripts des responsables de paquet.
- </p>
-<p>
-Quand un administrateur système souhaite installer un fichier (un répertoire,
-etc.) avec un système de permissions différent de celui du paquet Debian
-distribué, il peut se servir de <prgn>dpkg-statoverride</prgn> pour dire
-à <prgn>dpkg</prgn> d'utiliser un système particulier à chaque installation
-du fichier. Ainsi, le responsable du paquet distribuera les fichiers avec
-un système de permissions normal et laissera faire
-ses modifications. Par exemple, un démon, qui est normalement
-<em>setuid root</em> mais qui pourrait parfois être utilisé sans être
-<em>setuid</em>, sera installé <em>setuid</em> dans le fichier <tt>.deb</tt>.
-Puis, l'administrateur système local changera cela s'il le souhaite. Quand il
-y a deux façons de faire, le responsable de paquet peut utiliser
-<tt>debconf</tt> pour trouver la préférée, et appeler
-<prgn>dpkg-statoverride</prgn> dans ses scripts pour prendre en compte les
-choix de l'administrateur système. Une attention particulière doit être prise
-pendant les mises à jour pour ne pas supprimer un paramétrage existant.
- </p>
-<p>
-Le programme <prgn>dpkg-statoverride</prgn> est donc essentiellement un
-outil pour administrateur système et les scripts de responsable de paquet
-ne devraient pas en avoir besoin. Il y a cependant une situation où des
-appels à <prgn>dpkg-statoverride</prgn> peuvent être nécessaires dans ces
-scripts&nbsp;; il s'agit des paquets qui se servent d'identifiants
-d'utilisateur ou de groupe attribués dynamiquement. Dans cette situation, où
-<tt>sysuser</tt> est un identifiant dynamiquement attribué, il peut être
-utile de se servir, dans le <prgn>postinst</prgn> du paquet, de quelque chose
-comme&nbsp;:
- <example>
-for i in /usr/bin/foo /usr/sbin/bar
-do
- # ne faire quelque chose que si aucun paramétrage n'existe
- if ! dpkg-statoverride --list $i >/dev/null
- then
- #inclus : traitement debconf, question à propos de foo et bar
- if [ "$RET" = "true" ] ; then
- dpkg-statoverride --update --add sysuser root 4755 $i
- fi
- fi
-done
- </example>
-Quand le paquet est <em>purgé</em>, on peut faire sans condition les appels
-correspondants <tt>dpkg-statoverride --remove</tt>.
- </p>
- </sect1>
- </sect>
- </chapt>
-
- <chapt id="customized-programs">
- <heading>Programmes personnalisés</heading>
-
- <sect id="arch-spec">
- <heading>Les chaînes de spécification d'architecture</heading>
-
- <p>
-Quand un programme doit fournir une <em>chaîne de spécification
-d'architecture</em>, il devra choisir l'une des chaînes fournies par
-<tt>dpkg-architecture -L</tt>. Les chaînes sont au format&nbsp;:
-<tt><var>os</var>-<var>arch</var></tt>, bien que la partie OS soit parfois omise
-quand l'OS est Linux.<footnote>
- <p>
- Actuellement, les chaînes sont&nbsp;:
- i386 ia64 alpha amd64 armeb arm hppa m32r m68k mips
- mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb
- sparc darwin-i386 darwin-ia64 darwin-alpha darwin-amd64
- darwin-armeb darwin-arm darwin-hppa darwin-m32r
- darwin-m68k darwin-mips darwin-mipsel darwin-powerpc
- darwin-ppc64 darwin-s390 darwin-s390x darwin-sh3
- darwin-sh3eb darwin-sh4 darwin-sh4eb darwin-sparc
- freebsd-i386 freebsd-ia64 freebsd-alpha freebsd-amd64
- freebsd-armeb freebsd-arm freebsd-hppa freebsd-m32r
- freebsd-m68k freebsd-mips freebsd-mipsel freebsd-powerpc
- freebsd-ppc64 freebsd-s390 freebsd-s390x freebsd-sh3
- freebsd-sh3eb freebsd-sh4 freebsd-sh4eb freebsd-sparc
- kfreebsd-i386 kfreebsd-ia64 kfreebsd-alpha
- kfreebsd-amd64 kfreebsd-armeb kfreebsd-arm kfreebsd-hppa
- kfreebsd-m32r kfreebsd-m68k kfreebsd-mips
- kfreebsd-mipsel kfreebsd-powerpc kfreebsd-ppc64
- kfreebsd-s390 kfreebsd-s390x kfreebsd-sh3 kfreebsd-sh3eb
- kfreebsd-sh4 kfreebsd-sh4eb kfreebsd-sparc knetbsd-i386
- knetbsd-ia64 knetbsd-alpha knetbsd-amd64 knetbsd-armeb
- knetbsd-arm knetbsd-hppa knetbsd-m32r knetbsd-m68k
- knetbsd-mips knetbsd-mipsel knetbsd-powerpc
- knetbsd-ppc64 knetbsd-s390 knetbsd-s390x knetbsd-sh3
- knetbsd-sh3eb knetbsd-sh4 knetbsd-sh4eb knetbsd-sparc
- netbsd-i386 netbsd-ia64 netbsd-alpha netbsd-amd64
- netbsd-armeb netbsd-arm netbsd-hppa netbsd-m32r
- netbsd-m68k netbsd-mips netbsd-mipsel netbsd-powerpc
- netbsd-ppc64 netbsd-s390 netbsd-s390x netbsd-sh3
- netbsd-sh3eb netbsd-sh4 netbsd-sh4eb netbsd-sparc
- openbsd-i386 openbsd-ia64 openbsd-alpha openbsd-amd64
- openbsd-armeb openbsd-arm openbsd-hppa openbsd-m32r
- openbsd-m68k openbsd-mips openbsd-mipsel openbsd-powerpc
- openbsd-ppc64 openbsd-s390 openbsd-s390x openbsd-sh3
- openbsd-sh3eb openbsd-sh4 openbsd-sh4eb openbsd-sparc
- hurd-i386 hurd-ia64 hurd-alpha hurd-amd64 hurd-armeb
- hurd-arm hurd-hppa hurd-m32r hurd-m68k hurd-mips
- hurd-mipsel hurd-powerpc hurd-ppc64 hurd-s390 hurd-s390x
- hurd-sh3 hurd-sh3eb hurd-sh4 hurd-sh4eb hurd-sparc
- </p>
- </footnote>
- </p>
-
- <p>
-On remarquera que nous ne voulons pas utiliser
-<tt><var>arch</var>-debian-linux</tt> dans la chaîne
-<tt><var>architecture</var>-<var>vendor</var>-<var>os</var></tt>
-car cela rendrait nos programmes incompatibles avec les autres distributions
-Linux. Notez aussi que nous n'utilisons pas
-<tt><var>arch</var>-unknown-linux</tt>, car <tt>unknown</tt> ne sonne pas
-très bien.
-</p>
-</sect>
-
-
- <sect>
- <heading>Les «&nbsp;démons&nbsp;»</heading>
-
- <p>
-Les fichiers de configuration <file>/etc/services</file>,
-<file>/etc/protocols</file> et <file>/etc/rpc</file> sont gérés par le paquet
-<prgn>netbase</prgn> et ne doivent pas être modifiés par d'autres paquets.
-</p>
-
- <p>
-Quand un paquet a besoin d'une nouvelle entrée dans l'un de ces fichiers,
-son responsable contactera le responsable du paquet <prgn>netbase</prgn>,
-qui ajoutera cette entrée et produira une nouvelle version du paquet
-<prgn>netbase</prgn>.
-</p>
-
- <p>
-Le fichier de configuration <file>/etc/inetd.conf</file> ne doit pas être
-modifié par les scripts d'un paquet sauf si c'est <em>via</em> le script
-<prgn>update-inetd</prgn> ou le module Perl <file>DebianNet.pm</file>. Voir la
-documentation pour savoir comment ajouter des entrées.
-</p>
- <p>
-Quand un paquet veut ajouter un exemple d'entrée dans
-<file>/etc/inetd.conf</file>, cette entrée doit être précédée par un seul
-caractère «&nbsp;#&nbsp;». De telles lignes sont traitées comme des
-commentaires de l'utilisateur par le script <prgn>update-inetd</prgn> et
-ne seront pas modifiées ou activées lors des mises à jour des paquets.
-</p>
-</sect>
-
- <sect>
-<heading>L'utilisation des pseudo-ttys et la modification de «&nbsp;wtmp&nbsp;»,
-«&nbsp;utmp&nbsp;» et «&nbsp;lastlog&nbsp;»</heading>
-
- <p>
-Certains programmes ont besoin de créer des pseudo-ttys.
-On doit le faire avec les «&nbsp;Unix98&nbsp;» ptys si la bibliothèque
-«&nbsp;C&nbsp;» le permet. Le programme résultant ne doit pas être installé
-«&nbsp;setuid root&nbsp;», à moins que d'autres fonctions ne le demandent.</p>
-
- <p>
-Les fichiers <tt>/var/run/utmp</tt>, <tt>/var/log/wtmp</tt> et
-<tt>/var/log/lastlog</tt> doivent être modifiables par le groupe
-<tt>utmp</tt>. Les programmes qui ont besoin de modifier ces fichiers
-doivent appartenir au groupe <tt>utmp</tt>.
- </p>
- </sect>
-
- <sect>
- <heading>Les éditeurs de texte et les pagineurs</heading>
-
- <p>
-Certains programmes peuvent appeler un éditeur ou un pagineur pour modifier
-ou afficher un document texte. Comme de nombreux éditeurs et pagineurs sont
-disponibles dans la distribution Debian, l'administrateur système et les
-utilisateurs pourront choisir leur éditeur ou leur pagineur préféré.
-</p>
- <p>
-De plus, chaque programme choisira un éditeur ou un pagineur
-par défaut si l'utilisateur ou l'administrateur système n'en a pas choisi un.
-</p>
-
- <p>
-Ainsi chaque programme qui appelle un éditeur ou un pagineur doit
-utiliser les variables d'environnement EDITOR ou PAGER pour déterminer
-l'éditeur ou le pagineur que l'utilisateur souhaite employer. Si ces
-variables ne sont pas définies, les programmes <tt>/usr/bin/editor</tt>
-et <tt>/usr/bin/pager</tt> seront, respectivement, utilisés.
-</p>
- <p>
-Ces deux fichiers sont gérés par l'outil de <prgn>dpkg</prgn>,
-«&nbsp;alternatives&nbsp;». Tout paquet,
-fournissant un éditeur ou un pagineur, doit employer le script
-«&nbsp;update-alternatives&nbsp;» pour déclarer ces programmes.
-</p>
-
- <p>
-Lorsqu'il est très difficile d'adapter un programme pour qu'il utilise
-les variables EDITOR et PAGER, ce programme peut être configuré
-pour utiliser respectivement <tt>/usr/bin/sensible-editor</tt> et
-<tt>/usr/bin/sensible-pager</tt> comme éditeur ou pagineur. Ce sont
-deux scripts fournis par le système Debian de base qui testent les
-variables EDITOR ou PAGER et lancent les programmes appropriés ou bien
-exécutent par défaut <tt>/usr/bin/editor</tt> ou <tt>/usr/bin/pager</tt>
-quand la variable n'est pas définie.
-</p>
- <p>
-Un programme peut aussi se servir de la variable d'environnement VISUAL
-pour connaître l'éditeur choisi par l'utilisateur. Si elle existe, elle
-prend le pas sur la variable EDITOR. Et c'est ce que fait
-<tt>/usr/bin/sensible-editor</tt>.</p>
-
-
- <p>
-Un paquet n'a pas besoin de dépendre d'<tt>editor</tt> ou de <tt>pager</tt>,
-et il n'y a pas besoin de paquets virtuels pour cela
-<footnote>
-<p>
-Le système Debian de base fournit déjà un éditeur et
-un pagineur.</p>
- </footnote>.
-</p>
- </sect>
- <sect id="web-appl">
- <heading>Serveurs et applications Web</heading>
-
- <p>
-Cette section décrit les emplacements et les «&nbsp;URL&nbsp;» qui seront
-employés par tous les serveurs et applications Web dans le système Debian.
-</p>
-
- <p>
- <enumlist>
- <item>
-<p>Les fichiers exécutables cgi-bin sont installés dans le répertoire
- <example compact="compact">
-/usr/lib/cgi-bin/<var>cgi-bin-name</var>
- </example>
-et seront référencés par
- <example compact="compact">
-http://localhost/cgi-bin/<var>cgi-bin-name</var>
- </example></p></item>
-
-
- <item><p>L'accès aux documents HTML</p>
-
- <p>
-Les documents HTML d'un paquet sont conservés dans
-<tt>/usr/share/doc/<var>package</var></tt> et peuvent être référencés par
- <example compact="compact">
-http://localhost/doc/<var>paquet</var>/<var>nom-de-fichier</var>
- </example></p>
-<p>
-Le serveur web restreindra l'accès à l'arborescence des documents pour que
-seuls les clients appartenant à cette machine puissent consulter ces documents.
-Quand le serveur ne peut contrôler les accès, il ne fournira aucun accès, ou
-questionnera, pendant l'installation, au sujet d'un tel accès.
-</p>
-</item>
-
- <item>
- <p>L'accés au images</p>
- <p>
-Il est recommandé de mettre les images d'un paquet dans
-<tt>/usr/share/images/<var>paquet</var></tt> et de les référencer par un alias
-comme dans cet exemple&nbsp;:
- <example>
- http://localhost/images/&lt;package&gt;/&lt;filename&gt;
- </example>
-
- </p>
- </item>
-
-
-
- <item><p>La racine des documents Web</p>
-
- <p>
-Les applications Web éviteront de conserver des fichiers dans la racine
-des documents Web. Il faut utiliser, à la place, le répertoire
-/usr/share/doc/<var>paquet</var> pour les documents et déclarer
-l'application Web <em>via</em> le paquet <package>doc-base</package>.
-Si l'accès à la racine des documents Web est inévitable alors il faut utiliser
- <example compact="compact">
-/var/www
- </example>
-comme racine des documents. Cela peut être juste un lien symbolique
-vers l'emplacement où l'administrateur a mis la véritable racine
-des documents.
- </p>
-</item>
- <item><p>Fournir httpd et/ou httpd-cgi</p>
- <p>
-Tous les serveurs web devraient fournir le paquet virtuel <tt>httpd</tt>. Si un
-serveur intègre une gestion des CGI, il devrait de plus fournir
-<tt>httpd-cgi</tt>.
- </p>
- <p>
-Toutes les applications web ne contenant pas de scripts CGI devraient dépendre
-de <tt>httpd</tt>, toutes les applications web <tt>contenant</tt> des scripts
-CGI, devraient dépendre de <tt>httpd-cgi</tt>.
- </p>
- </item>
-</enumlist>
-</p>
-</sect>
-
-
- <sect id="mail-transport-agents">
- <heading>Le courrier : transport, distribution et lecture des messages.</heading>
-
- <p>
-Les paquets Debian qui traitent le courrier électronique, que ce soient les
-agents utilisateurs (<em>MUA: Mail User Agents</em>) ou les agents de
-transport (<em>MTA: Mail Transport Agent</em>), doivent respecter les
-directives de configuration qui suivent. Le non-respect de celles-ci peut
-entraîner la perte de messages, la présence de lignes <tt>From:</tt>
-incorrectes et d'autres dommages sérieux&nbsp;!
-</p>
-
- <p>
-Le répertoire pour le courrier est <tt>/var/mail</tt> et l'interface
-pour envoyer des courriers est <tt>/usr/sbin/sendmail</tt> (conformément au
-FHS). Sur des systèmes plus anciens, le répertoire du courrier peut être
-physiquement situé dans <tt>/var/spool/mail</tt> mais les accès à ce répertoire
-se feront par le lien symbolique <tt>/var/mail</tt>. Le répertoire pour le
-courrier fait partie du système de base et n'appartient pas au paquet MTA.
-</p>
-
-<p>
-Dans le système Debian, tous les MUA, MTA, MDA et autres programmes de
-gestions des boîtes aux lettres (comme les démons IMAP) doivent verrouiller
-les boîtes aux lettres de façon à permettre l'usage de NFS. Cela signifie
-que le verrouillage de type <tt>fcntl()</tt> doit être associé avec celui
-de type point («&nbsp;dot locking&nbsp;»). Pour éviter les situations inextricables, un programme utilisera d'abord <tt>fcntl()</tt> et ensuite le
-verrouillage «&nbsp;point&nbsp;» ou bien implantera si possible les deux
-méthodes à la fois<footnote><p>Quand il n'est pas possible d'établir les deux
-modes de verrouillage, le système ne doit pas attendre que le second mode soit
-mis en place, mais doit enlever le premier mode, attendre un certain temps
-et recommencer le verrouillage.</p></footnote>. Pour faire cela, il est
-conseillé d'employer les fonctions <tt>maillock</tt> et <tt>mailunlock</tt>
-présentes dans le paquet <tt>liblockfile*</tt><footnote>
- <p>
-Pour utiliser ces fonctions, il faut avoir une dépendance envers
-<tt>liblockfile</tt> version &gt;&gt;1.01.</p>
- </footnote>.
- </p>
-
-
- <p>
-Les boîtes aux lettres ont généralement le mode 660
-<tt><var>utilisateur</var>.mail</tt> à moins que l'administrateur système n'en
-ait décidé autrement. Un MUA peut supprimer une boîte aux lettres (sauf
-si elle n'a pas les permissions standards). Dans ce cas, le MTA ou
-un autre MUA doit la recréer au besoin. Le groupe <tt>mail</tt> doit
-pouvoir modifier les boîtes aux lettres.
-</p>
- <p>
-La file d'attente du courrier a le mode 2775
-<tt>root.mail</tt> et les MUA doivent appartenir au groupe <tt>mail</tt>
-pour effectuer le verrouillage mentionné précédemment (et doivent évidemment
-s'interdire l'accès aux boîtes aux lettres des autres utilisateurs
-en employant ce privilège).
-</p>
- <p>
-<file>/etc/aliases</file> est le fichier contenant les alias du système
-de messagerie (par exemple postmaster, usenet, etc.)&nbsp;&mdash; c'est l'un des
-fichiers que l'administrateur système et les scripts <prgn>postinst</prgn>
-peuvent modifier. Après avoir modifié <file>/etc/aliases</file>, le programme
-ou l'administrateur doit exécuter <prgn>newaliases</prgn>. Tous les
-paquets MTA doivent contenir un programme <prgn>newaliases</prgn>,
-même s'il ne fait rien. Cependant les anciens paquets MTA ne le
-faisant pas, les programmes ne doivent pas échouer si
-<prgn>newaliases</prgn> ne peut être trouvé. À cause de cela, tous les
-MTA doivent posséder les champs <tt>Provides</tt>, <tt>Conflicts</tt> et
-<tt>Replaces: mail-transport-agent</tt> dans leur fichier de contrôle.
-</p>
-
- <p>
-La convention consistant à écrire <tt>forward to <var>adresse</var></tt>
-dans la boîte aux lettres elle-même n'est pas supportée. Utilisez
-un fichier <tt>.forward</tt> à la place.
-</p>
- <p>
-L'emplacement du programme <prgn>rmail</prgn> utilisé par UUCP pour
-les messages entrants sera <tt>/usr/sbin/rmail</tt>.
-De même le programme <prgn>rsmtp</prgn>, qui reçoit des lots SMTP via UUCP,
-sera placé dans <tt>/usr/sbin/rsmtp</tt> s'il est supporté.
-</p>
- <p>
-Quand un programme veut savoir quel nom d'hôte employer, par exemple, pour les
-messages sortants (courrier et nouvelles) qui sont créés localement,
-il utilisera le fichier <tt>/etc/mailname</tt>. Il contient
-la partie située après le nom d'utilisateur et le signe <tt>@</tt> (at)
-des adresses électroniques des utilisateurs de la machine (suivi
-par un retour à la ligne).
-</p>
-
- <p>
-Un tel programme s'assurera de l'existence de ce fichier. S'il existe,
-il sera employé sans commentaire (le script de configuration
-d'un MTA peut vouloir interroger l'utilisateur même s'il trouve
-ce fichier). S'il n'existe pas, il demandera une valeur
-à l'utilisateur (en utilisant de préférence <prgn>debconf</prgn>) et la
-stockera dans <tt>/etc/mailname</tt> puis
-l'emploiera pour la configuration du paquet. Le message d'invite
-sera explicite afin d'indiquer que ce nom ne sera pas utilisé
-seulement par ce paquet. Par exemple dans cette situation, le paquet
-<tt>INN</tt> pourrait dire&nbsp;:
- <example compact="compact">
-Please enter the "mail name" of your system. This is the
-hostname portion of the address to be shown on outgoing
-news and mail messages. The default is
-<var>syshostname</var>, your system's host name. Mail
-name ["<var>syshostname</var>">']:
- </example>
- où <var>syshostname</var> est la sortie de <tt>hostname
- --fqdn</tt>.
-</p>
-</sect>
-
-
- <sect>
- <heading>La configuration du système de «&nbsp;Nouvelles&nbsp;»</heading>
-
- <p>
-Tous les fichiers de configuration relatifs aux serveurs et aux
-clients NNTP (nouvelles) seront placés dans le répertoire <file>/etc/news</file>.
-</p>
-
- <p>
-Quelques points de configuration s'appliquent à de nombreux paquets
-concernant les nouvelles (clients et serveurs) sur la machine&nbsp;:
-
- <taglist>
- <tag><tt>/etc/news/organization</tt></tag>
- <item><p>c'est une chaîne qui apparaîtra dans le champ
-organisation de l'en-tête de chaque
-message posté par les clients NNTP de la machine.
- </p>
-</item>
-
- <tag><tt>/etc/news/server</tt></tag>
- <item><p>contient soit le FQDN du serveur NNTP principal soit
-localhost si la machine locale est un serveur NNTP.
- </p>
-</item>
- </taglist>
- </p>
-<p>
-D'autres fichiers de portée générale peuvent être ajoutés s'ils sont requis
-pour la configuration commune à plusieurs paquets concernant les nouvelles.
-</p>
-</sect>
-
- <sect>
- <heading>Les programmes pour le système X Window</heading>
-
- <sect1>
- <heading>X et la priorité des paquets</heading>
-
- <p>
-On doit configurer pour le système X Window les programmes qui peuvent l'être,
-et on doit déclarer toutes les dépendances nécessaires à leur fonctionnement
-sous «&nbsp;X&nbsp;». Quand ces dépendances sont pour un paquet
-dont la priorité est une priorité supérieure à celles des paquets X dont il
-dépend, les binaires spécifiques à «&nbsp;X&nbsp;» peuvent être mis dans un
-paquet distinct, ou bien des versions alternatives du paquet avec support de
-«&nbsp;X&nbsp;» peuvent être fournies, ou bien encore la priorité du paquet
-peut être abaissée.
-</p>
- </sect1>
-
-<sect1><heading> Les paquets fournissant un serveur X</heading>
-
-<p>
-<em>Les paquets qui fournissent un serveur «&nbsp;X&nbsp;» </em> et qui,
-directement ou indirectement, communiquent avec le matériel d'entrée et
-d'affichage, déclareront dans leurs données de contrôle qu'ils fournissent
-le paquet virtuel <tt>xserver</tt>
- <footnote>
- <p>
-Cela met en ½uvre la pratique actuelle et offre une
-vraie politique pour l'utilisation du paquet virtuel <tt>xserver</tt>,
-lequel apparaît dans la liste des paquets virtuels. En résumé, les serveurs
-«&nbsp;X&nbsp;» qui communiquent directement avec le matériel d'entrée et
-d'affichage ou via un autre sous-système (p. ex. GGI) fourniront
-<tt>xserver</tt>. Des choses comme <tt>Xvfb</tt>, <tt>Xnest</tt> et
-<tt>Xprt</tt> ne doivent pas le faire.
- </p>
- </footnote>.
- </p>
- </sect1>
-<sect1>
-<heading>Les paquets fournissant un émulateur de terminal</heading>
-
-<p>
-
-Les paquets qui fournissent un émulateur de terminal pour le
-système X Window et qui correspondent aux critères énumérés plus bas,
-déclareront dans leurs données de contrôle qu'ils fournissent le paquet
-virtuel <tt>x-terminal-emulator</tt>. Ils se déclareront comme une
-alternative pour <file>/usr/bin/x-terminal-emulator</file>, avec une priorité
-égale à 20.
-</p>
-<p>
-Pour être un <tt>x-terminal-emulator</tt>, un programme doit&nbsp;:
-<list compact="compact">
-<item><p>
-se comporter comme un terminal DEC VT100 ou un terminal compatible&nbsp;;
-</p></item>
-<item><p>
-accepter l'option de ligne de commande <tt>-e <var>commande</var></tt> qui
-crée une nouvelle fenêtre de terminal<footnote>
-Une nouvelle fenêtre de terminal ne signifie pas nécessairement une nouvelle
-fenêtre X de plus haut niveau directement liée au gestionnaire de
-fenêtres&nbsp;; elle pourrait être, si l'application qui émule le terminal
-était codée ainsi, une nouvelle «&nbsp;vue&nbsp;» dans une interface pour
-plusieurs documents (MDI, multiple-document interface).
- </footnote>
-et exécuter la <var>commande</var> spécifiée, en interprétant tout le reste de
-la ligne de commande comme une commande à donner directement à exec, à la
-manière de <tt>xterm</tt>&nbsp;;
-</p></item>
-<item><p>
-accepter l'option de ligne de commande <tt>-T <var>titre</var></tt> qui
-crée une nouvelle fenêtre de terminal avec comme titre <var>titre</var>.
-</p></item>
-</list>
-</p>
-</sect1>
-
-<sect1><heading>Les paquets fournissant des gestionnaires de fenêtres</heading>
-
-<p>
-Les paquets qui fournissent des gestionnaires de fenêtres déclareront dans
-leurs données de contrôle qu'ils fournissent le paquet virtuel
-<tt>x-window-manager</tt>. Ils se déclareront comme une alternative pour
-<tt>/usr/bin/x-window-manager</tt>, avec une priorité qu'on calculera ainsi&nbsp;:
-<list compact="compact">
- <item><p>Commencez avec une priorité égale à 20.</p></item>
- <item>
-<p>
-Si le gestionnaire de fenêtres permet le système des menus de Debian, on
-ajoutera 20 points si cela se fait avec la configuration par défaut du
-paquet (c.-à-d. qu'il n'y a pas besoin, pour obtenir cette fonctionnalité,
-de modifier des fichiers de configuration appartenant au système ou à
-l'utilisateur)&nbsp;; si l'on doit modifier des fichiers de configuration, on
-ajoutera seulement 10 points.</p>
-</item>
- <item>
- <p>
-Si le gestionnaire de fenêtres est conforme au
-<url id="http://www.freedesktop.org/standards/wm-spec"
- name="Projet pour la spécification des gestionnaires de fenêtres (The Window Manager Specification Project)">, écrit par le
- <url id="http://www.freedesktop.org"
- name="Free Desktop Group">, on ajoutera 20 points.
- </p>
- </item>
-
-<item>
-<p>
-Si le gestionnaire de fenêtres autorise, dans sa configuration par défaut, le
-redémarrage d'une session X avec un <em>nouveau</em> gestionnaire de fenêtres
-(sans tuer le serveur X), on ajoutera 10 points&nbsp;; sinon, rien.
-</p>
-</item>
-</list>
- </p>
- </sect1>
-
-<sect1>
-<heading>Les paquets fournissant des polices</heading>
-<p>
-Les paquets qui fournissent des polices pour le système X Window
-<footnote>
-<p>
-Dans le cadre de cette charte, une «&nbsp;police pour le système X Window&nbsp;»
-est une police accessible par des requêtes utilisant le protocole X. Les
-polices pour la console Linux, pour les formateurs PostScript, etc., ne
-rentrent pas dans cette catégorie. Tous les outils qui rendent disponibles de
-telles polices pour le système X Window doivent cependant se conformer à cette
-règle.</p>
- </footnote>
-doivent faire un certain nombre de choses pour s'assurer à la fois qu'ils
-sont disponibles sans avoir à modifier la configuration du serveur
-X ou du serveur de polices, et qu'ils n'abîment pas les fichiers utilisés
-par d'autres paquets pour déclarer les renseignements qui les concernent.
-<enumlist>
- <item>
-<p>
-Les polices de tout type offertes pour le système X Window doivent être dans des
-paquets distincts des binaires, bibliothèques ou de la documentation (sauf
-celle liée à la police fournie, par exemple leur licence). Quand une ou
-plusieurs polices sont nécessaires à l'exploitation correcte du paquet auquel
-elles sont associées, le paquet qui les contient peut être placé dans un
-champ <em>Recommends</em>&nbsp;; si elles n'apportent que des améliorations,
-on peut utiliser un champ <em>Suggests</em>. Les paquets ne doivent pas
-dépendre de paquets contenants des polices<footnote>
-<p>
-Le serveur X peut en effet récupérer des polices sur le système de fichiers
-local ou, à travers le réseau, sur un serveur de polices pour X&nbsp;; le
-système Debian des paquets ne permet que l'utilisation du système de fichiers
-local.
-</p>
-</footnote>.
- </p>
- </item>
-<item>
-<p>
-Les polices BDF seront converties en polices PCF avec le programme
-<prgn>bdftopcf</prgn> (disponible dans le paquet <tt>xfonts-utils</tt>),
-<prgn>gzip</prgn>ées, et placées dans un répertoire qui correspond à leur
-définition&nbsp;:
-<list compact="compact">
- <item><p>
- Les polices à 100 dpi seront mises dans
- <tt>/usr/share/fonts/X11/100dpi/</tt>&nbsp;;
- </p></item>
- <item><p>
- Les polices à 75 dpi seront mises dans
- <tt>/usr/share/fonts/X11/75dpi/</tt>&nbsp;;
- </p></item>
- <item><p>
-Les polices à chasse fixe, les polices pour le curseur, ainsi que
-d'autres polices de faible définition seront mises dans
- <tt>/usr/share/fonts/X11/misc/</tt>.
- </p></item>
- </list>
- </p>
-</item>
- <item><p>
-les polices «&nbsp;Speedo&nbsp;» seront mises dans
-<tt>/usr/share/fonts/X11/Speedo/</tt>.
- </p> </item>
-<item><p>
-les polices «&nbsp;Type 1&nbsp;» seront mises dans
- <tt>/usr/share/fonts/X11/Type1/</tt>.
-Si des fichiers de métrique sont disponibles, ils peuvent aussi être placés
-là.
- </p> </item>
- <item><p>
-On ne doit pas créer ni utiliser d'autres répertoires dans
-<tt>/usr/share/fonts/X11/</tt> que ceux répertoriés dans la liste qui
-précède. Les répertoires <tt>PEX</tt>, <tt>CID</tt> et <tt>cyrillic</tt>
-font exception pour des raisons historiques, mais l'installation de fichiers
-dans ces répertoires reste déconseillée.
-</p>
-</item>
- <item>
-<p>
-Au lieu de mettre directement des fichiers dans les répertoires cités dans
-la liste qui précède, les paquets peuvent fournir des liens symboliques
-dans le répertoire des polices pointant vers l'emplacement réel des fichiers
-dans l'arborescence. Un tel emplacement doit se conformer au «&nbsp;FHS&nbsp;».
- </p></item>
- <item><p>
-Les paquets ne contiendront pas à la fois les versions à 75 dpi et les versions
-à 100 dpi d'une police. Si les deux sont disponibles, elles seront fournies
-dans des paquets distincts dont les noms seront étiquetés <tt>-75dpi</tt>
-ou <tt>-100dpi</tt>.</p></item>
- <item><p>
-Les polices destinées au répertoire <tt>misc</tt> ne doivent pas être mises
-dans les mêmes paquets que ceux des polices à 75 dpi ou 100 dpi mais elles
-seront fournies dans un paquet distinct étiqueté <tt>-misc</tt>.
-</p>
-</item>
- <item>
-<p>
-Les paquets ne doivent pas fournir les fichiers <tt>fonts.dir</tt>,
-<tt>fonts.alias</tt> ou <tt>fonts.scale</tt> dans un répertoire de polices.
-<list compact="compact">
- <item><p>
-les fichiers <tt>fonts.dir</tt> ne doivent en aucun cas être fournis&nbsp;;
- </p></item>
- <item><p>
-si besoin est, les fichiers <tt>fonts.alias</tt> et <tt>fonts.scale</tt>
-seront fournis dans le répertoire
-<tt>/etc/X11/fonts/<var>fontdir</var>/<var>paquet</var>.<var>extension</var></tt>
-où <var>fontdir</var> est le nom du répertoire de
-<tt>/usr/share/fonts/X11/</tt> dans lequel sont conservées les polices
-du paquet correspondant (p. ex. <tt>75dpi</tt> ou <tt>misc</tt>), où
-<var>paquet</var> est le nom du paquet qui fournit ces polices, et où
-<var>extension</var> correspond au contenu du fichier, soit <tt>scale</tt>
-soit <tt>alias</tt>.
-</p>
-</item>
- </list>
- </p>
- </item>
- <item>
-<p>
-Les paquets doivent déclarer une dépendance envers le paquet
-<tt>xfonts-utils</tt> dans leurs données de contrôle.
- </p>
- </item>
-<item><p>
-Les paquets qui fournissent un ou plusieurs fichiers <tt>fonts.scale</tt> tels
-qu'ils sont décrits plus haut, doivent appeler le programme
-<prgn>update-fonts-scale</prgn>, pour chaque répertoire où est installée une
-police, <em>avant</em> d'appeler le programme <prgn>update-fonts-dir</prgn>
-pour ce répertoire. Cet appel doit se faire à la fois dans le script
-<prgn>postinst</prgn> (pour tous les arguments) et dans le script
-<prgn>postrm</prgn> (pour tous les arguments sauf <tt>upgrade</tt>).
- </p>
-</item>
- <item>
-<p>
-Les paquets qui fournissent un ou plusieurs de ces fichiers
-<tt>fonts.alias</tt> dont on vient de parler, doivent appeler le programme
-<prgn>update-fonts-alias</prgn> pour chaque répertoire où ils installent des
-polices. Cet appel doit se faire à la fois dans le script
-<prgn>postinst</prgn> (pour tous les arguments) et dans le script
-<prgn>postrm</prgn> (pour tous les arguments sauf <tt>upgrade</tt>).
- </p>
-</item>
-
-
- <item>
-<p>
-Les paquets doivent appeler le programme <prgn>update-fonts-dir</prgn>
-pour chaque répertoire où ils installent des
-polices. Cet appel doit se faire à la fois dans le script
-<prgn>postinst</prgn> (pour tous les arguments) et dans le script
-<prgn>postrm</prgn> (pour tous les arguments sauf <tt>upgrade</tt>).
- </p>
-</item>
-<item>
-<p>
-Les paquets ne doivent pas proposer, pour les noms des polices qu'ils
-fournissent, des alias qui entrent en conflit avec les alias déjà utilisés
-par des polices d'autres paquets.
-</p></item>
-<item>
-<p>
-Les paquets ne doivent pas fournir des polices qui ont le même nom pour
-l'enregistrement XLFD que celui donné par une police déjà en usage.
-</p>
-</item>
- </enumlist>
- </p>
- </sect1>
-
-<sect1>
-<heading>Les fichiers « défaut » des applications</heading>
-<p>
-Les fichiers « défaut » des applications doivent être
-installés dans le répertoire <tt>/etc/X11/app-defaults/</tt>
-(on peut utiliser un répertoire particulier dans <file>/etc/X11/</file>
-comme l'indique le manuel
-<em>X Toolkit Intrinsics - C Language Interface</em>).
-On ne les déclarera pas comme des <tt>conffile</tt>s et on ne les
-traitera pas non plus comme des fichiers de configuration. Les paquets ne
-doivent pas fournir le répertoire <tt>/usr/X11R6/lib/X11/app-defaults/</tt>.
- </p>
-<p>
-Le paramétrage des ressources X des programmes peut aussi se faire par
-l'intermédiaire d'un fichier portant le même nom que celui du paquet mis
-dans le répertoire <tt>/etc/X11/Xresources/</tt> et qui doit être
-enregistré comme <tt>conffile</tt> ou traité comme un fichier de configuration
-<footnote>
-<p>
-Ce mécanisme n'est pas identique à celui d'<em>app-defaults</em>&nbsp;; les
-fichiers <em>app-defaults</em> sont liés au binaire client du système de
-fichiers local, alors que les ressources X sont stockées dans le serveur X
-et influencent tous les clients qui se connectent.
- </p>
- </footnote>.
-
-<em>Important :</em> les paquets
-qui installent des fichiers dans le répertoire <tt>/etc/X11/Xresources/</tt>
-doivent déclarer un conflit avec le paquet <tt>xbase
-(&lt;&lt;3.3.2.3a-2)</tt>&nbsp;; si ce n'est pas fait, le paquet peut détruire un
-<em>fichier</em> <tt>/etc/X11/Xresources</tt> préexistant qui a pu être
-paramétré par l'administrateur système.
- </p>
- </sect1>
-<sect1>
-<heading>Questions concernant le répertoire d'installation</heading>
-
-<p>
-Les paquets qui utilisent le système X Window ne seront pas configurés pour
-installer des fichiers sous le répertoire <tt>/usr/X11R6/</tt>. La hiérarchie du
-répertoire <tt>/usr/X11R6/</tt> sera tenue comme obsolète.
- </p>
-
- <p>
-Les programmes qui utilisent les programmes GNU <prgn>autoconf</prgn> et
-<prgn>automake</prgn> sont facilement configurés au moment de la compilation
-pour utiliser <file>/usr/</file> au lieu de <file>/usr/X11R6/</file>, et cela
-sera fait à chaque fois que c'est possible. On placera les fichiers de
-configuration des gestionnaires de fenêtres et des gestionnaires d'affichage
-dans un sous-répertoire de <file>/etc/X11/</file> correspondant au nom du
-paquet&nbsp;; cela est dû à l'interpénétration étroite de ces programmes et
-du mécanisme du système X Window. Les programmes applicatifs utiliseront le
-répertoire <file>/etc/</file> sauf si cette charte impose autre chose.
- </p>
-<p>
-L'installation de fichiers dans des
-sous-répertoires de <file>/usr/X11R6/include/X11/</file> et de
-<file>/usr/X11R6/lib/X11/</file> est maintenant interdite&nbsp;; les
-responsables de paquet détermineront s'ils peuvent utiliser des
-sous-répertoires de <file>/usr/lib/</file> et de <file>/usr/share/</file>.
- </p>
-<p>
-Les paquets devraient installer tout fichier pertinent dans les répertoires
-<file>/usr/include/X11/</file> et <file>/usr/lib/X11/</file>, mais s'ils le
-font, ils doivent avoir une pré-dépendance sur <tt>x11-common (&gt;=
-1:7.0.0)</tt>.<footnote>
- <p>
- Ces bibliothèques étaient auparavant des liens
- symboliques. Cependant, avec <tt>X11R7</tt>,
- <tt>/usr/include/X11</tt> et <tt>/usr/lib/X11</tt>
- sont maintenant des vrais répertoires et les paquets
- <strong>devraient</strong> placer leur fichiers à cet endroit
- plutôt que dans <tt>/usr/X11R6/{include,lib}/X11</tt>.
- <tt>x11-common (&gt;= 1:7.0.0) </tt> est le paquet responsable
- de la conversion de ces liens symboliques en répertoires.
- </p>
- </footnote>
-</p>
- </sect1>
-<sect1>
-<heading>Les bibliothèques <em>OSF/Motif</em> et <em>OpenMotif</em></heading>
-
- <p>
-Les programmes qui demandent les bibliothèque <em>OSF-Motif</em> et
-<em>OpenMotif</em><footnote>
-<p>
-Dans ce document, on regroupe les deux termes sous le nom de «&nbsp;Motif&nbsp;».</p>
- </footnote>,
-bibliothèques non conformes aux «&nbsp;DFSG&nbsp;», seront compilés et
-testés avec «&nbsp;LessTif&nbsp;» (une libre ré-implémentation de
-«&nbsp;Motif&nbsp;»). Quand le responsable du paquet juge que
-le programme ne fonctionne pas suffisamment bien avec «&nbsp;LessTif&nbsp;»
-pour être distribué et supporté, mais qu'il fonctionne correctement quand
-il est compilé avec «&nbsp;Motif&nbsp;», il créera alors deux versions du
-paquet&nbsp;; l'une qui sera liée de façon statique à «&nbsp;Motif&nbsp;» et
-dont le nom sera étiqueté «&nbsp;-smotif&nbsp;», et l'autre qui sera liée
-de façon dynamique à «&nbsp;Motif&nbsp;» et dont le nom sera étiqueté
-«&nbsp;-dmotif&nbsp;».
- </p>
-<p>
-Les deux versions liées à «&nbsp;Motif&nbsp;» sont
-dépendantes de logiciels non conformes aux «&nbsp;DFSG&nbsp;» et donc ne
-peuvent être mises dans la section «&nbsp;main&nbsp;» de la
-distribution&nbsp;; si
-le logiciel lui-même est conforme aux «&nbsp;DFSG&nbsp;» il peut être mis
-dans la section «&nbsp;contrib&nbsp;». Toutes les versions connues de
-«&nbsp;OSF-Motif&nbsp;» autorisent la redistribution sans restriction de
-binaires liés de façon statique ou dynamique à cette bibliothèque, mais
-c'est au responsable de paquet de déterminer si la licence
-de la version de «&nbsp;Motif&nbsp;» qu'il possède le permet.
- </p>
- </sect1>
- </sect>
-
-
-<sect id="perl">
-<heading>Les programmes et modules Perl</heading>
-<p>
-Les programmes et modules Perl suivront les règles concernant Perl.
- </p>
-<p>
-On peut trouver ces règles dans le fichier <tt>perl-policy</tt> du paquet
-<tt>debian-policy</tt>. Elles sont aussi disponibles sur les miroirs web de
-Debian,
- <tt><url name="/doc/packaging-manuals/perl-policy/"
- id="https://www.debian.org/doc/packaging-manuals/perl-policy/"></tt>.
- </p>
-
- </sect>
- <sect id="emacs">
- <heading>Les programmes emacs lisp</heading>
-
- <p>
-Veuillez consulter le «&nbsp;Debian Emacs Policy&nbsp;» pour les détails
-concernant la création de paquets de programmes emacs lisp.
-</p>
- <p>
-On peut trouver les règles concernant Emacs dans le fichier
-<file>debian-emacs-policy.gz</file> du paquet
-<package>emacsen-common</package> package. Elles sont aussi disponibles
-sur les miroirs web de Debian,
-<tt><url name="/doc/packaging-manuals/debian-emacs-policy" id="https://www.debian.org/doc/packaging-manuals/debian-emacs-policy"></tt>.
- </p>
-
-</sect>
-
-
- <sect>
- <heading>Les jeux</heading>
-
- <p>
-Les permissions de <tt>/var/lib/games</tt> sont 755 , propriétaire
-<tt>root</tt> et groupe <tt>root</tt>.
-</p>
-
- <p>
-Chaque jeu décide de ses propres règles de sécurité.
-</p>
-
- <p>
-Les jeux qui demandent des accès privilégiés et protégés à des
-fichiers de scores, de sauvegardes de parties, etc., peuvent appartenir
-à <tt>root.games</tt> et être exécutables par le groupe <tt>games</tt>
-(mode 2755) et doivent utiliser des fichiers et des répertoires avec
-des permissions appropriées (770 <tt>root.games</tt> par exemple).
-Ils ne doivent pas être exécutable par un utilisateur (set-user-id),
-car cela entraîne des problèmes de sécurité. Si un attaquant arrive
-à corrompre un jeu «&nbsp;set-user-id&nbsp;», il peut alors remplacer
-l'exécutable d'autres utilisateurs, forçant les autres joueurs de ces jeux à
-exécuter un cheval de Troie. Avec un programme «&nbsp;set-group-id&nbsp;»,
-l'attaquant n'a accès qu'à des données de jeu moins
-importantes. S'il veut accéder aux comptes des autres joueurs, cela lui
-demandera des efforts beaucoup plus importants.
-</p>
-
- <p>
-Certains paquets, comme les programmes «&nbsp;fortune&nbsp;», sont configurés
-par leurs auteurs originaux pour interdire la lecture de leurs fichiers
-de données ou d'autres informations statiques,
-de manière qu'ils ne puissent être accessibles que par les programmes
-«&nbsp;set-id&nbsp;» fournis. Vous ne ferez pas de même dans un paquet
-Debian&nbsp;: n'importe qui peut télécharger le fichier <tt>.deb</tt> et y lire
-les données, cela n'a donc pas de sens d'avoir des fichiers non lisibles.
-Créer des fichiers accessibles en lecture implique aussi que vous n'avez pas
-à construire des programmes «&nbsp;set-id&nbsp;», ce qui réduit le risque de
-failles de sécurité.
-</p>
- <p>
- Conformément au «&nbsp;FHS&nbsp;», les binaires des jeux seront
-installés dans le répertoire <file>/usr/games</file>. Cela s'applique
-aussi aux jeux utilisant le système <em>X Window</em>. On installera les
-pages de manuel des jeux («&nbsp;X&nbsp;» et «&nbsp;non-X&nbsp;») dans
-<file>/usr/share/man/man6</file>.
-</p>
-</sect>
-</chapt>
-
- <chapt id="docs">
-<heading>La documentation</heading>
-
-
- <sect>
- <heading>Les pages du manuel</heading>
-
- <p>
-On installera les pages de manuel sous la forme d'un source
-<prgn>nroff</prgn>, à l'emplacement approprié dans <file>/usr/share/man</file>.
-Vous utiliserez uniquement les sections 1 à 9 (voir le FHS pour
-plus de détails). Vous ne devez pas installer de
-pages «&nbsp;cat&nbsp;» préformatées.
-</p>
-<p>
-Chaque programme, utilitaire ou fonction aura une page de manuel associée
-dans le même paquet. On suggère aussi que chaque fichier de configuration
-ait une page de manuel associée. Pour des protocoles ou des programmes
-secondaires, les pages de manuel sont facultatives.
-</p>
- <p>
-L'absence de page de manuel est considérée comme un bogue et un rapport sera
-envoyé au système Debian de suivi de bogues (le responsable du paquet peut
-écrire lui-même ce rapport, s'il le souhaite). On ne doit pas fermer le
-rapport tant que la page de manuel n'est pas disponible <footnote>
-<p>
-Ce n'est pas très difficile d'écrire une page de manuel. Voyez le
-<url id="http://www.schweikhardt.net/man_page_howto.html"
-name="Man-Page-HOWTO">, la page <manref name="man" section="7">, les exemples
-créés par <prgn>debmake</prgn> ou par <prgn>dh_make</prgn>, les programmes
-d'aide <prgn>help2man</prgn>, ou les exemples dans le répertoire
-<file>/usr/share/doc/man-db/examples</file>.
- </p>
- </footnote>.
-</p>
-
- <p>
-Vous pouvez faire suivre une plainte concernant l'absence d'une page du manuel
-aux auteurs originaux, et signaler qu'un rapport de bogue a été envoyé au
-système Debian de suivi des bogues. Même si le projet GNU ne considère pas en
-général l'absence d'une page du manuel comme un bogue, nous oui. S'ils vous
-répondent qu'ils ne considèrent pas cela comme un bogue, laissez quand même
-le bogue ouvert dans notre système de suivi.
-</p>
-
- <p>
-Les pages de manuel seront installées comprimées avec <tt>gzip -9</tt>.
-</p>
- <p>
-Si une page de manuel doit être accessible via différents noms, il est
-préférable d'utiliser un lien symbolique plutôt que la fonctionnalité
-<tt>.so</tt>, mais il est inutile de bricoler les parties
-incriminées dans les sources originaux pour changer les <tt>.so</tt>
-en liens symboliques (à moins que ce soit trivial).
-Ne créez pas de lien physique dans les répertoires des pages du manuel
-et ne mettez pas de chemin absolu dans les directives <tt>.so</tt>.
-Le nom du fichier dans le <tt>.so</tt> d'une page du manuel sera
-relatif à la racine des pages (habituellement <tt>/usr/share/man</tt>).
-Si l'on ne crée pas de liens (liens symboliques, liens «&nbsp;en dur&nbsp;»
-ou des directives <tt>.so</tt>) dans le système de fichiers pour les autres
-noms de cette page, on ne comptera pas sur <prgn>man</prgn> pour trouver la
-page de manuel sous ces noms à partir des seuls renseignements contenus dans
-l'en-tête de la page<footnote>
-<p>
-Cette faculté demande à <prgn>man</prgn> un temps de calcul déraisonnable
-pour trouver une page de manuel, rapporter qu'elle n'existe pas et
-transférer dans sa base de données une information qui devrait rester dans le
-système de fichier. Elle est déconseillée et cessera d'exister à l'avenir.
- </p>
- </footnote>.
-</p>
-</sect>
-
- <sect>
- <heading>Les documents «&nbsp;Info&nbsp;»</heading>
-
- <p>
-
-On installera les documents «&nbsp;Info&nbsp;» dans <tt>/usr/share/info</tt>.
-Ils seront comprimés avec <tt>gzip -9</tt>.
-</p>
- <p>
-Votre paquet appellera <prgn>install-info</prgn>, dans le script
-<prgn>postinst</prgn>, appelé par exemple avec un argument <tt>configure</tt>,
-pour mettre à jour le fichier <tt>dir</tt> de «&nbsp;Info&nbsp;»&nbsp;:
- <example compact="compact">
-install-info --quiet --section Development Development \
-/usr/share/info/foobar.info
- </example></p>
-
- <p>
-Il est judicieux de spécifier une section pour l'emplacement de votre
-programme&nbsp;; cela se fait avec l'option <tt>--section</tt>.
-Pour déterminer la section à utiliser, vous devez consulter
-<tt>/usr/share/info/dir</tt> sur votre système et choisir la plus adéquate
-(ou créer une nouvelle section si aucune des sections actuelles n'est
-adaptée). Notez que l'option <tt>--section</tt> prend deux arguments&nbsp;;
-le premier est une expression régulière pour rechercher une section
-existante (indépendamment de la casse), le second est utilisé pour la création
-d'une nouvelle section.
-</p>
- <p>
-Vous retirerez les entrées dans le script <prgn>prerm</prgn> appelé avec un
-argument <tt>remove</tt>&nbsp;:
- <example compact="compact">
-install-info --quiet --remove /usr/share/info/foobar.info
- </example></p>
-
- <p>
-Si <prgn>install-info</prgn> ne trouve pas une entrée descriptive dans
-le fichier Info, vous devrez en fournir une. Voir
-<manref name="install-info" section="8"> pour des précisions.
-</p>
-</sect>
-
- <sect>
- <heading>Documentations supplémentaires</heading>
-
- <p>
-Le responsable d'un paquet peut installer toute documentation supplémentaire
-qui vient avec ce paquet. Les documents texte seront placés dans le
-répertoire <tt>/usr/share/doc/<var>paquet</var></tt>,
-et comprimés avec <tt>gzip -9</tt> à moins qu'ils soient petits.
-</p>
-
- <p>
-Si un paquet contient une importante documentation dont la majorité des
-utilisateurs du paquet n'a pas besoin, vous la mettrez dans un paquet binaire
-distinct. Ainsi elle ne prendra pas d'espace disque sur
-les machines des utilisateurs qui n'en ont pas besoin ou qui ne veulent
-pas l'installer.
-</p>
-
-
- <p>
-Il est souvent judicieux de mettre les fichiers d'informations
-(<tt>README</tt>, changelogs, etc.) provenant du paquet source
-dans <tt>/usr/share/doc/<var>paquet</var></tt> au sein des paquets binaires.
-Bien entendu, vous n'avez pas besoin de fournir les instructions
-de compilation et d'installation.
-</p>
-
-<p>
-Aucun programme ne demandera, pour son fonctionnement, que des fichiers
-existent dans <tt>/usr/share/doc</tt> <footnote>
-<p>
-L'administrateur système pourra supprimer tout fichier dans
-<file>/usr/share/doc/</file> sans craindre de <em>planter</em>
-un programme.
- </p>
- </footnote>.
-Tout fichier référencé par un programme et qui est utile
-en tant que documentation indépendante sera installé dans
-<file>/usr/share/<var>paquet</var>/</file> et lié symboliquement avec
-<file>/usr/share/doc/<var>paquet</var>/</file>.
- </p>
-<p>
-<file>/usr/share/doc/<var>paquet</var></file> peut être un lien symbolique
-vers un autre répertoire de <file>/usr/share/doc</file> seulement si
-les deux paquets proviennent de la même source et si le premier paquet
-dépend du second. <footnote>
- <p>
-
-Il faut remarquer que cela n'annule pas la section dans les fichiers
-changelog et le fichier <file>/usr/share/<var>package</var>/changelog.Debian.gz</file>
-doit se référer au changelog de la version courante du <var>paquet</var>
-en question. En pratique, cela signifie que la source de la cible
-et la destination du lien symbolique doivent être identiques
-(même paquet source et même version).
- </p>
- </footnote>
-</p>
- <p>
-Les précédentes versions de Debian plaçaient toute la documentation
-supplémentaire dans <file>/usr/doc/<var>paquet</var></file>. C'est maintenant
-<file>/usr/share/doc/<var>paquet</var></file>, et les paquets ne doivent pas
-mettre de la documentation dans le répertoire
-<file>/usr/doc/<var>paquet</var></file> <footnote>
-<p>
-À ce moment de la transition, nous n'avons plus besoin d'un lien symbolique
-vers <file>/usr/doc/</file>. Plus tard, la charte transformera ces liens
-symboliques en bogues.</p>
- </footnote>.
- </p>
- </sect>
-
-
- <sect>
- <heading>Les formats préférés pour la documentation </heading>
-
- <p>
-L'unification de la documentation Debian se fait autour du format HTML.
-</p>
-
- <p>
-Si votre paquet comprend une importante documentation dans un format balisé
-qui peut être converti en d'autres formats, vous livrerez
-si possible la version HTML dans le paquet binaire, dans le répertoire
-<tt>/usr/share/doc/<var>paquet-approprié</var></tt> ou l'un de ses
-sous-répertoires
-<footnote>
- <p>
- Le raisonnement&nbsp;: ce qui importe ici, c'est que les documents HTML
- soient disponibles dans <em>certains</em> paquets, et pas
- nécessairement dans le paquet binaire principal.
- </p>
-</footnote>.
-
-</p>
- <p>
-Le responsable de paquet peut fournir à sa guise d'autres formats, comme
-PostScript.
-</p>
-</sect>
-
- <sect id="copyrightfile">
- <heading>Les informations de copyright</heading>
-
- <p>
-Chaque paquet doit être accompagné d'une copie <em>verbatim</em> de son
-copyright ainsi que de sa licence de distribution dans le fichier
-<tt>/usr/share/doc/<var>paquet</var>/copyright</tt>. Ce fichier ne doit
-pas être comprimé ni être un lien symbolique.
-</p>
- <p>
-De plus, le fichier de copyright doit préciser où ont été obtenus
-les fichiers sources originaux (s'ils existent). Il nommera les auteurs
-originaux et le(s) responsable(s) Debian qui ont ½uvré à la création
-du paquet.
-</p>
-
-<p>
-Une copie du fichier installé dans
-<file>/usr/share/doc/<var>paquet</var>/copyright</file> sera faite dans le
-<file>debian/copyright</file> du paquet source.</p>
-
- <p>
-<file>/usr/share/doc/<var>paquet</var></file> peut être un lien symbolique
-vers un répertoire de <file>/usr/share/doc</file> seulement si, de deux
-paquets
-provenant tous les deux de la même source, le premier possède une relation
-«&nbsp;Depends&nbsp;» avec le second. Ces règles sont importantes car
-on doit pouvoir extraire les copyrights par des moyens automatiques.
-</p>
- <p>
-Les paquets distribués sous la licence «&nbsp;UCB BSD&nbsp;», la licence
-«&nbsp;Artistic&nbsp;», la licence «&nbsp;GNU GPL&nbsp;» ou la licence
-«&nbsp;GNU LGPL&nbsp;» feront respectivement référence aux fichiers
-correspondants sous <file>/usr/share/common-licenses</file>,<footnote>
- <p>
- Par exemple,
- <file>/usr/share/common-licenses/Artistic</file>,
- <file>/usr/share/common-licenses/BSD</file>,
- <file>/usr/share/common-licenses/GPL</file>,
- <file>/usr/share/common-licenses/LGPL</file>,
- <file>/usr/share/common-licenses/GFDL</file>,
- <file>/usr/share/common-licenses/GPL-2</file> et
- <file>/usr/share/common-licenses/LGPL-2.1</file> et ainsi de
- suite. Notez que la GFDL est nouvelle ici et que le fichier de
- licence peut ne pas être encore en place dans
- <file>/usr/share/common-licenses/GFDL</file>.
- </p>
- </footnote>
-plutôt que de les citer dans le fichier de copyright.
-</p>
-
- <p>
-Vous ne devez pas utiliser le fichier copyright comme un fichier
-<file>README</file> général. Si votre paquet possède un tel fichier, vous
-l'installerez dans <file>/usr/share/doc/<var>paquet</var>/README</file> ou
-<file>README.Debian</file> ou dans un autre endroit approprié.
-</p>
-</sect>
-
-<sect>
-<heading>Exemples</heading>
-
-<p>
-On installera tous les exemples (configuration, fichiers source, autres) dans
-un répertoire <file>/usr/share/doc/<var>paquet</var>/examples</file>.
-Ces fichiers ne seront pas utilisés par un quelconque programme.
-Ils ne sont là qu'en tant que documentation, et pour le seul bénéfice de
-l'administrateur système et des utilisateurs.
-On installera les exemples concernant une architecture particulière dans un
-répertoire <file>/usr/lib/<var>paquet</var>/examples</file> et les fichiers
-dans <file>/usr/share/doc/<var>paquet</var>/examples</file> seront des liens
-symboliques. Ou bien, ce dernier répertoire sera un lien vers le premier.
-</p>
- <p>
-Si le but d'un paquet est de fournir des exemples, les fichiers d'exemples
-peuvent être installés dans <file>/usr/share/doc/<var>paquet</var></file>.
- </p>
-
-</sect>
-
-<sect id="changelogs">
-<heading>Les fichiers «&nbsp;Changelog&nbsp;»</heading>
-<p>
-Les paquets qui ne sont pas originaires de Debian doivent contenir,
-dans <file>/usr/share/doc/<var>paquet</var></file>, une copie compressée nommée
-<file>changelog.Debian.gz</file> du fichier <file>debian/changelog</file> qui
-est dans l'arborescence des sources.
- </p>
-<p>
-S'il existe un «&nbsp;changelog&nbsp;» original, il sera accessible comme un
-fichier texte, <file>/usr/share/doc/<var>paquet</var>/changelog.gz</file>.
-Si le «&nbsp;changelog&nbsp;» original est distribué comme un fichier HTML,
-il sera rendu disponible en tant que
-<file>/usr/share/doc/<var>paquet</var>/changelog.html.gz</file> et le
-<file>changelog.gz</file> sera produit en utilisant p. ex.
-<tt>lynx -dump -nolist</tt>.
-Si le changelog original n'est pas déjà conforme
-à cette convention, alors cela peut être réalisé soit en renommant ce fichier
-soit en créant un lien symbolique, c'est à la convenance du responsable
-du paquet<footnote><p> Argument : on n'a pas à chercher dans deux endroits
-les «&nbsp;changelogs&nbsp;» originaux simplement parce qu'ils ont des noms
-différents ou parce qu'ils sont dans un format HTML.</p></footnote>.
-</p>
-
-<p>
-Ces fichiers seront installés comprimés par <tt>gzip -9</tt>, car
-ils grossissent avec le temps même s'ils commencent petitement.
-</p>
-
-<p>
-Quand un paquet a un seul changelog, utilisé à la fois comme
-changelog Debian et changelog original car le responsable principal est le même
-que le responsable Debian, on appellera simplement ce changelog&nbsp;:
-<file>/usr/share/doc/<var>paquet</var>/changelog.gz</file>. S'il y a un
-responsable principal mais pas de changelog source, on appellera toujours le
-changelog Debian&nbsp;: <file>changelog.Debian.gz</file>.
-</p>
- <p>
-Pour des précisions sur le format et le contenu d'un fichier changelog de
-Debian, voyez <ref id="dpkgchangelog">.
- </p>
-
-</sect>
-</chapt>
-
-<appendix id="pkg-scope">
-<heading>Introduction : la portée des ces annexes</heading>
-
-<p>
-Ces annexes sont tirées essentiellement <em>verbatim</em> du
-<em>Packaging Manual</em>, version 3.2.1.0, dont l'usage est maintenant
-déconseillé. Elles contiennent les chapitres qui peuvent aider les
-responsables de paquet et qui n'ont pas été inclus dans la Charte elle-même.
-La plupart de ces sections ne sont sans doute pas pertinentes pour une
-charte&nbsp;; elles seront vues comme une documentation du système
-d'empaquetage.
-Veuillez remarquer que ces annexes ont été incluses pour leur utilité et
-pour des raisons historiques&nbsp;: elles faisaient partie du paquet
-«&nbsp;policy&nbsp;» et n'ont pas encore intégré la documentation de
-<prgn>dpkg</prgn>. Cependant, elles sont utiles et sont donc présentées ici.
- </p>
-<p>
-On ne s'est pas assuré qu'elles étaient compatibles avec le contenu de la
-Charte&nbsp;; s'il y a contradiction, la version de la Charte prime. On ne
-s'est pas assuré non plus qu'aucune partie des chapitres restants du vieux
-<em>Packaging Manual</em> n'a été oubliée. Ces deux choses seront faites en
-temps et en heure.
- </p>
- <p>
-Des parties du <em>Packaging Manual</em> ont été intégrées dans la Charte et
-supprimées de ces annexes. Des liens renvoient de l'ancienne place à la
-nouvelle.
- </p>
-
-<p>
-<prgn>dpkg</prgn> est un ensemble de programmes servant à la création,
-l'installation et la suppression des fichiers des paquets binaires sur les
-systèmes Unix
-<footnote><p><prgn>dpkg</prgn> est conçu d'abord pour Debian GNU/Linux, mais
-peut fonctionner sur, ou être porté vers, d'autres systèmes.</p></footnote>.
- </p>
-<p>
-Les paquets binaires sont conçus pour la gestion des programmes exécutables
-installés (habituellement des binaires compilés) et de leurs données
-associées, bien que les exemples de code source et la documentation fassent
-partie de certains paquets.
- </p>
-<p>
-Ce manuel décrit les aspects techniques de la création des paquets binaires
-Debian (fichiers <tt>.deb</tt>). Il documente le comportement des
-programmes de gestion des paquets <prgn>dpkg</prgn>,
-<prgn>dselect</prgn> et al., et la manière dont ils interagissent avec les
-paquets.
- </p>
-<p>
-Il précise aussi les interactions entre le c½ur de <prgn>dselect</prgn> et les
-méthodes d'accès qu'il utilise pour installer réellement les paquets
-sélectionnés, et décrit comment créer une nouvelle méthode d'accès.
- </p>
-<p>
-Ce manuel ne détaille pas les options et l'utilisation des outils de création
-et d'installation des paquets. Il est donc souhaitable de le lire
-conjointement avec les pages de manuel de ces programmes.
- </p>
-<p>
-Les utilitaires qui sont fournis avec <prgn>dpkg</prgn> pour gérer
-les problèmes de configuration des différents systèmes, tels
-que <prgn>update-rc.d</prgn> et <prgn>install-info</prgn> ne sont pas non
-plus décrits en détail, voyez leurs pages de manuel.
- </p>
-<p>
-On supposera que le lecteur est familier avec le manuel de
-l'administrateur système <prgn>dpkg</prgn>. Malheureusement ce document n'existe pas encore.
-
- </p>
-<p>
-La version Debian du programme GNU <prgn>hello</prgn> de la <em>FSF</em> est
-proposé comme exemple aux personnes qui souhaitent créer des paquets Debian.
-Le paquet Debian <prgn>debmake</prgn> est un outil recommandé pour la
-création et
-la maintenance des paquets Debian. Bien qu'utiles, ces outils et les
-exemples ne peuvent cependant dispenser de la lecture de la Charte.
- </p>
- </appendix>
-
-<appendix id="pkg-binarypkg">
-<heading>Les paquets binaires (annexe tirée de l'ancien <em>Packaging Manual</em>)</heading>
-<p>
-Un paquet binaire comporte deux parties principales. La première comprend
-divers fichiers d'information de contrôle et des scripts utilisés
-par <prgn>dpkg</prgn> lors de l'installation ou de la dés-installation. Voir
-<ref id="pkg-controlarea">.
- </p>
-<p>
-La deuxième partie est une archive contenant les fichiers et les
-répertoires à installer.
- </p>
-<p>
-À l'avenir les paquets binaires pourront contenir d'autres composants,
-comme des sommes de contrôle ou des signatures numériques. Le format
-de l'archive est décrit dans la page de manuel de <tt>deb(5)</tt>.
- </p>
-
-<sect id="pkg-bincreating"><heading>Comment créer les fichiers d'un paquet&nbsp;? -- <prgn>dpkg-deb</prgn></heading>
-<p>
-Toutes les manipulations des fichiers d'un paquet binaire se font avec
-<prgn>dpkg-deb</prgn>&nbsp;; c'est le seul programme qui connaisse le format.
-<prgn>dpkg-deb</prgn> peut être appelé par <prgn>dpkg</prgn>, car
-<prgn>dpkg</prgn> reconnaît que les options qui lui sont données appartiennent
-à <prgn>dpkg-deb</prgn> et l'appelle avec ces arguments.
- </p>
-<p>
-Pour créer un paquet binaire, on doit créer une arborescence qui
-contient tous les fichiers et répertoires destinés à la partie « données »
-du système de fichiers du paquet. Dans les paquets Debian au format
-source, ce répertoire, <tt>debian/tmp</tt>, est habituellement relatif à la
-racine de l'arborescence du paquet source.
- </p>
-<p>
-Ces fichiers auront l'adresse (relativement à la racine de l'arborescence
-que l'on construit) et le système de propriété et de permissions que l'on
-veut leur donner sur le système où ils seront installés.
-</p>
-<p>
-Avec les versions actuelles de <prgn>dpkg</prgn>, les identifiants <em>uid</em>
-(utilisateur) et les identifiants <em>gid</em> (groupe) utilisés seront les
-mêmes pour le système <em>sur</em> lequel on construit que pour le système
-<em>pour</em> lequel on construit.
- </p>
-<p>
-On doit ajouter un répertoire spécial à la racine de la mini
-arborescence créée&nbsp;: <prgn>DEBIAN</prgn>. Il contiendra les
-fichiers de contrôle, notamment le fichier de contrôle des
-paquets binaires (voir <ref id="pkg-controlfile">).
- </p>
-<p>
-Le répertoire <tt>DEBIAN</tt> n'apparaîtra pas dans l'archive du système
-de fichiers du paquet, et ainsi ne sera pas créé par <prgn>dpkg</prgn>
-quand le paquet sera installé.
- </p>
-<p>
-Quand le paquet est prêt, on appellera&nbsp;:
-<example>
-dpkg --build <var>répertoire</var>
-</example>
- </p>
-<p>
-Le paquet sera construit dans <file><var>répertoire</var>.deb</file>.
-(<prgn>dpkg</prgn> sait que <tt>--build</tt> est une option de
-<prgn>dpkg-deb</prgn> et il appelle <prgn>dpkg-deb</prgn> avec ces arguments
-pour construire le paquet.)
- </p>
-<p>
-Voir les pages de manuel <manref name="dpkg-deb" section="8">
-pour savoir comment examiner le contenu de ce fichier fraîchement créé.
-Les sorties des commandes suivantes peuvent être éclairantes&nbsp;:
-<example>
-dpkg-deb --info <var>filename</var>.deb
-dpkg-deb --contents <var>filename</var>.deb
-dpkg --contents <var>filename</var>.deb
-</example>
-Pour voir le copyright d'un paquet, on peut utiliser cette commande&nbsp;:
-<example>
-dpkg --fsys-tarfile <var>filename</var>.deb | tar xOf - \*/copyright | pager
-</example>
- </p>
- </sect>
-
-<sect id="pkg-controlarea">
-<heading>Les fichiers de contrôle d'un paquet</heading>
-<p>
-La partie contenant les informations de contrôle d'un paquet binaire est une
-collection de fichiers dont les noms sont connus par <prgn>dpkg</prgn>.
-<prgn>dpkg</prgn> traitera le contenu de ces fichiers d'une manière spéciale -
-certains d'entre eux contiennent des informations utilisées pour
-l'installation ou la suppression d'un paquet&nbsp;; les autres sont des
-scripts dont le responsable de paquet désire l'exécution.
- </p>
-<p>
-Il est possible de mettre d'autres fichiers dans la zone de contrôle du
-paquet, mais ce n'est pas une bonne idée (de toute façon ils seront ignorés).
- </p>
-<p>
-Voici une brève liste des fichiers de contrôle utilisés par
-<prgn>dpkg</prgn> et un résumé de ce qu'ils font.
- </p>
-<p>
-<taglist>
-<tag><tt>control</tt></tag>
-<item>
-<p>
-C'est le principal fichier de description utilisé par <prgn>dpkg</prgn>. Il
-indique le nom et la version du paquet, donne sa description pour les
-utilisateurs, établit les relations avec les autres paquets, etc.
-Voir <ref id="sourcecontrolfiles"> et <ref id="binarycontrolfiles">.
- </p>
-<p>
-Ce fichier est créé par le programme <prgn>dpkg-gencontrol</prgn>, avec
-l'aide de <prgn>dpkg-shlibdeps</prgn>, à partir des informations
-contenues dans le paquet source. Voir <ref id="pkg-sourcetools">.
- </p>
- </item>
-<tag><tt>postinst</tt>, <tt>preinst</tt>, <tt>postrm</tt>, <tt>prerm</tt></tag>
-<item>
-<p>
-Ce sont des fichiers exécutables (habituellement des scripts) que
-<prgn>dpkg</prgn> exécute pendant l'installation, la mise à jour ou
-la suppression des paquets. Ils permettent de traiter les particularités
-d'un paquet ou celles qui nécessitent un traitement plus
-compliqué que celui fourni par <prgn>dpkg</prgn>. Quand et comment ils sont
-appelés est indiqué dans <ref id="maintainerscripts">.
- </p>
-<p>
-Il est très important de rendre ces scripts idempotents.
-Voyez <ref id="idempotency">.
- </p>
-<p>
-Les scripts de maintenance peuvent compter sur un
-terminal de contrôle et peuvent interagir avec l'utilisateur.
-Voyez <ref id="controllingterminal">.
- </p>
-</item>
-
-<tag><tt>conffiles</tt>
-</tag>
-<item>
-<p>
-Ce fichier contient une liste des fichiers de configuration qui doivent être
-gérés automatiquement par <prgn>dpkg</prgn> (voir <ref id="pkg-conffiles">).
-Il faut remarquer que tous les fichiers de configuration ne sont pas
-nécessairement listés là.
- </p>
- </item>
-<tag><tt>shlibs</tt>
-</tag>
-<item>
-<p>
-Ce fichier contient une liste des bibliothèques partagées fournies par
-le paquet avec les informations de dépendances pour chacune. Elle est utilisée
-par <prgn>dpkg-shlibdeps</prgn> quand il détermine quelles dépendances sont
-nécessaires dans un fichier de contrôle de paquet. Le format du fichier
-<tt>shlibs</tt> est décrit dans <ref id="shlibs">.
- </p>
- </item>
- </taglist>
-</p>
- </sect>
-
-<sect id="pkg-controlfile">
-<heading>Le principal fichier d'informations de contrôle : <tt>control</tt></heading>
- <p>
-<tt>control</tt> est le plus important des fichiers pour <prgn>dpkg</prgn>.
-Il contient toutes les informations vitales d'un paquet.
- </p>
-
-<p>
-Les fichiers de contrôle des paquets binaires construits à partir des sources
-Debian sont faits par un outil spécial <prgn>dpkg-gencontrol</prgn> qui lit
-<tt>debian/control</tt> et <tt>debian/changelog</tt> pour trouver les
-informations dont il a besoin. Voir <ref id="pkg-sourcepkg"> pour des
-précisions.
- </p>
-<p>
-Les champs d'un fichier de contrôle d'un paquet binaire sont listés
-dans <ref id="binarycontrolfiles">.
- </p>
- <p>
-La description de la syntaxe de ces champs et de leur signification se
-trouve dans <ref id="controlfields">.
- </p>
-
- </sect>
-
-<sect>
-<heading>Les cachets de date</heading>
- <p>
- Voyez <ref id="timestamps">.
- </p>
- </sect>
- </appendix>
-
-<appendix id="pkg-sourcepkg">
-<heading>Les paquets sources (annexe tirée de l'ancien<em> Packaging Manual</em>)</heading>
-<p>
-Les paquets binaires de la distribution Debian sont créés à partir des
-paquets sources, lesquels sont dans un format spécial pour faciliter la
-construction automatique des binaires.
- </p>
-
-<sect id="pkg-sourcetools">
-<heading>Les outils pour gérer les paquets sources</heading>
-<p>
-De nombreux outils sont fournis pour manipuler les paquets sources.
-Ils emballent et déballent les sources, aident à la construction
-des paquets binaires et gèrent la distribution des nouvelles versions.
- </p>
-<p>
-Ils sont présentés ici et leurs usages habituels décrits&nbsp;; pour de plus
-amples informations, voir <manref name="dpkg-source" section="1">.
- </p>
-<p>
-Le paquet <prgn>hello</prgn> est un exemple de construction de paquet source
-Debian et de la mise en ½uvre des utilitaires qui y sont impliqués.
- </p>
-<sect1 id="pkg-dpkg-source">
-<heading><prgn>dpkg-source</prgn> - faire et défaire un paquet source Debian</heading>
-
-<p>
-Ce programme est fréquemment utilisé sur la ligne de commande&nbsp;; il est
-aussi appelé à partir des scripts de construction automatique de paquet, tel
-que <prgn>dpkg-buildpackage</prgn>.
- </p>
-<p>
-Il est appelé ainsi pour dépaqueter un paquet&nbsp;:
-<example>
-dpkg-source -x <var>.../path/to/filename</var>.dsc
-</example>
- </p>
-<p>
-avec <file><var>filename</var>.tar.gz</file> et <file><var>filename</var>.diff.gz</file> (si c'est utile) dans le même répertoire. Il dépaquette dans
-<file><var>package</var>-<var>version</var></file>, et, si c'est utile,
-<file><var>package</var>-<var>version</var>.orig</file>, dans le répertoire
-actuel.
- </p>
-<p>
-Pour créer un paquet, on utilise :
-
-<example>
- dpkg-source -b <var>paquet</var>-<var>version</var>
-</example>
- </p>
-<p>
-
-Les fichiers <file>.dsc</file>, <file>.tar.gz</file> et <file>.diff.gz</file>
-seront
-créés (si c'est utile) dans le répertoire courant. <prgn>dpkg-source</prgn>
-n'efface pas l'arborescence des sources. Cela doit être fait séparément, si
-nécessaire.
- </p>
-<p>
-Voir aussi <ref id="pkg-sourcearchives">.
- </p>
- </sect1>
-
-<sect1 id="pkg-dpkg-buildpackage">
-<heading><prgn>dpkg-buildpackage</prgn> - script de contrôle pour la
-construction de paquet</heading>
-<p>
-<prgn>dpkg-buidpackage</prgn> est un script qui fait appel à
-<prgn>dpkg-source</prgn>, aux cibles de <tt>debian/rules</tt>&nbsp;:
-<tt>clean</tt>, <tt>build</tt> et <tt>binary</tt>,
-à <prgn>dpkg-genchanges</prgn> et à <prgn>pgp</prgn>
-(ou <prgn>pgp</prgn>) pour construire des paquets
-signés, source et binaire, installables sur le serveur.
- </p>
-<p>
-Il est généralement utilisé sur la ligne de commande, à la racine du répertoire
-source à créer ou à détruire. Il peut être invoqué sans arguments.
-Les arguments utiles sont&nbsp;:
-<taglist compact="compact">
-<tag><tt>-uc</tt>, <tt>-us</tt></tag>
-<item>
-
-<p>
-ne pas chiffrer, respectivement le fichier <tt>.changes</tt>
-et le fichier paquet source <tt>.dsc</tt>.
- </p>
- </item>
-<tag><tt>-p<var>sign-command</var></tt></tag>
-<item>
-<p>
-Invoque la commande <var>sign-command</var>
-au lieu de chercher <tt>gpg</tt> ou <tt>pgp</tt> dans la variable
-<tt>PATH</tt>.
-<var>sign-command</var> doit avoir le même comportement que
-<prgn>gpg</prgn> ou <tt>pgp</tt>.
- </p>
- </item>
-<tag><tt>-r<var>root-command</var></tt></tag>
-<item>
-<p>
-Quand les privilèges de root sont nécessaires, invoque
-la commande <var>root-command</var>. <var>root-command</var> invoquera
-son premier argument comme une commande, dans le <tt>PATH</tt> si nécessaire,
-et passera son second argument et les autres à la commande qu'il appelle.
-Si aucune <var>root-command</var> n'est fournie,
-<prgn>dpkg-buildpackage</prgn> ne fera rien pour obtenir les
-privilèges de root&nbsp;; ainsi, pour la plupart des programmes, il devra être
-appelé par root pour démarrer.
- </p>
- </item>
-<tag><tt>-b</tt>, <tt>-B</tt></tag>
-<item>
-<p>
-Deux types de construction et d'installation pour les binaires,
-voir <manref name="dpkg-source" section="1">.
- </p>
- </item>
- </taglist></p>
- </sect1>
- <sect1 id="pkg-dpkg-gencontrol">
-<heading><prgn>dpkg-gencontrol</prgn> - créer des fichiers de contrôle pour
-les paquets binaires</heading>
-<p>
-Ce programme est habituellement appelé à partir du fichier
-<file>debian/rules</file> (voir <ref id="pkg-sourcetree">) depuis la racine de
-l'arborescence source.
-</p>
-<p>
-On l'appelle juste avant que ne soit établi le système des permissions pour
-les fichiers et les répertoires du répertoire temporaire où le paquet est
-construit et avant la construction du paquet par <prgn>dpkg-deb</prgn>
-<footnote><p>Il en est ainsi afin que le fichier de contrôle produit possède
-les bonnes permissions.</p></footnote>.
- </p>
-<p>
-<prgn>dpkg-gencontrol</prgn> doit être appelé après que tous les fichiers du
-paquet ont été mis en place dans le répertoire temporaire de construction,
-afin que le calcul de la taille du paquet installé soit correct.
- </p>
-<p>
-Il faut aussi que <prgn>dpkg-gencontrol</prgn> soit exécuté après
-<prgn>dpkg-shlibdeps</prgn> afin que les variables de substitutions, créées par
-<prgn>dpkg-shlibdeps</prgn> dans le fichier <tt>debian/substvars</tt>, soient
-disponibles.
- </p>
-<p>
-Un paquet qui crée un seul paquet binaire et qui le construit
-dans le répertoire <tt>debian/tmp</tt> relatif à la racine du paquet
-source, appellera simplement&nbsp;: <prgn>dpkg-gencontrol</prgn>.
- </p>
-<p>
-Les sources qui construisent plusieurs binaires utiliseront&nbsp;:
-<example>
-dpkg-gencontrol -Pdebian/tmp-<var>pkg</var> -p<var>paquet</var>
-</example>
-L'argument <tt>P</tt> indique à <prgn>dpkg-gencontrol</prgn> que le paquet est
-en train de se construire dans un répertoire différent de celui par défaut
-et l'argument <tt>-p</tt> indique le fichier de contrôle qui sera créé.
- </p>
-<p>
-<prgn>dpkg-gencontrol</prgn> ajoute aussi des informations à la liste des
-fichiers dans <tt>debian/files</tt>&nbsp;; cela peut servir à un prochain appel
-à <prgn>dpkg-genchanges</prgn>.
- </p>
- </sect1>
-<sect1 id="pkg-dpkg-shlibdeps">
-<heading><prgn>dpkg-shlibdeps</prgn> - les dépendances des bibliothèques partagées</heading>
-<p>
-Ce programme est habituellement appelé à partir du fichier
-<file>debian/rules</file>,
-juste avant <prgn>dpkg-gencontrol</prgn> (voir <ref id="pkg-sourcetree">),
-à la racine de l'arborescence source.
- </p>
-<p>
-Les arguments sont des exécutables <footnote>
-<p>
-Dans une prochaine version de dpkg, <prgn>dpkg-shlibdeps</prgn> serait aussi
-appelé pour les bibliothèques partagées.
-</p>
-<p>
-Ils peuvent être spécifiés soit dans les emplacements de l'arborescence source
-où ils sont créés soit dans les emplacements de l'arborescence temporaire de
-construction où ils sont installés avant la création du paquet binaire.
- </p>
- </footnote> pour lesquels les dépendances des bibliothèques
-partagées seront incluses dans le fichier de contrôle du paquet.
- </p>
-<p>
-Si certaines bibliothèques partagées doivent seulement justifier d'un
-<tt>Recommends</tt> ou d'un <tt>Suggests</tt>, ou si certaines demandent un
-<tt>Pre-Depends</tt>, cela peut être réalisé en utilisant l'option
-<tt>-d</tt><em>dependency-field</em> avant ces exécutables
-(chaque option <tt>-d</tt> prend effet jusqu'au prochain <tt>-d</tt>).
- </p>
-<p>
-<prgn>dpkg-shlibdeps</prgn> ne modifie pas directement le fichier de contrôle.
-Par défaut, il ajoute au fichier <file>debian/substvars</file> des variables
-comme <tt>shlibs:Depends</tt>. Ces variables doivent être référencées dans les
-champs de dépendance du fichier de contrôle source dans les sections propres
-aux paquets binaires.
- </p>
-<p>
-Par exemple, un paquet, avec une partie essentielle qui demande des
-dépendances et des parties facultatives qui ne demandent que des
-recommandations, séparerait ces dépendances en deux champs <footnote>
-On peut trouver aujourd'hui un exemple avec le paquet
-<package>xmms</package> dont le champ Depends est utilisé pour l'exéutable
-xmms, le champ Recommends pour des extensions («&nbsp;plug-ins&nbsp;» et le
-champ Suggests par d'autres fonctionnalités fournies par unzip.
- </footnote>.
-Cela peut être indiqué dans le fichier <tt>debian/rules</tt> par&nbsp;:
-<example>
- dpkg-shlibdeps -dDepends <var>programme autreprogramme ...</var> \
- -dRecommends <var>partiefacultative autrepartiefacultative</var>
-
-</example>
-et ensuite dans le fichier principal de contrôle <file>debian/control</file>&nbsp;:
-<example>
-<var>...</var>
-Depends: ${shlibs:Pre-Depends}
-Recommends: ${shlibs:Recommends}
-<var>...</var>
-</example>
- </p>
-<p>
-Les sources qui produisent plusieurs paquets binaires avec des exigences
-différentes pour les dépendances envers les bibliothèques partagées peuvent
-utiliser l'option <tt>-p<var>varnameprefix</var></tt> pour annuler le préfixe
-<tt>shlibs:</tt> par défaut (un seul appel à <prgn>dpkg-shlibdeps</prgn>
-par réglage de cette option). Ils peuvent ainsi produire plusieurs ensembles
-de variables de dépendance, chacune de la forme
-<tt><var>varnameprefix</var>:<var>dependencyfield</var></tt>, auxquelles
-peuvent se référer les parties appropriées des fichiers de contrôle des
-paquets binaires.
- </p>
- </sect1>
-
-<sect1 id="pkg-dpkg-distaddfile">
-<heading><prgn>dpkg-distaddfile</prgn> - ajouter un fichier à <file>debian/files</file></heading>
-<p>
-Certaines installations de paquets sur le serveur nécessitent d'inclure
-d'autres fichiers que les fichiers des paquets sources et binaires.
- </p>
-<p>
-<prgn>dpkg-distaddfile</prgn> ajoute un fichier dans
-<file>debian/files</file> afin
-qu'il soit inclus dans le fichier <file>.changes</file> lorsque
-<prgn>dpkg-genchanges</prgn> sera lancé.
- </p>
-<p>
-Il est habituellement invoqué à partir de la cible <prgn>binary</prgn> du
-fichier <tt>debian/rules</tt>&nbsp;:
-<example>
-dpkg-distaddfile <var>fichier</var> <var>section</var> <var>priority</var>
- </example>
-L'argument <var>filename</var> est relatif au répertoire où
-<prgn>dpkg-genchanges</prgn> s'attend à le trouver, généralement au-dessus de
-la racine de l'arborescence source. La règle de <tt>debian/rules</tt> devrait
-placer ce fichier juste avant ou juste après l'appel à
-<prgn>dpkg-distaddfile</prgn>.
- </p>
-<p>
-Les arguments <var>section</var> et <var>priority</var> sont placés sans
-modification dans le fichier résultant <file>.changes</file>.
- </p>
- </sect1>
-
-<sect1 id="pkg-dpkg-genchanges">
-<heading><prgn>dpkg-genchanges</prgn> - créer un fichier de contrôle de
-l'installation sur le serveur <file>.changes</file></heading>
-<p>
-Ce programme est généralement appelé par des scripts de construction automatique de paquet tels que <prgn>dpkg-buildpackage</prgn> mais peut être aussi
-appelé sur la ligne de commande.
- </p>
-<p>
-Il est habituellement exécuté à la racine de l'arborescence source construite,
-et quand il est invoqué sans arguments, il écrira un simple fichier
-<file>.changes</file> basé sur les informations des fichiers de contrôle et
-de changement des paquets sources, et des paquets
-sources et binaires qui ont dû être construits.
- </p>
- </sect1>
-
-<sect1 id="pkg-dpkg-parsechangelog">
-<heading><prgn>dpkg-parsechangelog</prgn> - produire une représentation du fichier <tt>changelog</tt></heading>
-<p>
-Ce programme est utilisé en interne par <prgn>dpkg-source</prgn> et al.
-Il peut être aussi occasionnellement utilisé dans <file>debian/rules</file> et
-ailleurs. Il analyse un fichier <em>changelog</em>, par défaut
-<file>debian/changelog</file>, et affiche sur la sortie standard une
-représentation des informations
-contenues faite selon le format d'un fichier de contrôle.
- </p>
- </sect1>
-
-<sect1 id="pkg-dpkg-architecture">
-<heading><prgn>dpkg-architecture</prgn> - informations
-sur les systèmes de construction et d'installation</heading>
-
-<p>
-On peut utiliser ce programme sur la ligne de commande&nbsp;; mais il est aussi
-appelé par <tt>dpkg-buildpackage</tt> ou <file>debian/rules</file> pour
-déterminer les variables d'environnement qui indiquent les architectures
-utilisées pour la construction et pour l'installation pendant le processus
-de construction du paquet.
- </p>
- </sect1>
- </sect>
-
-<sect id="pkg-sourcetree"><heading>L'arborescence debianisée</heading>
-<p>
-La structure de l'archive source, décrite ci-dessous, a été conçue pour
-permettre à une arborescence source debianisée et ses informations de
-contrôle associées d'être facilement dupliquée et transportée. L'arborescence
-source debianisée comprend une version du programme original, certains
-fichiers ajoutés pour le processus de debianisation, ainsi que tous les
-changements nécessaires réalisés sur les codes sources et scripts
-d'installation.
- </p>
-<p>
-Les fichiers supplémentaires créés pour Debian sont dans le répertoire
-<file>debian</file> à la racine de l'arborescence source debianisée. Ils sont
-décrits ci-dessous.
- </p>
-
-<sect1 id="pkg-debianrules">
-<heading><file>debian/rules</file> - le script principal de construction</heading>
- <p>
-Voyez <ref id="debianrules">.
- </p>
-
- <sect1 id="pkg-dpkgchangelog">
- <heading><file>debian/changelog</file></heading>
-
- <p>
-Voyez <ref id="dpkgchangelog">.
- </p>
-
- <p>
-Il est recommandé que tout le fichier changelog soit codé en
-<url id="http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2279.html" name="UTF-8">
- de <url id="http://www.unicode.org/" name="Unicode"> <footnote>
- <p>
-Il me paraît évident que nous devrons passer au codage UTF-8 pour notre
-infrastructure des paquets. C'est réellement le seul codage adéquat à un
-environnement international. Mais nous ne pouvons l'utiliser dans les
-champs des fichiers de contrôle des paquets tant que dpkg n'accepte pas
-ce codage. On peut malgré tout demander aujourd'hui que les fichiers
-changelogs soient codés en UTF-8.
- </p>
- <p>
-Vérifier la présence de caractères n'appartenant pas à UTF-8 dans les
-changelogs est facile. Passer le fichier dans
-<example>iconv -f utf-8 -t ucs-4</example>, délaisser la sortie et
-vérifier la valeur de retour. Si des chaînes comportent des séquences
-qui n'appartiennent pas à UTF-8, iconv s'arrêtera avec un code d'erreur.
-Ce sera pareil avec la grande majorité des autres jeux de caractères.
- </p>
- </footnote>
- </p>
-
- <sect2><heading>Comment définir des formats alternatifs pour le
-fichier <tt>changelog</tt></heading>
-<p>
-Il est possible d'utiliser un format différent de celui proposé,
-en fournissant un analyseur pour le format qu'on veut utiliser.
- </p>
-<p>
-Pour que <tt>dpkg-parsechangelog</tt> exécute l'analyseur, on inclura une
-ligne à l'intérieur des quarante dernières lignes du fichier correspondant
-à l'expression rationnelle Perl suivante&nbsp;:
-<tt>\schangelog-format:\s+([0-9a-z]+)\W</tt>. La partie entre parenthèses sera
-le nom du format. Par exemple, on pourrait dire&nbsp;:
-<example>
-@@@ changelog-format: joebloggs @@@
-</example>
-Les noms des formats pour changelog sont des chaînes non vides
-de caractères alphanumériques.
-</p>
-<p>
-Quand une telle ligne existe, <tt>dpkg-parsechangelog</tt> cherche l'analyseur
-dans <file>/usr/lib/dpkg/parsechangelog/<var>format-name</var></file> ou dans
-<file>/usr/local/lib/dpkg/parsechangelog/<var>format-name</var></file>&nbsp;;
-c'est une erreur de ne pas le trouver, ou qu'il ne soit pas exécutable. Le
-format changelog par défaut est <tt>dpkg</tt> et un analyseur est fourni
-avec le paquet <tt>dpkg</tt>.
- </p>
-<p>
-L'analyseur sera invoqué, au début du fichier, avec le changelog ouvert sur
-l'entrée standard. Il lira le fichier (ou le parcourra avec seek) pour
-trouver l'information et la retourner analysée sur la sortie standard sous la
-forme d'une série de champ de contrôle dans le format standard. Par défaut,
-il retournera seulement les informations les plus récentes du fichier
-changelog&nbsp;; il acceptera l'option <tt>-v</tt><em>version</em> pour
-retourner les informations de changement de toutes les versions présentes
-strictement supérieures à <em>version</em> et ce sera donc une erreur que
-<var>version</var> soit absent dans le fichier changelog.
- </p>
- <p>
- Voici les champs :
- <list compact="compact">
- <item><qref id="f-Source"><tt>Source</tt></qref></item>
- <item><qref id="f-Version"><tt>Version</tt></qref> (obligatoire)</item>
- <item><qref id="f-Distribution"><tt>Distribution</tt></qref> (obligatoire)</item>
- <item><qref id="f-Urgency"><tt>Urgency</tt></qref> (obligatoire)</item>
- <item><qref id="f-Maintainer"><tt>Maintainer</tt></qref> (obligatoire)</item>
- <item><qref id="f-Date"><tt>Date</tt></qref></item>
- <item><qref id="f-Changes"><tt>Changes</tt></qref> (obligatoire)</item>
- </list>
- </p>
-<p>
-Si plusieurs versions sont retournées (à cause de l'utilisation
-de l'option <tt>-v</tt>), la valeur <tt>urgency</tt> sera la plus grande
-listée par toutes les versions requises et sera suivie par les commentaires
-concaténés
-(séparés par une espace) de toutes les versions requises&nbsp;; les
-champs&nbsp;: maintainer, version, distribution et date proviennent toujours
-de la version la plus récente.
- </p>
-<p>
-Pour le format du champ <tt>Changes</tt> voir <ref id="f-Changes">.
- </p>
-<p>
-Si le format du fichier <tt>changelog</tt> analysé laisse toujours ou presque
-toujours une ligne vide entre les notes de modifications individuelles, ces
-lignes vides seront supprimées, pour rendre la sortie résultante plus compacte.
- </p>
-<p>
-Si le format de changelog ne contient pas de date ou d'information sur le nom
-du paquet, ces informations seront omises en sortie. L'analyseur ne doit pas
-essayer de les synthétiser ou de les trouver à partir d'autres sources.
- </p>
-<p>
-Si le fichier changelog n'a pas le format attendu, l'analyseur se terminera
-avec un statut différent de zéro, plutôt que d'essayer de se débrouiller tant
-bien que mal et créer des sorties incorrectes.
- </p>
-<p>
-Un analyseur de changelog ne doit pas être interactif.
- </p>
- </sect2>
- </sect1>
-
-
-<sect1 id="pkg-srcsubstvars">
-<heading><tt>debian/substvars</tt> et les variables de substitution</heading>
-
- <p>
- Voyez <ref id="substvars">.
- </p>
- </sect1>
-
-<sect1>
-<heading><file>debian/files</file></heading>
- <p>
-Voyez <ref id="debianfiles">.
- </p>
- </sect1>
-
-<sect1>
-<heading><file>debian/tmp</file></heading>
-
-<p>
-C'est l'emplacement temporaire, pour la construction des paquets
-binaires par la cible <tt>binary</tt>. Le répertoire <tt>tmp</tt> sert
-de racine à l'arbre du système de fichier qui est en train de se
-construire (par exemple en utilisant la règle d'installation du
-<prgn>Makefile</prgn> du paquet original et en le redirigeant dans
-<tt>tmp</tt>), et il contient aussi le sous-répertoire <tt>DEBIAN</tt>. Voir
-<ref id="pkg-bincreating">.
- </p>
-<p>
-Si plusieurs paquets binaires sont créés à partir du même arbre
-source, il est habituel d'utiliser plusieurs répertoires
-<tt>debian/tmp-truc</tt>, par exemple <tt>tmp-a</tt>
-ou <tt>tmp-doc</tt>.
- </p>
-<p>
-Quelques soient les répertoires <tt>tmp</tt> créés et utilisés par
-<tt>binary</tt>, la cible <tt>clean</tt> doit bien sûr les effacer.
- </p>
- </sect1>
- </sect>
-
-<sect id="pkg-sourcearchives"><heading>Les paquets sources en tant qu'archive</heading>
-<p>
-Sur les sites FTP, les paquets sources contiennent trois fichiers reliés
-entre eux. On doit avoir les trois bonnes versions pour pouvoir
-les utiliser.
- </p>
-<p>
-<taglist>
-<tag>Le fichier de contrôle des sources Debian - <tt>.dsc</tt></tag>
-<item>
-Ce fichier est un fichier de contrôle utilisé par <prgn>dpkg-source</prgn>
-pour extraire un paquet source. Voyez <ref id="debiansourcecontrolfiles">.
- </item>
-
-<tag>L'archive source originelle -
-<file><var>paquet</var>_<var>version-amont</var>.orig.tar.gz</file></tag>
-<item>
-<p>C'est un fichier <prgn>tar</prgn> comprimé (avec <prgn>gzip -9</prgn>)
-contenant le code source de l'auteur original du programme.
- </p>
- </item>
-<tag>fichier <tt>diff</tt> de debianisation - <tt><var>paquet</var>_<var>version_amont-revision</var>.diff.gz</tt></tag>
-<item>
-<p>
-C'est un fichier <tt>diff</tt> unifié (<tt>diff -u</tt>) donnant les
-changements requis pour modifier le source original en source Debian.
-Ces changements peuvent inclure seulement la modification ou la création de
-simples fichiers. Les permissions des fichiers, les cibles des
-liens symboliques et les caractéristiques des fichiers spéciaux ou
-tubes ne peuvent pas être changés et aucun fichier ne doit être
-enlevé ou renommé.
- </p>
-<p>
-Tous les répertoires dans le fichier <tt>diff</tt> doivent exister, sauf
-le sous-répertoire <tt>debian</tt> à la racine de l'arbre source, qui
-sera crée par <prgn>dpkg-source</prgn>, si nécessaire, lors de
-l'extraction.
- </p>
-<p>
-Le programme <prgn>dpkg-source</prgn> rendra automatiquement exécutable le
-fichier <tt>debian/rules</tt> (voir ci-dessous).</p>
- </item>
- </taglist>
- </p>
-<p>
-S'il n'y a pas de code source original, par exemple, si le paquet a été
-spécialement préparé pour Debian ou si le responsable Debian est le
-même que le responsable original, le format est alors légèrement
-différent&nbsp;: il n'y pas de fichier <tt>diff</tt> et le fichier
-<prgn>tar</prgn> est nommé <em>paquet-version</em><tt>.tar.gz</tt> et
-contient de préférence un répertoire nommé <em>paquet-version</em>.
- </p>
- </sect>
-
-<sect><heading>Comment dépaqueter un paquet source Debian sans <prgn>dpkg-source</prgn></heading>
-
-<p>
-<prgn>dpkg-source -x</prgn> est la manière recommandée pour dépaqueter un
-paquet source Debian. Cependant, si le programme n'est pas disponible,
-il est possible de faire comme suit&nbsp;:
-
-<enumlist compact="compact">
-<item>
-<p>
-<em>Déballer</em> le fichier <tt>tar</tt>, pour créer un répertoire
-<tt>.orig</tt>.</p>
- </item>
-<item>
-<p>
-Changer le nom du répertoire <tt>.orig</tt> en <tt><var>package</var>-<var>version</var></tt>.</p>
- </item>
-<item>
-<p>
-Créer le sous-répertoire <tt>Debian</tt> à la racine de l'arborescence source.
- </p>
- </item>
-<item>
-<p>
-Appliquer le fichier <tt>diff</tt> en utilisant <tt>patch -p0</tt>.
- </p>
- </item>
-<item>
-<p>
-<em>Déballer</em> le fichier <tt>tar</tt> de nouveau, si l'on veut une copie du
-code source original à côté de la version debianisée.
- </p>
- </item>
- </enumlist>
- </p>
-<p>
-Il n'est pas possible de créer une archive source Debian valide sans
-utiliser <prgn>dpkg-source</prgn>. En particulier, essayer d'utiliser
-<prgn>diff</prgn> directement pour créer le fichier <tt>.diff.gz</tt> ne
-fonctionnera pas.
- </p>
- </sect>
- </appendix>
-
-
- <appendix id="pkg-controlfields"><heading>Les fichiers de contrôle et leurs
-champs (annexe tirée de l'ancien <em>Packaging Manual</em>)</heading>
-
-<p>
-Beaucoup d'outils de la suite <tt>dpkg</tt> manipulent les données dans
-un format commun, connu sous le nom de fichiers de contrôle.
-Les paquets source et binaire ont des données de contrôle comme les
-fichiers <tt>.changes</tt> qui contrôlent l'installation des fichiers sur le
-serveur, et les bases de données internes à <tt>dpkg</tt> sont dans
-un format similaire.
- </p>
-
- <sect><heading>La syntaxe des fichiers de contrôle</heading>
-
- <p>
-Voyez <ref id="controlsyntax">.
- </p>
-<p>
-Il est important de noter que plusieurs champs sont facultatifs
-pour ce qui concerne <prgn>dpkg</prgn> et ses outils associés&nbsp;; mais ils
-doivent apparaître dans chaque paquet Debian, et leur omission peut
-entraîner des problèmes.
-</p>
- </sect>
-
-<sect><heading>La liste des champs</heading>
- <p>
-Voyez <ref id="controlfieldslist">.
- </p>
- <p>
-Cette section ne contient plus que les champs qui n'appartiennent pas à la
-charte Debian.
- </p>
-
-<sect1 id="pkg-f-Filename">
-<heading><tt>Filename</tt> et <tt>MSDOS-Filename</tt></heading>
-<p>
-Ces champs dans les fichiers <tt>Packages</tt> donnent les noms de
-fichiers d'un paquet dans une distribution, par rapport à la racine de
-la hiérarchie Debian. Si le paquet a été découpé en plusieurs morceaux,
-les parties sont toutes listées dans l'ordre, séparées par des espaces.
- </p>
- </sect1>
-
-<sect1 id="pkg-f-Size">
-<heading><tt>Size</tt> et <tt>MD5sum</tt></heading>
-<p>
-Ces champs dans les fichiers <tt>Packages</tt> donnent la taille (en
-octets, exprimée en décimal) et la somme de contrôle MD5 du ou des
-fichiers qui composent le paquet de la distribution. Si le paquet est
-découpé en plusieurs parties, les valeurs pour ces parties sont listées
-dans l'ordre, séparées par des espaces.
- </p>
- </sect1>
-
-<sect1 id="pkg-f-Status">
-<heading><tt>Status</tt></heading>
-<p>
-Ce champ dans le fichier status de <prgn>dpkg</prgn> enregistre si
-l'utilisateur veut un paquet installé, enlevé ou laissé tout seul, s'il
-est défectueux (nécessite une réinstallation) ou non et son état actuel
-sur le système. Chaque partie de ces informations est un simple mot.
- </p>
- </sect1>
-
-<sect1 id="pkg-f-Config-Version">
-<heading><tt>Config-Version</tt></heading>
-<p>
-Si un paquet n'est pas installé, ou non configuré, ce champ dans le
-fichier status de <prgn>dpkg</prgn> enregistre la dernière version de ce
-paquet qui a été configurée avec succès.
- </p>
- </sect1>
-
-<sect1 id="pkg-f-Conffiles">
-<heading><tt>Conffiles</tt></heading>
-<p>
-Ce champ dans le fichier status de <tt>dpkg</tt> contient des informations
-sur les fichiers de configuration automatiquement gérés et maintenus par un
-paquet. Ce champ <em>ne doit pas</em> apparaître n'importe où dans un
-paquet&nbsp;!
-</p>
- </sect1>
-
-<sect1><heading>Champs obsolètes</heading>
-<p>
-Ils sont toujours reconnus par <prgn>dpkg</prgn> mais ne doivent plus
-apparaître n'importe où.
-<taglist compact="compact">
-<tag><tt>Revision</tt></tag>
-<tag><tt>Package-Revision</tt></tag>
-<tag><tt>Package_Revision</tt></tag>
-<item>
-<p>La partie revision Debian d'une version de paquet a été dans un champ de
-fichier de contrôle séparé. Ce champ était présent à travers plusieurs noms.
- </p>
- </item>
-<tag><tt>Recommended</tt></tag>
-<item><p>ancien nom de <tt>Recommends</tt></p>
- </item>
-<tag><tt>Optional</tt></tag>
-<item><p>ancien nom de <tt>Suggests</tt>.</p>
- </item>
-<tag><tt>Class</tt></tag><item><p>ancien nom de <tt>Priority</tt>.</p>
- </item>
- </taglist>
-</p>
- </sect1>
- </sect>
- </appendix>
-
-<appendix id="pkg-conffiles">
-<heading>La gestion des fichiers de configuration (annexe tirée de l'ancien <em>Packaging Manual</em>)</heading>
-
-<p>
-<prgn>dpkg</prgn> peut faire de la gestion automatique de fichiers de
-configuration des paquets.
- </p>
-<p>
-
-Que ce mécanisme soit adéquat, dépend d'un certain nombre de facteurs&nbsp;;
-mais fondamentalement, pour tout fichier de configuration, il y a deux
-approches.
- </p>
-<p>
-
-Une méthode simple est de mettre la meilleure configuration possible
-dans le paquet et d'utiliser le mécanisme des <em>conffile</em> de
-<prgn>dpkg</prgn> pour faire les mises à jour.
-Il est peu probable que l'utilisateur veuille modifier le fichier, mais il
-faut que cela soit possible sans perdre les modifications&nbsp;;
-et un nouveau paquet avec une version modifiée du fichier est
-mis à jour rarement&nbsp;; c'est la meilleure approche.
- </p>
-<p>
-
-La méthode radicale est de construire le fichier de configuration à partir
-du script <prgn>postinst</prgn>, et de prendre la responsabilité de résoudre
-automatiquement les erreurs des versions précédentes du paquet. C'est
-justifié si le fichier est nécessairement différent sur chaque système.
- </p>
-
-<sect><heading> <prgn>Dpkg</prgn> et la gestion automatique des fichiers de
-configuration.</heading>
-
-<p>
-Un paquet peut contenir un fichier dans la zone de contrôle appelé
-<tt>conffiles</tt>. Ce fichier doit être une liste de noms de fichier de
-configuration nécessitant une gestion automatique&nbsp;; les noms sont séparés par
-un retour chariot. Les noms de fichiers seront des noms absolus,
-et les fichiers référencés doivent réellement exister dans le
-paquet.
- </p>
-<p>
-
-Quand un paquet est mis à jour, <prgn>dpkg</prgn> traitera les fichiers de
-configuration pendant l'étape de configuration, juste avant d'exécuter
-le script <tt>postinst</tt> du paquet.
- </p>
-<p>
-
-Pour chaque fichier, il vérifie si la version du fichier inclus dans le
-paquet est la même que celle du fichier inclus dans la dernière version du
-paquet (celui à partir duquel on fait la mise à jour). <prgn>dpkg</prgn>
-compare aussi la version actuellement installée sur le système avec celle
-donnée dans la dernière version du paquet.
- </p>
-<p>
-
-Quand ni l'utilisateur ni le responsable du paquet n'ont changé le fichier,
-il est laissé tel quel. Si l'un ou l'autre l'ont modifié, les nouvelles
-versions sont prises en compte&nbsp;: si l'utilisateur modifie son fichier, mais
-le responsable ne donne pas de nouvelle version, les modifications de
-l'utilisateur sont conservées (silencieusement)&nbsp;; si le
-responsable donne une nouvelle version et l'utilisateur n'a pas modifié son
-fichier, la nouvelle version sera installée (avec un message d'avertissement).
-Si les deux ont modifié le fichier, l'utilisateur est averti du problème et
-doit résoudre les différences lui-même.
- </p>
-<p>
-
-La comparaison est faite en calculant le MD5 des fichiers et en stockant
-ce MD5 comme s'il était inclus dans la plus récente version du
-paquet.
- </p>
-<p>
-
-Quand un paquet est installé pour la première fois, <prgn>dpkg</prgn>
-installera le fichier qui l'accompagne, à moins que cela ne
-signifie le remplacement d'un fichier existant sur le système de
-fichiers.
- </p>
-<p>
-
-Cependant, notons que <prgn>dpkg</prgn> ne remplacera pas un conffile qui a
-été supprimé par l'utilisateur (ou par un script).
-C'est nécessaire parce qu'avec certains programmes, un fichier
-manquant produit un effet difficile ou impossible à réaliser d'une autre
-manière&nbsp;; un fichier manquant ne sera pas remplacé
-si l'utilisateur en a décidé ainsi.
- </p>
-<p>
-
-Notons qu'un paquet ne doit pas modifier un conffile géré par
-<prgn>dpkg</prgn> dans ses scripts de maintenance. Faire cela amènera
-<prgn>dpkg</prgn> à donner à l'utilisateur des options confuses ou
-dangereuses pour la mise à jour des fichiers de configuration quand le
-paquet est mis à niveau.
- </p>
- </sect>
-
-<sect><heading>La gestion de la configuration entièrement faite par les
-scripts du responsable de paquet.</heading>
-
-<p>
-Pour les fichiers qui contiennent des informations spécifiques telles
-que le nom de l'hôte, les informations sur le réseau, il est
-préférable de créer le fichier dans le script <prgn>postinst</prgn> du
-paquet.
- </p>
-<p>
-
-Ceci impliquera l'examen de l'état du reste du système pour
-déterminer valeurs et autres informations, et peut aussi impliquer
-de demander à l'utilisateur des informations qui n'ont pas pu être
-obtenues autrement.
- </p>
-<p>
-
-Quand on utilise cette méthode, il y a un nombre important de problèmes
-à considérer&nbsp;:
- </p>
-<p>
-
-Si l'on découvre une erreur dans le programme qui crée le fichier de
-configuration, ou si le format d'un fichier change d'une version à la
-suivante, on devra modifier le script <tt>postinst</tt> pour le
-corriger&nbsp;; habituellement cela veut dire, éditer le fichier de
-configuration installé et enlever le problème ou changer la syntaxe. On
-devra faire ça avec soin&nbsp;: l'utilisateur peut avoir
-changé le fichier, peut-être pour fixer le problème que le script est
-en train de traiter&nbsp;; on devra détecter ces situations et les traiter
-correctement.
- </p>
-<p>
-Si l'on choisit cette voie, c'est alors une bonne idée de mettre le
-programme qui crée le fichier de configuration dans un programme séparé
-dans <tt>/usr/sbin</tt>, appelé par convention
-<tt><var>package</var>config</tt> et de l'exécuter si nécessaire, à partir du
-script de post-installation. Le programme <tt><var>package</var>config</tt>
-ne doit pas écraser une configuration existante - si son mode opératoire
-s'applique à une première installation (non pas une reconfiguration
-arbitraire ultérieure), on doit vérifier si une configuration existe déjà, et
-utiliser l'option <tt>--force</tt> pour la remplacer.
- </p>
- </sect>
- </appendix>
-
-
-<appendix id="pkg-alternatives"><heading>Versions alternatives d'une interface
-- <prgn>update-alternatives</prgn> (annexe tirée de l'ancien <em>Packaging Manual</em>)</heading>
-
-<p>
-Quand plusieurs paquets fournissent tous des versions différentes du
-même programme ou fichier, il est utile que le système en sélectionne un
-par défaut, tout en autorisant l'administrateur système à le changer et à
-faire respecter ses décisions.
-</p>
-<p>
-
-Par exemple, il y a plusieurs versions de l'éditeur <prgn>vi</prgn>, et il n'y
-a aucune raison d'empêcher leur installation, chacun
-sous son propre nom (<prgn>nvi</prgn>, <prgn>vim</prgn>, etc.). Néanmoins, il
-est souhaitable que le nom <tt>vi</tt> se réfère à quelque chose, au
-moins par défaut.
-</p>
-<p>
-Si tous les paquets impliqués coopèrent, ceci peut être fait par
-<prgn>update-alternatives</prgn>.
- </p>
-<p>
-
-Chaque paquet fournit sa propre version sous son propre nom, et appelle
-<prgn>update-alternatives</prgn> dans le script <prgn>postinst</prgn> pour
-enregistrer sa version (et dans le script <prgn>prerm</prgn> pour l'enlever).
- </p>
-<p>
-
-Voir le manuel en page <manref name="update-alternatives" section="8">
-pour des précisions.
- </p>
-<p>
-
-Si <prgn>update-alternatives</prgn> ne semble pas approprié, on peut essayer
-d'utiliser les déviations.</p>
- </appendix>
-
-<appendix id="pkg-diversions"><heading>Les déviations - remplacer la version
-d'un fichier contenue dans un paquet.</heading>
-
-<p>
-Quand <prgn>dpkg</prgn> réinstalle un paquet, on peut faire que tel ancien
-fichier ne soit pas remplacé et que le nouveau fichier correspondant soit mis
-ailleurs.
- </p>
-<p>
-Une utilisation locale de cette technique peut être de remplacer la version
-d'un fichier contenue dans un paquet&nbsp;; un paquet peut aussi s'en servir pour
-remplacer tel fichier d'un autre paquet ou bien pour mettre à sa place un
-«&nbsp;wrapper&nbsp;».
- </p>
-<p>
-Avant de décider de l'utilisation d'une déviation, lire
-<ref id="pkg-alternatives">, pour savoir si on veut vraiment une déviation
-plutôt que plusieurs versions différentes d'un même programme.
- </p>
-<p>
-
-Il y a une liste des déviations qui est lue par <prgn>dpkg</prgn> et mise
-à jour par un programme spécial <prgn>dpkg-divert</prgn>. Voir
-<manref name="dpkg-divert" section="8">
-pour plus de renseignements sur ses arguments.
- </p>
-<p>
-Quand un paquet souhaite remplacer un fichier par un autre, il doit
-appeler <prgn>dpkg-divert</prgn> dans son fichier «&nbsp;preinst&nbsp;» pour ajouter la
-déviation et changer le nom du fichier existant. Par exemple, supposons qu'un
-paquet <prgn>smailwrapper</prgn> souhaite installer un «&nbsp;wrapper&nbsp;» pour
-<tt>/usr/sbin/smail</tt>&nbsp;:
-
-<example>
- if [ install = "$1" ]; then
- dpkg-divert --package smailwrapper --add --rename \
- --divert /usr/sbin/smail.real /usr/sbin/smail
- fi
-</example>
-Le test de <tt>$1</tt> est nécessaire afin que le script n'essaye pas
-d'ajouter encore la déviation quand <prgn>smailwrapper</prgn> est mis
-à jour. L'option <tt>--package smailwrapper</tt> assure que la copie du fichier
-<prgn>/usr/sbin/smail</prgn> contenue dans le paquet <tt>smailwrapper</tt>
-évitera la déviation et s'installera comme la vraie version.
- </p>
-<p>
-Le <tt>postrm</tt> fait l'inverse :
-<example>
- if [ remove = "$1" ]; then
- dpkg-divert --package smailwrapper --remove --rename \
- --divert /usr/sbin/smail.real /usr/sbin/smail
- fi
-</example>
-Il ne faut pas essayer de remplacer un fichier vital pour la marche
-du système. Il y a en effet un moment, quand on utilise <tt>dpkg</tt>, après
-que le fichier a été dévié, mais avant que <tt>dpkg</tt> ait installé
-la nouvelle version, où le fichier n'existe pas.
-</p>
- </appendix>
-</book>
-</debiandoc>
-
-
-<!-- LocalWords: NNTP
- -->
diff --git a/french/international/french/translations/project-history.fr.html/ch1.html b/french/international/french/translations/project-history.fr.html/ch1.html
deleted file mode 100644
index e226d19a69e..00000000000
--- a/french/international/french/translations/project-history.fr.html/ch1.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<html>
-
-<head>
-
-<title>L'histoire du projet Debian - Introduction -- Qu'est-ce que le Projet Debian ?</title>
-
-</head>
-
-<body>
-
-<hr>
-
-[ <a href="index.html#abstract">R&eacute;sum&eacute;</a> ]
-[ <a href="index.html#copyright">Copyright</a> ]
-[ <a href="index.html#contents">Table des mati&egrave;res</a> ]
-[ <a href="ch2.html">suivant</a> ]
-
-<hr>
-
-<h1>
-L'histoire du projet Debian - Chapitre 1<br>
-Introduction -- Qu'est-ce que le Projet Debian ?
-</h1>
-
-<hr>
-
-<p>
-<code><a href="http://www.fr.debian.org/">Le Projet Debian</a></code>
-est un groupe de bénévoles qui réalisent la distribution logicielle
-Debian GNU/Linux, disponible actuellement pour processeurs Intel
-et Motorola 68000. Des distributions Sparc, UltraSparc, MIPS et
-PowerPC sont en développement, et le support de l'architecture
-Alpha est annoncé pour la prochaine version 2.1.
-Debian est le projet principal de Software In The Public Interest, Inc.
-(Logiciels d'intérêt public), une association sans but lucratif
-basée à New York et dédiée à la généralisation des logiciels
-libres (aussi appelés &quot;Open Source Software&quot;).
-
-<p>
-Pour plus d'information sur les logiciels libres,voir le
-<code><a href="https://www.debian.org/social_contract.html">Contrat Social Debian</a></code>
-et <code><a href="https://www.debian.org/intro/free">Les principes du logiciel libre selon Debian</a></code>.
-</p>
-
-<hr>
-
-[ <a href="index.html#abstract">R&eacute;sum&eacute;</a> ]
-[ <a href="index.html#copyright">Copyright</a> ]
-[ <a href="index.html#contents">Table des mati&egrave;res</a> ]
-[ <a href="ch2.html">suivant</a> ]
-
-<hr>
-
-L'histoire du projet Debian<br>
-
-<address>
-1.0 (dernière révision le 3 Nov 98)<br>
-Will Lowe <code><a href="mailto:lowe@debian.org">lowe@debian.org</a></code><br>
-Version française par Jérôme Rousselot <code><a href="mailto:r.jerome@francemel.com">r.jerome@francemel.com</a></code>
-</address>
-
-</body>
-
-</html>
-
diff --git a/french/international/french/translations/project-history.fr.html/ch2.html b/french/international/french/translations/project-history.fr.html/ch2.html
deleted file mode 100644
index 83cfb629338..00000000000
--- a/french/international/french/translations/project-history.fr.html/ch2.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<html>
-
-<head>
-
-<title>L'histoire du projet Debian - Les différentes versions de Debian</title>
-
-</head>
-
-<body>
-
-<hr>
-
-[ <a href="ch1.html">pr&eacute;c&eacute;dent</a> ]
-[ <a href="index.html#abstract">R&eacute;sum&eacute;</a> ]
-[ <a href="index.html#copyright">Copyright</a> ]
-[ <a href="index.html#contents">Table des mati&egrave;res</a> ]
-[ <a href="ch3.html">suivant</a> ]
-
-<hr>
-
-<h1>
-L'histoire du projet Debian - Chapitre 2<br>
-Les différentes versions de Debian
-</h1>
-
-<hr>
-
-<p>
-Debian 0.01 à 0.90 (Août-Décembre 1993)
-
-<p>
-Debian 0.91 (Janvier 1994): cette version était équipée d'un système de gestion
-de paquets primitif qui pouvait installer et désinstaller les paquets. Plusieurs
-douzaines de personnes participaient au projet à cette époque.
-
-<p>
-Debian 0.93R5 (Mars 1995): à partir de cette date, chaque développeur
-a la responsabilité d'un ou plusieurs paquets, et le gestionnaire de paquets (<code>dpkg</code>)
-était utilisé pour installer les paquets après la mise en place d'un système de base.
-
-<p>
-Debian 0.93R6 (Novembre 1995): apparition de <code>dselect</code>.
-C'est la dernière version de Debian utilisant le format a.out; il y a
-maintenant approximativement 60 développeurs.
-
-<p>
-Debian 1.1 <em>Buzz</em> (Juin 1996): sans doute la première version de
-Debian à posséder un nom de code (inspiré, comme pour tous les autres, du film
-<em>Toy Story</em>); ceci sans doute parce que c'était la première version
-réalisée après que Bruce Perens aie remplacé Ian Murdock à la tête du Projet.
-Cette version était entièrement basée sur le format binaire ELF, utilisait le
-noyau Linux 2.0, et contenait 474 paquets.
-
-<p>
-Debian 1.2 <em>Rex</em> (Décembre 1996): 848 paquets, 120 développeurs.
-
-<p>
-Debian 1.3 <em>Bo</em> (Juillet 1997): 974 paquets, 200 développeurs.
-
-<p>
-Debian 2.0 <em>Hamm</em> (Juillet 1998): première distribution Debian supportant
-l'architecture des Motorola 68000. Cette distribution (la première avec Ian
-Jackson en tant que chef de Projet) fit la transition vers la libc6, comprenait plus
-de 1500 paquets et était le résultat du travail de 400 développeurs.
-</p>
-
-<hr>
-
-[ <a href="ch1.html">pr&eacute;c&eacute;dent</a> ]
-[ <a href="index.html#abstract">R&eacute;sum&eacute;</a> ]
-[ <a href="index.html#copyright">Copyright</a> ]
-[ <a href="index.html#contents">Table des mati&egrave;res</a> ]
-[ <a href="ch3.html">suivant</a> ]
-
-<hr>
-
-L'histoire du projet Debian<br>
-
-<address>
-1.0 (dernière révision le 3 Nov 98)<br>
-Will Lowe <code><a href="mailto:lowe@debian.org">lowe@debian.org</a></code><br>
-Version française par Jérôme Rousselot <code><a href="mailto:r.jerome@francemel.com">r.jerome@francemel.com</a></code>
-</address>
-
-</body>
-
-</html>
-
diff --git a/french/international/french/translations/project-history.fr.html/ch3.html b/french/international/french/translations/project-history.fr.html/ch3.html
deleted file mode 100644
index dd99e248ec6..00000000000
--- a/french/international/french/translations/project-history.fr.html/ch3.html
+++ /dev/null
@@ -1,282 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<html>
-
-<head>
-
-<title>L'histoire du projet Debian - Un historique détaillé</title>
-
-</head>
-
-<body>
-
-<hr>
-
-[ <a href="ch2.html">pr&eacute;c&eacute;dent</a> ]
-[ <a href="index.html#abstract">R&eacute;sum&eacute;</a> ]
-[ <a href="index.html#copyright">Copyright</a> ]
-[ <a href="index.html#contents">Table des mati&egrave;res</a> ]
-
-<hr>
-
-<h1>
-L'histoire du projet Debian - Chapitre 3<br>
-Un historique détaillé
-</h1>
-
-<hr>
-
-<h2>
-<a name="s3.1">3.1 Les versions 0.x</a>
-</h2>
-
-<p>
-Le Projet Debian fut créé en Août 1993 par Ian Murdock, à l'époque
-étudiant à l'Université Purdue. Debian était financé par le projet
-GNU de <code><a href="http://www.fsf.org/">La Free Software Foundation</a></code>,
-l'organisation créée par Richard Stallman et liée à la General Public
-License (GPL, License Publique Générale), pour un an (de novembre 1994
-à novembre 1995).
-
-<p>
-Les distributions Debian 0.01 à Debian 0.90 furent finalisées entre
-Août et Décembre 1993. Ian Murdock écrit :
-
-<p>
-&quot;Debian 0.91 sortit en Janvier 1994. Cette distribution disposait d'un
-système de gestion des paquets primitif qui permettait aux utilisateurs
-de manipuler des paquets mais pas grand-chose d'autre (pas de dépendances
-ou quoi que ce soit dans le genre). A cette date, quelques douzaines
-de personnes travaillaient sur Debian, bien que je m'occupais encore
-moi-même de centraliser l'ensemble de chaque distribution. 0.91 fut
-la dernière distribution réalisée de cette manière.
-
-<p>
-La plus grande partie de l'année 1994 fut consacrée à organiser le Projet Debian
-de manière à ce que d'autres puissent y contribuer plus efficacement,
-ainsi qu'à travailler sur dpkg (Ian Jackson en fut le principal responsable).
-Je ne me souviens pas de versions distribuées au public en 1994, bien
-qu'il y eut plusieurs nouvelles versions internes alors que nous
-travaillions sur notre organisation.
-
-<p>
-Debian 0.93 Version 5 sortit en mars 1995 et fut la première distribution
-&quot;moderne&quot; de Debian : il y avait beaucoup plus de développeurs
-(bien que je ne puisse me rappeler du nombre exact), chacun
-étant responsable de ses propres paquets, et dpkg était utilisé
-pour installer et mettre à jour tous ces paquets après l'installation
-du système de base.
-
-<p>
-Debian 0.93 Version 6 sortit en novembre 1995 et fut la dernière distribution
-au format a.out. Il y avait approximativement 60 développeurs responsables
-de paquets pour la 0.93R6. Si je me souviens bien, dselect apparu pour la
-première fois dans 0.93R6.&quot;
-
-<p>
-Mr. Murdock fait aussi remarquer que Debian 0.93R6 &quot;... a toujours été ma version
-préférée de Debian&quot;, bien qu'il admette la possibilité de ne pas être totalement
-objectif, ayant arrêté de participer activement au projet en mars 1996 pendant
-la pré-production de Debian 1.0, qui fut finalement distribuée sous le nom de
-Debian 1.1.
-
-<p>
-Un ancien membre du projet, Bill Mitchell, se rappelle du noyau linux
-
-<p>
-&quot;... qui était entre la version 0.99r8 et la 0.99r15 quand nous démarrâmes
-le projet. Pendant une longue période, j'ai pu construire le noyau en moins
-de 30 minutes sur un 386 à 20 Mhz, et je pouvais aussi installer Debian dans
-le même temps sur moins de 10 MB d'espace disque.
-
-<p>
-&quot;... Je me rappelle que le groupe initial comprenait Ian Murdock, moi-même,
-Ian Jackson, un autre Ian dont je ne me rappelle pas le nom de famille,
-Dan Quinlan, et d'autres dont j'ai oublié les noms. Matt Welsh
-faisait partie du groupe initial ou nous joignit très tôt (il a depuis quitté
-le projet).
-Quelqu'un mis en place une mailing list, et le travail commença.
-
-<p>
-Pour autant que je me souvienne, nous n'avons pas démarré avec un plan bien
-défini, ni avec une démarche d'organisation poussée pour en définir un.
-Quand nous avons commencé le travail, je me rappelle que nous avons
-rassemblé des sources jusqu'à obtenir un ensemble de paquets peu homogène.
-Le temps passant, nous nous sommes concentrés sur un ensemble de paquets
-nécessaires à la création d'une distribution : le kernel, un shell, update,
-getty, d'autres programmes variés et les fichiers nécessaires à l'initialisation
-du système, ainsi qu'un groupe d'utilitaires de base.&quot;
-</p>
-
-<hr>
-
-<h3>
-<a name="s3.1.1">3.1.1 Le premier système de gestion de paquets Debian</a>
-</h3>
-
-<p>
-Aux touts débuts du Projet, les membres pensaient distribuer uniquement
-des paquets de fichiers sources. Chaque paquet devait être composé
-du code source original du programme accompagné d'un fichier patch
-&quot;débianisé&quot;, et les utilisateurs devaient détarrer les sources, appliquer
-les patches, et compiler eux-mêmes les binaires. Ils réalisèrent cependant
-rapidement qu'une méthode de distribution de binaires serait nécessaire.
-Le premier utilitaire de gestion des paquets, écrit par Ian Murdock et appelé
-dpkg, permettait de créer un paquet dans un format binaire spécifique
-à Debian, et pouvait être utilisé plus tard pour décompresser et installer
-les fichiers contenus dans ce paquet.
-
-<p>
-Ian Jackson pris très tôt le contrôle du développement de l'utilitaire de gestion
-des paquets, le renommant <code>dpkg-web</code> et se mit à écrire un programme
-offrant une interface utilisateur qu'il nomma <code>dpkg</code> pour faciliter
-l'utilisation de <code>dpkg-web</code> et pour permettre la gestion des
-<em>Conflits</em> et <em>Dépendances</em> du système Debian actuel.
-Les paquets produits par ces utilitaires comprenaient un en-tête indiquant
-la version de l'outil utilisé pour créer le paquet et le nombre d'octets séparant
-la fin de l'en-tête du fichier de l'archive <code>tar</code>, séparés par des informations de contrôle.
-
-<p>
-C'est à peu près à cette époque qu'un débat intense commença entre les
-membres du projet -- certain considéraient que le format spécifique à Debian créé
-par <code>dpkg-deb</code> devait être abandonné au profit du format produit par <code>ar</code>.
-Après plusieurs formats de fichiers révisés et autant d'outils de gestion de
-paquetages, le format <code>ar</code> fut adopté.
-</p>
-
-<hr>
-
-<h2>
-<a name="s3.2">3.2 Les versions 1.x</a>
-</h2>
-
-<p>
-Quand Ian Murdock quitta Debian, il désigna Bruce Perens comme son successeur
-à la tête du projet. Mr Perens fut d'abord intéressé par Debian à une époque où
-il essayait de créer une distribution Linux du nom de &quot;Linux
-for Hams&quot; (ndt: Linux pour radio-amateurs), qui devait inclure tous les logiciels
-Linux pouvant intéresser des radio-amateurs. Estimant que le système de base
-Debian nécessiterait encore beaucoup de travail avant de pouvoir aider
-son projet, Mr. Perens finit par travailler intensément sur le système Linux
-de base et reporta sa distribution pour radio-amateurs, réalisant
-notamment (avec Ian Murdock) le premier ensemble de scripts d'installation
-Debian, dont on peut peut-être retrouver des traces dans l'actuelle disquette
-de secours Debian.
-
-<p>
-Mr. Murdock déclare:
-
-<p>
-&quot;Le choix de Bruce pour ma succession s'imposait, car il avait maintenu
-le système de base pendant presqu'un an, et il avait repris le flambeau
-alors que le temps dont je disposais pour me consacrer à Debian diminuait
-rapidement.&quot;
-
-<p>
-Il démarra plusieurs facettes importantes du projet. Il se chargea notamment
-de coordonner les efforts pour produire les Principes du Logiciel Libre selon Debian
-et le Contrat Social Debian, et l'initiation de
-<code><a href="http://www.openhardware.org/">The Open Hardware Project</a></code> (ndt:
-projet de certification de matériel informatique. Extrait de http://www.openhardware.org/ : &quot;En certifiant un périphérique
-informatique comme &quot;Open&quot; [ouvert], le constructeur s'engage à fournir la documentation
-nécessaire pour pouvoir programmer un pilote pour ce périphérique&quot;).
-Durant la période où Mr. Perens fut chef de Projet, Debian gagna
-des parts de marché et la réputation d'une plate-forme pour utilisateurs
-Linux sérieux et capables techniquement.
-
-<p>
-Mr. Perens soutena aussi la création de
-<code><a href="https://www.spi-inc.org/">Software in the Public Interest, Incorporated</a></code>.
-Originellement conçue dans le but de doter le Projet Debian d'une entité légale
-permettant de recevoir des donations, cette association
-se développa rapidement pour permettre d'aider d'autres projets de
-logiciels libres sans liens avec le Projet Debian.
-
-<p>
-Les distributions Debian suivantes furent conçues durant cette période :
-
-<ul>
-
-<p>
-<li>
-1.1 <em>Buzz</em> sortie en Juin 1996 (474 paquets, noyau 2.0, entièrement ELF, dpkg)
-</li>
-
-<p>
-<li>
-1.2 <em>Rex</em> sortie en Décembre 1996 (848 paquets, 120 développeurs)
-</li>
-
-<p>
-<li>
-1.3 <em>Bo</em> sortie en Juillet 1997 (974 paquets, 200 développeurs)
-</li>
-
-</ul>
-
-<p>
-Plusieurs mises à jour mineures de la 1.3 ont été réalisées,
-la dernière étant la 1.3.1R6.
-
-<p>
-Bruce Perens fut remplacé par Ian Jackson comme Chef de Projet Debian
-au début Janvier 1998, après avoir dirigé le projet pendant une grande
-partie de la préparation de la version 2.0.
-</p>
-
-<hr>
-
-<h2>
-<a name="s3.3">3.3 Les versions 2.x</a>
-</h2>
-
-<p>
-Ian Jackson devint le chef du Projet Debian début Janvier 1998, et fut
-rapidement admis au conseil d'administration de Software in the
-Public Interest en tant que vice-président. Après le départ du trésorier
-(Tim Sailer), du président (Bruce Perens), et du secrétaire (Ian Murdock),
-il devint président du conseil d'administration et trois nouveaux
-membres furent choisis : Martin Schulze (vice-président), Dale Scheetz
-(secrétaire), et Nils Lohner (trésorier).
-
-Debian 2.0 (<em>Hamm</em>) sortit en Juillet 1998 pour les architectures Intel
-i386 et Motorola 68000. Cette version marque le mouvement vers une nouvelle
-version des librairies système C (libc6 ou glibc2). A ce moment, il y
-avait plus de 1500 paquets maintenus par plus de 400 développeurs Debian.
-</p>
-
-<hr>
-
-<h2>
-<a name="s3.4">3.4 Et après ?</a>
-</h2>
-
-<p>
-Les développeurs Debian travaillent actuellement sur Debian 2.1, dont
-le nom de code est <em>Slink</em>. Cette version inclura le support
-du Linux Filesystem Hierarchy Standard, une nouvelle interface utilisateur pour
-l'utilitaire système de gestion de paquets (appelée <code>apt</code>), et
-<code><a href="http://www.gnome.org/">Gnome</a></code>.
-</p>
-
-<hr>
-
-[ <a href="ch2.html">pr&eacute;c&eacute;dent</a> ]
-[ <a href="index.html#abstract">R&eacute;sum&eacute;</a> ]
-[ <a href="index.html#copyright">Copyright</a> ]
-[ <a href="index.html#contents">Table des mati&egrave;res</a> ]
-
-<hr>
-
-L'histoire du projet Debian<br>
-
-<address>
-1.0 (dernière révision le 3 Nov 98)<br>
-Will Lowe <code><a href="mailto:lowe@debian.org">lowe@debian.org</a></code><br>
-Version française par Jérôme Rousselot <code><a href="mailto:r.jerome@francemel.com">r.jerome@francemel.com</a></code>
-</address>
-
-</body>
-
-</html>
-
diff --git a/french/international/french/translations/project-history.fr.html/index.html b/french/international/french/translations/project-history.fr.html/index.html
deleted file mode 100644
index 2fb91a242c0..00000000000
--- a/french/international/french/translations/project-history.fr.html/index.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<html>
-
-<head>
-
-<title>L'histoire du projet Debian</title>
-
-</head>
-
-<body>
-
-<hr>
-
-[ <a href="index.html#abstract">R&eacute;sum&eacute;</a> ]
-[ <a href="index.html#copyright">Copyright</a> ]
-[ <a href="index.html#contents">Table des mati&egrave;res</a> ]
-
-<hr>
-
-<h1>L'histoire du projet Debian</h1>
-
-<hr>
-
-<h2><a name="abstract">R&eacute;sum&eacute;</a></h2>
-
-<p>
-Ce document décrit l'histoire et les buts du projet Debian.
-</p>
-
-<h2><a name="copyright">Copyright</a></h2>
-
-<p>
-Ce document peut être librement redistribué ou modifié tant que vos modifications sont clairement indiquées.
-
-<p>
-Ce document peut être redistribué gratuitement ou non, et peut être modifié
-(ceci incluant le transfert d'un type de média ou de format de fichier vers
-un autre, ou encore une traduction) tant que toutes les modifications par rapport
-au document original sont clairement indiquées.
-
-<p>
-Les personnes suivantes ont contribué à ce document :
-
-<ul>
-
-<p>
-<li>
-Ian Murdock <code><a href="mailto:imurdock@cs.arizona.edu">imurdock@cs.arizona.edu</a></code>
-</li>
-
-<p>
-<li>
-Nils Lohner <code><a href="mailto:lohner@typhoon.icd.teradyne.com">lohner@typhoon.icd.teradyne.com</a></code>
-</li>
-
-<p>
-<li>
-Craig Small <code><a href="mailto:csmall@scooter.o.i.net">csmall@scooter.o.i.net</a></code>
-</li>
-
-<p>
-<li>
-Bill Mitchell <code><a href="mailto:Bill.Mitchell@pobox.com">Bill.Mitchell@pobox.com</a></code>
-</li>
-
-</ul>
-
-</p>
-
-<hr>
-
-<h2><a name="contents">Table des mati&egrave;res</a></h2>
-
-<ul>
-<li><a href="ch1.html">1 Introduction -- Qu'est-ce que le Projet Debian ?</a>
-<li><a href="ch2.html">2 Les différentes versions de Debian</a>
-<li><a href="ch3.html">3 Un historique détaillé</a>
-<ul>
-<li><a href="ch3.html#s3.1">3.1</a> Les versions 0.x
-<li><a href="ch3.html#s3.2">3.2</a> Les versions 1.x
-<li><a href="ch3.html#s3.3">3.3</a> Les versions 2.x
-<li><a href="ch3.html#s3.4">3.4</a> Et après ?
-</ul>
-</ul>
-</p>
-
-<hr>
-
-[ <a href="index.html#abstract">R&eacute;sum&eacute;</a> ]
-[ <a href="index.html#copyright">Copyright</a> ]
-[ <a href="index.html#contents">Table des mati&egrave;res</a> ]
-
-<hr>
-
-L'histoire du projet Debian<br>
-
-<address>
-1.0 (dernière révision le 3 Nov 98)<br>
-Will Lowe <code><a href="mailto:lowe@debian.org">lowe@debian.org</a></code><br>
-Version française par Jérôme Rousselot <code><a href="mailto:r.jerome@francemel.com">r.jerome@francemel.com</a></code>
-</address>
-
-</body>
-
-</html>
-

© 2014-2024 Faster IT GmbH | imprint | privacy policy