/[ddp]/manuals/trunk/apt-howto/apt-howto.fr.sgml
ViewVC logotype

Contents of /manuals/trunk/apt-howto/apt-howto.fr.sgml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9171 - (show annotations) (download) (as text)
Fri Mar 30 19:33:51 2012 UTC (13 months, 3 weeks ago) by taffit
File MIME type: text/x-sgml
File size: 70311 byte(s)
Remove <prgn> tags from section title: buggy with debiandoc from Squeeze
1 <!-- CVS revision of this document "$Revision: 1.15 $" -->
2 <!-- CVS revision of original english document "1.8" -->
3 <!--Line width ruler (ruler uses 78 characters) 34567890123456789012345-->
4 <!doctype debiandoc system>
5 <debiandoc>
6 <book>
7
8 <title>APT HOWTO (Obsolete Documentation)</title>
9
10 <author>
11 <name>Gustavo Noronha Silva</name> <email>kov@debian.org</email>
12 </author>
13 <author>
14 Traduction de Julien Louis
15 <email>leonptitlouis@ifrance.com</email>
16 </author>
17 <version>1.8.10.4 - mars 2005</version>
18 <!-- Original version : 1.32 -->
19
20 <abstract>
21 Ce document essaie de fournir à l'utilisateur une bonne compréhension du
22 fonctionnement de l'utilitaire Debian de gestion de paquets, <prgn>apt</prgn>.
23 Son but est de rendre la vie plus facile aux nouveaux utilisateurs Debian et
24 aider ceux qui veulent approfondir leur compréhension de l'administration de ce
25 système. Il a été créé pour le projet Debian afin d'aider à améliorer les
26 ressources disponibles pour l'utilisateur de cette distribution.
27 </abstract>
28
29 <copyright>
30 <copyrightsummary>
31 Copyright &copy; 2001, 2002, 2003, 2004 Gustavo Noronha Silva
32 </copyrightsummary>
33 <p>
34 Ce manuel est libre, vous pouvez le redistribuer et/ou le modifier selon les
35 termes de la Licence Publique Générale GNU publiée par la Free Software
36 Foundation (version 2 ou bien toute autre version ultérieure choisie par vous).
37 </p>
38
39 <p>
40 Ce manuel est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE,
41 ni explicite ni implicite, y compris les garanties de commercialisation ou
42 d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique
43 Générale GNU pour plus de détails.
44 </p>
45
46 <p>
47 Une copie de la Licence Publique Générale est disponible dans la distribution
48 Debian&nbsp;GNU/Linux dans /usr/share/common-licenses/GPL ou sur Internet. Vous
49 pouvez aussi en obtenir une copie en écrivant à la Free Software Foundation, INC., 59
50 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
51 </p>
52 </copyright>
53
54 <toc>
55
56 <chapt>Introduction
57 <p>
58 Au commencement, il y avait le .tar.gz. Les utilisateurs devaient compiler
59 chaque programme qu'ils voulaient utiliser sur leur système GNU/Linux. Quand
60 Debian fut créée, il a été estimé nécessaire que le système s'occupe aussi de la
61 gestion des paquets installés sur la machine. Le nom <prgn>dpkg</prgn> fut donné
62 à ce système. Ainsi, ce fut la première fois qu'un
63 «&nbsp;système de paquets&nbsp;» était inclus dans GNU/Linux, longtemps avant
64 que Red Hat ne décide de créer son système de «&nbsp;rpm&nbsp;».
65 <p>
66 Un nouveau dilemme est rapidement survenu dans l'esprit des développeurs
67 GNU/Linux. Ils avaient besoin d'une solution rapide, pratique et efficace pour
68 installer les paquets qui gérerait automatiquement les dépendances et qui
69 prendrait en compte les fichiers de configuration des paquets lors de mises à
70 niveau. Ici encore, Debian a ouvert la voie et a donné naissance à
71 <prgn>apt</prgn>, <em>Advanced Packaging Tool</em>, qui depuis a été
72 porté par Conectiva pour l'utiliser avec les rpm et a été adopté par quelques
73 autres distributions.
74 <p>
75 Ce manuel ne cherche pas à documenter apt-rpm, le portage d'<prgn>apt</prgn> par
76 Conectiva, mais des «&nbsp;rustines&nbsp;» en ce sens seraient les bienvenues.
77 <p>
78 Ce manuel est basé sur la prochaine version de Debian <tt>Sarge</tt>
79 </chapt>
80
81 <chapt id="basico">Configuration de base
82
83 <sect id="sources.list">Le fichier /etc/apt/sources.list
84 <p>
85 Pour réaliser ses opérations, <prgn>apt</prgn> utilise un fichier qui liste les
86 «&nbsp;sources&nbsp;» d'où peuvent provenir les paquets. Ce fichier est
87 <file>/etc/apt/sources.list</file>.
88 <p>
89 Les entrées dans ce fichier suivent ce format&nbsp;:
90
91 <p>
92 <example>
93 deb http://host/debian distribution section1 section2 section3
94 deb-src http://host/debian distribution section1 section2 section3
95 </example>
96
97 <p>
98 Bien sûr, les entrées ci-dessus sont fictives et ne doivent pas être
99 utilisées. Le premier mot de chaque ligne, <tt>deb</tt> ou <tt>deb-src</tt>,
100 indique le type de l'archive&nbsp;: <tt>deb</tt> pour les paquets binaires,
101 ce sont les paquets pré-compilés que l'on utilise habituellement,
102 ou <tt>deb-src</tt> pour les paquets sources, qui sont les sources originales
103 du programme, plus les fichiers de contrôle Debian (<tt>.dsc</tt>) et
104 le <tt>diff.gz</tt> contenant les changements nécessaires pour
105 «&nbsp;debianiser&nbsp;» le programme.
106 <p>
107 Nous trouvons généralement les lignes suivantes dans le
108 <file>sources.list</file> Debian par défaut&nbsp;:
109 <p>
110 <example>
111 # See sources.list(5) for more information, especialy
112 # Remember that you can only use http, ftp or file URIs
113 # CDROMs are managed through the apt-cdrom tool.
114 deb http://http.us.debian.org/debian stable main contrib non-free
115 deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
116 deb http://security.debian.org stable/updates main contrib non-free
117
118 # Uncomment if you want the apt-get source function to work
119 #deb-src http://http.us.debian.org/debian stable main contrib non-free
120 #deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
121 </example>
122
123 <p>
124 Ce sont les lignes nécessaires à une installation Debian de base. La première
125 ligne <tt>deb</tt> pointe vers l'archive officielle, la seconde vers l'archive
126 non-US et la troisième vers l'archive des mises à jour de sécurité Debian.
127 <p>
128 Les deux dernières lignes sont commentées (avec un «&nbsp;#&nbsp;» devant),
129 <prgn>apt-get</prgn> les ignorera. Ce sont les lignes <tt>deb-src</tt>, elles
130 pointent vers les paquets source Debian. Si vous téléchargez souvent les sources
131 de programmes pour tester ou recompiler, décommentez-les.
132 <p>
133 Le fichier <file>/etc/apt/sources.list</file> peut contenir plusieurs types de
134 lignes. <prgn>apt</prgn> sait traiter les archives de type <tt>http</tt>,
135 <tt>ftp</tt>, <tt>file</tt> (les fichiers locaux, c'est-à-dire, un répertoire
136 contenant une image ISO9660 montée) et <tt>ssh</tt>.
137
138 </sect>
139
140 <sect id="dpkg-scanpackages">Comment utiliser apt localement&nbsp;?
141 <p>
142 Parfois vous avez beaucoup de paquets .deb et vous aimeriez utiliser
143 <prgn>apt</prgn> pour les installer afin que les dépendances soient
144 automatiquement résolues.
145 <p>
146 Pour ce faire, créez un répertoire et ajoutez-y vos fichiers .deb. Par
147 exemple&nbsp;:
148 <p>
149 <example>
150 # mkdir /root/debs
151 </example>
152 <p>
153 Vous pouvez modifier directement l'ensemble des définitions dans le fichier
154 de contrôle du paquet en utilisant un fichier <tt>override</tt> dans votre
155 référentiel. À l'intérieur de ce fichier, vous pouvez vouloir définir
156 certaines options pour modifier celles incluses dans le paquet original. Un
157 tel fichier ressemble à ce qui suit&nbsp;:
158 <p>
159 <example>
160 paquet priorité section
161 </example>
162 <p>
163 paquet est le nom du paquet, priorité est faible, moyenne ou haute, et section
164 est la section à laquelle il appartient. Le nom du fichier importe peu, vous
165 devrez le passer après en argument à <prgn>dpkg-scanpackages</prgn>. Si vous ne
166 souhaitez pas écrire de fichier <tt>override</tt>, utilisez simplement
167 <file>/dev/null</file> lorsque vous appelez <prgn>dpkg-scanpackages</prgn>.
168 <p>
169 Toujours dans le répertoire /root, faites&nbsp;:
170 <p>
171 <example>
172 # dpkg-scanpackages debs <var>fichier</var> | gzip &gt; debs/Packages.gz
173 </example>
174 <p>
175 Dans la ligne ci-dessus <var>fichier</var> est le fichier
176 «&nbsp;<tt>override</tt>&nbsp;», la commande produit un fichier
177 <file>Packages.gz</file> qui contient diverses informations sur les paquets
178 utilisées par <prgn>apt</prgn>. Pour utiliser les paquets, ajoutez enfin&nbsp;:
179 <p>
180 <example>
181 deb file:/root debs/
182 </example>
183 <p>
184 Ensuite, utilisez <prgn>apt</prgn> normalement. Vous pourriez aussi fabriquer un
185 dépôt de sources. Pour ce faire utilisez la même procédure, mais rappelez-vous
186 que vous avez besoin des fichiers <tt>.orig.tar.gz</tt>,<tt>.dsc</tt> et
187 <tt>.diff.gz</tt> dans le répertoire. De plus, vous devez utiliser
188 <tt>Sources.gz</tt> au lieu de <tt>Packages.gz</tt>. Le programme utilisé est
189 aussi différent. C'est <prgn>dpkg-scansources</prgn>. La ligne de commande
190 ressemblera à&nbsp;:
191 <p>
192 <example>
193 # dpkg-scansources debs | gzip &gt; debs/Sources.gz
194 </example>
195 <p>
196 Remarquez que <prgn>dpkg-scansources</prgn> n'a pas besoin d'un fichier
197 <tt>override</tt>. La ligne correspondante du sources.list est&nbsp;:
198 <example>
199 deb-src file:/root debs/
200 </example>
201 </sect>
202
203 <sect id="netselect">Comment décider quel est le meilleur miroir pour le
204 fichier sources.list&nbsp;: netselect, netselect-apt&nbsp;?
205 <p>
206 Un doute très fréquent, principalement parmi les nouveaux utilisateurs est&nbsp;:
207 «&nbsp;Quel miroir Debian à mettre dans le<tt>sources.list</tt>&nbsp;?&nbsp;».
208 Il y a plusieurs façons de décider. Les experts ont probablement un
209 script qui mesure le temps de réponse des principaux miroirs. Mais il y a un
210 programme qui fait ça pour nous&nbsp;: <strong>netselect</strong>.
211 <p>
212 Pour installer netselect, faites comme d'habitude&nbsp;:
213 <p>
214 <example>
215 # apt-get install netselect
216 </example>
217 <p>
218 En lançant <prgn>netselect</prgn> sans paramètre, l'aide est affichée. En le
219 lançant avec une liste de serveurs (miroirs) séparés par un espace, il retournera
220 un résultat et un des serveurs. Ce résultat prend en considération l'estimation
221 du temps de réponse et le nombre de sauts (les serveurs par lesquels une requête
222 réseau passera pour atteindre la destination) et il est inversement proportionnel
223 à la vitesse de téléchargement (donc le plus bas est le meilleur). Le serveur
224 retourné est celui qui a eu le plus petit score (la liste complète des résultats
225 peut être vue en ajoutant l'option -vv). Regardez cet exemple&nbsp;:
226 <p>
227 <example>
228 # netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
229 365 ftp.debian.org.br
230 #
231 </example>
232 <p>
233 Cela signifie que, d'après les miroirs donnés en paramètre à
234 <prgn>netselect</prgn>, <tt>ftp.debian.org.br</tt> était le meilleur, avec un
235 résultat de 365. (Attention&nbsp;! Comme cela a été fait de mon ordinateur et
236 que la topographie du réseau est très différente selon le point de contact,
237 cette valeur n'est pas forcément la bonne vitesse sur d'autres ordinateurs).
238 <p>
239 Maintenant, mettez seulement le miroir le plus rapide trouvé par
240 <prgn>netselect</prgn> dans le fichier <file>/etc/apt/sources.list</file> (voir
241 <ref id="sources.list">) et suivez les conseils dans <ref id="apt-get">.
242 <p>
243 <strong>Note&nbsp;:</strong> on peut toujours trouver la liste des miroirs
244 sur <url id="http://www.debian.org/mirror/mirrors_full"
245 name="http://www.debian.org/mirror/mirrors_full">.
246 <p>
247 À partir de la version 0.3.ds1, le paquet source <package>netselect</package> inclut
248 le paquet binaire <strong>netselect-apt</strong>, qui effectue la procédure ci-dessus
249 automatiquement. Entrez seulement la distribution en paramètre (celle par défaut
250 est <tt>stable</tt>) et le fichier <tt>sources.list</tt> sera créé avec les meilleurs
251 miroirs pour main et non-US et sera sauvegardé dans le répertoire courant.
252 L'exemple suivant crée un sources.list de la distribution <tt>stable</tt>&nbsp;:
253 <p>
254 <example>
255 # ls sources.list
256 ls: sources.list: File or directory not found
257 # netselect-apt stable
258 (...)
259 # ls -l sources.list
260 sources.list
261 #
262 </example>
263 <p>
264 <strong>Rappelez-vous&nbsp;:</strong> Le fichier <tt>sources.list</tt> est créé
265 dans le répertoire courant et doit être déplacé dans le répertoire
266 <tt>/etc/apt</tt>.
267 <p>
268 Ensuite, suivez les conseils dans <ref id="apt-get">.
269 </sect>
270
271 <sect id="cdrom">Ajouter un cédérom dans le fichier sources.list
272 <p>
273 Si vous voulez plutôt utiliser vos cédéroms pour installer vos paquets ou mettre
274 à jour votre système automatiquement avec <prgn>apt</prgn>, vous pouvez les mettre
275 dans votre <tt>sources.list</tt>. Pour le faire, vous pouvez utiliser le programme
276 <prgn>apt-cdrom</prgn> comme ceci&nbsp;:
277 <p>
278 <example>
279 # apt-cdrom add
280 </example>
281 <p>
282 avec le cédérom Debian dans le lecteur. Il montera le cédérom, et si c'est un cédérom
283 Debian valide, il regardera les informations des paquets sur le disque. Si la
284 configuration de votre cédérom est inhabituelle, vous pouvez aussi utiliser les
285 options suivantes&nbsp;:
286
287 <p>
288 <example>
289 -h - Aide du programme
290 -d directory - Point de montage du cédérom
291 -r - Renommer un cédérom reconnu
292 -m - Pas de montage
293 -f - Mode rapide, ne vérifie pas les fichiers paquet
294 -a - Mode de vérification minutieux
295 </example>
296
297 <p>
298 Par exemple&nbsp;:
299
300 <p>
301 <example>
302 # apt-cdrom -d /home/kov/moncdrom add
303 </example>
304
305 <p>
306 Vous pouvez aussi identifier un cédérom sans l'ajouter à votre
307 sources.list&nbsp;:
308
309 <p>
310 <example>
311 # apt-cdrom ident
312 </example>
313
314 <p>
315 Remarquez que ce programme fonctionne seulement si votre cédérom est correctement
316 configuré dans votre <file>/etc/fstab</file>.
317 </sect>
318 </chapt>
319
320 <chapt id="apt-get">Gestion des paquets
321 <sect id="update">Mise à jour de la liste des paquets disponibles.
322 <p>
323 Le système de paquets utilise sa propre base de données pour garder une trace
324 des paquets qui sont installés, de ceux qui ne sont pas installés et de ceux
325 qui peuvent être installés. Le programme <prgn>apt-get</prgn> utilise cette
326 base de données pour retrouver comment installer les paquets demandés par
327 l'utilisateur ainsi que pour retrouver les paquets supplémentaires nécessaires
328 afin qu'un paquet sélectionné fonctionne correctement.
329 <p>
330 Pour mettre à jour cette liste, vous pouvez utiliser la commande <prgn>apt-get
331 update</prgn>. Cette commande vérifie la liste des paquets trouvés dans les
332 archives dans <file>/etc/apt/sources.list</file>&nbsp;: voir <ref
333 id="sources.list"> pour plus d'informations sur ce fichier.
334 <p>
335 C'est une bonne idée d'exécuter cette commande de temps en temps pour vous
336 garder, vous et votre système, informés des possibilités de mise à jour des
337 paquets, particulièrement les mises à jour de sécurité.
338 </sect>
339
340 <sect id="install">Installation de paquets
341 <p>
342 Finalement, la procédure que vous attendiez tous&nbsp;! Avec votre sources.list
343 prêt et votre liste de paquets disponibles à jour, tout ce que vous avez à faire
344 est de lancer <tt><prgn>apt-get</prgn></tt> pour obtenir le paquet que vous désirez
345 installer. Par exemple, vous pouvez lancer&nbsp;:
346
347 <p>
348 <example>
349 apt-get install xchat
350 </example>
351
352 <p>
353 <prgn>apt</prgn> cherchera dans sa base de données la version la plus récente de ce paquet et
354 le récupérera à partir de l'archive correspondante indiquée dans
355 <tt>sources.list</tt>. Dans le cas où ce paquet dépend d'autres &mdash;&nbsp;comme c'est
356 le cas ici&nbsp;&mdash; <prgn>apt</prgn> vérifiera les dépendances et installera les paquets
357 nécessaires. Par exemple&nbsp;:
358
359 <p>
360 <example>
361 # apt-get install nautilus
362 Reading Package Lists... Done
363 Building Dependency Tree... Done
364 The following extra packages will be installed:
365 bonobo libmedusa0 libnautilus0
366 The following NEW packages will be installed:
367 bonobo libmedusa0 libnautilus0 nautilus
368 0 packages upgraded, 4 newly installed, 0 to remove and 1 not upgraded.
369 Need to get 8329kB of archives. After unpacking 17.2MB will be used.
370 Do you want to continue? [Y/n]
371 </example>
372
373 <p>
374 Le paquet <package>nautilus</package> dépend des bibliothèques partagées citées,
375 et <prgn>apt</prgn> les mettra dans l'archive. Si vous aviez donné les noms de
376 ces bibliothèques sur la ligne de commande <tt><prgn>apt-get</prgn></tt>,
377 <prgn>apt</prgn> ne vous aurait pas demandé si vous vouliez continuer&nbsp;:
378 il aurait supposé que vous vouliez installer tous ces paquets.
379 <p>
380 Cela signifie que <prgn>apt</prgn> demande confirmation seulement quand il est nécessaire
381 d'installer des paquets qui n'étaient pas spécifiés sur la ligne de commande.
382 <p>
383 Les options suivantes d'<prgn>apt-get</prgn> peuvent être utiles&nbsp;:
384
385 <p>
386 <example>
387 -h Ce texte d'aide
388 -d télécharge seulement - N'installe PAS, ni ne décompresse les paquets
389 -f Essaie de continuer si la vérification de l'intégrité échoue
390 -s Pas d'action. Effectue seulement une simulation
391 -y Suppose une réponse affirmative à toutes les requêtes et n'interroge pas
392 -u Affiche une liste des paquets à mettre à jour
393 </example>
394
395 <p>
396 Plusieurs paquets peuvent être sélectionnés pour installation sur une seule
397 ligne. Les fichiers téléchargés sur le réseau sont placés dans le répertoire
398 <tt>/var/cache/apt/archives</tt> pour une installation ultérieure.
399 <p>
400 Vous pouvez indiquer les paquets à retirer sur la même ligne de commande.
401 Mettez seulement un «&nbsp;-&nbsp;» juste après le nom du paquet à enlever,
402 comme ceci&nbsp;:
403
404 <p>
405 <example>
406 # apt-get install nautilus gnome-panel-
407 Reading Package Lists... Done
408 Building Dependency Tree... Done
409 The following extra packages will be installed:
410 bonobo libmedusa0 libnautilus0
411 The following packages will be REMOVED:
412 gnome-applets gnome-panel gnome-panel-data gnome-session
413 The following NEW packages will be installed:
414 bonobo libmedusa0 libnautilus0 nautilus
415 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded.
416 Need to get 8329kB of archives. After unpacking 2594kB will be used.
417 Do you want to continue? [Y/n]
418 </example>
419
420 <p>
421 Voyez la section <ref id="remove"> pour plus de détails sur la suppression
422 de paquets.
423 <p>
424 Si vous endommagez d'une manière ou d'une autre un paquet installé, ou si vous
425 voulez simplement que les fichiers d'un paquet soient réinstallés avec la
426 nouvelle version disponible, vous pouvez utiliser l'option <tt>--reinstall</tt>
427 comme ça&nbsp;:
428
429 <p>
430 <example>
431 # apt-get --reinstall install gdm
432 Reading Package Lists... Done
433 Building Dependency Tree... Done
434 0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1 not
435 upgraded.
436 Need to get 0B/182kB of archives. After unpacking 0B will be used.
437 Do you want to continue? [Y/n]
438 </example>
439 </sect>
440
441 <sect id="remove">Suppression de paquets
442 <p>
443 Si vous ne voulez plus utiliser un paquet, vous pouvez le supprimer de votre
444 système en utilisant <prgn>apt</prgn>. Pour ce faire, tapez seulement <tt>apt-get remove
445 paquet</tt>. Par exemple&nbsp;:
446
447 <p>
448 <example>
449 # apt-get remove gnome-panel
450 Reading Package Lists... Done
451 Building Dependency Tree... Done
452 The following packages will be REMOVED:
453 gnome-applets gnome-panel gnome-panel-data gnome-session
454 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.
455 Need to get 0B of archives. After unpacking 14.6MB will be freed.
456 Do you want to continue? [Y/n]
457 </example>
458
459 <p>
460 Comme vous pouvez le voir dans l'exemple ci-dessus, <prgn>apt</prgn> prend soin
461 de supprimer les paquets qui dépendent du paquet dont vous avez
462 demandé la suppression. Avec <prgn>apt</prgn>, il n'est pas possible de supprimer
463 un paquet sans supprimer aussi les paquets dépendant de celui-ci.
464 <p>
465 Exécuter <prgn>apt-get</prgn> comme ci-dessus entraînera la suppression des
466 paquets, mais leurs fichiers de configuration, s'il y en a, resteront intacts
467 sur le système. Pour une suppression complète du paquet, lancez&nbsp;:
468
469 <p>
470 <example>
471 # apt-get --purge remove gnome-panel
472 Reading Package Lists... Done
473 Building Dependency Tree... Done
474 The following packages will be REMOVED:
475 gnome-applets* gnome-panel* gnome-panel-data* gnome-session*
476 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.
477 Need to get 0B of archives. After unpacking 14.6MB will be freed.
478 Do you want to continue? [Y/n]
479 </example>
480
481 <p>
482 Remarquez après les noms le signe «&nbsp;*&nbsp;». Cela indique que les fichiers de
483 configuration vont aussi être supprimés.
484 <p>
485 Comme avec la méthode <tt>install</tt>, vous pouvez utiliser un
486 symbole avec <tt>remove</tt> pour inverser le sens d'un paquet en particulier.
487 Dans le cas de la suppression, si vous ajoutez un <tt>«&nbsp;+&nbsp;»</tt> juste
488 après le nom du paquet, le paquet sera installé au lieu d'être supprimé.
489
490 <p>
491 <example>
492 # apt-get --purge remove gnome-panel nautilus+
493 Reading Package Lists... Done
494 Building Dependency Tree... Done
495 The following extra packages will be installed:
496 bonobo libmedusa0 libnautilus0 nautilus
497 The following packages will be REMOVED:
498 gnome-applets* gnome-panel* gnome-panel-data* gnome-session*
499 The following NEW packages will be installed:
500 bonobo libmedusa0 libnautilus0 nautilus
501 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded.
502 Need to get 8329kB of archives. After unpacking 2594kB will be used.
503 Do you want to continue? [Y/n]
504 </example>
505
506 <p>
507 Notez que <prgn>apt-get</prgn> liste les paquets supplémentaires qui seront
508 installés (c'est-à-dire, les paquets dont l'installation est nécessaire au bon
509 fonctionnement du paquet dont l'installation a été demandée), ceux qui seront
510 supprimés, et ceux qui seront installés (toujours dans les paquets
511 supplémentaires).
512 </sect>
513
514 <sect id="upgrade">Mise à niveau des paquets
515 <p>
516 La mise à niveau de paquets est une vraie réussite du système
517 <prgn>apt</prgn>. Une simple commande suffit&nbsp;: <prgn>apt-get upgrade</prgn>.
518 Vous pouvez utilisez cette commande pour mettre à niveau les paquets d'une même
519 distribution, et aussi pour mettre à niveau vers une nouvelle distribution, bien
520 que la commande <prgn>apt-get dist-upgrade</prgn> soit préférée à cette
521 dernière&nbsp;; voir <ref id="dist-upgrade"> pour plus de détails.
522 <p>
523 Il est utile d'exécuter cette commande avec l'option <tt>-u</tt>. Cette option
524 oblige <prgn>apt</prgn> à afficher la liste complète des paquets qui seront mis
525 à niveau. Sans elle, vous ferez vos mises à niveau en aveugle. <prgn>apt</prgn>
526 téléchargera les dernières version de chaque paquet et les installera dans le bon
527 ordre. C'est important de toujours lancer <prgn>apt-get update</prgn> avant de
528 l'essayer. Voir la section <ref id="update">. Observez cet exemple&nbsp;:
529
530 <p>
531 <example>
532 # apt-get -u upgrade
533 Reading Package Lists... Done
534 Building Dependency Tree... Done
535 The following packages have been kept back
536 cpp gcc lilo
537 The following packages will be upgraded
538 adduser ae apt autoconf debhelper dpkg-dev esound esound-common ftp indent
539 ipchains isapnptools libaudiofile-dev libaudiofile0 libesd0 libesd0-dev
540 libgtk1.2 libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev liborbit0
541 libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit procps psmisc
542 29 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
543 Need to get 5055B/5055kB of archives. After unpacking 1161kB will be used.
544 Do you want to continue? [Y/n]
545 </example>
546
547 <p>
548 Le processus est très simple. Notez que dans les premières lignes,
549 <prgn>apt-get</prgn> dit que certains paquets ont été <tt>laissés de côté</tt>
550 (NdT&nbsp;: «&nbsp;kept back&nbsp;»). Cela signifie qu'il y a de nouvelles
551 versions de ces paquets qui ne seront pas installées pour plusieurs raisons. Les
552 raisons possibles sont des dépendances cassées (un paquet dont il dépend n'a pas
553 de version disponible en téléchargement) ou de nouvelles dépendances (le paquet
554 dépend de nouveaux paquets depuis la dernière version).
555 <p>
556 Pour le premier cas, il n'y a pas de solution propre. Pour le second, il suffit
557 d'exécuter <prgn>apt-get install</prgn> sur le paquet en question&nbsp; il
558 téléchargera ainsi les dépendances. Une meilleure solution est d'utiliser
559 <tt>dist-upgrade</tt>. Voir la section <ref id="dist-upgrade">.
560 </sect>
561
562 <sect id="dist-upgrade">Mettre à niveau vers une nouvelle distribution
563 <p>
564 Cette caractéristique d'<prgn>apt</prgn> permet de mettre à niveau tout un
565 système Debian en une seule fois, soit par Internet ou soit par un nouveau
566 cédérom (commandé ou téléchargé en image ISO).
567 <p>
568 Elle est aussi utilisée quand des changements dans les dépendances des paquets
569 installés sont faits. Avec <prgn>apt-get upgrade</prgn>, ces paquets seraient
570 laissés de côté (NdT&nbsp;:<tt>kept back</tt>).
571 <p>
572 Par exemple, supposons que vous utilisiez la révision 0 de la version stable de
573 Debian et que vous achetiez un cédérom de la révision 3. Vous pouvez utiliser
574 <prgn>apt</prgn> pour mettre à niveau votre système avec ce nouveau cédérom. Pour
575 le faire, utilisez <prgn>apt-cdrom</prgn> (voir la section <ref id="cdrom">)
576 pour ajouter le cédérom à votre <file>/etc/apt/sources.list</file> et lancez
577 <tt><prgn>apt-get</prgn> dist-upgrade</tt>.
578 <p>
579 Il est important de noter que <prgn>apt</prgn> cherche toujours la version du
580 paquet la plus récente. Ainsi, si votre <file>/etc/apt/sources.list</file>
581 listait une archive qui a une version plus récente que la version sur le cédérom,
582 <prgn>apt</prgn> téléchargerait le paquet à partir de là.
583 <p>
584 Dans l'exemple de la section <ref id="upgrade">, nous avons vu que quelques
585 paquets avaient été <tt>laissés de côté</tt> (NdT&nbsp; «&nbsp;kept back&nbsp;»).
586 Nous allons maintenant résoudre ce problème par la méthode
587 <tt>dist-upgrade</tt>&nbsp;:
588
589 <p>
590 <example>
591 # apt-get -u dist-upgrade
592 Reading Package Lists... Done
593 Building Dependency Tree... Done
594 Calculating Upgrade... Done
595 The following NEW packages will be installed:
596 cpp-2.95 cron exim gcc-2.95 libident libopenldap-runtime libopenldap1
597 libpcre2 logrotate mailx
598 The following packages have been kept back
599 lilo
600 The following packages will be upgraded
601 adduser ae apt autoconf cpp debhelper dpkg-dev esound esound-common ftp gcc
602 indent ipchains isapnptools libaudiofile-dev libaudiofile0 libesd0
603 libesd0-dev libgtk1.2 libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev
604 liborbit0 libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit
605 procps psmisc
606 31 packages upgraded, 10 newly installed, 0 to remove and 1 not upgraded.
607 Need to get 0B/7098kB of archives. After unpacking 3118kB will be used.
608 Do you want to continue? [Y/n]
609 </example>
610
611 <p>
612 Notez maintenant que le paquet va être mis à niveau et des nouveaux paquets
613 vont aussi être installés (les dépendances des paquets). Notez également que
614 lilo est toujours <tt>laissé de côté</tt>. Il a probablement un problème plus
615 important qu'une nouvelle dépendance. Nous pouvons le découvrir en lançant&nbsp;:
616
617 <p>
618 <example>
619 # apt-get -u install lilo
620 Reading Package Lists... Done
621 Building Dependency Tree... Done
622 The following extra packages will be installed:
623 cron debconf exim libident libopenldap-runtime libopenldap1 libpcre2
624 logrotate mailx
625 The following packages will be REMOVED:
626 debconf-tiny
627 The following NEW packages will be installed:
628 cron debconf exim libident libopenldap-runtime libopenldap1 libpcre2
629 logrotate mailx
630 The following packages will be upgraded
631 lilo
632 1 packages upgraded, 9 newly installed, 1 to remove and 31 not upgraded.
633 Need to get 225kB/1179kB of archives. After unpacking 2659kB will be used.
634 Do you want to continue? [Y/n]
635 </example>
636
637 <p>
638 Comme affiché ci-dessus, lilo a un nouveau conflit avec le paquet
639 <package>debconf-tiny</package>, ce qui signifie qu'il ne peut pas être installé
640 (ou mis à niveau) sans suppression de debconf-tiny.
641 <p>
642 Pour savoir ce qu'un paquet ajoute ou supprime, vous pouvez utiliser ceci&nbsp;:
643
644 <p>
645 <example>
646 # apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
647 Reading Package Lists... Done
648 Building Dependency Tree... Done
649 Calculating Upgrade... Starting
650 Starting 2
651 Investigating python1.5
652 Package python1.5 has broken dep on python1.5-base
653 Considering python1.5-base 0 as a solution to python1.5 0
654 Holding Back python1.5 rather than change python1.5-base
655 Investigating python1.5-dev
656 Package python1.5-dev has broken dep on python1.5
657 Considering python1.5 0 as a solution to python1.5-dev 0
658 Holding Back python1.5-dev rather than change python1.5
659 Try to Re-Instate python1.5-dev
660 Done
661 Done
662 The following packages have been kept back
663 gs python1.5-dev
664 0 packages upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
665 </example>
666
667 <p>
668 Cette fois, il est facile de remarquer que le paquet python1.5-dev ne peut pas
669 être installé à cause de dépendances non satisfaites&nbsp;: python1.5.
670 </sect>
671
672 <sect id="clean">Supprimer des paquets non utilisés&nbsp;: apt-get clean et autoclean
673 <p>
674 Lorsque vous installez un paquet, APT récupère les fichiers nécessaires depuis
675 les hôtes listés dans /etc/apt/sources.list, les stocke dans un référentiel
676 local (<file>/var/cache/apt/archives/</file>), et ensuite procède à
677 l'installation, voir <ref id="install">.
678 <p>
679 Le référentiel local peut grandir dans le temps et utiliser beaucoup d'espace
680 disque. Heureusement, APT fournit des outils pour gérer son référentiel
681 local&nbsp;: les méthodes <prgn>apt-get</prgn> <tt>clean</tt> et
682 <tt>autoclean</tt>.
683 <p>
684 <prgn>apt-get clean</prgn> supprime tout à part les fichiers verrou dans
685 <file>/var/cache/apt/archives/</file> et
686 <file>/var/cache/apt/archives/partial/</file>. Ainsi, si vous avez besoin de
687 réinstaller un paquet, APT devra le retélécharger.
688 <p>
689 <prgn>apt-get autoclean</prgn> supprime seulement les paquets qui ne peuvent
690 plus être téléchargés.
691 <p>
692 L'exemple suivant montre comment apt-get autoclean fonctionne&nbsp;:
693
694 <p>
695 <example>
696 # ls /var/cache/apt/archives/logrotate* /var/cache/apt/archives/gpm*
697 logrotate_3.5.9-7_i386.deb
698 logrotate_3.5.9-8_i386.deb
699 gpm_1.19.6-11_i386.deb
700 </example>
701
702 <p>
703 Il y a deux fichiers pour le paquet <package>logrotate</package> et un pour le
704 paquet <package>gpm</package> dans /var/cache/apt/archives.
705
706 <p>
707 <example>
708 # apt-show-versions -p logrotate
709 logrotate/stable uptodate 3.5.9-8
710 # apt-show-versions -p gpm
711 gpm/stable upgradeable from 1.19.6-11 to 1.19.6-12
712 </example>
713
714 <p>
715 <prgn>apt-show-versions</prgn> montre que
716 <file>logrotate_3.5.9-8_i386.deb</file> fournit la version à jour de
717 <package>logrotate</package>, donc <file>logrotate_3.5.9-7_i386.deb</file> est
718 inutile car une version plus récente du paquet peut être rapatriée.
719
720 <p>
721 <example>
722 # apt-get autoclean
723 Reading Package Lists... Done
724 Building Dependency Tree... Done
725 Del gpm 1.19.6-11 [145kB]
726 Del logrotate 3.5.9-7 [26.5kB]
727 </example>
728
729 <p>
730 Finalement, <tt>apt-get autoclean</tt> ne supprime que les anciens fichiers.
731 Pour plus d'informations sur apt-show-versions, voyez <ref id="apt-show-versions">.
732 </sect>
733
734 <sect id="dselect-upgrade">Utiliser apt avec dselect
735 <p>
736 <prgn>dselect</prgn> est un programme qui aide les utilisateurs à sélectionner
737 des paquets Debian pour les installer. Il est considéré comme un peu
738 difficile et plutôt rébarbatif mais avec de la pratique vous pouvez maîtriser son
739 interface console basée sur ncurses.
740 <p>
741 Un avantage de dselect est qu'il sait comment utiliser le fait que les paquets
742 Debian «&nbsp;recommandent&nbsp;» et «&nbsp;suggèrent&nbsp;» d'autres paquets
743 à installer. Pour utiliser ce programme, exécutez
744 <tt>«&nbsp;dselect&nbsp;»</tt> en tant que root. Choisissez «&nbsp;apt&nbsp;»
745 comme méthode d'accès. Ce n'est pas vraiment nécessaire, mais si vous n'utilisez
746 pas de cédérom et que vous voulez télécharger des paquets à partir d'Internet,
747 c'est la meilleure façon d'utiliser <prgn>dselect</prgn>.
748 <p>
749 Pour acquérir une meilleure compréhension de l'usage de <prgn>dselect</prgn>, lisez la
750 documentation de <prgn>dselect</prgn> sur la page Debian <url
751 id="http://www.debian.org/doc/ddp" name="http://www.debian.org/doc/ddp">.
752 <p>Après avoir fait votre sélection avec <prgn>dselect</prgn>, utilisez&nbsp;:
753
754 <p>
755 <example>
756 # apt-get -u dselect-upgrade
757 </example>
758
759 <p>
760 comme dans l'exemple ci-dessous&nbsp;:
761
762 <p>
763 <example>
764 # apt-get -u dselect-upgrade
765 Reading Package Lists... Done
766 Building Dependency Tree... Done
767 The following packages will be REMOVED:
768 lbxproxy
769 The following NEW packages will be installed:
770 bonobo console-tools-libs cpp-3.0 enscript expat fingerd gcc-3.0
771 gcc-3.0-base icepref klogd libdigest-md5-perl libfnlib0 libft-perl
772 libgc5-dev libgcc300 libhtml-clean-perl libltdl0-dev libsasl-modules
773 libstdc++3.0 metamail nethack proftpd-doc psfontmgr python-newt talk tidy
774 util-linux-locales vacation xbill xplanet-images
775 The following packages will be upgraded
776 debian-policy
777 1 packages upgraded, 30 newly installed, 1 to remove and 0 not upgraded.
778 Need to get 7140kB of archives. After unpacking 16.3MB will be used.
779 Do you want to continue? [Y/n]
780 </example>
781
782 <p>
783 Comparez avec ce que nous avons vu lorsque nous avons lancé <prgn>apt-get
784 dist-upgrade</prgn> sur le même système&nbsp;:
785
786 <p>
787 <example>
788 # apt-get -u dist-upgrade
789 Reading Package Lists... Done
790 Building Dependency Tree... Done
791 Calculating Upgrade... Done
792 The following packages will be upgraded
793 debian-policy
794 1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
795 Need to get 421kB of archives. After unpacking 25.6kB will be freed.
796 Do you want to continue? [Y/n]
797 </example>
798
799 <p>
800 Notez que beaucoup de paquets ci-dessus vont être installés parce que les
801 autres paquets les «&nbsp;suggèrent&nbsp;» ou les «&nbsp;recommandent&nbsp;».
802 D'autres seront installés ou supprimés (dans le cas de lbxproxy, par exemple)
803 grâce aux choix que nous avons faits lorsque nous naviguions dans la liste de
804 paquets de <prgn>dselect</prgn>. <Prgn>dselect</Prgn> peut être un outil très
805 puissant lorsqu'il est utilisé conjointement avec <prgn>apt</prgn>.
806 </sect>
807
808 <sect id="default-version">Comment garder un système mixte&nbsp;?
809 <p>
810 L'utilisation d'une des versions de Debian en tant que distribution principale
811 et un ou plusieurs paquets d'une autre branche peut être parfois intéressante
812 pour certains utilisateurs.
813 <p>
814 Pour définir votre version principale de Debian, vous devriez modifier le
815 fichier <file>/etc/apt/apt.conf</file> afin qu'il contienne la ligne
816 suivante&nbsp;:
817
818 <p>
819 <example>
820 APT::Default-Release "<var>version</var>";
821 </example>
822
823 <p>
824 Où, <var>version</var> est la version de Debian que vous souhaitez utiliser
825 comme distribution principale. Les versions que vous pouvez utiliser sont
826 <tt>stable</tt>n <tt>testing</tt> et <tt>unstable</tt>. Pour installer des
827 paquets d'une autre version, vous devez utiliser APT de la manière
828 suivante&nbsp;:
829 <p>
830 <example>
831 # apt-get -t <var>distribution</var> install <var>paquet</var>
832 </example>
833
834 <p>
835 Pour que cela fonctionne, il est nécessaire que vous ayez au moins une source
836 APT de la distribution que vous voulez utiliser dans votre
837 <file>/etc/apt/sources.list</file>, les paquets doivent exister dans cette
838 source.
839
840 <p>
841 Vous pouvez aussi demander une version spécifique d'un paquet en utilisant la
842 syntaxe suivante&nbsp;:
843
844 <example>
845 # apt-get install <var>paquet</var>= version
846 </example>
847
848 Par exemple, la ligne ci-dessous installera la version <tt>2.2.4-1</tt> du
849 paquet <package>nautilus</package>&nbsp;:
850
851 <example>
852 # apt-get install nautilus=2.2.4-1
853 </example>
854
855 <p>
856 <em>IMPORTANT</em>&nbsp;: la distribution «&nbsp;unstable&nbsp;» de Debian est
857 la version où les nouvelles versions des paquets Debian sont d'abord déposées.
858 Cette distribution voit tous les changements des paquets, petits et plus
859 importants qui affectent beaucoup de paquets ou tout le système. Pour cette
860 raison, cette version <em>ne</em> devrait <em>pas</em> être utilisée par des
861 utilisateurs non expérimentés ni par ceux qui ont besoin de stabilité.
862 <p>
863 La distribution «&nbsp;testing&nbsp;» n'est pas nécessairement meilleure que
864 «&nbsp;unstable&nbsp;» car elle ne reçoit pas rapidement les mises à jour
865 de sécurité. Pour un serveur ou un système en
866 production, préférez toujours la distribution stable.
867 </sect>
868
869 <sect id="apt-show-versions">Comment mettre à niveau un paquet d'une
870 distribution Debian spécifique&nbsp;?
871 <p>
872 Pour les utilisateurs de distribution mixte, <prgn>apt-show-versions</prgn>
873 est un moyen sûr pour mettre à niveau leur système, en contrôlant la part de
874 la distribution la moins stable qu'ils veulent. Pour l'instant, il est
875 possible de mettre à niveau seulement vos paquets unstable en exécutant après
876 avoir installé le paquet <package>apt-show-versions</package>&nbsp;:
877 <p>
878 <example>
879 # apt-get install `apt-show-versions -u -b | grep unstable | cut -d ' ' -f 1`
880 </example>
881 </sect>
882
883 <sect id="pin">Comment garder des versions spécifiques de paquets installés
884 (complexe)
885 <p>
886 Vous avez sûrement eu l'occasion de modifier quelque chose dans un paquet et
887 vous n'avez pas eu le temps ou l'envie de les transférer dans une nouvelle
888 version du programme. Ou, par exemple, vous venez juste de passer à la
889 distribution 3.0 de Debian, mais vous voulez continuer avec la version 2.2
890 pour certains paquets. Vous pouvez «&nbsp;épingler&nbsp;» la version que vous
891 avez installée de manière à ce qu'elle ne soit pas mise à niveau.
892 <p>
893 Utiliser cette fonctionnalité est simple. Vous avez seulement besoin de modifier
894 le fichier <file>/etc/apt/preferences</file>.
895 <p>
896 Le format est simple&nbsp;:
897 <p>
898 <example>
899 Package: &lt;package&gt;
900 Pin: &lt;pin definition&gt;
901 Pin-Priority: &lt;pin's priority&gt;
902 </example>
903 <p>
904 Toutes les entrées doivent être séparées par une ligne vide. Par exemple,
905 pour garder le paquet <package>sylpheed</package> que j'ai modifié
906 pour utiliser «&nbsp;reply-to-list&nbsp;» dans la version 0.4.99, j'ai
907 ajouté&nbsp;:
908 <p>
909 <example>
910 Package: sylpheed
911 Pin: version 0.4.99*
912 </example>
913 <p>
914 Notez que j'utilise un <tt>*</tt> (astérisque). C'est un
915 «&nbsp;joker&nbsp;»&nbsp;; cela signifie que je veux que cet
916 «&nbsp;épinglage&nbsp;» soit valable pour toutes les versions commençant
917 par 0.4.99. C'est parce que Debian donne un numéro de révision à ses paquets
918 et je ne veux pas éviter l'installation de ces révisions. Et, par exemple, les
919 versions 0.4.99-1 et 0.4.99-10 seront installées dès qu'elles seront disponibles.
920 Notez que si vous avez modifié le paquet, vous ne voudrez pas procéder ainsi.
921 <p>
922 La priorité de l'épinglage aide à déterminer si un paquet correspondant aux
923 lignes «&nbsp;Packages:&nbsp;» et «&nbsp;Pin:&nbsp;» sera installé, plus la
924 priorité d'un paquet est grande, plus il est probable que le paquet
925 correspondant sera installé. Si vous souhaitez plus de détails, vous pouvez lire
926 <manref name="apt_preferences" section="7">, mais quelques exemples
927 devraient vous donner quelques idées de base. Les exemples suivant décrivent les effets du
928 positionnement du champ de priorité à différentes valeurs dans l'exemple sur
929 sylpheed ci-dessus.
930 <p>
931 <taglist>
932 <tag>1001</tag>
933 <item>
934 La version 0.4.99 de sylpheed ne sera jamais remplacée par apt. Si elle est
935 disponible, apt installera la version 0.4.99 même s'il doit remplacer un paquet
936 avec une version supérieure. Seuls les paquets avec une priorité supérieure
937 à 1000 peuvent remplacer un paquet existant par une version inférieure.
938 </item>
939 <tag>1000</tag>
940 <item>
941 L'effet est le même qu'avec une priorité de 1001, à l'exception qu'apt refusera
942 d'installer la version 0.4.99 si une autre version est installée.
943 </item>
944 <tag>990</tag>
945 <item>
946 La version 0.4.99 sera remplacée seulement si une version supérieure est
947 disponible dans la version de la distribution «&nbsp;préférée&nbsp;» en utilisant
948 la variable <var>APT::Default-Release</var> (voir <ref id="default-version">
949 ci-dessus).
950 </item>
951 <tag>500</tag>
952 <item>
953 Toute version supérieure à 0.4.99 disponible dans n'importe quelle version de la
954 distribution sera préférée à la version 0.4.99, mais la version 0.4.99 sera
955 toujours préférée à une version moins élevée.
956 </item>
957 <tag>100</tag>
958 <item>
959 Toute version de sylpheed disponible dans n'importe quelle version de la
960 distribution sera préférée à la version 0.4.99, comme toute version supérieure
961 de sylpheed installée&nbsp;; la version 0.4.99 sera donc installée seulement si
962 aucune version n'est déjà installée. C'est la priorité des paquets installés.
963 </item>
964 <tag>-1</tag>
965 <item>
966 Les priorités négatives sont aussi permises et empêchent la version 0.4.99
967 d'être installée.
968 </item>
969 </taglist>
970 Un épinglage peut être relatif à <tt>la version</tt>, <tt>la distribution</tt>
971 ou <tt>l'origine</tt> d'un paquet.
972 <p>
973 Pour épingler une <tt>version</tt>, nous avons vu qu'on pouvait utiliser
974 les numéros de version de manière littérale aussi bien que les jokers pour
975 spécifier plusieurs versions en une fois.
976 <!-- Qu'est-ce qui est disponible ? les shells standards globs(?) ? ?*[] ou plus
977 ? -->
978 <p>
979 L'option <tt>release</tt> dépend du fichier Release d'un référentiel
980 d'<prgn>apt</prgn> ou d'un cédérom. Cette option peut être sans intérêt si vous
981 utilisez des référentiels de paquets qui ne contiennent pas ce fichier. Vous
982 pouvez voir le contenu de ce fichier Release dans <tt>/var/lib/apt/lists</tt>.
983 Les paramètres de la distribution sont&nbsp;:
984 <tt>a</tt> (archive), <tt>c</tt> (composants), <tt>v</tt> (version), <tt>o</tt>
985 (origine) et <tt>l</tt> (label).
986 <p>
987 Un exemple&nbsp;:
988 <p>
989 <example>
990 Package: *
991 Pin: release v=2.2*,a=stable,c=main,o=Debian,l=Debian
992 Pin-Priority: 1001
993 </example>
994 <p>
995 Dans cet exemple, nous avons choisi les versions Debian 2.2* (qui peuvent être
996 2.2r2, 2.2r3 &mdash;&nbsp;cela satisfait les distributions qui
997 incluent les correctifs de sécurité et d'autres mises à jour très importantes), le
998 référentiel <tt>stable</tt>, la section <tt>main</tt> (opposée à <tt>contrib</tt>
999 ou <tt>non-free</tt>) et l'origine et le label Debian. L'origine (o=) définit
1000 qui a produit ce fichier Release, le label (l=) définit le nom de la
1001 distribution&nbsp;: Debian pour Debian elle-même et Progeny pour Progeny, par
1002 exemple. Un simple fichier Release&nbsp;:
1003 <p>
1004 <example>
1005 $ cat /var/lib/apt/lists/ftp.debian.org.br_debian_dists_potato_main_binary-i386_Release
1006 Archive: stable
1007 Version: 2.2r3
1008 Component: main
1009 Origin: Debian
1010 Label: Debian
1011 Architecture: i386
1012 </example>
1013 </sect>
1014 </chapt>
1015
1016 <chapt id="helpers">Aides très utiles
1017 <sect id="equivs">Comment installer un paquet localement&nbsp;: equivs
1018 <p>
1019 Parfois, des personnes veulent utiliser une version spécifique d'un programme
1020 dont est disponible seulement le code source, sans paquet Debian. Mais le système
1021 de paquets peut être perturbé quand vous le faites. Supposons que vous voulez
1022 compiler une nouvelle version de votre serveur de courriels. Tout est bien, mais
1023 beaucoup de paquets dépendent d'un MTA («&nbsp;Mail Transport Agent&nbsp;»)
1024 dans Debian. Parce que vous avez installé quelque chose que vous avez compilé
1025 vous-même, le système de paquet ne connaît rien sur lui.
1026 <p>
1027 C'est là que <package>equivs</package> entre en scène. Pour l'utiliser,
1028 installez le paquet du même nom. <package>Equivs</package> crée un paquet vide
1029 capable de réaliser toutes les dépendances, en faisant croire au système de
1030 paquets que les dépendances sont satisfaites.
1031 <p>
1032 Avant que nous ne commencions, il est bon de vous rappeler qu'il y a d'autres
1033 méthodes plus sûres pour compiler un programme déjà empaqueté pour Debian avec
1034 différentes options, et l'on ne devrait pas utiliser equivs pour
1035 remplacer les dépendances quand on ne sait pas ce que l'on fait. Voir la
1036 section <ref id="sourcehandling"> pour plus d'informations.
1037 <p>
1038 Continuons avec l'exemple du MTA, vous venez juste d'installer votre
1039 <package>postfix</package> nouvellement compilé et vous continuez avec
1040 l'installation de <package>mutt</package>. Tout à coup vous découvrez que
1041 <package>mutt</package> veut installer un autre MTA. Mais vous avez déjà le
1042 vôtre.
1043 <p>
1044 Allez dans un répertoire (<file>/tmp</file>, par exemple) et lancez&nbsp;:
1045
1046 <p>
1047 <example>
1048 # equivs-control <var>nom</var>
1049 </example>
1050
1051 <p>
1052 Remplacez <var>nom</var> par le nom du fichier de contrôle que vous voulez
1053 créer. Le fichier sera créé comme suit&nbsp;:
1054
1055 <p>
1056 <example>
1057 Section: misc
1058 Priority: optional
1059 Standards-Version: 3.0.1
1060
1061 Package: &lt;entrer le nom du paquet&nbsp; par défaut equivs-dummy&gt;
1062 Version: &lt;entrer ici la version&nbsp; par défaut 1.0&gt;
1063 Maintainer: &lt;votre nom et votre adresse mail&nbsp;par défaut nom d'utilisateur&gt;
1064 Pre-Depends: &lt;paquets&gt;
1065 Depends: &lt;paquets&gt;
1066 Recommends: &lt;paquets&gt;
1067 Suggests: &lt;paquet&gt;
1068 Provides: &lt;paquet (virtuel)&gt;
1069 Architecture: all
1070 Copyright: &lt;fichier copyright&nbsp; par défaut GPL2&gt;
1071 Changelog: &lt;fichier changelog&nbsp; par défaut un changelog générique&gt;
1072 Readme: &lt;fichier README.Debian&nbsp; par défaut un générique&gt;
1073 Extra-Files: &lt;fichiers supplémentaires pour le répertoire doc, séparés par des virgules&gt;
1074 Description: &lt;description courte&nbsp; par défaut quelques mots judicieux&gt;
1075 description longue et informations
1076 .
1077 second paragraphe
1078 </example>
1079
1080 <p>
1081 Nous avons juste besoin de modifier cela pour faire ce que nous voulons.
1082 Examinons le format des champs et leurs descriptions. Il n'y a pas besoin ici
1083 de tout expliquer, faisons ce qui est nécessaire&nbsp;:
1084
1085 <p>
1086 <example>
1087 Section: misc
1088 Priority: optional
1089 Standards-Version: 3.0.1
1090
1091 Package: mta-local
1092 Provides: mail-transport-agent
1093 </example>
1094
1095 <p>
1096 Oui, c'est tout. <package>mutt</package> dépend de
1097 <package>mail-transport-agent</package>, c'est un paquet virtuel fourni par
1098 tous les MTA, je peux simplement nommer le paquet
1099 <package>mail-transport-agent</package>, mais je préfère utiliser le schéma du
1100 paquet virtuel, en utilisant Provides.
1101 <p>
1102 Maintenant vous avez seulement besoin de construire le paquet&nbsp;:
1103
1104 <p>
1105 <example>
1106 # equivs-build <var>nom</var>
1107 dh_testdir
1108 touch build-stamp
1109 dh_testdir
1110 dh_testroot
1111 dh_clean -k
1112 # Ajoutez ici les commandes pour installer le paquet dans debian/tmp.
1113 touch install-stamp
1114 dh_testdir
1115 dh_testroot
1116 dh_installdocs
1117 dh_installchangelogs
1118 dh_compress
1119 dh_fixperms
1120 dh_installdeb
1121 dh_gencontrol
1122 dh_md5sums
1123 dh_builddeb
1124 dpkg-deb: building package `<var>nom</var>' in
1125 `../<var>nom</var>_1.0_all.deb'.
1126
1127 The package has been created.
1128 Attention, the package has been created in the current directory,
1129 </example>
1130
1131 <p>
1132 Et installer le <file>.deb</file> résultant.
1133 <p>
1134 Comme vous pouvez le voir, il y a plusieurs utilisations d'<prgn>equivs</prgn>.
1135 L'une d'entre elles peut éventuellement créer un paquet <tt>mes-favoris</tt>, qui
1136 dépend des programmes que vous installez habituellement, par exemple. Laisser aller
1137 simplement votre imagination, mais soyez prudent.
1138 <p>
1139 Il est important de noter qu'il y a des exemples de fichiers contrôle dans
1140 <file>/usr/share/doc/equivs/examples</file>. Allez-y jeter un oeil.
1141 </sect>
1142
1143 <sect id="localepurge"> Suppression des fichiers de locale inutiles&nbsp;: localepurge
1144 <p>
1145 Beaucoup d'utilisateurs Debian utilisent une seule locale. Par exemple, un
1146 utilisateur brésilien utilise, généralement, la locale <tt>pt_BR</tt> tout le
1147 temps et ne se soucie pas de l'<tt>es</tt>.
1148 <p>
1149 <package>localepurge</package> est un outil très utile pour ces utilisateurs.
1150 Vous pouvez libérer beaucoup d'espace en ayant seulement la locale que vous
1151 utilisez. Taper simplement <tt>apt-get install localepurge</tt>.
1152 <p>
1153 C'est très simple à configurer, les questions de debconf guident
1154 l'utilisateur dans une configuration pas-à-pas. Soyez très attentif à la
1155 réponse de la première question, une mauvaise réponse peut supprimer tous les
1156 fichiers de locale, y compris ceux que vous utilisez. Le seul moyen de récupérer
1157 ces fichiers est de réinstaller tous les paquets qui les
1158 fournissent.
1159 </sect>
1160
1161 <sect id="helper-show-versions">Comment savoir quels paquets peuvent être mis à
1162 niveau
1163 <p>
1164 <prgn>apt-show-versions</prgn> est un programme qui affiche quels paquets du
1165 système peuvent être mis à jour et diverses informations utiles. l'option
1166 <tt>-u</tt> affiche une liste des paquets pouvant être mis à niveau&nbsp;:
1167
1168 <p>
1169 <example>
1170 $ apt-show-versions -u
1171 libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7
1172 libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7
1173 </example>
1174 </sect>
1175 </chapt>
1176
1177 <chapt id="search">Avoir des informations sur les paquets
1178 <p>
1179 Il y a quelques interfaces pour le système <prgn>apt</prgn> qui facilitent
1180 indubitablement l'obtention d'une liste de paquets qui sont disponibles pour
1181 l'installation ou qui sont déjà installés, de même que pour rechercher
1182 la section dans laquelle se trouve un paquet, sa priorité, sa description, etc.
1183 <p>
1184 Mais... notre but ici est d'apprendre comment utiliser le vrai <prgn>apt</prgn>.
1185 Donc comment pouvez-vous retrouver le nom d'un paquet que vous voulez
1186 installer&nbsp;?
1187 <p>
1188 Nous avons un bon nombre de recours pour cette tâche. Nous commencerons avec
1189 <tt>apt-cache</tt>. Ce programme est utilisé par le système <prgn>apt</prgn>
1190 pour le maintien de sa base de données. Nous jetterons un bref coup d'oeil à
1191 ses applications les plus pratiques.
1192
1193 <sect id="cache">Recherche de noms de paquets
1194 <p>
1195 Supposons, par exemple, que vous voulez vous rappeler les bons vieux jours de
1196 l'Atari 2600. Vous voulez utiliser <prgn>apt</prgn> pour installer un émulateur
1197 Atari, puis télécharger quelques jeux. Vous pouvez faire&nbsp;:
1198
1199 <p>
1200 <example>
1201 # apt-cache search atari
1202 atari-fdisk-cross - Partition editor for Atari (running on non-Atari)
1203 circuslinux - The clowns are trying to pop balloons to score points!
1204 madbomber - A Kaboom! clone
1205 tcs - Character set translator.
1206 atari800 - Atari emulator for svgalib/X/curses
1207 stella - Atari 2600 Emulator for X windows
1208 xmess-x - X binaries for Multi-Emulator Super System
1209 </example>
1210
1211 <p>
1212 Nous trouvons différents paquets relatifs à ce que nous cherchons, accompagnés
1213 d'une brève description. Pour avoir des informations sur un paquet
1214 spécifique, je peux alors utiliser&nbsp;:
1215
1216 <p>
1217 <example>
1218 # apt-cache show stella
1219 Package: stella
1220 Priority: extra
1221 Section: non-free/otherosfs
1222 Installed-Size: 830
1223 Maintainer: Tom Lear &lt;tom@trap.mtview.ca.us&gt;
1224 Architecture: i386
1225 Version: 1.1-2
1226 Depends: libc6 (&gt;= 2.1), libstdc++2.10, xlib6g (&gt;= 3.3.5-1)
1227 Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb
1228 Size: 483430
1229 MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5
1230 Description: Atari 2600 Emulator for X windows
1231 Stella is a portable emulator of the old Atari 2600 video-game console
1232 written in C++. You can play most Atari 2600 games with it. The latest
1233 news, code and binaries for Stella can be found at:
1234 http://www4.ncsu.edu/~bwmott/2600
1235 </example>
1236
1237 <p>
1238 Depuis cette sortie vous avez plein de détails sur le paquet que vous voulez (ou
1239 ne voulez pas) installer, accompagnés de la description complète du paquet.
1240 Si le paquet est déjà installé sur votre système et qu'il y a une nouvelle
1241 version, vous verrez les informations des deux versions. Par exemple&nbsp;:
1242
1243 <p>
1244 <example>
1245 [root]@[/] # apt-cache show lilo
1246 Package: lilo
1247 Priority: important
1248 Section: base
1249 Installed-Size: 271
1250 Maintainer: Russell Coker &lt;russell@coker.com.au&gt;
1251 Architecture: i386
1252 Version: 1:21.7-3
1253 Depends: libc6 (&gt;= 2.2.1-2), debconf (&gt;=0.2.26), logrotate
1254 Suggests: lilo-doc
1255 Conflicts: manpages (&lt;&lt;1.29-3)
1256 Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb
1257 Size: 143052
1258 MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e
1259 Description: LInux LOader - The Classic OS loader can load Linux and others
1260 This Package contains lilo (the installer) and boot-record-images to
1261 install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
1262 .
1263 You can use Lilo to manage your Master Boot Record (with a simple text
1264 screen)
1265 or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
1266
1267 Package: lilo
1268 Status: install ok installed
1269 Priority: important
1270 Section: base
1271 Installed-Size: 190
1272 Maintainer: Vincent Renardias &lt;vincent@debian.org&gt;
1273 Version: 1:21.4.3-2
1274 Depends: libc6 (>= 2.1.2)
1275 Recommends: mbr
1276 Suggests: lilo-doc
1277 Description: LInux LOader - The Classic OS loader can load Linux and others
1278 This Package contains lilo (the installer) and boot-record-images to
1279 install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
1280 .
1281 You can use Lilo to manage your Master Boot Record (with a simple text
1282 screen)
1283 or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
1284 </example>
1285
1286 <p>
1287 Notez que le premier de la liste est le paquet disponible et le second est
1288 celui déjà installé. Pour plus d'informations générales sur un paquet, vous
1289 pouvez utiliser&nbsp;:
1290
1291 <p>
1292 <example>
1293 # apt-cache showpkg penguin-command
1294 Package: penguin-command
1295 Versions:
1296 1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_b
1297 inary-i386_Packages)(/var/lib/dpkg/status)
1298
1299 Reverse Depends:
1300 Dependencies:
1301 1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0)
1302 libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3)
1303 Provides:
1304 1.4.5-1 -
1305 Reverse Provides:
1306 </example>
1307
1308 <p>
1309 Et pour rechercher de quels paquets il dépend&nbsp;:
1310
1311 <p>
1312 <example>
1313 # apt-cache depends penguin-command
1314 penguin-command
1315 Depends: libc6
1316 Depends: libpng2
1317 Depends: libsdl-mixer1.1
1318 Depends: libsdl1.1
1319 Depends: zlib1g
1320 </example>
1321
1322 <p>
1323 En résumé, nous avons une série d'armes que nous pouvons utiliser pour rechercher
1324 le nom d'un paquet que nous voulons.
1325 </sect>
1326
1327 <sect id="dpkg-search">Utilisation de dpkg pour trouver le nom des paquets
1328 <p>
1329 Une des solutions pour localiser le nom d'un paquet est de connaître le nom d'un
1330 fichier important trouvé dans le paquet. Par exemple, pour trouver le paquet qui
1331 fournit un fichier <tt>«&nbsp;.h&nbsp;»</tt> particulier dont vous avez besoin pour
1332 compiler, vous pouvez lancer&nbsp;:
1333
1334 <p>
1335 <example>
1336 # dpkg -S stdio.h
1337 libc6-dev: /usr/include/stdio.h
1338 libc6-dev: /usr/include/bits/stdio.h
1339 perl: /usr/lib/perl/5.6.0/CORE/nostdio.h
1340 </example>
1341
1342 <p>
1343 ou&nbsp;:
1344
1345 <p>
1346 <example>
1347 # dpkg -S /usr/include/stdio.h
1348 libc6-dev: /usr/include/stdio.h
1349 </example>
1350
1351 <p>
1352 Pour trouver le nom de paquets installés sur votre système, ce qui est utile,
1353 par exemple, si vous prévoyez de nettoyer votre disque dur, vous pouvez
1354 lancer&nbsp;:
1355
1356 <p>
1357 <example>
1358 # dpkg -l | grep mozilla
1359 ii mozilla-browse 0.9.6-7 Mozilla Web Browser
1360 </example>
1361
1362 <p>
1363 Le problème avec cette commande est qu'elle peut «&nbsp;casser&nbsp;» le nom des
1364 paquets. Dans l'exemple ci-dessus, le nom complet du paquet est
1365 <tt>mozilla-browser</tt>. Pour arranger cela, vous pouvez utiliser la variable
1366 d'environnement <tt>COLUMNS</tt> comme ceci&nbsp;:
1367
1368 <p>
1369 <example>
1370 [kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozilla
1371 ii mozilla-browser 0.9.6-7 Mozilla Web Browser - core and browser
1372 </example>
1373
1374 <p>
1375 ou la description ou une partie de celle-ci comme cela&nbsp;:
1376
1377 <p>
1378 <example>
1379 # apt-cache search "Mozilla Web Browser"
1380 mozilla-browser - Mozilla Web Browser
1381 </example>
1382 </sect>
1383
1384 <sect id="auto-apt">Comment installer des paquets «&nbsp;à la
1385 demande&nbsp;»&nbsp;?
1386 <p>
1387 Vous compilez un programme et, tout à coup&nbsp;: patatras&nbsp;! Il y a une
1388 erreur parce qu'il faut un fichier <tt>.h</tt> que vous n'avez pas. Le programme
1389 <prgn>auto-apt</prgn> peut vous sauver de ces scénarios. Il vous demande
1390 d'installer des paquets nécessaires, en stoppant le processus,
1391 et en continuant une fois que le paquet est installé.
1392 <p>
1393 Ce que vous avez simplement à faire est de lancer&nbsp;:
1394
1395 <p>
1396 <example>
1397 # auto-apt run commande
1398 </example>
1399
1400 <p>
1401 Où «&nbsp;commande&nbsp;» est la commande à exécuter qui devrait nécessiter des
1402 fichiers qui ne sont pas disponibles. Par exemple&nbsp;:
1403
1404 <p>
1405 <example>
1406 # auto-apt run ./configure
1407 </example>
1408
1409 <p>
1410 Il vous demandera d'installer les paquets nécessaires et appellera
1411 <prgn>apt-get</prgn> automatiquement. Si vous êtes sous X, une interface
1412 graphique remplacera l'interface texte par défaut.
1413
1414 <p>
1415 Pour être efficace, auto-apt conserve des bases de données qui doivent être à
1416 jour.
1417 C'est fait en appelant les commandes <tt>auto-apt update</tt>, <tt>auto-apt
1418 updatedb</tt> et <tt>auto-apt update-locale</tt>.
1419 </sect>
1420
1421 <sect id="apt-file">Comment savoir à quel paquet appartient un fichier&nbsp;?
1422 <p>
1423 Si vous voulez installer un paquet et que vous ne parvenez pas à découvrir quel
1424 est son nom en cherchant avec <prgn>apt-cache</prgn>, mais que vous connaissez le
1425 nom du programme lui-même, ou quelque autre fichier appartenant à ce paquet,
1426 vous pouvez alors utiliser <prgn>apt-file</prgn> pour retrouver le nom de ce
1427 paquet. Ceci est fait comme suit&nbsp;:
1428
1429 <p>
1430 <example>
1431 $ apt-file search <var>nomdufichier</var>
1432 </example>
1433
1434 <p>
1435 Il fonctionne comme <prgn>dpkg -S</prgn>, mais il vous affichera aussi les
1436 paquets non installés qui contiennent ce fichier. Il peut aussi être utilisé
1437 pour trouver quel paquet contient les fichiers d'en-tête manquant à la
1438 compilation d'un programme, bien que <prgn>auto-apt</prgn> soit une meilleure
1439 solution pour résoudre ce problème, voir <ref id="auto-apt">.
1440 <p>
1441 Vous pouvez lister le contenu d'un paquet en exécutant&nbsp;:
1442
1443 <p>
1444 <example>
1445 $ apt-file list <var>nomdupaquet</var>
1446 </example>
1447
1448 <p>
1449 <prgn>apt-file</prgn> récupère une base de données des fichiers contenus dans
1450 tous les paquets, comme le fait <prgn>auto-apt</prgn> et elle doit être à jour.
1451 C'est fait en exécutant&nbsp;:
1452
1453 <p>
1454 <example>
1455 # apt-file update
1456 </example>
1457
1458 <p>
1459 Par défaut, <prgn>apt-file</prgn> et <prgn>auto-apt</prgn> utilisent la même
1460 base de données, voir <ref id="auto-apt">.
1461
1462 </sect>
1463
1464 <sect id="apt-listchanges">Comment rester informé sur les changements dans les
1465 paquets&nbsp;?
1466 <p>
1467 Tous les paquets installent dans leur répertoire de documentation un fichier appelé
1468 <tt>changelog.Debian.gz</tt> qui contient la liste des changements faits sur le
1469 paquet depuis la dernière version. Vous pouvez lire ces fichiers à l'aide de
1470 <tt>zless</tt>, par exemple&nbsp;; mais ce n'est pas quelque chose de très
1471 simple, après une mise à niveau du système complète, de consulter les changelog
1472 de tous les paquets mis à niveau.
1473 <p>
1474 Il y a une solution pour automatiser cette tâche au moyen d'un outil appelé
1475 <prgn>apt-listchanges</prgn>. Pour commencer, vous avez besoin
1476 d'installer le paquet <package>apt-listchanges</package>. Pendant l'installation du
1477 paquet, Debconf le configurera. Certaines questions peuvent ne pas vous être
1478 affichées car cela dépend de la priorité fixée dans Debconf. Répondez aux questions
1479 comme vous le voulez.
1480 <p>
1481 <!--
1482 L'option «&nbsp;Est-ce que apt-listchanges doit être automatiquement lancé par
1483 apt&nbsp;?&nbsp;» est très utile parce qu'il montre une liste des changements
1484 faits à chaque paquet qui est installé par apt durant une mise à niveau et vous
1485 laisse les examiner avant de continuer. L'option "&nbsp;Est-ce que
1486 apt-listchanges demande une confirmation après l'affichage des
1487 changements&nbsp;?&nbsp;» est utile parce qu'elle vous demande si vous voulez
1488 continuer l'installation après avoir lu la liste des changements. Si vous dites
1489 que vous ne voulez pas continuer apt-listchanges retournera une erreur et apt
1490 annulera l'installation. -->
1491 La première question vous demande si vous souhaitez
1492 qu'<prgn>apt-listchanges</prgn> affiche les changements. Vous pouvez vous les
1493 faire envoyer par courriel, ce qui est une bonne idée pour les mises à niveau
1494 automatiques ou vous pouvez simplement demander de les afficher à l'aide d'un
1495 outil de défilement tel que <prgn>less</prgn>, vous pourrez donc inspecter les
1496 changements avant de permettre la poursuite de la mise à niveau. Si vous ne
1497 voulez pas qu'<prgn>apt-listchanges</prgn> soit lancé automatiquement lors des
1498 mises à niveau, vous pouvez répondre <tt>none</tt>.
1499 <p>
1500 Après que apt-listchanges a été installé, aussitôt que des paquets sont
1501 téléchargés (ou récupérés sur un cédérom ou un disque monté) par
1502 <prgn>apt</prgn>, il affichera la liste des changements faits sur ces paquets
1503 avant de les installer.
1504 </sect>
1505 </chapt>
1506
1507 <chapt id="sourcehandling">Travailler avec des paquets sources
1508 <sect id="source">Télécharger un paquet source
1509 <p>
1510 Il est courant dans le monde du logiciel libre d'étudier le code source ou
1511 éventuellement de faire des corrections sur du code bogué. Pour le faire, vous
1512 aurez besoin de télécharger les sources du programme. Le système <prgn>apt</prgn>
1513 fournit une solution facile pour obtenir le code source des nombreux programmes
1514 contenus dans la distribution, en incluant tous les fichiers pour créer un
1515 <file>.deb</file> pour le programme.
1516 <p>
1517 Un autre usage courant des sources Debian est d'adapter une version d'un
1518 programme plus récente, de la distribution unstable, par exemple, pour
1519 l'utiliser dans la distribution stable. Compiler un paquet avec <em>stable</em>
1520 générera des .deb avec des dépendances ajustées pour que ce paquet puisse
1521 être disponible dans cette distribution.
1522 <p>
1523 Pour accomplir ceci, l'entrée <tt>deb-src</tt> dans votre
1524 <tt>/etc/apt/sources.list</tt> doit pointer vers unstable. Elle doit être aussi
1525 permise (décommentée). Voir la section <ref id="sources.list">.
1526 <p>
1527 Pour télécharger un paquet source, vous devez utiliser la commande
1528 suivante&nbsp;:
1529
1530 <p>
1531 <example>
1532 $ apt-get source nomdupaquet
1533 </example>
1534 <p>
1535 Cela téléchargera trois fichiers&nbsp;: un <tt>.orig.tar.gz</tt>, un
1536 <tt>.dsc</tt> et un <tt>.diff.gz</tt>. Dans le cas où les paquet sont faits
1537 spécialement pour Debian, le dernier de ceux-ci n'est pas téléchargé et le
1538 premier n'a généralement pas <tt>«&nbsp;orig&nbsp;»</tt> dans le nom.
1539 <p>
1540 Le fichier <tt>.dsc</tt> est utilisé par dpkg-source pour dépaqueter le paquet
1541 source dans le répertoire <var>nomdupaquet-version</var>. Avec chaque paquet source
1542 téléchargé, il y a un répertoire <tt>debian/</tt> qui contient les fichiers
1543 nécessaires pour la création d'un paquet <package>.deb</package>.
1544 <p>
1545 Pour construire automatiquement le paquet lorsqu'il est téléchargé, ajoutez
1546 seulement <tt>-b</tt> à la ligne de commande, comme ceci&nbsp;:
1547
1548 <p>
1549 <example>
1550 $ apt-get -b source nomdupaquet
1551 </example>
1552
1553 <p>
1554 Si vous décidez de ne pas créer de .deb lorsque vous le téléchargez, vous pouvez
1555 le créer plus tard en exécutant&nbsp;:
1556
1557 <p>
1558 <example>
1559 $ dpkg-buildpackage -rfakeroot -uc -b
1560 </example>
1561
1562 <p>
1563 à l'intérieur du répertoire créé pour le paquet après le téléchargement. Pour
1564 installer le paquet construit par la commande ci-dessus, vous devez directement
1565 utiliser le gestionnaire de paquets, comme ceci&nbsp;:
1566
1567 <p>
1568 <example>
1569 # dpkg -i <var>fichier.deb</var>
1570 </example>
1571
1572 <p>
1573 Il y a une différence entre les méthodes <prgn>apt-get</prgn> <tt>source</tt> et
1574 ses autres méthodes. La méthode <tt>source</tt> peut être utilisée par un
1575 utilisateur normal, sans avoir besoin des droits root. Les fichiers sont
1576 téléchargés dans le répertoire à partir duquel la commande
1577 <tt><prgn>apt-get</prgn> source paquet</tt> a été appelée.
1578 </sect>
1579
1580 <sect id="build-dep">Paquets nécessaires pour la compilation d'un paquet source
1581 <p>
1582 Normalement, des en-têtes et des bibliothèques dynamiques spécifiques doivent
1583 être présentes pour qu'un paquet source puisse être compilé. Tous les paquets
1584 source ont un champ dans leur fichier contrôle appelé
1585 «&nbsp;Builds-Depends&nbsp;:&nbsp;» qui indique quels paquets supplémentaires
1586 sont nécessaires pour la construction à partir des sources.
1587 <p>
1588 <prgn>apt</prgn> possède une solution simple pour télécharger ces paquets. Exécutez juste
1589 <tt>apt-get build-dep paquet</tt>, où «&nbsp;paquet&nbsp;» est le nom du paquet
1590 que vous allez construire. Par exemple&nbsp;:
1591
1592 <p>
1593 <example>
1594 # apt-get build-dep gmc
1595 Reading Package Lists... Done
1596 Building Dependency Tree... Done
1597 The following NEW packages will be installed:
1598 comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev
1599 libgpmg1-dev
1600 0 packages upgraded, 7 newly installed, 0 to remove and 1 not upgraded.
1601 Need to get 1069kB of archives. After unpacking 3514kB will be used.
1602 Do you want to continue? [Y/n]
1603 </example>
1604
1605 <p>
1606 Les paquets qui seront installés sont les paquets nécessaires pour que
1607 <package>gmc</package> soit compilé correctement. C'est important de noter que
1608 cette commande ne cherche pas le paquet source du programme à compiler.
1609 Vous devrez par conséquent exécuter <tt><prgn>apt-get</prgn> source</tt>
1610 séparément pour le récupérer.
1611
1612 <p>
1613 Si tout ce que vous voulez est de vérifier quels paquets sont nécessaires pour
1614 construire un paquet donné, il existe une variante de la commande <tt>apt-cache
1615 show</tt> (voir <ref id="search">) qui affichera, parmi toutes les informations
1616 disponibles, la ligne <tt>Build-Depends</tt> qui liste ces paquets.
1617
1618 <p>
1619 <example>
1620 # apt-cache showsrc <var>paquet</var>
1621 </example>
1622
1623 </sect>
1624 </chapt>
1625
1626 <chapt id="erros">Comment traiter les erreurs&nbsp;?
1627 <sect id="erros-comuns">Erreurs courantes
1628 <p>
1629 Des erreurs arriveront souvent, la plupart d'entre elles causées par les
1630 utilisateurs qui ne font pas attention. Ce qui suit est une liste des erreurs
1631 les plus fréquemment rapportées et comment les traiter.
1632 <p>
1633 Si vous recevez un message qui ressemble à celui ci-dessous quand vous essayez
1634 d'exécuter <tt><prgn>apt-get</prgn> install paquet</tt>...
1635
1636 <p>
1637 <example>
1638 Reading Package Lists... Done
1639 Building Dependency Tree... Done
1640 W: Couldn't stat source package list 'http://people.debian.org unstable/
1641 Packages'
1642 (/var/state/apt/lists/people.debian.org_%7ekov_debian_unstable_Packages) - stat
1643 (2 No such file or directory)
1644 W: You may want to run apt-get update to correct these missing files
1645 E: Couldn't find package penguineyes
1646 </example>
1647
1648 <p>
1649 vous avez oublié d'exécuter <tt><prgn>apt-get</prgn> update</tt> après vos
1650 derniers changements dans le fichier <tt>/etc/apt/sources.list</tt>.
1651 <p>
1652 Si l'erreur ressemble à&nbsp;:
1653
1654 <p>
1655 <example>
1656 E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
1657 E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
1658 </example>
1659
1660 <p>
1661 quand vous essayez n'importe quelle méthode <prgn>apt-get</prgn> autre que
1662 <tt>source</tt>, vous n'avez pas les permissions root, parce que vous l'exécutez
1663 en utilisateur normal.
1664 <p>
1665 Il y a une erreur similaire à celle ci-dessus qui arrive lorsque vous exécutez
1666 deux copies d'<prgn>apt-get</prgn> en même temps, ou éventuellement si vous
1667 essayez d'exécuter <prgn>apt-get</prgn> pendant qu'un processus
1668 <prgn>dpkg</prgn> est actif. La seule méthode qui peut être utilisée
1669 simultanément avec les autres est la méthode <tt>source</tt>.
1670 <p>
1671 Si une installation s'interrompt au milieu du processus et que vous ne pouvez
1672 plus installer ou supprimer de paquets, essayez d'exécuter ces deux
1673 commandes&nbsp;:
1674
1675 <p>
1676 <example>
1677 # apt-get -f install
1678 # dpkg --configure -a
1679 </example>
1680
1681 <p>
1682 et ensuite essayez à nouveau. Il sera peut être nécessaire d'exécuter la seconde
1683 des commandes ci-dessus plus d'une fois. C'est une leçon importante pour ces
1684 aventuriers qui utilisent «&nbsp;unstable&nbsp;».
1685
1686 <p>
1687 Si vous rencontrez l'erreur «&nbsp;E: Dynamic MMap ran out of room&nbsp;» en
1688 lançant <tt>apt-get update</tt>, ajoutez la ligne suivante dans
1689 <file>/etc/apt/apt.conf</file>&nbsp;:
1690
1691 <example>
1692 APT::Cache-Limit 10000000;
1693 </example>
1694
1695 </sect>
1696
1697 <sect id="help">Où puis-je trouver de l'aide&nbsp;?
1698 <p>
1699 Si vous êtes tourmenté par le doute, consultez l'importante documentation
1700 disponible pour le système de gestion des paquets Debian. Les <tt>--help</tt> et
1701 les pages de manuel peuvent être une énorme aide pour vous, comme le peut la
1702 documentation contenue dans les répertoires <tt>/usr/share/doc</tt> comme
1703 <tt>/usr/share/doc/apt</tt>.
1704 <p>
1705 Si la documentation ne suffit pas à faire disparaître votre peur, essayez de
1706 rechercher la réponse sur les listes de discussions Debian. Vous pouvez obtenir
1707 plus d'informations des listes d'utilisateurs spécifiques sur le site Web
1708 Debian&nbsp;: <url id="http://www.debian.org" name="http://www.debian.org">.
1709 <p>
1710 Souvenez-vous que ces listes et ressources doivent être utilisées seulement par
1711 les utilisateurs Debian&nbsp;; les utilisateurs d'autres systèmes trouveront un
1712 meilleur support dans les communautés de leur propre distribution.
1713 </sect>
1714 </chapt>
1715
1716 <chapt id="distros">Quelles distributions supportent apt&nbsp;?
1717 <p>
1718 Il a ici les noms de quelques distributions qui utilisent <prgn>apt</prgn>&nbsp;:
1719 <p>
1720 Debian GNU/Linux (<url id="http://www.debian.org" name="http://www.debian.org">)
1721 - C'est pour cette distribution que <prgn>apt</prgn> a été développé
1722 <p>
1723 Conectiva (<url id="http://www.conectiva.com.br"
1724 name="http://www.conectiva.com.br">)
1725 - Ce fut la première distribution à porter <prgn>apt</prgn> pour l'utiliser avec
1726 les rpm
1727 <p>
1728 Libranet (<url id="http://libranet.com" name="http://libranet.com">)
1729 <p>
1730 Mandrake (<url id="http://www.mandrake.com" name="http://www.mandrake.com">)
1731 <p>
1732 PLD (<url id="http://www.pld.org.pl" name="http://pld.org.pl">)
1733 <p>
1734 Vine (<url id="http://www.vinelinux.org" name="http://www.vinelinux.org">)
1735 <p>
1736 APT4RPM (<url id="http://apt4rpm.sf.net" name="http://apt4rpm.sf.net">)
1737 <p>
1738 Alt Linux (<url id="http://www.altlinux.ru/" name="http://www.altlinux.ru/">)
1739 <p>
1740 Red Hat (<url id="http://www.redhat.com/" name="http://www.redhat.com/">)
1741 <p>
1742 Sun Solaris (<url id="http://www.sun.com/" name="http://www.sun.com/">)
1743 <p>
1744 SuSE (<url id="http://www.suse.de/" name="http://www.suse.de/">)
1745 <p>
1746 Yellow Dog Linux (<url id="http://www.yellowdoglinux.com/"
1747 name="http://www.yellowdoglinux.com/">)
1748 </chapt>
1749
1750 <chapt id="agradecimentos">Crédits
1751 <p>
1752 Un grand merci à mes amis du projet Debian-BR, et à Debian elle-même, qui
1753 m'aide constamment et me donne toujours la force de continuer à travailler pour
1754 le bénéfice de l'humanité, aussi bien qu'en m'aidant dans mon but de sauver le
1755 monde. :)
1756 <p>
1757 Je veux aussi remercier le CIPSGA pour l'énorme aide qu'elle a donnée à notre
1758 projet et pour tous les projets libres qu'elle met en marche par de belles
1759 idées.
1760 <p>
1761 Et des remerciements particuliers&nbsp;:
1762 <p>
1763 Yooseong Yang &lt;yooseong@debian.org&gt; &mdash;pour la traduction du manuel en
1764 coréen.
1765 <p>
1766 Michael Bramer &lt;grisu@debian.org&gt; &mdash;pour la suggestion de l'inclusion
1767 de la section sur la conservation d'une version spécifique.
1768 <p>
1769 Bryan Stillwell &lt;bryan@bokeoa.com&gt; &mdash;pour les diverses rustines et
1770 corrections qu'il m'a envoyées.
1771 <p>
1772 Pawel Tecza &lt;pawel.tecza@poczta.fm&gt; &mdash;pour les diverses corrections
1773 qu'il m'a envoyées ainsi que pour la traduction polonaise.
1774 <p>
1775 Hugo Mora &lt;h.mora@melix.com.mx&gt; &mdash;pour la traduction espagnole.
1776 <p>
1777 Luca Monducci &lt;luca.mo@tiscali.it&gt; &mdash;pour la traduction italienne.
1778 <p>
1779 Tomohiro KUBOTA &lt;kubota@debian.org&gt; &mdash;pour la traduction japonaise.
1780 <p>
1781 Pablo Lorenzzoni &lt;spectra@debian.org&gt; pour l'écriture de la section sur
1782 netselect.
1783 <p>
1784 Steve Langasek &lt;vorlon@netexpress.net&gt; &mdash;pour la traduction du manuel en
1785 anglais.
1786 <p>
1787 Arnaldo Carvalho de Melo &lt;acme@conectiva.com.br&gt; &mdash;pour sa contribution à
1788 la liste des distributions supplémentaires qui supportent maintenant
1789 <prgn>apt</prgn>&nbsp;: Mandrake, PLD et Vine.
1790 <p>
1791 Erik Rossen &lt;rossen@freesurf.ch&gt; &mdash;pour l'astuce sur la variable COLUMNS
1792 pour dpkg -l.
1793 <p>
1794 Ross Boylan &lt;RossBoylan@stanfordalumni.org&gt; &mdash;pour l'astuce sur
1795 l'utilisation de -o Debug::pkgProblemResolver=yes.
1796 <p>
1797 Matt Kraai &lt;kraai@debian.org&gt; &mdash;pour les diverses rustines et
1798 corrections qu'il m'a envoyées.
1799 <p>
1800 Aaron M. Ucko &lt;ucko@debian.org&gt; &mdash;pour ses relectures et corrections.
1801 <p>
1802 Jon Åslund &lt;d98-jas@nada.kth.se&gt; &mdash;pour l'écriture de la section sur
1803 apt-file.
1804 </chapt>
1805
1806 <chapt id="novas">Nouvelles versions de ce manuel
1807 <p>
1808 Ce manuel fut créé par le projet <url id="http://debian-br.cipsga.org.br"
1809 name="Debian-BR">, dans le but d'aider à l'utilisation journalière de Debian.
1810 <p>
1811 Des nouvelles versions de ce document seront disponibles dans la page du projet, à
1812 <url id="http://www.debian.org/doc/ddp" name="http://www.debian.org/doc/ddp">
1813 <p>
1814 Les commentaires et critiques peuvent m'être envoyés directement par courriel à
1815 <email>kov@debian.org</email>.
1816 </chapt>
1817
1818 </book>
1819 <!-- (<tt>/usr/share/doc/packagename</tt>) -->
1820 </debiandoc>

  ViewVC Help
Powered by ViewVC 1.1.5