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