/[ddp]/manuals/trunk/debian-faq/fr/pkg_basics.sgml
ViewVC logotype

Contents of /manuals/trunk/debian-faq/fr/pkg_basics.sgml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5167 - (hide annotations) (download) (as text)
Sat May 24 15:48:45 2008 UTC (4 years, 11 months ago) by spaillar-guest
File MIME type: text/x-sgml
File size: 25609 byte(s)
Sync with EN r5004 [Simon Paillard]
1 spaillar-guest 5167 <!-- Subversion revision of original English document "5004" -->
2 fbothamy 3560
3     <chapt id="pkg_basics">Les bases du système de gestion des paquets Debian
4    
5 spaillar-guest 5167 <p>Ce chapitre touche aux mécanismes internes de bas niveau du système de
6     gestion de paquets Debian. Si vous être avant tout intéressés par
7     l'<em>utilisation</em> des outils appropriés, passez au chapitres <ref
8     id="pkgtools"> et <ref id="uptodate">.
9 fbothamy 3560
10 spaillar-guest 5167
11 fbothamy 3560 <sect id="package">Qu'est ce qu'un paquet Debian&nbsp;?
12    
13     <p>Les paquets contiennent généralement tous les fichiers nécessaires pour
14     implémenter un ensemble de commandes ou de fonctionnalités.
15    
16     <p>Il y a deux sortes de paquets Debian&nbsp;:
17     <list>
18     <item><em>Les paquets binaires</em> contenant les exécutables, les fichiers
19     de configuration, les pages de manuel ou d'info, les informations de copyright
20     et d'autres documentations. Ces paquets sont distribués sous un format d'archive
21     spécifique à Debian (voir <ref id="deb-format">). Ils sont habituellement reconnaissables
22     par l'extension «&nbsp;.deb&nbsp;». Ils peuvent être installés en utilisant l'utilitaire
23 spaillar-guest 5167 <tt>dpkg</tt> (éventuellement avec une interface comme <prgn/aptitude/) ;
24     vous trouverez plus de détails dans les pages de manuel.
25 fbothamy 3560
26     <item><em>Les paquets sources</em> sont constitués d'un fichier <tt>.dsc</tt> décrivant
27     le paquet source (incluant le nom des fichiers suivants), un fichier <tt>.orig.tar.gz</tt>
28     contenant les sources originales non modifiés au format tar compressé et habituellement un
29     fichier <tt>.diff.gz</tt> contenant les modifications spécifiques à Debian par rapport au source
30     original. L'utilitaire <tt>dpkg-source</tt> permet l'archivage et le désarchivage des sources
31     Debian&nbsp; vous trouverez plus de détails dans les pages de manuel.
32 spaillar-guest 5167 (Le programme <prgn/apt-get/ peut être utilisé comme une interface pour <tt>dpkg-source</tt>.)
33 fbothamy 3560 </list>
34    
35     <p>L'installation de logiciels par le système de paquet utilise les dépendances qui
36     sont définies avec attention par le responsable du paquet. Ces dépendances sont
37     documentées dans le fichier <tt>control</tt> associé à chaque paquet. Par exemple,
38     le paquet du compilateur GNU C (<package/gcc/) dépend du paquet <package/binutils/ qui
39     contient l'éditeur de lien et l'assembleur. Si un utilisateur essaye d'installer <package/gcc/
40     sans avoir préalablement installé <package/binutils/, le système de gestion de paquets (dpkg)
41     renverra un message d'erreur disant qu'il a aussi besoin de <package/binutils/ et arrêtera
42     l'installation de <package/gcc/. (Cependant ceci peut être forcé par un utilisateur insistant,
43     voir <manref name="dpkg" section="8">). Pour plus d'informations, voir <ref id="depends"> plus
44     loin.
45    
46     <p>Les outils de gestion de paquets Debian peuvent être utilisés pour&nbsp;:
47     <list>
48     <item>manipuler ou administrer les paquets ou une partie des paquets,
49 spaillar-guest 5167 <item>administrer les modifications locales (« overrides ») des fichiers d'un paquets,
50 fbothamy 3560 <item>aider les développeurs dans la construction de paquets et
51     <item>aider les utilisateurs dans l'installation de paquets résidant sur un serveur
52     FTP distant.
53     </list>
54    
55     <sect id="deb-format">Quel est le format d'un paquet binaire Debian&nbsp;?
56    
57     <p>Un paquet Debian ou un fichier d'archive Debian, contient les fichiers exécutables,
58     les bibliothèques, et la documentation liée à une suite particulière de programme ou à
59     un ensemble de programmes. Normalement, un fichier archive Debian a un nom se terminant
60     par <tt>.deb</tt>.
61    
62 spaillar-guest 5167 <p>Les mécanismes internes du format des paquets binaires Debian sont décrits dans la page
63 fbothamy 3560 de manuel de <manref name="deb" section="5">. Ce format interne est susceptible de changer
64 spaillar-guest 5167 (entre chaque version principale de &debian;), donc utilisez toujours
65     <manref name="dpkg-deb" section="1"> si vous avez besoin d'effectuer des opérations de
66     bas niveau sur des fichiers <tt>.deb</tt>.
67 fbothamy 3560
68     <sect id="pkgname">Pourquoi les noms des paquets Debian sont-ils si longs&nbsp;?
69    
70     <p>Le nom des paquets binaires Debian se conforme à la convention suivante&nbsp;:
71 spaillar-guest 5167 &lt;foo&gt;_&lt;NuméroVersion&gt;-&lt;NuméroRévisionDebian&gt;_&lt;DebianArchitecture&gt;.deb
72 fbothamy 3560
73     <p>Notez que <tt>foo</tt> est supposé être le nom du paquet. On peut connaître le nom
74     associé à un fichier d'archive Debian particulier (fichier .deb) d'une de ces manières&nbsp;:
75     <list>
76     <item>inspecter le fichier «&nbsp;Packages&nbsp;» dans le répertoire où il a été stocké sur un site
77     FTP d'archive Debian. Ce fichier contient une description pour chaque paquet&nbsp;; le premier
78     champ de chaque description est le nom formel du paquet.
79 spaillar-guest 5167 <item>utiliser la commande <tt>dpkg --info foo_VVV-RRR_AAA.deb</tt> (où VVV, RRR et AAA sont
80     respectivement le numéro de version, le numéro de révision, et l'architecture du paquet en question). Ceci affiche,
81 fbothamy 3560 entre autre, le nom du paquet correspondant au fichier archive.
82     </list>
83    
84     <p>Le composant <tt>VVV</tt> est le numéro de version fournit par le développeur amont.
85     Il n'y a pas de standard ici, donc le numéro de version peut avoir différents formats
86     comme «&nbsp;19990513&nbsp;» ou «&nbsp;1.3.8pre1&nbsp;».
87    
88     <p>Le composant <tt>RRR</tt> est le numéro de révision Debian et il est choisi par
89     le développeur Debian (ou un utilisateur s'il choisit de construire lui-même son paquet).
90     Ce numéro correspond au niveau de révision du paquet Debian, ainsi, une nouvelle révision
91     signifie généralement des modifications du Makefile Debian (<tt>debian/rules</tt>), du
92     fichier de contrôle Debian <tt>debian/control</tt>), des scripts d'installation ou de
93     désinstallation (<tt>debian/p*</tt>) ou des fichiers de configurations utilisés avec le paquet.
94    
95 spaillar-guest 5167 <p>Le composant <tt>AAA</tt> identifie le processeur pour lequel le paquet a été construit.
96     Il s'agit généralement de <tt>i386</tt>, pour les processeurs compatibles avec
97     l'Intel 386 et ultérieurs.
98     La structure de l'archive Debian <ref id="dirtree"> montre les autres possibilités.
99     Pour plus de détails, consultez la description de « l'architecture Debian »
100     dans la page de manuel <manref name="dpkg-architecture" section="1">.
101 fbothamy 3560
102    
103     <sect id="controlfile">Qu'est ce qu'un fichier de contrôle&nbsp;?
104    
105     <p>Des détails concernant le contenu du fichier <tt>control</tt> Debian sont fournis dans la charte Debian,
106     au chapitre cinq, voir <ref id="debiandocs">.
107    
108     <p>Brièvement, un fichier <tt>control</tt> est montré ci-dessous pour le paquet Debian hello&nbsp;:
109    
110     <example>
111     Package: hello
112     Priority: optional
113     Section: devel
114     Installed-Size: 45
115     Maintainer: Adam Heath &lt;doogie@debian.org&gt;
116     Architecture: i386
117     Version: 1.3-16
118     Depends: libc6 (>= 2.1)
119     Description: Le classique et bon exemple
120     Le programme bonjour de GNU produit une salutation familière et amicale. Il
121     <!-- XXX below 'non-programmers' were better, but this is a verbatim copy -->
122     permet à des non-programmeurs d'utiliser un outil classique d'informatique
123     qui leur serait autrement indisponible.
124     .
125     Sérieusement: c'est un exemple sur comment faire un paquet Debian.
126     C'est la version Debian du programme du projet GNU «&nbsp;bonjour
127     le monde&nbsp;» (qui est lui-même un exemple pour le projet de GNU).
128     </example>
129    
130     <p>Le champ «&nbsp;Package&nbsp;» contient le nom du paquet. C'est le nom
131     par lequel les outils de gestion de paquet peuvent le manipuler. Il est
132     habituellement similaire mais pas nécessairement le même à la première chaîne
133     composant le nom de l'archive Debian.
134    
135     <p>Le champ de «&nbsp;Version&nbsp;» donne le numéro de version du développeur amont
136     et (dans le dernier composant) le niveau de révision du paquet de Debian de ce programme
137     comme expliqué dans <ref id="pkgname">. <!-- XXX missing name -->
138    
139     <p>Le champ «&nbsp;Architecture&nbsp;» indique pour quel processeur ce binaire
140     particulier a été compilé.
141    
142     <p>Le champ «&nbsp;Depends&nbsp;» donne une liste des paquets qui doivent être
143     installés afin d'installer ce paquet avec succès.
144    
145     <p>Le champ «&nbsp;Installed-Size&nbsp;» indique l'espace disque utilisé par le paquet
146     une fois installé. Ceci est prévu pour être employé par les programmes d'installation pour
147     vérifier s'il y a suffisamment d'espace disque disponible pour installer le programme.
148    
149     <p>La ligne «&nbsp;Section&nbsp;» indique la section où le paquet Debian est conservé sur
150 spaillar-guest 5167 les sites FTP de Debian.
151 fbothamy 3560
152     <p>Le champ «&nbsp;Priority&nbsp;» indique l'importance d'un paquet pour l'installation,
153 spaillar-guest 5167 de sorte que des logiciels semi-intelligents comme dselect ou aptitude peuvent trier
154 fbothamy 3560 les paquets dans une catégorie par exemple les paquets installés facultativement.
155     Voir <ref id="priority">.
156    
157     <p>Le champ «&nbsp;Maintener&nbsp;» contient l'adresse électronique de la personne
158     actuellement responsable de la maintenance du paquet.
159    
160     <p>Le champ «&nbsp;Description&nbsp;» fournit un bref résumé des fonctionnalités
161     du paquet.
162    
163     <p>Pour plus d'informations sur les champs disponibles dans un paquet, reportez-vous
164     au chapitre 5 de la charte Debian, «&nbsp;Fichiers control et leurs champs &nbsp;».
165    
166     <sect id="conffile">Qu'est ce qu'un Debian conffile&nbsp;?
167    
168     <p>Conffiles est une liste de fichiers de configuration (habituellement placés dans <tt>/etc</tt>)
169     que le système de gestion de paquet n'écrasera pas quand le paquet est mis à jour.
170     Ceci s'assure que les valeurs locales pour ces fichiers seront préservées, et c'est un
171     dispositif critique permettant la mise à niveau des paquets sur un système en fonctionnement.
172    
173     <p>Pour déterminer exactement quels fichiers sont préservés pendant la mise à jour, lancez&nbsp;:
174     <example>dpkg --status package</example>
175     et regardez la section «&nbsp;Conffiles:&nbsp;».
176    
177     <sect id="maintscripts">Qu'est-ce qu'un script Debian preinst, postinst, prerm, et postrm&nbsp;?
178    
179     <p>Ces fichiers sont des scripts exécutables qui sont lancés automatiquement avant
180     ou après l'installation d'un paquet. Avec le fichier appelé <tt>control</tt>, tous
181     ces fichiers font partie de la section commande d'une archive Debian.
182    
183     <p>Les fichiers individuels sont&nbsp;:
184     <taglist>
185     <tag/preinst/
186     <item>Ce script est exécuté avant que le paquet soit désarchivé du fichier archive (.deb).
187     Beaucoup de scripts «&nbsp;preinst&nbsp;» arrêtent les services des paquets
188     qui sont mis à jour jusqu'à ce que leurs installations ou leurs mises à jour
189     soient terminées (suivant le succès de l'exécution du script «&nbsp;postinst&nbsp;»).
190    
191     <tag/postinst/
192     <item>Ce script termine typiquement n'importe quelle configuration exigée du paquet <tt>foo</tt> une
193     fois que <tt>foo</tt> a été désarchivé à partir du fichier d'archive Debian («&nbsp;deb&nbsp;»).
194     Souvent le script «&nbsp;postinst&nbsp;» demande à l'utilisateur des informations
195     et avertit l'utilisateur que s'il accepte les valeurs par défaut, il devrait se souvenir
196     de revenir en arrière et de reconfigurer le paquet lorsque la situation le demandera.
197     Beaucoup de scripts «&nbsp;postinst&nbsp;» exécutent toutes les commandes nécessaires
198     au démarrage ou au redémarrage d'un service une fois qu'un nouveau paquet a été
199     installé ou mis à jour.
200     <tag/prerm/
201     <item>Ce script arrête généralement tous les démons qui sont associés avec le paquet.
202     Il est exécuté avant la suppression des fichiers associés au paquet.
203    
204     <tag/postrm/
205     <item>Ce script modifie généralement les liens ou les autres fichiers associés avec
206     <tt>foo</tt> et/ou supprime les fichiers créés par le paquet (Voir aussi
207     <ref id="virtual">.)
208     </taglist>
209    
210     <p>Actuellement tous les fichiers de commande peuvent être trouvés dans le répertoire
211     <tt>/var/lib/dpkg/info</tt>. Les fichiers concernant le paquet <tt>foo</tt> commencent
212     par le nom "foo" et sont suivis par les extensions "preinst", "postinst" etc. Le fichier
213     <tt>foo.list</tt> dans ce répertoire liste tous les fichiers installés par le paquet <tt>foo</tt>.
214     (Notez que l'emplacement de ces fichiers est interne à dpkg&nbsp;; vous ne devriez pas compter
215     sur eux).
216    
217 spaillar-guest 5167 <sect id="priority">Qu'est ce qu'un paquet <em/Essential/, <em/Required/, <em/Important/, <em/Standard/,
218 fbothamy 3560 <em/Optional/ ou <em/Extra/&nbsp;?
219    
220     <p>À chaque paquet Debian est assignée une priorité par les développeurs de la distribution,
221     c'est une aide pour le système de gestion de paquet. Les priorités sont&nbsp;:
222    
223     <list>
224     <item>Nécessaire (<strong>Required</strong>)&nbsp;: paquets nécessaire pour le fonctionnement
225     correct du système.
226     <p>Ceci inclut tous les outils nécessaires pour la réparation d'un système défectueux.
227     Vous ne devez pas supprimer ces paquets ou votre système risque de devenir
228     complètement instable et vous ne pourrez probablement pas utiliser dpkg pour corriger cela.
229     Avec seulement les paquets nécessaires, le système sera probablement inutilisable mais
230     il aura suffisamment de fonctionnalités pour permettre de démarrer et d'installer plus
231     de logiciels.
232     <item><strong>Important</strong>&nbsp;: paquets devant être présents sur tous systèmes de type Unix
233     <p>Les autres paquets sans lesquels le système ne fonctionnera pas correctement ou ne sera pas
234 spaillar-guest 5167 utilisable ont cette priorité. Ceci n'inclut <em>PAS</em> Emacs, X, TeX ou aucune autre
235 fbothamy 3560 grosse application. Ces paquets constituent seulement l'infrastructure de base.
236     <item><strong>Standard</strong>&nbsp;: paquets présents sur n'importe quel système Linux,
237     y compris un système raisonnablement petit mais pas limité à un système en mode console.
238 spaillar-guest 5167 Des outils sont disponibles pour naviguer sur Internet (en utilisant w3m),
239     envoyer des courriels (avec mutt) et télécharger des fichiers depuis des
240     serveurs FTP.
241 fbothamy 3560 <p> C'est ce qui sera installé par défaut si les utilisateurs ne sélectionnent
242 spaillar-guest 5167 rien. Cela n'inclut pas les grosses applications, mais intègre
243     l'interpréteur Python et certains serveurs comme OpenSSH (pour
244     l'administration à distance), Exim (pour la livraison des courriels, même
245     s'il peut être configuré en mode local uniquement), un serveur identd
246     (pidentd) et le portmapper RPC (<tt>portmap</tt>). Sont également intégrées
247     certaines documentations générales considérées utiles par la plupart des
248     utilisateurs.
249 fbothamy 3560 <item>Optionnel (<strong>Optional</strong>)&nbsp;: paquets incluant tous ce que vous
250     pourriez raisonnablement vouloir installer si vous ne savez pas ce que c'est
251     ou si vous n'avez pas précisé de condition.
252 spaillar-guest 5167 <p>Ceci inclut X, une distribution TeX complète et beaucoup d'applications.
253 fbothamy 3560 <item><strong>Extra</strong>&nbsp;: paquets qui entrent en conflit avec d'autres ayant
254     des priorités plus élevées ou ayant des conditions particulières qui les rendent peu
255     convenables pour être optionnels. Ils sont utiles seulement si vous savez déjà ce qu'ils font.
256     </list>
257    
258     <p>Si vous faites une installation Debian par défaut tous les paquets ayant une priorité
259     <strong>standard</strong> ou supérieur seront installés sur votre système. Si vous
260     choisissez des tâches prédéfinies, vous obtiendrez aussi les paquets de priorité plus faible.
261    
262     <p>De plus, certain paquets sont marqués comme essentiel (<strong>Essential</strong>)
263     puisqu'ils sont absolument nécessaire pour un fonctionnement correct du système. Les outils
264     de gestion de paquets refuseront de les supprimer.
265    
266     <sect id="virtual">Qu'est-ce qu'un paquet virtuel&nbsp;?
267    
268     <p>Un paquet virtuel est un nom générique qui s'applique à n'importe quel
269     groupe de paquets fournissant une fonctionnalité de base semblable.
270     Par exemple, les programmes <tt>tin</tt> et <tt>trn</tt> sont des programmes
271     de lecture de nouvelles Usenet et devraient donc satisfaire n'importe quelle
272     dépendance d'un programme exigeant la présence d'un programme de lecture de
273     nouvelles sur le système, afin de fonctionner ou pour être utiles. Les deux
274     sont donc capables de fournir le paquet virtuel appelé <tt>news-reader</tt>.
275    
276     <p>De la même façon, <tt>smail</tt> et <tt>sendmail</tt> fournissent tous les deux
277     les fonctionnalités d'un agent de transport de courrier électronique. Les deux
278     sont donc capables de fournir le paquet virtuel <tt>mail-transport-agent</tt>.
279     Si l'un ou l'autre est installé, alors n'importe quel programme exigeant l'installation
280     d'un agent de transport de courrier électronique sera satisfait par l'existence de ce
281     paquet virtuel.
282    
283     <p>Debian fournit un mécanisme de sorte que, si plus d'un paquet fournissant
284     le même paquet virtuel est installé sur le système, alors les administrateurs
285     peuvent choisir leur paquet préféré. La commande appropriée est
286     <tt>update-alternatives</tt>, et est décrite plus loin dans <ref id="diverse">.
287    
288     <sect id="depends">Que signifie qu'un paquet dépend (<em/Depends/), recommande (<em/Recommends/),
289     suggère (<em/Suggests/), est en conflit (<em/Conflicts/), remplace (<em/Replaces/)
290     ou fournit (<em/Provides/) un autre paquet&nbsp;?
291    
292     <p>Le système de paquet Debian a une gamme de «&nbsp;dépendances&nbsp;» sur les paquets
293     qui permet d'indiquer (avec un simple drapeau) à quel niveau un programme A peut
294     fonctionner indépendamment de l'existence du programme B sur un système donné&nbsp;:
295    
296     <list>
297     <item>Le paquet A <em>dépend</em> du paquet B si B doit absolument être installé
298     pour pouvoir exécuter A. Dans certain cas, A dépend non seulement de B mais
299     d'une version de B. Dans ce cas, la dépendance de version est une limite basse,
300     dans le sens que A dépend de toutes versions plus récentes que celle spécifié.
301     <item>Le paquet A <em>recommande</em> le paquet B si le responsable du paquet pense que
302     la plupart des utilisateurs ne voudraient pas A sans avoir également la fonctionnalité fournie
303     par B.
304     <item>Le paquet A <em>suggère</em> le paquet B si B contient des fichiers qui sont liés aux
305     (et augmentent habituellement) fonctionnalités de A.
306     <item>Le paquet A est en <em>conflit</em> avec le paquet B quand A ne peut pas
307     fonctionner si B est installé sur le système. Le plus souvent les conflits
308     sont des cas où A contient des fichiers qui sont une amélioration de ceux de B.
309     Le conflit est souvent combiné avec le remplacement.
310     <item>Le paquet A <em>remplace</em> le paquet B quand les fichiers installés par
311     B sont supprimés et (dans certains cas) écrasés par les fichiers de A.
312     <item>Le paquet A <em>fournit</em> le paquet B quand tous les fichiers et toutes les fonctionnalités
313     de B sont incorporés dans A. Ce mécanisme fournit aux utilisateurs ayant une contrainte d'espace
314     disque un moyen d'obtenir seulement la partie du paquet dont ils ont vraiment besoin.
315     </list>
316    
317     <p>Une information plus détaillée sur l'utilisation de chacun de ces termes peut être
318     trouvée dans la charte Debian.
319    
320     <sect id="pre-depends">Quel est le sens de «&nbsp;Pre-Depends&nbsp;»&nbsp;?
321    
322     <p>«&nbsp;Pre-Depends&nbsp;» est une dépendance particuilère. Dans le cas de la plupart
323     des paquets, <tt>dpkg</tt> désarchivera les fichiers archives (c.-à-d. les fichiers
324     <tt>.deb</tt>) indépendamment de l'existance sur le système des fichiers dont il dépend.
325     De manière simpliste, le désarchivage signifie que <tt>dpkg</tt> extraira
326     les fichiers à partir du fichier archive qui sont censés être installés sur
327     votre système de fichiers, et les mettra en place.
328     Si ces paquets dépendent de l'existence de quelques autres paquets sur votre système,
329     <tt>dpkg</tt> refusera d'accomplir l'installation (par l'exécution de l'action de
330     configuration) jusqu'à ce que les autres paquets soient installés.
331    
332     <p>Cependant, pour certain paquets, <tt>dpkg</tt> refusera de les désarchiver
333     jusqu'à ce que certaines dépendances soient résolues. De tels paquets sont dits
334     «&nbsp;Pré-dépendant&nbsp;» de la présence de quelques autres paquets. Le projet
335     Debian fournissait ce mécanisme pour gérer la mise à jour de système utilisant le
336     format <tt>a.out</tt> vers le format <tt>ELF</tt>, où l'ordre de désarchivage était critique.
337     Il y a d'autre situations de mise à jour où cette méthode est utile, par exemple
338     pour les paquets ayant une priorité «&nbsp;required&nbsp;» et des dépendances sur la libc.
339    
340     <p>Comme ci-dessus, une information plus détaillée sur l'utilisation de ce terme
341     peut être trouvée dans la charte Debian.
342    
343 spaillar-guest 5167 <sect id="pkgstatus">Quelle est la signification de <em/unknown/, <em/install/, <em/remove/,
344 fbothamy 3560 <em/purge/ et <em/hold/ dans le statut du paquet&nbsp;?
345    
346     <p>Ces drapeaux indiquent ce que souhaite faire l'utilisateur avec un paquet
347     (ils sont positionnés par les actions de l'utilisateur dans la section «&nbsp;Section&nbsp;»
348     de <tt>dselect</tt> ou par des appels directs de <tt>dpkg</tt> par l'utilisateur).
349    
350     <p>Leurs significations sont&nbsp;:
351     <list>
352     <item>unknown - L'utilisateur n'a jamais indiqué s'il souhaitait le paquet.
353     <item>install - L'utilisateur souhaite installer ou mettre à jour le paquet.
354     <item>remove - L'utilisateur souhaite supprimer le paquet, mais ne désire pas
355     effacer les fichiers de configuration existants.
356     <item>purge - L'utilisateur souhaite supprimer le paquet complètement, incluant
357     ses fichiers de configuration.
358     <item>hold - L'utilisateur ne souhaite pas traiter le paquet, c.-à-d. qu'il veut conserver
359     la version courante avec l'état actuel de celui-ci.
360     </list>
361    
362     <sect id="puttingonhold">Comment est-ce que je mets un paquet en «&nbsp;hold&nbsp;»&nbsp;?
363    
364     <p>Il y a trois moyens de bloquer un paquet, avec dpkg, aptitude ou dselect.
365    
366 spaillar-guest 5167 <p>Avec dpkg, vous devez exporter la liste de sélection des paquets,
367 fbothamy 3560 avec la commande&nbsp;:
368     <example>dpkg --get-selections \* > selections.txt</example>
369     puis éditer le fichier <file/selections.txt/, changer la ligne contenant
370     le paquet que vous souhaitez conserver, par exemple pour <package/libc6/, de ceci&nbsp;:
371     <example>libc6 install</example>
372     à ceci&nbsp;:
373     <example>libc6 hold</example>
374     sauvegarder le fichier et le recharger dans la base de données de dpkg avec&nbsp;:
375     <example>dpkg --set-selections < selections.txt</example>
376    
377     <p>Avec aptitude, vous pouvez conserver un paquet en faisant
378     <example>aptitude hold package_name</example>
379     et enlever le drapeau «&nbsp;hold&nbsp;» avec
380     <example>aptitude unhold package_name</example>
381    
382     <p>Avec dselect, vous devez entrer dans l'écran [S]elect, trouver le paquet que
383     vous souhaitez conserver dans l'état actuel, et appuyer sur la touche '=' (ou sur 'H').
384     Les changements seront pris en compte à la sortie de l'écran [S]elect.
385    
386     <sect id="sourcepkgs">Comment est-ce que j'installe un paquet source&nbsp;?
387    
388 spaillar 4788 <p>Les paquets sources Debian ne peuvent pas être véritablement installés, ils sont
389 fbothamy 3560 seulement dépaquetés dans n'importe quel répertoire où vous voulez en construire les
390     paquets binaires.
391    
392     <p>Les paquets sources sont distribués sur la plupart des serveurs où vous pouvez
393     obtenir les paquets binaires.
394     Si vous configurez votre fichier <manref name="sources.list" section="5"> pour APT
395     en ajoutant la ligne «&nbsp;deb-src&nbsp;» appropriée, vous pourrez facilement télécharger
396     toutes les sources des paquets en lançant la commande
397    
398     <example>apt-get source foo</example>
399    
400     <p>Pour vous aider réellement à la construction du paquet de source, Debian fournit
401     un mécanisme pour les dépendances de construction. Ceci signifie que le responsable du
402     paquet tient une liste des autres paquets nécessaires à la construction du paquet.
403     Pour voir comment cela fonctione, exécutez
404     <example>apt-get build-dep foo</example>
405    
406     avant de construire les sources.
407    
408     <sect id="sourcebuild">Comment est-ce que je peux construire les paquets binaires depuis
409 spaillar-guest 5167 les paquets sources&nbsp;?
410 fbothamy 3560
411 spaillar-guest 5167 <p>La méthode recommandée est d'utiliser les différents outils de haut-niveau
412     (« wrappers »). Voici comment faire en utilisant les outils
413     <tt>devscripts</tt>. Installez le paquet si cela n'est pas déjà fait.
414    
415     <p>Maintenant, commencez par récupérer le paquet source :
416     <example>apt-get source foo</example>
417    
418     puis entrez dans l'arborescence source :
419    
420     <example>cd foo-*</example>
421    
422     Puis installez les dépendances de construction nécessaires (s'il y en a) :
423    
424     <example>sudo apt-get build-dep foo</example>
425    
426     Puis créez une version particulière de votre propre construction (afin de ne pas les confondre plus tard lorsque Debian publiera sa propre nouvelle version) :
427    
428     <example>dch -l local 'Blah blah blah'</example>
429    
430     Et enfin construisez votre paquet :
431    
432     <example>debuild -us -uc</example>
433    
434     Si tout a correctement fonctionné, vous deviez pouvoir installer votre paquet avec la commande :
435    
436     <example>sudo dpkg -i ../*.deb</example>
437    
438     <p>Si vous préférez effectuer les opérations vous-même, et ne voulez pas utiliser
439     <tt>devscripts</tt>, suivez cette procédure :</p>
440    
441 fbothamy 3560 <p>Vous aurez besoin de tous les fichiers foo_*.dsc, foo_*.tar.gz et foo_*.diff.gz pour
442     compiler les sources (remarquez que pour certain paquets il n'y a pas de fichier .diff.gz,
443     ce sont les paquets natifs à Debian).
444    
445     <p>Une fois que vous les avez récupérés (voir <ref id="sourcepkgs">), si vous avez le paquet
446     <package/dpkg-dev/ installé, la commande suivante&nbsp;:
447     <example>dpkg-source -x foo_version-revision.dsc</example>
448     désarchivera le paquet dans un répertoire nommé <tt>foo-version</tt>.
449    
450     <p>Si vous souhaitez juste compiler le paquet, vous devez vous placer dans le répertoire
451     <tt>foo-version</tt> et lancer la commande
452     <example>dpkg-buildpackage -rfakeroot -b</example>
453     pour construire le paquet (notez que la paquet <package/fakeroot/ est
454     aussi nécessaire) et faites
455     <example>dpkg -i ../foo_version-revision_arch.deb</example>
456     pour installer le nouveau paquet.
457    
458     <sect id="creatingdebs">Comment est-ce que je crée un paquet Debian&nbsp;?
459    
460     <p>Pour une description plus détaillée, lisez le «&nbsp;guide des nouveaux responsables
461     Debian&nbsp;» disponible dans le paquet <package/maint-guide/ ou à l'adresse
462     <url id="http://www.debian.org/doc/devel-manuals#maint-guide">.

  ViewVC Help
Powered by ViewVC 1.1.5