%aptent; ]> &apt-author.jgunthorpe; &apt-author.team; &apt-email; &apt-product; 11 juillet 2008 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 la configuration désignée par variable d'environnement APT_CONFIG (si elle existe), 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 prévalent sur 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. Il n'y a pas d'héritage des options des groupes 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 traitée comme un commentaire et ignorée, de même que les sections de texte placées entre /* et */, tout comme les commentaires C/C++. 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 une liste en ouvrant un champ d'action et en y insérant une chaîne entre guillemets suivie d'un point virgule pour chaque élément de la liste. DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; Les modèles &docdir;examples/apt.conf et &configureindex; montrent à quoi devrait ressembler le fichier de configuration. Les identifiants des options de configuration ne sont pas sensibles à la casse. Dans l'exemple précédent, on pourrait donc aussi bien utiliser dpkg::pre-install-pkgs. 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 auquel cas le répertoire entier est inclus. #clear sert à effacer une partie de l'arbre de configuration. L'élément désigné et tout ses descendants sont supprimés. Tous les outils d'APT possèdent une option 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 le comportement global d'APT et contient également des options communes à tous les outils. Architecture L'architecture du système ; cette option positionne l'architecture à utiliser pour récupérer des fichiers et analyser des listes de paquets. La valeur interne par défaut est l'architecture pour laquelle APT a été compilé. Default-Release Indique la distribution à utiliser par défaut lors de l'installation d'un paquet si plusieurs versions sont disponibles. La valeur peut être un nom de distribution ou un numéro de version. Exemples : « stable », « testing », « 4.0 », « 5.0* ». Les noms de codes des distributions (« etch », « lenny », etc.) ne sont pas permis pour l'instant. Voir aussi &apt-preferences;. 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 du cache tout paquet qui ne peut plus être récupéré. 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;. Ça peut être nécessaire sur des systèmes à un seul utilisateur extrêmement lents, mais cette option est très dangereuse et 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 de cache chargé en mémoire avec mmap pour ranger les informations sur les paquets disponibles. Cette option fixe la taille mémoire allouée pour le chargement 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 de 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. PDiffs Essayer de télécharger les fichiers différentiels appelés PDiffs pour les paquets ou les fichiers sources, plutôt que de les télécharger entièrement. Par défaut à « true ». Queue-Mode Le mode de file d'attente ; Queue-Mode peut prendre les valeurs 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]/. On peut spécifier un mandataire particulier par hôte distant en utilisant la syntaxe : http::Proxy::<hôte>. Le mot-clé spécial DIRECT indique alors de n'utiliser aucun mandataire pour l'hôte. Lorsqu'elle est définie, la variable d'environnement http_proxy annule et remplace toutes les options de mandataire HTTP. Trois options de configuration sont fournies pour le contrôle des caches compatibles avec HTTP/1.1. No-Cache signifie que le mandataire ne doit jamais 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 ses fichiers d'index de manière quotidienne ; la valeur par défaut est donc de 1 jour. No-Store sert uniquement pour les fichiers d'archive  et 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 et 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. https URI HTTPS. Les options de contrôle de cache et de mandataire (proxy) sont les mêmes que pour la méthode http. L'option Pipeline-Depth n'est pas encore supportée. La sous-option CaInfo spécifie le fichier contenant les informations sur les certificats de confiance. La sous-option booléenne Verify-Peer précise si le certificat d'hôte du serveur doit être confronté aux certificats de confiance ou pas. La sous-option booléenne Verify-Host précise s'il faut vérifier ou pas le nom d'hôte du serveur. SslCert détermine le certificat à utiliser pour l'authentification du client. SslKey détermine quelle clef privée doit être utilisée pour l'authentification du client. SslForceVersion surcharge la valeur par défaut pour la version de SSL à utiliser et peut contenir l'une des chaînes 'TLSv1' ou 'SSLv3'. Chacune de ces options peut être spécifiée pour un hôte particulier en utilisant <hôte>::CaInfo, <hôte>::Verify-Peer, <hôte>::Verify-Host, <hôte>::SslCert, <hôte>::SslKey et <hôte>::SslForceVersion respectivement. ftp URI FTP ; ftp::Proxy est le mandataire (proxy) FTP à utiliser par défaut. Il se présente sous la forme standard : ftp://[[user][:pass]@]host[:port]/. On peut spécifier un mandataire particulier par hôte distant en utilisant la syntaxe : ftp::Proxy::<hôte>. Le mot-clé spécial DIRECT indique alors de n'utiliser aucun mandataire pour l'hôte. Lorsqu'elle est définie, la variable d'environnement ftp_proxy annule et replace toutes les options de mandataire FTP. Pour utiliser un mandataire FTP, vous devrez renseigner l'entrée ftp::ProxyLogin dans le fichier de configuration. Cette entrée spécifie les commandes à envoyer au mandataire pour lui préciser à quoi il doit 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 à l'élément respectif de l'URI. L'option timeout positionne le compteur de temps mort (timeout) utilisé par la méthode. Cela vaut pour tout, connexion et données. Plusieurs options de configuration sont fournies pour contrôler le mode passif. Il est généralement plus sûr d'activer le mode passif et 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). Il est possible de faire transiter le trafic FTP par un mandataire 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 le faire dans le fichier de configuration et il n'est de toute façon pas recommandé d'utiliser FTP au travers de HTTP en raison la faible efficacité de cette méthode. 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 cédérom ; la seule option de configuration pour les URI de cédérom 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 saisissant un nom vide. Cela ralentit le démarrage mais 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. L'option de configuration RootDir a une signification particulière. Lorsqu'elle est définie, tous les chemins déclarés dans Dir:: sont considérés relativement à RootDir, même les chemins spécifiés de manière absolue. Ainsi par exemple si RootDir est défini comme /tmp/staging, et que chemin du fichier d'état Dir::State::status est déclaré comme /var/lib/dpkg/status alors ce fichier sera cherché dans /tmp/staging/var/lib/dpkg/status. 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é comme options de ligne de commande à &apt-get; lors de la phase d'installation. UpdateOptions Le contenu de cette variable est passé comme options de ligne de commande à &apt-get; lors de 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 la liste est passé comme un seul argument à &dpkg;. Pre-InvokePost-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. Options « Periodic » et « Archive » Les groupes d'options APT::Periodic et APT::Archive configurent les comportements périodiques réalisés par le script /etc/cron.daily/apt, lancé quotidiennement. APT::Periodic Les options de cette section permettent de configurer la fréquence d'exécution des tâches APT lancées automatiquement. Ces paramètre prennent comme valeurs des périodicités d'exécution en nombre de jours. Update-Package-List : périodicité de mise à jour de la liste des paquets disponibles. (0 = désactivé) Download-Upgradable-Packages : périodicité de téléchargement dans le cache des paquets pour lesquels une mise à jour est disponible. (0 = désactivé) AutocleanInterval : périodicité des « autoclean », c'est à dire de la suppression du cache des paquets qui ne peuvent plus être téléchargés. (0 = désactivé) Unattended-Upgrade : périodicité de mise à jour automatique du système sans intervention humaine. Le paquet unattended-upgrades doit être installé pour que cette tâche s'exécute. Le cas échéant un fichier journal est écrit dans /var/log/unattended-upgrades. (0 = désactivé) APT::Archive Les options de la section APT::Archive permettent de contrôler la taille du cache de paquets. MaxAge : ancienneté maximale d'un paquet dans le cache, en nombre de jours. Les paquets plus anciens sont supprimés. (0 = désactivé) MaxSize : taille maximale du cache en Mo. (0 = désactive) Si ce maximum est dépassé, des paquets sont supprimés jusqu'à ce que la taille du cache repasse sous la limite. Les paquets les plus volumineux sont supprimés en premier. MinAge : age minimum d'un paquet du cache, en nombre de jours (0 = désactivé). Un paquet plus récent ne sera pas supprimé. Cette option est utile pour garder à disposition une version des paquets en cas de problème grave. Les options de débogage Les options de la section Debug:: servent soit à provoquer l'affichage d'informations de débogage sur la sortie d'erreur standard du programme qui utilise les librairies APT, soit à activer des modes de fonctionnement spéciaux qui sont principalement utiles pour déboguer le comportement de APT. La plupart de ces options n'ont pas d'intérêt pour un utilisateur normal, mais certaines peuvent tout de même être utiles : Debug::pkgProblemResolver affiche d'intéressantes informations sur les décisions prises par les commandes dist-upgrade, upgrade, install, remove et purge. Debug::NoLocking désactive le verrouillage de fichier de manière à ce que APT puisse effectuer quelques opérations (telles que apt-get -s install) sans être « root ». 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 cédérom. Voici une liste complète des options de débogage de APT. Debug::Acquire::cdrom Affiche les informations concernant les sources de type cdrom:// Debug::Acquire::ftp Affiche les informations concernant le téléchargement de paquets par FTP. Debug::Acquire::http Affiche les informations concernant le téléchargement de paquets par HTTP. Debug::Acquire::https Affiche les informations concernant le téléchargement de paquets par HTTPS. Debug::Acquire::gpgv Affiche les informations relatives à la vérification de signatures cryptographiques avec gpg. Debug::aptcdrom Affiche des informations concernant l'accès aux collections de paquets stockées sur cédérom. Debug::BuildDeps Décrit le processus de résolution des dépendances pour la construction de paquets source ( « build-dependencies » ) par &apt-get;. Debug::Hashes Affiche toutes les clefs de hachage cryptographiques générées par les librairies APT. Debug::IdentCdrom Désactive l'inclusion des données de type statfs pour la génération des ID de cédérom, à savoir le nombre de blocs libres et utilisés sur le système de fichier du cédérom. Debug::NoLocking Désactive le verrouillage de fichiers. Cela permet par exemple de lancer deux instances de « apt-get update » en même temps. Debug::pkgAcquire Trace les ajouts et suppressions d'éléments de la queue globale de téléchargement. Debug::pkgAcquire::Auth Affiche les détails de la vérification des sommes de contrôle et des signatures cryptographiques des fichiers téléchargés, ainsi que les erreurs éventuelles. Debug::pkgAcquire::Diffs Affiche les informations de téléchargement et de prise en compte des fichiers différentiels des indexes de paquets, ainsi que les erreurs éventuelles. Debug::pkgAcquire::RRed Affiche les détails de la vérification des sommes de contrôle et des signatures cryptographiques des fichiers téléchargés, ainsi que les erreurs éventuelles. Debug::pkgAcquire::Worker Affiche toutes les interactions avec les processus enfants qui se chargent effectivement des téléchargements. Debug::pkgAcquire::pkgAutoRemove Affiche les changements concernant le marquage des paquets comme installés automatiquement, et la suppression des paquets inutiles. Debug::pkgDepCache::AutoInstall Génère les informations de débogage décrivant quels paquets sont installés automatiquement pour satisfaire les dépendances. Cela concerne la passe initiale d'installation automatique effectuée par exemple par apt-get install et pas le système de résolution de dépendances complet de APT ; voir Debug::pkgProblemResolver pour ce dernier. Debug::pkgInitConfig Au lancement, affiche l'ensemble de la configuration sur la sortie d'erreur standard. Debug::pkgDPkgPM Affiche la commande exacte d'invocation de &dpkg; à chaque appel ; les arguments sont séparés par des espaces. Debug::pkgDPkgProgressReporting Affiche l'ensemble des informations reçues de &dpkg; par l'intermédiaire du descripteur de fichier d'état, et les éventuelles erreurs d'analyse de ce fichier. Debug::pkgOrderList Affiche les étapes de l'algorithme utilisé pour choisir l'ordre dans lequel APT passe les paquets à &dpkg;. Debug::pkgPackageManager Affiche le détail des opérations liées à l'invocation de &dpkg;. Debug::pkgPolicy Au lancement, affiche la priorité de chaque liste de paquets. Debug::pkgProblemResolver Affiche la trace d'exécution du système de résolution de dépendances (ne concerne que les cas où un problème de dépendances complexe se présente). Debug::sourceList Affiche les fournisseurs déclarés dans le fichier /etc/apt/vendors.list. Exemples Le fichier &configureindex; contient un modèle de fichier montrant des exemples pour toutes les options existantes. Fichiers /etc/apt/apt.conf Voir aussi &apt-cache;, &apt-config;, &apt-preferences;. &manbugs; &deux-traducteurs;