1 <!-- -*- mode: sgml; mode: fold -*- -->
2 <!-- translation of version 1.10 -->
3 <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
5 <!ENTITY % aptent SYSTEM "apt.ent.fr">
14 <refentrytitle>apt.conf</>
18 <!-- Man page title -->
21 <refpurpose>Fichier de configuration pour APT</>
24 <RefSect1><Title>Description</>
26 <filename/apt.conf/ est le principal fichier de configuration de la
27 collection d'outils que constitue APT ; tous les outils font appel à ce
28 fichier de configuration et utilisent un analyseur syntaxique en ligne de
29 commande commun afin de fournir un environnement uniforme. Quand un outil
30 d'APT démarre, il lit (si elle existe) la variable d'environnement
31 <envar/APT_CONFIG/ ; puis il lit les fichiers situés dans
32 <literal/Dir::Etc::Parts/ ainsi que le principal fichier de configuration
33 indiqué par <literal/Dir::Etc::main/ ; enfin il applique les options de
34 la ligne de commande qui annulent les directives de configuration, chargeant,
35 si nécessaire, d'autres fichiers de configuration.
37 Le fichier de configuration est construit comme un arbre d'options
38 organisées en groupes fonctionnels. On se sert du double deux points (« :: ») pour indiquer une option ; par exemple, <literal/APT::Get::Assume-Yes/ est
39 une option pour le groupe d'outils APT, destinée à l'outil Get. Les options
40 n'héritent pas des groupes de leurs parents.
42 Syntaxiquement, le langage de configuration est conçu sur le même modèle
43 que les langages utilisés par des outils ISC tels que bind et dhcp. Une ligne
44 qui commence par <literal>//</literal> est un commentaire et elle est ignorée.
45 Chaque ligne est de la forme :
46 <literallayout>APT::Get::Assume-Yes "true";</literallayout>
47 Le point-virgule final est obligatoire et les guillemets sont optionnels.
48 On peut déclarer un nouveau champ d'action avec des accolades, comme
50 <informalexample><programlisting>
57 </programlisting></informalexample>
58 avec des retours à la ligne pour faciliter la lecture. On peut créer des
59 listes en ouvrant un champ d'action et en mettant un seul mot entre
60 apostrophes suivi d'un point-virgule. On peut mettre plusieurs entrées,
61 séparées par un point-virgule.
62 <informalexample><programlisting>
63 DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
64 </programlisting></informalexample>
66 Les modèles <filename>&docdir;/examples/apt.conf</> &configureindex;
67 montrent à quoi devrait ressembler le fichier de configuration.
69 Deux éléments spéciaux sont autorisés : <literal/#include/ et
70 <literal/#clear/. <literal/#include/ inclut le fichier donné en argument, à
71 moins que le nom ne se termine par une barre oblique. <literal/#clear/ sert à
72 effacer une liste de noms.
74 Tous les outils d'APT possèdent une option <option>-o</> qui permet de
75 spécifier une configuration arbitraire depuis la ligne de commande. La
76 syntaxe consiste en un nom complet d'option (par exemple
77 <literal/APT::Get::Assume-Yes/) suivi par un signe égal, puis par la nouvelle
78 valeur de l'option. On peut compléter une liste en ajoutant un « :: » au nom
82 <RefSect1><Title>Le groupe APT</>
84 Ce groupe d'options contrôle aussi bien le comportement global d'APT que
85 la prise en compte des options pour chaque outil.
88 <VarListEntry><Term>Architecture</Term>
90 L'architecture du système ; cette option positionne l'architecture à utiliser
91 pour récupérer des fichiers et analyser des listes de paquets. L'architecture
92 interne par défaut est celle pour laquelle APT a été compilé.
95 <VarListEntry><Term>Ignore-Hold</Term>
97 Ignore les paquets « gelés » ; cette option globale indique au
98 système de résolution de ne pas tenir compte des paquets « gelés »
99 dans sa prise de décision.
102 <VarListEntry><Term>Clean-Installed</Term>
104 Avec cette option qui est activée par défaut, la fonctionnalité « autoclean »
105 supprime tout paquet qui ne peut plus être récupéré dans le cache.
106 Quand cette option est désactivée, les paquets qui sont installés localement
107 sont aussi exclus du nettoyage - mais notez que APT ne fournit aucun moyen
108 direct pour les réinstaller.
111 <VarListEntry><Term>Immediate-Configure</Term>
113 Désactive la configuration immédiate ; cette dangereuse option désactive
114 une partie du code de mise en ordre de APT pour que ce dernier effectue le
115 moins d'appels possible à Dpkg. C'est peut-être nécessaire sur des systèmes
116 lents à un seul utilisateur mais c'est extrêmement dangereux et cela peut
117 faire échouer les scripts d'installation, voire pire.
118 Utilisez-la à vos risques et périls.
121 <VarListEntry><Term>Force-LoopBreak</Term>
123 Ne jamais activer cette option à moins que vous ne sachiez - réellement - ce
124 que vous faites. Elle autorise APT à supprimer temporairement un paquet
125 essentiel pour mettre fin à une boucle Conflicts / Conflicts ou
126 Conflicts / Pre-Depends entre deux paquets essentiels. UNE TELLE BOUCLE
127 NE DOIT JAMAIS SE PRODUIRE : C'EST UN BOGUE SÉRIEUX. Cette option
128 fonctionne si les paquets essentiels ne sont pas tar, gzip, libc, dpkg, bash
129 ou tous les paquets dont ces paquets dépendent.
132 <VarListEntry><Term>Cache-Limit</Term>
134 APT utilise un fichier cache d'une taille mémoire fixe pour ranger les
135 informations du fichier « available ». Cette option fixe la taille
139 <VarListEntry><Term>Build-Essential</Term>
141 Cette option définit les paquets qui sont considérés comme faisant partie
142 des dépendances essentielles pour la construction des paquets.
145 <VarListEntry><Term>Get</Term>
147 La sous-section <literal/Get/ contrôle l'outil &apt-get;, veuillez consulter
148 sa documentation pour avoir plus d'informations sur les options en question.
151 <VarListEntry><Term>Cache</Term>
153 La sous-section <literal/Cache/ contrôle l'outil &apt-cache;, veuillez
154 consulter sa documentation pour avoir plus d'informations sur les options en
158 <VarListEntry><Term>CDROM</Term>
160 La sous-section <literal/CDROM/ contrôle l'outil &apt-cdrom;, veuillez
161 consulter sa documentation pour avoir plus d'informations sur les options en
167 <RefSect1><Title>Le groupe Acquire</>
169 Le groupe d'options <literal/Acquire/ contrôle le téléchargement des paquets et
170 les gestionnaires d'URI.
173 <VarListEntry><Term>Queue-Mode</Term>
175 Le mode file d'attente ; <literal/Queue-Mode/ peut prendre une valeur
176 parmi <literal/host/ ou <literal/access/ et cela détermine comment APT
177 parallélise les connexions sortantes. <literal/host/ signifie qu'une
178 connexion par cible sera initiée, tandis que <literal/access/ signifie qu'une
179 connexion par type d'URI sera initiée.
182 <VarListEntry><Term>Retries</Term>
184 Nombre d'essais à effectuer. Si ce nombre n'est pas nul, APT essaie de
185 récupérer, le nombre donné de fois, les fichiers dont la récupération a échoué.
188 <VarListEntry><Term>Source-Symlinks</Term>
190 Utilise des liens symboliques pour les archives de sources. Positionnée à
191 « true », cette option crée si possible des liens symboliques vers
192 les archives de sources au lieu de les copier.
193 Par défaut à « true ».
196 <VarListEntry><Term>http</Term>
198 HTTP URIs; http::Proxy est le mandataire (proxy) http à utiliser par défaut.
199 Il se présente sous la forme standard :
200 <literal>http://[[user][:pass]@]host[:port]/</>. En utilisant la syntaxe :
201 <literal/http::Proxy::<host>/, où le mot-clé spécial <literal/DIRECT/
202 indique de n'utiliser aucun mandataire, on peut spécifier un mandataire
203 pour chaque machine distante. La variable d'environnement <envar/http_proxy/
204 remplace tous ces paramètres.
206 Trois options de configuration sont fournies pour le contrôle des caches qui
207 sont compatibles avec HTTP/1.1. <literal/No-Cache/ signifie que le mandataire
208 ne doit pas du tout utiliser les réponses qu'il a stockées ; <literal/Max-Age/
209 sert uniquement pour les fichiers d'index : cela demande au cache de les
210 mettre à jour quand leur ancienneté est supérieure au nombre de secondes
211 donné. Debian met à jour son fichier d'index de manière journalière, la
212 valeur par défaut est donc de 1 jour. <literal/No-Store/ sert uniquement
213 pour les fichiers d'archive : cela demande au cache de ne jamais garder
214 la requête. Cela peut éviter de polluer un cache mandataire avec des
215 fichiers .deb très grands. Note : Squid 2.0.2 ne prend en compte aucune de
218 L'option <literal/timeout/ positionne le compteur de temps mort (timeout)
219 utilisé par la méthode : cela vaut pour tout (connexion, données).
221 Une option de configuration est fournie pour contrôler la profondeur du tube
222 pour le cas où un serveur distant n'est pas conforme à la RFC ou est bogué
223 (comme Squid 2.0.2). Acquire::http::Pipeline-Depth a une valeur
224 comprise entre 0 et 5 : elle indique le nombre de requêtes en attente qui
225 peuvent être émises. Quand la machine distante ne conserve pas correctement
226 les connexions TCP, on DOIT donner une valeur égale à 0 -- sinon des
227 données seront corrompues. Les machines qui ont besoin de cette option
228 ne respectent pas la RFC 2068.
231 <VarListEntry><Term>ftp</Term>
233 FTP URIs ; ftp::Proxy est le serveur mandataire par défaut à utiliser. Il se
234 présente sous la forme standard :
235 <literal>ftp://[[user][:pass]@]host[:port]/</> ; il est remplacé par la
236 variable d'environnement <envar/ftp_proxy/. Pour utiliser un mandataire ftp,
237 vous devez renseigner l'entrée <literal/ftp::ProxyLogin/ dans le fichier de
238 configuration. Cette entrée spécifie les commandes qui disent au serveur
239 mandataire comment se connecter. Voyez &configureindex; pour savoir
240 comment faire. Les variables de substitution disponibles sont :
241 <literal/$(PROXY_USER)/, <literal/$(PROXY_PASS)/, <literal/$(SITE_USER)/,
242 <literal/$(SITE_PASS)/, <literal/$(SITE)/, et <literal/$(SITE_PORT)/.
243 Chacune correspond à un élément de l'URI.
245 L'option <literal/timeout/ positionne le compteur de temps mort (timeout)
246 utilisé par la méthode : cela vaut pour tout (connexion, données).
248 Plusieurs options de configuration sont fournies pour contrôler le mode
249 passif. Généralement, c'est plus sûr d'activer le mode passif ; cela
250 marche dans presque tous les environnements. Cependant, certaines situations
251 nécessitent que le mode passif soit désactivé et que le mode
252 « port » de ftp
253 soit utilisé à la place. On peut le faire globalement, pour des
254 connexions qui passent par un mandataire ou pour une machine
255 spécifique (examinez le modèle de fichier de configuration).
257 On peut utiliser un mandataire FTP pour atteindre une cible HTTP en
258 positionnant la variable d'environnement <envar/ftp_proxy/ à une url http --
259 consultez la méthode http ci-dessus pour la syntaxe. On ne peut pas fixer
260 cette variable dans le fichier de configuration et il n'est pas recommandé
261 d'utiliser HTTP par FTP à cause de son peu d'efficacité.
263 L'option <literal/ForceExtended/ contrôle l'utilisation des commandes liées
264 à la RFC 2428, <literal/EPSV/ et <literal/EPRT/. Par défaut, elle vaut
265 « false » ; ce qui signifie que ces commandes ne sont
266 utilisées que pour une connexion de type IPv6. Quand elle vaut
267 « true », on les utilise même si la connexion est de type IPv4. La
268 plupart des serveurs FTP ne suivent pas la RFC 2428.
271 <VarListEntry><Term>cdrom</Term>
273 CDROM URIs ; la seule option de configuration pour les URIs de CDROM
274 est le point de montage : <literal/cdrom::Mount/ ; il doit
275 représenter le point de montage du lecteur de cédérom indiqué dans
276 <filename>/etc/fstab</>.
277 On peut fournir d'autres commandes de montage et de démontage quand le
278 point de montage ne peut être listé dans le fichier <filename>/etc/fstab</>
279 (par exemple, un montage SMB ou ...). Syntaxiquement, il faut placer
280 <literallayout>"/cdrom/"::Mount "foo";</literallayout> dans le bloc cdrom.
281 La barre oblique finale est importante. Les commandes de démontage
282 peuvent être spécifiées en utilisant <literal/UMount/.
287 <RefSect1><Title>Les répertoires</>
289 Les répertoires de la section <literal/Dir::State/ concernent le système
290 local. <literal/lists/ est le répertoire où placer les listes de paquets
291 téléchargés et <literal/status/ est le nom du fichier d'état de Dpkg.
292 <literal/preferences/ concerne APT : c'est le nom du fichier des
294 <literal/Dir::State/ contient le répertoire par défaut préfixé à tous les
295 sous-éléments, quand ceux-ci ne commencent pas par <filename>/</>
298 <literal/Dir::Cache/ contient les emplacements qui renseignent sur le
299 cache local : par exemple, les deux caches de paquets
300 <literal/srcpkgcache/ et <literal/pkgcache/, et aussi l'endroit où sont
301 placées les archives téléchargées, <literal/Dir::Cache::archives/. On peut
302 empêcher la création des caches en laissant leur nom en blanc. Cela ralentit
303 le démarrage mais cela sauve de l'espace disque. Il vaut mieux se passer du
304 cache <literal/pkgcache/ plutôt que se passer du cache <literal/srcpkgcache/.
305 Comme pour <literal/Dir::State/, le répertoire par défaut est contenu dans
306 <literal/Dir::Cache/.
308 <literal/Dir::Etc/ contient l'emplacement des fichiers de configuration,
309 <literal/sourcelist/ indique l'emplacement de la liste de sources et
310 <literal/main/ est le fichier de configuration par défaut (le modifier
311 n'a aucun effet, à moins qu'on ne le modifie avec le fichier de
312 configuration indiqué par la variable <envar/APT_CONFIG/).
314 <literal/Dir::Parts/ lit, par ordre d'entrée, tous les fragments de
315 configuration dans le répertoire indiqué. Ensuite, le fichier principal
316 de configuration est chargé.
318 Les programmes binaires sont pointés par <literal/Dir::Bin/.
319 L'emplacement des gestionnaires de méthodes est indiqué par
320 <literal/Dir::Bin::Methods/ ; <literal/gzip/, <literal/Dpkg/, <literal/apt-get/,
321 <literal/dpkg-source/, <literal/dpkg-buildpackage/ et <literal/apt-cache/
322 indiquent l'emplacement des programmes correspondants.
325 <RefSect1><Title>APT et DSelect</>
327 Quand APT est utilisé comme une méthode de &dselect;, plusieurs directives
328 contrôlent le comportement par défaut. On les trouve dans la section
332 <VarListEntry><Term>Clean</Term>
334 Mode de nettoyage du cache ; cette variable peut prendre l'une des valeurs
335 suivantes : « always », « prompt »,
336 « auto », « pre-auto » et « never ».
337 « always » et « prompt » suppriment tous les paquets du
338 cache après la mise à niveau ; « prompt » (valeur par défaut)
339 les supprime après une demande et « auto » ne supprime que les
340 archives qui ne peuvent plus être téléchargées (remplacées, par exemple, par
341 une nouvelle version). « pre-auto » les supprime avant de récupérer
345 <VarListEntry><Term>Options</Term>
347 Le contenu de cette variable est passé à &apt-get; avec les options de la ligne
348 de commande quand ce programme est utilisé dans la phase d'installation.
351 <VarListEntry><Term>UpdateOptions</Term>
353 Le contenu de cette variable est passé à &apt-get; avec les options de la
354 ligne de commande quand ce programme est utilisé dans la phase de mise à jour.
357 <VarListEntry><Term>PromptAfterUpdate</Term>
359 Si cette option est « vraie », l'opération [U]pdate de &dselect;
360 interroge toujours l'utilisateur avant de continuer. Par défaut, ce n'est
361 qu'en cas d'erreur que l'on propose à l'utilisateur d'intervenir.
366 <RefSect1><Title>Comment APT appelle Dpkg</>
368 Plusieurs directives de configuration contrôlent la manière dont APT
369 invoque &dpkg; : elles figurent dans la section <literal/DPkg/.
372 <VarListEntry><Term>Options</Term>
374 Il s'agit d'une liste d'options à passer à dpkg. Les options doivent être
375 déclarées en utilisant la notation de liste et chaque élément de liste est
376 passé comme un seul argument à &dpkg;.
379 <VarListEntry><Term>Pre-Invoke</Term><Term>Post-Invoke</Term>
381 Il s'agit d'une liste de commandes shell à exécuter avant ou après l'appel de
382 &dpkg;. Tout comme pour <literal/Options/, on doit utiliser la notation de
383 liste. Les commandes sont appelées dans l'ordre, en utilisant
384 <filename>/bin/sh</> : APT s'arrête dès que l'une d'elles échoue.
387 <VarListEntry><Term>Pre-Install-Pkgs</Term>
389 Il s'agit d'une liste de commandes shell à exécuter avant d'appeler Dpkg.
390 Tout comme pour <literal/Options/, on doit utiliser la notation de liste.
391 Les commandes sont appelées dans l'ordre, en utilisant
392 <filename>/bin/sh</> : APT s'arrête dès que l'une d'elles échoue. Sur
393 l'entrée standard, APT transmet aux commandes les noms de tous les fichiers
394 .deb qu'il va installer, à raison d'un par ligne.
396 La deuxième version de ce protocole donne plus de renseignements : on
397 obtient la version du protocole, la configuration de APT et les paquets,
398 fichiers ou versions qui ont changé. On autorise cette version en positionnant
399 <literal/DPkg::Tools::Options::cmd::Version/ à 2. <literal/cmd/ est une
400 commande passée à <literal/Pre-Install-Pkgs/.
403 <VarListEntry><Term>Run-Directory</Term>
405 APT se place dans ce répertoire avant d'appeler Dpkg ; par défaut c'est
406 le répertoire <filename>/</>.
409 <VarListEntry><Term>Build-Options</Term>
411 Ces options sont passées à &dpkg-buildpackage; lors de la compilation des
412 paquets ; par défaut la signature est désactivée et tous les binaires sont
418 <RefSect1><Title>Les options de débogage</>
420 La plupart des options de la section <literal/debug/ n'ont aucun intérêt
421 pour le simple utilisateur ; cependant,
422 <literal/Debug::pkgProblemResolver/ affiche d'intéressantes informations sur
423 les décisions que prend la commande dist-upgrade. <literal/Debug::NoLocking/
424 désactive le verrouillage de fichier de manière à ce que APT puisse effectuer
425 quelques opérations sans être « root » et
426 <literal/Debug::pkgDPkgPM/ affiche la ligne de commande à chaque appel de
427 Dpkg. <literal/Debug::IdentCdrom/ désactive l'inclusion de
428 données de type statfs dans les ID de CDROM.
431 <RefSect1><Title>Exemples</>
433 &configureindex; contient un modèle de fichier montrant les valeurs par
434 défaut de toutes les options possibles.
437 <RefSect1><Title>Fichiers</>
439 <filename>/etc/apt/apt.conf</>
442 <RefSect1><Title>Voir aussi</>
444 &apt-cache;, &apt-config;, &apt-preferences;.