APT.CONF(5) | APT | APT.CONF(5) |
NOM¶
apt.conf - Fichier de configuration pour APTDESCRIPTION¶
Le fichier apt.conf est le fichier de configuration principal du l'ensemble de programmes APT, mais n'est de loin pas le seul endroit où des choix d'options peuvent être effectués. L'ensemble des outils partagent leur analyse de la ligne de commande, ce qui permet de garantir un environnement d'utilisation uniforme.Lorsqu'un programme de l'ensemble APT est utilisé, il lit le fichier de configuration dans l'ordre suivant :
SYNTAXE¶
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";. Les guillemets et le point-virgule final sont obligatoire. La valeur doit tenir sur une seule ligne et il n'existe pas de fusion de chaînes. Elle ne doit pas comporter de guillemets et de barre oblique inversée. Le nom d'une option peut contenir des caractères alphanumériques et « /-:._+ ». 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. Des entrées multiples peuvent être incluses, séparées par des points-virgules.
DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
Les modèles /usr/share/doc/apt/examples/configure-index.gz 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.
Les noms des éléments de configuration sont optionnels si une liste est définie, comme cela peut se voir avec l'exemple DPkg::Pre-Install-Pkgs précédent. Si vous n'indiquez pas de nom, une nouvelle entrée ajoutera une nouvelle option à la liste. Dans le cas contraire, l'option correspondante peut être remplacée, comme toute autre option, en lui réaffectant une valeur.
Deux éléments spéciaux sont autorisés : #include (qui est obsolète et n'est plus géré par des implémentations alternatives) et #clear. #include inclut le fichier donné en paramètre, à 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. Veuillez noter que ces lignes doivent également se terminer avec un point-virgule.
La commande #clear est la seule façon de supprimer une liste ou un champ d'action (« scope »). La réouverture d'un scope ou le style « :: » décrit plus loin ne remplaceront pas les entrées écrites précédemment. Les options ne peuvent être remplacées qu'en leur affectant une nouvelle valeur. Les listes et les champs d'action ne peuvent être remplacés mais seulement effacés.
Tous les outils d'APT possèdent une option -o qui permet de spécifier une configuration quelconque 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 :: final au nom de la liste. Comme on peut s'en douter, la syntaxe de champ d'action (« scope ») ne peut pas être indiquée à la ligne de commande.
Veuillez noter que vous ne pouvez utiliser :: que pour ajouter un élément par ligne à la liste et que cela ne devrait pas être utilisé en combinaison avec la syntaxe de champ d'action (« scope ») qui inclut implicitement ::. L'utilisation simultanée des deux syntaxes déclenchera un bogue dont certains utilisateurs se servent comme d'une fonctionnalité : une option avec le nom inhabituel « :: » se comportera comme toute autre option nommée. Cela risque d'avoir de nombreux problèmes comme conséquence, par exemple si un utilisateur écrit plusieurs lignes avec cette syntaxe erronée afin de faire un ajout à la liste, l'effet obtenu sera inverse puisque seule la dernière valeur pour l'option « :: » sera utilisée. Les futures versions d'APT retourneront une erreur et l'exécution sera interrompue si cette utilisation incorrecte est rencontrée. Il est donc conseillé de corriger ces défauts tant qu'APT ne s'en plaint pas explicitement.
LE GROUPE APT¶
Ce groupe d'options contrôle le comportement global d'APT et contient également des options communes à tous les outils.Architecture
Architectures
Compressor
Build-Profiles
Default-Release
Ignore-Hold
Clean-Installed
Immediate-Configure
Le marqueur de configuration immédiate est également utilisé dans le cas potentiellement délicat de dépendances circulaires, car une dépendance avec le marqueur « immediate » est équivalent à une pré-dépendance. Cela permet en théorie à APT de reconnaître le cas où il ne peut effectuer de configuration immédiate et de s'interrompre pour suggérer de désactiver temporairement l'option pour permettre aux opérations de s'effectuer. Veuillez noter l'utilisation du terme « en théorie » : en réalité, ce problème est rarement rencontré, dans des versions non stables de distributions, et était causé par des dépendances incorrectes ou par un système déjà dans un état instable. Vous ne devriez donc pas désactiver cette option sans savoir ce que vous faites car le scénario ci-dessus n'est le seul qu'elle permet d'éviter.
Avant qu'une opération importante comme dist-upgrade ne soit exécutée avec cette option désactivée, vous devriez essayer d'installer (install) explicitement le paquet qu'APT ne peut pas configurer immédiatement. Ne manquez toutefois pas de signaler le problème dans votre distribution et à l'équipe de maintenance d'APT avec le lien de système de gestion de bogues ci-dessous, afin qu'ils puissent améliorer ou corriger les processus de mise à jour.
Force-LoopBreak
Cache-Start, Cache-Grow, Cache-Limit
Build-Essential
Get
Cache
CDROM
LE GROUPE ACQUIRE¶
Le groupe d'options Acquire contrôle le téléchargement des paquets ainsi que les différentes « méthodes d'acquisition » qui effectuent ce téléchargement (voir aussi sources.list(5)).Check-Valid-Until
Max-ValidTime
Min-ValidTime
PDiffs
Deux sous-options permettant de limiter l'utilisation de fichiers « pdiff » sont également disponibles. FileLimit permet d'indiquer le nombre maximal de fichiers de différences peuvent être téléchargés pour modifier un fichier. SizeLimit permet par ailleurs de limiter la taille combinée des fichiers de différences récupérés à un certain pourcentage du fichier à modifier. Si une de ces limites est dépassée, le fichier complet est téléchargé au lieu de télécharger les fichiers de différences.
By-Hash
Queue-Mode
Retries
Source-Symlinks
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 établit l'ancienneté maximale (en secondes) d'un fichier d'index dans le cache du mandataire. No-Store indique que le mandataire ne doit pas mettre en cache les fichiers d'archive, ce qui peut éviter de polluer un cache mandataire avec des fichiers .deb très grands.
L'option timeout positionne le compteur d'expiration du délai (timeout) utilisé par la méthode. Cela s'applique aussi bien à la connexion qu'aux données.
Le réglage Acquire::http::Pipeline-Depth permet d'utiliser l'enchaînement HTTP (« HTTP pipelining », RFC 2616 section 8.1.2.2) ce qui peut être utile par exemple avec des connexions à latence élevée. Il indique le nombre de requêtes envoyées dans le tuyau. APT tente de détecter et de contourner les serveurs web et les mandataires qui se comportent mal à l'exécution, mais si vous savez que vos serveurs ne respectent pas la norme HTTP/1.1, l'enchaînement peut être désactivé en définissant cette valeur à 0. Il est activé par défaut avec une valeur de 10.
Acquire::http::AllowRedirect contrôle le fait qu'APT suive les redirections. Ce réglage est activé par défaut.
La bande passante utilisée peut être limité avec Acquire::http::Dl-Limit qui peut prendre une valeur entière, l'unité utilisée étant le kilo-octet par seconde. La valeur par défaut est 0, ce qui correspond à aucune limitation de bande passante. Veuillez noter que cette option désactive implicitement le téléchargement simultané depuis plusieurs serveurs.
L'option Acquire::http::User-Agent peut être utilisée pour envoyer une valeur User-Agent modifiée pour les téléchargements HTTP, ce qui peut par exemple être utile avec certains mandataires HTTP qui n'autorisent l'accès qu'aux client s'identifiant de manière spécifique..
L'option Acquire::http::Proxy-Auto-Detect peut être utilisée pour indiquer une commande externe pour découvrir le mandataire HTTP à utiliser. Le premier et seul paramètre est un URI indiquant l'hôte à contacter pour permettre une configuration propre à l'hôte. Apt s'attend à ce que la commande indique le mandataire sur la sortie standard dans le style http://proxy:port/ ou le mot DIRECT si aucun mandataire ne doit être utilisé. Aucune sortie indique que le mandataire générique doit être utilisé. Notez que l'auto-détection ne sera pas exécutée si une configuration spécifique de mandataire hôte a déjà été établie par Acquire::http::Proxy::$HOST. Voir le paquet squid-deb-proxy-client(1) pour un exemple d'implémentation qui utilise avahi. Cette option l'emporte sur l'ancien nom d'option ProxyAutoDetect.
https
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 clé 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.
ftp
L'option timeout positionne le compteur d'expiration du délai (timeout) utilisé par la méthode. Cela s'applique aussi bien à la connexion qu'aux 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 de 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
/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
CompressionTypes
Acquire::CompressionTypes::ExtensionFichier "NomMethode";
Le sous-groupe Order peut être également utilisé pour définir l'ordre dans lequel le système d'acquisition tentera de télécharger les fichiers compressés. Le premier système mentionné sera essayé en premier, puis le suivant en cas d'échec. Ainsi, pour privilégier un format par rapport à un autre, il suffit de le placer en premier dans cette liste. Les types qui ne sont pas déjà indiqués seront ajoutés implicitement à la fin de la liste. Ainsi, par exemple,
Acquire::CompressionTypes::Order:: "gz";
peut être utilisé pour préférer les fichiers compressés avec gzip par rapport à tous les autres formats de compression. Si l'objectif est d'utiliser xz en priorité par rapport à gzip et bzip2, ce réglage doit ressembler à
Acquire::CompressionTypes::Order { "xz"; "gz"; };
. Il est inutile d'ajouter explicitement bz2 à liste car il sera ajouté automatiquement.
Veuillez noter que Dir::Bin::NomMethode sera contrôlé à l'exécution : si cette option est utilisée et que la prise en charge de ce format n'est pas construite dans APT, la méthode ne sera utilisée que si ce fichier existe. Ainsi, pour la méthode bzip2, le réglage (utilisé en interne) est
Dir::Bin::bzip2 "/bin/bzip2";
. Veuillez également noter que les éléments de liste indiqués à la ligne de commande seront ajoutés à la fin de la liste indiquée dans les fichiers de configuration, mais avant les valeurs par défaut. Dans ce cas, pour établir une préférence par rapport aux types mentionnés dans les fichiers de configuration, il est possible de placer l'option directement, pas sous forme de liste. Cela ne remplacera pas la liste par défaut mais elle sera simplement préfixée avec l'option en question.
Le type spécial uncompressed peut servir à donner la préférence aux fichiers non compressés. Veuillez noter que la plupart des archives ne fournissent pas de fichiers non compressés, donc ce réglage est surtout destiné aux miroirs locaux.
GzipIndexes
Languages
La liste par défaut contient « environment » et « en ». La valeur « environment » a une signification spéciale : elle sera remplacée, à l'exécution, par les codes de langues utilisés dans la variable d'environnement LC_MESSAGES. Les codes utilisés en double ne seront pas inclus deux fois dans la liste. Si LC_MESSAGES contient « C », seul le fichier Translation-en sera utilisé, s'il est disponible. Pour forcer APT à n'utiliser aucun fichier de traduction, il est nécessaire d'utiliser le réglage Acquire::Languages=none. La valeur « none » a une signification spéciale et indique de ne rechercher aucun fichier Translation. Cela indique à APT de télécharger ces traductions, sans nécessairement les utiliser sauf si la variable d'environnement indique ces langues. Ainsi, dans l'exemple qui suit, l'ordre utilisé sera « en, fr » si dans un environnement configuré pour l'anglais et « fr, en » pour un environnement configuré en français. Les fichiers pour l'allemand seront également téléchargés mais ne sont utilisés que dans un environnement configuré pour l'allemand. Dans ce dernier cas, l'ordre est alors « de, fr, en ».
Acquire::Languages { "environment"; "fr"; "en"; "none"; "de"; };
Note : afin d'éviter des problèmes lorsqu'APT est exécuté dans différents environnements (p. ex. par différents utilisateurs ou différents programmes), tous les fichiers « Translation »qui sont trouvés dans /var/lib/apt/lists/ seront ajoutés à la fin de la liste (après un « none » implicite).
ForceIPv4
ForceIPv6
MaxReleaseFileSize
EnableSrvRecords
AllowInsecureRepositories
AllowWeakRepositories
AllowDowngradeToInsecureRepositories
Changelogs::URI champ d'action
CONFIGURATION SPÉCIFIQUE DEXÉCUTABLE¶
Particulièrement avec l'introduction de l'exécutable apt il peut être utile de configurer certaines options seulement pour un exécutable particulier dans la mesure ou même des options qui semblent affecter seulement certains binaires telles que APT::Get::Show-Versions affectent apt-get autant qu'apt.La configuration d'une option pour un exécutable particulier peut être réalisée en réglant l'option dans le champ d'action Binary::exécutable-spécifique. Affecter l'option APT::Get::Show-Versions à apt seulement peut être fait, par exemple en configurant plutôt Binary::apt::APT::Get::Show-Versions.
Veuillez noter que comme cela est indiqué dans la section DESCRIPTION plus haut, il n'est pas possible de configurer les options spécifiques aux exécutables en ligne de commande ni dans des fichiers de configuration chargés par la ligne de commande.
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(1). preferences concerne APT : c'est le nom du fichier preferences. 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, ainsi que 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 positionnant pkgcache ou srcpkgcache à la valeur "". Cela ralentit le démarrage mais économise 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, bzip2, lzma, 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 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. Si vous souhaitez seulement préfixer des chemins relatifs, définissez plutôt Dir.
La liste Ignore-Files-Silently permet d'indiquer quels sont les fichiers qu'APT peut ignorer sans avertissement dans les répertoires contenant des fragments de configuration. Par défaut, les fichiers qui se terminent par .disabled, ~, .bak ou .dpkg-[a-z]+ sont ignorés. Comme cela est visible dans le dernier élément de cette liste, il est possible d'utiliser la syntaxe des expressions rationnelles.
APT ET DSELECT¶
Quand APT est utilisé comme une méthode de dselect(1), plusieurs directives contrôlent le comportement par défaut. On les trouve dans la section DSelect.Clean
options
Updateoptions
PromptAfterUpdate
MÉTHODE DAPPEL DE DPKG(1) PAR APT¶
Plusieurs directives de configuration contrôlent la manière dont APT invoque dpkg(1) : elles figurent dans la section DPkg.options
Pre-Invoke, Post-Invoke
Pre-Install-Pkgs
La version 2 de ce protocole envoie plus d'informations à travers le descripteur du fichier requis : une ligne avec le texte VERSION 2, l'espace de configuration d'APT et une liste d'actions de paquet avec le nom de fichier et l'information de version.
Chaque ligne de directive de configuration a la forme clé=valeur. Les caractères spéciaux (signes égal, fin de ligne, caractères non imprimables, guillemets et signe pourcentage dans clé et fin de ligne, caractères non imprimables et signe pourcentage dans valeur) sont %-encodés (encodage URL). Les listes sont représentés par des lignes clé::=valeur multiples avec la même clé. Les sections de la configuration se terminent par une ligne vide.
Les lignes d'action de paquet consistent en cinq champs dans la version 2 : le nom du paquet (sans qualification d'architecture, même si c'est une architecture supplémentaire – « foreign »), la version ancienne, la direction du changement de version (< pour les mises à niveau, > pour les retours en arrière, = pour pas de modification), la nouvelle version, l'action. Les champs versions sont « - » pour pas de version du tout (par exemple lors de la première installation d'un paquet ; pas de version est traité comme antérieur à n'importe quelle version réelle, ainsi c'est une mise à jour, indiquée comme - < 1.23.4). Le champ action est « **CONFIGURE** » si le paquet est en cours de configuration, « **REMOVE** » s'il est en cours de suppression, ou bien le nom d'un fichier .deb s'il est en cours de dépaquetage.
Dans la Version 3, après chaque champ version, se trouve l’architecture de cette version qui est « - » s'il n'y a pas de version, puis un champ montrant le type MultiArch « same », « foreign », « allowed » ou « none ». Veuillez noter que « none » est un nom de type incorrect qui est juste conservé pour des raisons de compatibilité, il devrait être lu comme « no » et les utilisateurs sont encouragés à prendre en charge les deux.
La version du protocole qu'il faut utiliser pour la commande cmd peut être choisie en réglant DPkg::Tools::options::cmd::Version en conséquence, la version par défaut étant la première. Si APT ne gère pas la version demandée, il enverra les informations dans la version la plus haute qu'il gère.
Le descripteur de fichier à utiliser pour l'envoi des informations peut être demandé avec l'option DPkg::Tools::options::cmd::InfoFD qui est par défaut 0 comme entrée standard ; l'option est disponible depuis la version 0.9.11. La prise en charge de l'option peut être détectée en regardant la variable d'environnement APT_HOOK_INFO_FD qui contient comme confirmation le numéro du descripteur de fichier utilisé.
Run-Directory
Build-options
DPkg::ConfigurePending
OPTIONS « PERIODIC » ET « ARCHIVE »¶
Les groupes d'options APT::Periodic et APT::Archive configurent les comportements périodiques réalisés par le script /usr/lib/apt/apt.systemd.daily, lancé quotidiennement.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 bibliothèques 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 :Liste complète des options de débogage de APT :
Debug::Acquire::cdrom
Debug::Acquire::ftp
Debug::Acquire::http
Debug::Acquire::https
Debug::Acquire::gpgv
Debug::aptcdrom
Debug::BuildDeps
Debug::Hashes
Debug::IdentCDROM
Debug::NoLocking
Debug::pkgAcquire
Debug::pkgAcquire::Auth
Debug::pkgAcquire::Diffs
Debug::pkgAcquire::RRed
Debug::pkgAcquire::Worker
Debug::pkgAutoRemove
Debug::pkgDepCache::AutoInstall
Debug::pkgDepCache::Marker
Debug::pkgDPkgPM
Debug::pkgDPkgProgressReporting
Debug::pkgOrderList
Debug::pkgPackageManager
Debug::pkgPolicy
Debug::pkgProblemResolver
Debug::pkgProblemResolver::ShowScores
Debug::sourceList
Debug::RunScripts
EXEMPLES¶
Le fichier /usr/share/doc/apt/examples/configure-index.gz contient un modèle de fichier montrant des exemples pour toutes les options existantes.FICHIERS¶
/etc/apt/apt.conf/etc/apt/apt.conf.d/
VOIR AUSSI¶
apt-cache(8), apt-config(8), apt_preferences(5).BUGS¶
APT bug page[1]. If you wish to report a bug in APT, please see /usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command.TRANSLATION¶
The english translation was done by John Doe <john@doe.org> in 2009, 2010 and Daniela Acme <daniela@acme.us> in 2010 together with the Debian Dummy l10n Team <debian-l10n-dummy@lists.debian.org>.Note that this translated document may contain untranslated parts. This is done on purpose, to avoid losing content when the translation is lagging behind the original content.
AUTEURS¶
Jason GunthorpeAPT team
Daniel Burrows <dburrows@debian.org>
NOTES¶
- 1.
- APT bug page
25 novembre 2016 | APT 1.4.9 |