apt.conf

Nom

apt.conf -- Fichier de configuration pour APT

Description

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. 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 /usr/share/doc/apt/examples/apt.conf /usr/share/doc/apt/examples/configure-index.gz 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(8) , 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(8) , 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(8) , 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

HTTP URIs; 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

FTP URIs ; 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 /usr/share/doc/apt/examples/configure-index.gz 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

CDROM URIs ; la seule option de configuration pour les URIs 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 ou ...). 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.

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 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(8), 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(8) 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(8) 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(8) 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(8)  : 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(8) .

Pre-Invoke, Post-Invoke

Il s'agit d'une liste de commandes shell à exécuter avant ou après l'appel de dpkg(8) . 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(1) 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.

Exemples

/usr/share/doc/apt/examples/configure-index.gz 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(8) , apt-config(8), apt_preferences(5).

Bogues

Voyez la page concernant les bogues de APT. Si vous voulez rapporter un bogue, consultez le texte /usr/share/doc/debian/bug-reporting.txt ou utilisez la commande reportbug(1) .

Auteur

APT a été écrit par l'équipe APT .

Traduction

Jérôme Marant. 2000 ; mise à jour : Philippe Batailler. 2003.