1 <!-- -*- mode: sgml; mode: fold -*- -->
2 <!-- translation of version 1.9 -->
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. Chaque
44 ligne est de la forme :
45 <literallayout>APT::Get::Assume-Yes "true";</literallayout>
46 Le point-virgule final est obligatoire et les guillemets sont optionnels.
47 On peut déclarer un nouveau champ d'action avec des accolades, comme
49 <informalexample><programlisting>
56 </programlisting></informalexample>
57 avec des retours à la ligne pour faciliter la lecture. On peut créer des
58 listes en ouvrant un champ d'action et en mettant un seul mot entre
59 apostrophes suivi d'un point-virgule. On peut mettre plusieurs entrées,
60 séparées par un point-virgule.
61 <informalexample><programlisting>
62 DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
63 </programlisting></informalexample>
65 Les modèles <filename>&docdir;examples/apt.conf</> &configureindex;
66 montrent à quoi devrait ressembler le fichier de configuration.
68 Deux éléments spéciaux sont autorisés : <literal/#include/ et
69 <literal/#clear/. <literal/#include/ inclut le fichier donné en argument, à
70 moins que le nom ne se termine par une barre oblique. <literal/#clear/ sert à
71 effacer une liste de noms.
73 Tous les outils d'APT possèdent une option <option>-o</> qui permet de
74 spécifier une configuration arbitraire depuis la ligne de commande. La
75 syntaxe consiste en un nom complet d'option (par exemple
76 <literal/APT::Get::Assume-Yes/) suivi par un signe égal, puis par la nouvelle
77 valeur de l'option. On peut compléter une liste en ajoutant un « :: » au nom
81 <RefSect1><Title>Le groupe APT</>
83 Ce groupe d'options contrôle aussi bien le comportement global d'APT que
84 la prise en compte des options pour chaque outil.
87 <VarListEntry><Term>Architecture</Term>
89 L'architecture du système ; cette option positionne l'architecture à utiliser
90 pour récupérer des fichiers et analyser des listes de paquets. L'architecture
91 interne par défaut est celle pour laquelle APT a été compilé.
94 <VarListEntry><Term>Ignore-Hold</Term>
96 Ignore les paquets « gelés » ; cette option globale indique au
97 système de résolution de ne pas tenir compte des paquets « gelés »
98 dans sa prise de décision.
101 <VarListEntry><Term>Clean-Installed</Term>
103 Avec cette option qui est activée par défaut, la fonctionnalité « autoclean »
104 supprime tout paquet qui ne peut plus être récupéré dans le cache.
105 Quand cette option est désactivée, les paquets qui sont installés localement
106 sont aussi exclus du nettoyage - mais notez que APT ne fournit aucun moyen
107 direct pour les réinstaller.
110 <VarListEntry><Term>Immediate-Configure</Term>
112 Désactive la configuration immédiate ; cette dangereuse option désactive
113 une partie du code de mise en ordre de APT pour que ce dernier effectue le
114 moins d'appels possible à Dpkg. C'est peut-être nécessaire sur des systèmes
115 lents à un seul utilisateur mais c'est extrêmement dangereux et cela peut
116 faire échouer les scripts d'installation, voire pire.
117 Utilisez-la à vos risques et périls.
120 <VarListEntry><Term>Force-LoopBreak</Term>
122 Ne jamais activer cette option à moins que vous ne sachiez - réellement - ce
123 que vous faites. Elle autorise APT à supprimer temporairement un paquet
124 essentiel pour mettre fin à une boucle Conflicts / Conflicts ou
125 Conflicts / Pre-Depends entre deux paquets essentiels. UNE TELLE BOUCLE
126 NE DOIT JAMAIS SE PRODUIRE : C'EST UN BOGUE SÉRIEUX. Cette option
127 fonctionne si les paquets essentiels ne sont pas tar, gzip, libc, dpkg, bash
128 ou tous les paquets dont ces paquets dépendent.
131 <VarListEntry><Term>Cache-Limit</Term>
133 APT utilise un fichier cache d'une taille mémoire fixe pour ranger les
134 informations du fichier « available ». Cette option fixe la taille
138 <VarListEntry><Term>Build-Essential</Term>
140 Cette option définit les paquets qui sont considérés comme faisant partie
141 des dépendances essentielles pour la construction des paquets.
144 <VarListEntry><Term>Get</Term>
146 La sous-section <literal/Get/ contrôle l'outil &apt-get;, veuillez consulter
147 sa documentation pour avoir plus d'informations sur les options en question.
150 <VarListEntry><Term>Cache</Term>
152 La sous-section <literal/Cache/ contrôle l'outil &apt-cache;, veuillez
153 consulter sa documentation pour avoir plus d'informations sur les options en
157 <VarListEntry><Term>CDROM</Term>
159 La sous-section <literal/CDROM/ contrôle l'outil &apt-cdrom;, veuillez
160 consulter sa documentation pour avoir plus d'informations sur les options en
166 <RefSect1><Title>Le groupe Acquire</>
168 Le groupe d'options <literal/Acquire/ contrôle le téléchargement des paquets et
169 les gestionnaires d'URI.
172 <VarListEntry><Term>Queue-Mode</Term>
174 Le mode file d'attente ; <literal/Queue-Mode/ peut prendre une valeur
175 parmi <literal/host/ ou <literal/access/ et cela détermine comment APT
176 parallélise les connexions sortantes. <literal/host/ signifie qu'une
177 connexion par cible sera initiée, tandis que <literal/access/ signifie qu'une
178 connexion par type d'URI sera initiée.
181 <VarListEntry><Term>Retries</Term>
183 Nombre d'essais à effectuer. Si ce nombre n'est pas nul, APT essaie de
184 récupérer, le nombre donné de fois, les fichiers dont la récupération a échoué.
187 <VarListEntry><Term>Source-Symlinks</Term>
189 Utilise des liens symboliques pour les archives de sources. Positionnée à
190 « true », cette option crée si possible des liens symboliques vers
191 les archives de sources au lieu de les copier.
192 Par défaut à « true ».
195 <VarListEntry><Term>http</Term>
197 HTTP URIs; http::Proxy est le mandataire (proxy) http à utiliser par défaut.
198 Il se présente sous la forme standard :
199 <literal>http://[[user][:pass]@]host[:port]/</>. En utilisant la syntaxe :
200 <literal/http::Proxy::<host>/, où le mot-clé spécial <literal/DIRECT/
201 indique de n'utiliser aucun mandataire, on peut spécifier un mandataire
202 pour chaque machine distante. La variable d'environnement <envar/http_proxy/
203 remplace tous ces paramètres.
205 Trois options de configuration sont fournies pour le contrôle des caches qui
206 sont compatibles avec HTTP/1.1. <literal/No-Cache/ signifie que le mandataire
207 ne doit pas du tout utiliser les réponses qu'il a stockées ; <literal/Max-Age/
208 sert uniquement pour les fichiers d'index : cela demande au cache de les
209 mettre à jour quand leur ancienneté est supérieure au nombre de secondes
210 donné. Debian met à jour son fichier d'index de manière journalière, la
211 valeur par défaut est donc de 1 jour. <literal/No-Store/ sert uniquement
212 pour les fichiers d'archive : cela demande au cache de ne jamais garder
213 la requête. Cela peut éviter de polluer un cache mandataire avec des
214 fichiers .deb très grands. Note : Squid 2.0.2 ne prend en compte aucune de
217 L'option <literal/timeout/ positionne le compteur de temps mort (timeout)
218 utilisé par la méthode : cela vaut pour tout (connexion, données).
220 Une option de configuration est fournie pour contrôler la profondeur du tube
221 pour le cas où un serveur distant n'est pas conforme à la RFC ou est bogué
222 (comme Squid 2.0.2). Acquire::http::Pipeline-Depth a une valeur
223 comprise entre 0 et 5 : elle indique le nombre de requêtes en attente qui
224 peuvent être émises. Quand la machine distante ne conserve pas correctement
225 les connexions TCP, on DOIT donner une valeur égale à 0 -- sinon des
226 données seront corrompues. Les machines qui ont besoin de cette option
227 ne respectent pas la RFC 2068.
230 <VarListEntry><Term>ftp</Term>
232 FTP URIs ; ftp::Proxy est le serveur mandataire par défaut à utiliser. Il se
233 présente sous la forme standard :
234 <literal>ftp://[[user][:pass]@]host[:port]/</> ; il est remplacé par la
235 variable d'environnement <envar/ftp_proxy/. Pour utiliser un mandataire ftp,
236 vous devez renseigner l'entrée <literal/ftp::ProxyLogin/ dans le fichier de
237 configuration. Cette entrée spécifie les commandes qui disent au serveur
238 mandataire comment se connecter. Voyez &configureindex; pour savoir
239 comment faire. Les variables de substitution disponibles sont :
240 <literal/$(PROXY_USER)/, <literal/$(PROXY_PASS)/, <literal/$(SITE_USER)/,
241 <literal/$(SITE_PASS)/, <literal/$(SITE)/, et <literal/$(SITE_PORT)/.
242 Chacune correspond à un élément de l'URI.
244 L'option <literal/timeout/ positionne le compteur de temps mort (timeout)
245 utilisé par la méthode : cela vaut pour tout (connexion, données).
247 Plusieurs options de configuration sont fournies pour contrôler le mode
248 passif. Généralement, c'est plus sûr d'activer le mode passif ; cela
249 marche dans presque tous les environnements. Cependant, certaines situations
250 nécessitent que le mode passif soit désactivé et que le mode
251 « port » de ftp
252 soit utilisé à la place. On peut le faire globalement, pour des
253 connexions qui passent par un mandataire ou pour une machine
254 spécifique (examinez le modèle de fichier de configuration).
256 On peut utiliser un mandataire FTP pour atteindre une cible HTTP en
257 positionnant la variable d'environnement <envar/ftp_proxy/ à une url http --
258 consultez la méthode http ci-dessus pour la syntaxe. On ne peut pas fixer
259 cette variable dans le fichier de configuration et il n'est pas recommandé
260 d'utiliser HTTP par FTP à cause de son peu d'efficacité.
262 L'option <literal/ForceExtended/ contrôle l'utilisation des commandes liées
263 à la RFC 2428, <literal/EPSV/ et <literal/EPRT/. Par défaut, elle vaut
264 « false » ; ce qui signifie que ces commandes ne sont
265 utilisées que pour une connexion de type IPv6. Quand elle vaut
266 « true », on les utilise même si la connexion est de type IPv4. La
267 plupart des serveurs FTP ne suivent pas la RFC 2428.
270 <VarListEntry><Term>cdrom</Term>
272 CDROM URIs ; la seule option de configuration pour les URIs de CDROM
273 est le point de montage : <literal/cdrom::Mount/ ; il doit
274 représenter le point de montage du lecteur de cédérom indiqué dans
275 <filename>/etc/fstab</>.
276 On peut fournir d'autres commandes de montage et de démontage quand le
277 point de montage ne peut être listé dans le fichier <filename>/etc/fstab</>
278 (par exemple, un montage SMB ou ...). Syntaxiquement, il faut placer
279 <literallayout>"/cdrom/"::Mount "foo";</literallayout> dans le bloc cdrom.
280 La barre oblique finale est importante. Les commandes de démontage
281 peuvent être spécifiées en utilisant <literal/UMount/.
286 <RefSect1><Title>Les répertoires</>
288 Les répertoires de la section <literal/Dir::State/ concernent le système
289 local. <literal/lists/ est le répertoire où placer les listes de paquets
290 téléchargés et <literal/status/ est le nom du fichier d'état de Dpkg.
291 <literal/preferences/ concerne APT : c'est le nom du fichier des
293 <literal/Dir::State/ contient le répertoire par défaut préfixé à tous les
294 sous-éléments, quand ceux-ci ne commencent pas par <filename>/</>
297 <literal/Dir::Cache/ contient les emplacements qui renseignent sur le
298 cache local : par exemple, les deux caches de paquets
299 <literal/srcpkgcache/ et <literal/pkgcache/, et aussi l'endroit où sont
300 placées les archives téléchargées, <literal/Dir::Cache::archives/. On peut
301 empêcher la création des caches en laissant leur nom en blanc. Cela ralentit
302 le démarrage mais cela sauve de l'espace disque. Il vaut mieux se passer du
303 cache <literal/pkgcache/ plutôt que se passer du cache <literal/srcpkgcache/.
304 Comme pour <literal/Dir::State/, le répertoire par défaut est contenu dans
305 <literal/Dir::Cache/.
307 <literal/Dir::Etc/ contient l'emplacement des fichiers de configuration,
308 <literal/sourcelist/ indique l'emplacement de la liste de sources et
309 <literal/main/ est le fichier de configuration par défaut (le modifier
310 n'a aucun effet, à moins qu'on ne le modifie avec le fichier de
311 configuration indiqué par la variable <envar/APT_CONFIG/).
313 <literal/Dir::Parts/ lit, par ordre d'entrée, tous les fragments de
314 configuration dans le répertoire indiqué. Ensuite, le fichier principal
315 de configuration est chargé.
317 Les programmes binaires sont pointés par <literal/Dir::Bin/.
318 L'emplacement des gestionnaires de méthodes est indiqué par
319 <literal/methods/ ; <literal/gzip/, <literal/Dpkg/, <literal/apt-get/,
320 <literal/dpkg-source/, <literal/dpkg-buildpackage/ et <literal/apt-cache/
321 indiquent l'emplacement des programmes correspondants.
324 <RefSect1><Title>APT et DSelect</>
326 Quand APT est utilisé comme une méthode de &dselect;, plusieurs directives
327 contrôlent le comportement par défaut. On les trouve dans la section
331 <VarListEntry><Term>Clean</Term>
333 Mode de nettoyage du cache ; cette variable peut prendre l'une des valeurs
334 suivantes : « always », « prompt »,
335 « auto », « pre-auto » et « never ».
336 « always » et « prompt » suppriment tous les paquets du
337 cache après la mise à niveau ; « prompt » (valeur par défaut)
338 les supprime après une demande et « auto » ne supprime que les
339 archives qui ne peuvent plus être téléchargées (remplacées, par exemple, par
340 une nouvelle version). « pre-auto » les supprime avant de récupérer
344 <VarListEntry><Term>Options</Term>
346 Le contenu de cette variable est passé à &apt-get; avec les options de la ligne
347 de commande quand ce programme est utilisé dans la phase d'installation.
350 <VarListEntry><Term>UpdateOptions</Term>
352 Le contenu de cette variable est passé à &apt-get; avec les options de la
353 ligne de commande quand ce programme est utilisé dans la phase de mise à jour.
356 <VarListEntry><Term>PromptAfterUpdate</Term>
358 Si cette option est « vraie », l'opération [U]pdate de &dselect;
359 interroge toujours l'utilisateur avant de continuer. Par défaut, ce n'est
360 qu'en cas d'erreur que l'on propose à l'utilisateur d'intervenir.
365 <RefSect1><Title>Comment APT appelle Dpkg</>
367 Plusieurs directives de configuration contrôlent la manière dont APT
368 invoque &dpkg; : elles figurent dans la section <literal/DPkg/.
371 <VarListEntry><Term>Options</Term>
373 Il s'agit d'une liste d'options à passer à dpkg. Les options doivent être
374 déclarées en utilisant la notation de liste et chaque élément de liste est
375 passé comme un seul argument à &dpkg;.
378 <VarListEntry><Term>Pre-Invoke</Term><Term>Post-Invoke</Term>
380 Il s'agit d'une liste de commandes shell à exécuter avant ou après l'appel de
381 &dpkg;. Tout comme pour <literal/Options/, on doit utiliser la notation de
382 liste. Les commandes sont appelées dans l'ordre, en utilisant
383 <filename>/bin/sh</> : APT s'arrête dès que l'une d'elles échoue.
386 <VarListEntry><Term>Pre-Install-Pkgs</Term>
388 Il s'agit d'une liste de commandes shell à exécuter avant d'appeler Dpkg.
389 Tout comme pour <literal/Options/, on doit utiliser la notation de liste.
390 Les commandes sont appelées dans l'ordre, en utilisant
391 <filename>/bin/sh</> : APT s'arrête dès que l'une d'elles échoue. Sur
392 l'entrée standard, APT transmet aux commandes les noms de tous les fichiers
393 .deb qu'il va installer, à raison d'un par ligne.
395 La deuxième version de ce protocole donne plus de renseignements : on
396 obtient la version du protocole, la configuration de APT et les paquets,
397 fichiers ou versions qui ont changé. On autorise cette version en positionnant
398 <literal/DPkg::Tools::Options::cmd::Version/ à 2. <literal/cmd/ est une
399 commande passée à <literal/Pre-Install-Pkgs/.
402 <VarListEntry><Term>Run-Directory</Term>
404 APT se place dans ce répertoire avant d'appeler Dpkg ; par défaut c'est
405 le répertoire <filename>/</>.
408 <VarListEntry><Term>Build-Options</Term>
410 Ces options sont passées à &dpkg-buildpackage; lors de la compilation des
411 paquets ; par défaut la signature est désactivée et tous les binaires sont
417 <RefSect1><Title>Les options de débogage</>
419 La plupart des options de la section <literal/debug/ n'ont aucun intérêt
420 pour le simple utilisateur ; cependant,
421 <literal/Debug::pkgProblemResolver/ affiche d'intéressantes informations sur
422 les décisions que prend la commande dist-upgrade. <literal/Debug::NoLocking/
423 désactive le verrouillage de fichier de manière à ce que APT puisse effectuer
424 quelques opérations sans être « root » et
425 <literal/Debug::pkgDPkgPM/ affiche la ligne de commande à chaque appel de
426 Dpkg. <literal/Debug::IdentCdrom/ désactive l'inclusion de
427 données de type statfs dans les ID de CDROM.
430 <RefSect1><Title>Exemples</>
432 &configureindex; contient un modèle de fichier montrant les valeurs par
433 défaut de toutes les options possibles.
436 <RefSect1><Title>Fichiers</>
438 <filename>/etc/apt/apt.conf</>
441 <RefSect1><Title>Voir aussi</>
443 &apt-cache;, &apt-config;, &apt-preferences;.