&apt-author.jgunthorpe; &apt-author.team; &apt-email; &apt-product; 29 Février 2004
apt.conf
5

# apt.conf

Fichier de configuration pour APT

## Description

Le fichier `apt.conf` est le principal fichier de configuration de la collection d'outils que constitue APT ; tous les outils font appel à ce fichier de configuration et utilisent un analyseur syntaxique en ligne de commande commun afin de fournir un environnement uniforme. Quand un outil d'APT démarre, il lit (si elle existe) la variable d'environnement `APT_CONFIG` ; puis il lit les fichiers situés dans `Dir::Etc::Parts` ainsi que le principal fichier de configuration indiqué par `Dir::Etc::main` ; enfin il applique les options de la ligne de commande qui annulent les directives de configuration, chargeant, si nécessaire, d'autres fichiers de configuration.

Le fichier de configuration est construit comme un arbre d'options organisées en groupes fonctionnels. On se sert du double deux points (« :: ») pour indiquer une option ; par exemple, `APT::Get::Assume-Yes` est une option pour le groupe d'outils APT, destinée à l'outil Get. Les options n'héritent pas des groupes de leurs parents.

Syntaxiquement, le langage de configuration est conçu sur le même modèle que les langages utilisés par des outils ISC tels que bind et dhcp. Une ligne qui commence par `//` est un commentaire et elle est ignorée. Chaque ligne est de la forme : `APT::Get::Assume-Yes "true";` Le point-virgule final est obligatoire et les guillemets sont optionnels. On peut déclarer un nouveau champ d'action avec des accolades, comme suit :

    APT {
      Get {
        Assume-Yes "true";
        Fix-Broken "true";
      };
    };

avec des retours à la ligne pour faciliter la lecture. On peut créer des listes en ouvrant un champ d'action et en mettant un seul mot entre apostrophes suivi d'un point-virgule. On peut mettre plusieurs entrées, séparées par un point-virgule.

    DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};

Les modèles `&docdir;examples/apt.conf` &configureindex; montrent à quoi devrait ressembler le fichier de configuration.

Deux éléments spéciaux sont autorisés : `#include` et `#clear`. `#include` inclut le fichier donné en argument, à moins que le nom ne se termine par une barre oblique. `#clear` sert à effacer une liste de noms.

Tous les outils d'APT possèdent une option `-o` qui permet de spécifier une configuration arbitraire depuis la ligne de commande. La syntaxe consiste en un nom complet d'option (par exemple `APT::Get::Assume-Yes`) suivi par un signe égal, puis par la nouvelle valeur de l'option. On peut compléter une liste en ajoutant un « :: » au nom de la liste.

## Le groupe APT

Ce groupe d'options contrôle aussi bien le comportement global d'APT que la prise en compte des options pour chaque outil.

Architecture

  L'architecture du système ; cette option positionne l'architecture à utiliser pour récupérer des fichiers et analyser des listes de paquets. L'architecture interne par défaut est celle pour laquelle APT a été compilé.

Ignore-Hold

  Ignore les paquets « gelés » ; cette option globale indique au système de résolution de ne pas tenir compte des paquets « gelés » dans sa prise de décision.

Clean-Installed

  Avec cette option qui est activée par défaut, la fonctionnalité « autoclean » supprime tout paquet qui ne peut plus être récupéré dans le cache. Quand cette option est désactivée, les paquets qui sont installés localement sont aussi exclus du nettoyage - mais notez que APT ne fournit aucun moyen direct pour les réinstaller.

Immediate-Configure

  Désactive la configuration immédiate ; cette dangereuse option désactive une partie du code de mise en ordre de APT pour que ce dernier effectue le moins d'appels possible à Dpkg. C'est peut-être nécessaire sur des systèmes lents à un seul utilisateur mais c'est extrêmement dangereux et cela peut faire échouer les scripts d'installation, voire pire. Utilisez-la à vos risques et périls.

Force-LoopBreak

  Ne jamais activer cette option à moins que vous ne sachiez - réellement - ce que vous faites. Elle autorise APT à supprimer temporairement un paquet essentiel pour mettre fin à une boucle Conflicts / Conflicts ou Conflicts / Pre-Depends entre deux paquets essentiels. UNE TELLE BOUCLE NE DOIT JAMAIS SE PRODUIRE : C'EST UN BOGUE SÉRIEUX. Cette option fonctionne si les paquets essentiels ne sont pas tar, gzip, libc, dpkg, bash ou tous les paquets dont ces paquets dépendent.

Cache-Limit

  APT utilise un fichier cache d'une taille mémoire fixe pour ranger les informations du fichier « available ». Cette option fixe la taille de ce cache.

Build-Essential

  Cette option définit les paquets qui sont considérés comme faisant partie des dépendances essentielles pour la construction des paquets.

Get

  La sous-section `Get` contrôle l'outil &apt-get;, veuillez consulter sa documentation pour avoir plus d'informations sur les options en question.

Cache

  La sous-section `Cache` contrôle l'outil &apt-cache;, veuillez consulter sa documentation pour avoir plus d'informations sur les options en question.

CDROM

  La sous-section `CDROM` contrôle l'outil&apt-cdrom;, veuillez consulter sa documentation pour avoir plus d'informations sur les options en question.

## Le groupe Acquire

Le groupe d'options `Acquire` contrôle le téléchargement des paquets et les gestionnaires d'URI.

Queue-Mode

  Le mode file d'attente ; `Queue-Mode` peut prendre une valeur parmi `host` ou `access` et cela détermine comment APT parallélise les connexions sortantes. `Host` signifie qu'une connexion par cible sera initiée, tandis que `access` signifie qu'une connexion par type d'URI sera initiée.

Retries

  Nombre d'essais à effectuer. Si ce nombre n'est pas nul, APT essaie de récupérer, le nombre donné de fois, les fichiers dont la récupération a échoué.

Source-Symlinks

  Utilise des liens symboliques pour les archives de sources. Positionnée à « true », cette option crée si possible des liens symboliques vers les archives de sources au lieu de les copier. Par défaut à « true ».

http

  URI HTTP ; http::Proxy est le mandataire (proxy) http à utiliser par défaut. Il se présente sous la forme standard : `http://[[user][:pass]@]host[:port]/`. En utilisant la syntaxe : `http::Proxy::<host>`, où le mot-clé spécial `DIRECT` indique de n'utiliser aucun mandataire, on peut spécifier un mandataire pour chaque machine distante. La variable d'environnement `http_proxy` remplace tous ces paramètres.

  Trois options de configuration sont fournies pour le contrôle des caches qui sont compatibles avec HTTP/1.1. `No-Cache` signifie que le mandataire ne doit pas du tout utiliser les réponses qu'il a stockées ; `Max-Age` sert uniquement pour les fichiers d'index : cela demande au cache de les mettre à jour quand leur ancienneté est supérieure au nombre de secondes donné. Debian met à jour son fichier d'index de manière journalière, la valeur par défaut est donc de 1 jour. `No-Store` sert uniquement pour les fichiers d'archive : cela demande au cache de ne jamais garder la requête. Cela peut éviter de polluer un cache mandataire avec des fichiers .deb très grands. Note : Squid 2.0.2 ne prend en compte aucune de ces options.

  L'option `timeout` positionne le compteur de temps mort (timeout) utilisé par la méthode : cela vaut pour tout (connexion, données).

  Une option de configuration est fournie pour contrôler la profondeur du tube pour le cas où un serveur distant n'est pas conforme à la RFC ou est bogué (comme Squid 2.0.2). `Acquire::http::Pipeline-Depth` a une valeur comprise entre 0 et 5 : elle indique le nombre de requêtes en attente qui peuvent être émises. Quand la machine distante ne conserve pas correctement les connexions TCP, on DOIT donner une valeur égale à 0 -- sinon des données seront corrompues. Les machines qui ont besoin de cette option ne respectent pas la RFC 2068.

ftp

  URI FTP ; ftp::Proxy est le serveur mandataire par défaut à utiliser. Il se présente sous la forme standard : `ftp://[[user][:pass]@]host[:port]/` ; il est remplacé par la variable d'environnement `ftp_proxy`. Pour utiliser un mandataire ftp, vous devez renseigner l'entrée `ftp::ProxyLogin` dans le fichier de configuration. Cette entrée spécifie les commandes qui disent au serveur mandataire comment se connecter. Voyez &configureindex; pour savoir comment faire. Les variables de substitution disponibles sont : `$(PROXY_USER)`, `$(PROXY_PASS)`, `$(SITE_USER)`, `$(SITE_PASS)`, `$(SITE)`, et `$(SITE_PORT)`. Chacune correspond à un élément de l'URI.

  L'option `timeout` positionne le compteur de temps mort (timeout) utilisé par la méthode : cela vaut pour tout (connexion, données).

  Plusieurs options de configuration sont fournies pour contrôler le mode passif. Généralement, c'est plus sûr d'activer le mode passif ; cela marche dans presque tous les environnements. Cependant, certaines situations nécessitent que le mode passif soit désactivé et que le mode « port » de ftp soit utilisé à la place. On peut le faire globalement, pour des connexions qui passent par un mandataire ou pour une machine spécifique (examinez le modèle de fichier de configuration).

  On peut utiliser un mandataire FTP pour atteindre une cible HTTP en positionnant la variable d'environnement `ftp_proxy` à une url http -- consultez la méthode http ci-dessus pour la syntaxe. On ne peut pas fixer cette variable dans le fichier de configuration et il n'est pas recommandé d'utiliser HTTP par FTP à cause de son peu d'efficacité.

  L'option `ForceExtended` contrôle l'utilisation des commandes liées à la RFC 2428, `EPSV` et `EPRT`. Par défaut, elle vaut « false » ; ce qui signifie que ces commandes ne sont utilisées que pour une connexion de type IPv6. Quand elle vaut « true », on les utilise même si la connexion est de type IPv4. La plupart des serveurs FTP ne suivent pas la RFC 2428.

cdrom

  URI CDROM ; la seule option de configuration pour les URI de CDROM est le point de montage : `cdrom::Mount` ; il doit représenter le point de montage du lecteur de cédérom indiqué dans `/etc/fstab`. On peut fournir d'autres commandes de montage et de démontage quand le point de montage ne peut être listé dans le fichier `/etc/fstab` (par exemple, un montage SMB). Syntaxiquement, il faut placer

      "/cdrom/"::Mount "foo";

  dans le bloc cdrom. La barre oblique finale est importante. Les commandes de démontage peuvent être spécifiées en utilisant `UMount`.
gpgv

  URI GPGV ; la seule option pour les URI GPGV est celle qui permet de passer des paramètres à gpgv. `gpgv::Options` Options supplémentaires passées à gpgv.

## Les répertoires

Les répertoires de la section `Dir::State` concernent le système local. `lists` est le répertoire où placer les listes de paquets téléchargés et `status` est le nom du fichier d'état de Dpkg. `preferences` concerne APT : c'est le nom du fichier des préférences. `Dir::State` contient le répertoire par défaut préfixé à tous les sous-éléments, quand ceux-ci ne commencent pas par `/` ou `./`.

`Dir::Cache` contient les emplacements qui renseignent sur le cache local : par exemple, les deux caches de paquets `srcpkgcache` et `pkgcache`, et aussi l'endroit où sont placées les archives téléchargées, `Dir::Cache::archives`. On peut empêcher la création des caches en laissant leur nom en blanc. Cela ralentit le démarrage mais cela sauve de l'espace disque. Il vaut mieux se passer du cache `pkgcache` plutôt que se passer du cache `srcpkgcache`. Comme pour `Dir::State`, le répertoire par défaut est contenu dans `Dir::Cache`.

`Dir::Etc` contient l'emplacement des fichiers de configuration, `sourcelist` indique l'emplacement de la liste de sources et `main` est le fichier de configuration par défaut (le modifier n'a aucun effet, à moins qu'on ne le modifie avec le fichier de configuration indiqué par la variable `APT_CONFIG`).

`Dir::Parts` lit, par ordre d'entrée, tous les fragments de configuration dans le répertoire indiqué. Ensuite, le fichier principal de configuration est chargé.

Les programmes binaires sont pointés par `Dir::Bin`. L'emplacement des gestionnaires de méthodes est indiqué par `Dir::Bin::Methods` ; `gzip`, `Dpkg`, `apt-get`, `dpkg-source`, `dpkg-buildpackage` et `apt-cache` indiquent l'emplacement des programmes correspondants.

## APT et DSelect

Quand APT est utilisé comme une méthode de &dselect;, plusieurs directives contrôlent le comportement par défaut. On les trouve dans la section `DSelect`.

Clean

  Mode de nettoyage du cache ; cette variable peut prendre l'une des valeurs suivantes : « always », « prompt », « auto », « pre-auto » et « never ». « always » et « prompt » suppriment tous les paquets du cache après la mise à niveau ; « prompt » (valeur par défaut) les supprime après une demande et « auto » ne supprime que les archives qui ne peuvent plus être téléchargées (remplacées, par exemple, par une nouvelle version). « pre-auto » les supprime avant de récupérer de nouveaux paquets.

Options

  Le contenu de cette variable est passé à &apt-get; avec les options de la ligne de commande quand ce programme est utilisé dans la phase d'installation.

UpdateOptions

  Le contenu de cette variable est passé à &apt-get; avec les options de la ligne de commande quand ce programme est utilisé dans la phase de mise à jour.

PromptAfterUpdate

  Si cette option est « vraie », l'opération [U]pdate de &dselect; interroge toujours l'utilisateur avant de continuer. Par défaut, ce n'est qu'en cas d'erreur que l'on propose à l'utilisateur d'intervenir.

## Comment APT appelle Dpkg

Plusieurs directives de configuration contrôlent la manière dont APT invoque &dpkg; : elles figurent dans la section `DPkg`.

Options

  Il s'agit d'une liste d'options à passer à dpkg. Les options doivent être déclarées en utilisant la notation de liste et chaque élément de liste est passé comme un seul argument à &dpkg;.

Pre-Invoke
Post-Invoke

  Il s'agit d'une liste de commandes shell à exécuter avant ou après l'appel de &dpkg;. Tout comme pour `Options`, on doit utiliser la notation de liste. Les commandes sont appelées dans l'ordre, en utilisant `/bin/sh` : APT s'arrête dès que l'une d'elles échoue.

Pre-Install-Pkgs

  Il s'agit d'une liste de commandes shell à exécuter avant d'appeler Dpkg. Tout comme pour `Options`, on doit utiliser la notation de liste. Les commandes sont appelées dans l'ordre, en utilisant `/bin/sh` : APT s'arrête dès que l'une d'elles échoue. Sur l'entrée standard, APT transmet aux commandes les noms de tous les fichiers .deb qu'il va installer, à raison d'un par ligne.

  La deuxième version de ce protocole donne plus de renseignements : on obtient la version du protocole, la configuration de APT et les paquets, fichiers ou versions qui ont changé. On autorise cette version en positionnant `DPkg::Tools::Options::cmd::Version` à 2. `cmd` est une commande passée à `Pre-Install-Pkgs`.

Run-Directory

  APT se place dans ce répertoire avant d'appeler Dpkg ; par défaut c'est le répertoire `/`.

Build-Options

  Ces options sont passées à &dpkg-buildpackage; lors de la compilation des paquets ; par défaut la signature est désactivée et tous les binaires sont créés.

## Les options de débogage

La plupart des options de la section `debug` n'ont aucun intérêt pour le simple utilisateur ; cependant, `Debug::pkgProblemResolver` affiche d'intéressantes informations sur les décisions que prend la commande dist-upgrade. `Debug::NoLocking` désactive le verrouillage de fichier de manière à ce que APT puisse effectuer quelques opérations sans être « root » et `Debug::pkgDPkgPM` affiche la ligne de commande à chaque appel de Dpkg. `Debug::IdentCdrom` désactive l'inclusion de données de type statfs dans les ID de CDROM. `Debug::Acquire::gpgv` Débogage de la méthode gpgv.

## Exemples

Le fichier &configureindex; contient un modèle de fichier montrant les valeurs par défaut de toutes les options possibles.

## Fichiers

`/etc/apt/apt.conf`

## Voir aussi

&apt-cache;, &apt-config;, &apt-preferences;.

&manbugs; &deux-traducteurs;