APT.CONF(5)

NAME
apt.conf - Fichier de configuration pour APT

DESCRIPTION

apt.conf is the main configuration file for the APT suite of tools, but by far not the only place changes to options can be made. All tools therefore share the configuration files and also use a common command line parser to provide a uniform environment.

When an APT tool starts up it will read the configuration files in the following order:

    1. the file specified by the APT_CONFIG environment variable (if any)

    2. all files in Dir::Etc::Parts in alphanumeric ascending order which have no or "conf" as filename extension and which only contain alphanumeric, hyphen (-), underscore (_) and period (.) characters - otherwise they will be silently ignored.

    3. the main configuration file specified by Dir::Etc::main

    4. the command line options are applied to override the configuration directives or to load even more configuration files.

SYNTAX

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. 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. Le comportement du caractère barre oblique inversée "\" et les caractères utilisés avec séquence d'échappement dans une valeur ne sont pas déterministes et devraient être évités. 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 pour chaque élément de la liste.

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

Les modèles /usr/share/doc/apt/examples/apt.conf et /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. Seules les options peuvent être remplacées en leur assignant 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 « :: » 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
    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 », « lenny », « squeeze », « 4.0 », « 5.0* ». Voir aussi apt_preferences(5).

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
    Defaults to on which will cause APT to install essential and important packages as fast as possible in the install/upgrade operation. This is done to limit the effect of a failing dpkg(1) call: If this option is disabled APT does treat an important package in the same way as an extra package: Between the unpacking of the important package A and his configuration can then be many other unpack or configuration calls, e.g. for package B which has no relation to A, but causes the dpkg call to fail (e.g. because maintainer script of package B generates an error) which results in a system state in which package A is unpacked but unconfigured - each package depending on A is now no longer guaranteed to work as their dependency on A is not longer satisfied. The immediate configuration marker is also applied to all dependencies which can generate a problem if the dependencies e.g. form a circle as a dependency with the immediate flag is comparable with a Pre-Dependency. So in theory it is possible that APT encounters a situation in which it is unable to perform immediate configuration, errors out and refers to this option so the user can deactivate the immediate configuration temporarily to be able to perform an install/upgrade again. Note the use of the word "theory" here as this problem was only encountered by now in real world a few times in non-stable distribution versions and was caused by wrong dependencies of the package in question or by a system in an already broken state, so you should not blindly disable this option as the mentioned scenario above is not the only problem immediate configuration can help to prevent in the first place. Before a big operation like dist-upgrade is run with this option disabled it should be tried to explicitly install the package APT is unable to configure immediately, but please make sure to report your problem also to your distribution and to the APT team with the buglink below so they can work on improving or correcting the upgrade process.

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 devrait jamais se produire : c'est un bogue très important. 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 (en octets) 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(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.

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 ».

    Two sub-options to limit the use of PDiffs are also available: With FileLimit can be specified how many PDiff files are downloaded at most to patch a file. SizeLimit on the other hand is the maximum precentage of the size of all patches compared to the size of the targeted file. If one of these limits is exceeded the complete file is downloaded instead of the patches.

Queue-Mode
    Mode de file d'attente ; Queue-Mode peut prendre les valeurs host ou access, ce qui 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://[[utilisateur][:mot_de_passe]@]hôte[: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. Si aucun des paramètres précédents n'est défini, 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 d'expiration du délai (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, la valeur doit égale à 0. Dans le cas contraire, des données seront corrompues. Les machines qui ont besoin de cette option ne respectent pas la RFC 2068.

    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. 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..

https
    URI HTTPS. Les options de contrôle de cache, de délai limite, d'autorisation de redirection, de Dl-Limit et de mandataire (proxy) sont les mêmes que pour la méthode http. Les valeurs par défaut sont les mêmes que pour l'option http sauf si des valeurs spécifiques à https sont indiquées. L'option Pipeline-Depth n'est pas encore géré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'.

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. Si aucun des paramètres précédents n'est définis, 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 /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 à l'élément respectif de l'URI.

    L'option timeout positionne le compteur d'expiration du délai (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 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
    URI CD ; la seule option de configuration pour les URI de CD est le point de montage : cdrom::Mount ; il doit représenter le point de montage du lecteur de CD-ROM indiqué dans /etc/fstab. D'autres commandes de montage et de démontage peuvent être fournies 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.

CompressionTypes
    Cette option indique la liste des types de compression comprises par les méthodes d'acquisition. Des fichiers comme Packages peuvent être disponibles dans divers formats de compression. Par défaut, les méthodes d'acquisition décompressent les fichiers compressés avec bzip2, lzma et gzip. Ce réglage permet d'ajouter à la volée des formats supplémentaires ou de modifier la méthode utilisée. La syntaxe à utiliser est :

        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 par défaut qui ne sont pas déjà indiqués seront ajoutés en fin de liste au moment de l'exécution. Ainsi, par exemple,

        Acquire::CompressionTypes::Order:: "gz";

    peut être utiliser de préférence les fichiers compressés avec gzip par rapport à bzip2 et lzma. Si l'objectif est d'utiliser lzma en priorité par rapport à gzip et bzip2, ce réglage doit ressembler à

        Acquire::CompressionTypes::Order { "lzma"; "gz"; };

    . Il est inutile d'ajouter explicitement bz2 à liste car il sera ajouté automatiquement.

    Veuillez noter qu'à l'exécution, Dir::Bin::Methodname sera vérifié : si ce réglage existe, 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.

    Bien qu'il soit possible d'ajouter un type vide de compression à la liste ordonnée, APT ne l'interprétera pas correctement et affichera de nombreux messages d'avertissement à propos d'échec de téléchargement, qui sont le plus souvent des avertissements sans conséquences. Dans de futures versions, il deviendra réellement possible d'établir une préférence pour des fichiers non compressés afin de gérer des miroirs locaux.

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 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, 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 saisissant un nom vide. 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 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(1), 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(8) lors de la phase d'installation.

UpdateOptions
    Le contenu de cette variable est passé comme options de ligne de commande à apt-get(8) lors de la phase de mise à jour.

PromptAfterUpdate
    Si cette option est « true », l'opération [U]pdate de dselect(1) 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.

MéTHODE D'APPEL 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
    Il s'agit d'une liste d'options à passer à dpkg(1). 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 paramètre à dpkg(1).

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

  utilisation des actions différées (« triggers ») de dpkg (et options associées)

APT peut lancer dpkg pour utiliser les actions différées de manière agressive entre les appels successifs à dpkg. Sans options supplémentaires, dpkg n'utilisera les actions différées que dans le cadre de sa propre exécution. Si ces options sont utilisées, le temps d'exécution peut diminuer fortement dans les actions d'installation ou de mise à jour. Il est prévu de les activer par défaut dans le futur mais étant donné qu'elles changent notablement la méthode qu'utilise APT pour lancer dpkg, elles ont besoin d'importantes validations. Ces options sont donc expérimentales et ne devraient pas être utilisées avec des environnements de production.. Elles modifient également le suivi de progression et toutes les interfaces passeront la moitié du temps à un état terminé à 100% pendant la configuration des paquets.

Veuillez noter que rien ne garantit qu'APT gérera encore ces options dans le futur ou qu'elles ne provoqueront pas de nombreux dégâts. Si vous avez bien compris les implications de ce choix et êtes suffisamment motivé(e) pour essayer ces options, il vous est donc possible de créer un nouveau fichier de configuration et essayer une combinaison de ces options. Veuillez signaler tout bogue, problèmes ou suggestions d'amélioration en prenant soin de mentionner les options utilisées. Utiliser l'aide apportée par dpkg peut également être utile pour le débogage, par exemple dpkg --audit. Une combinaison intéressante d'options pourrait être

    DPkg::NoTriggers "true";
    PackageManager::Configure "smart";
    DPkg::ConfigurePending "true";
    DPkg::TriggersPending "true";

.

DPkg::NoTriggers
    Ajoute l'option « no-triggers » à tous les appels à dpkg (hormis l'appel « ConfigurePending »). Voir dpkg(1) pour plus d'informations sur la signification de cette option. En résumé, dpkg n'effectuera pas les actions différées (« triggers ») si cette option est utilisée sauf si cela est demandé explicitement dans une invocation supplémentaire. Cette option existe en fait déjà (mais n'est pas documentée) dans de plus anciennes version d'APT avec une signification légèrement différente : elle n'ajoutait l'option « --no-triggers » qu'aux appels de dpkg avec « configure » alors que cela sera désormais utilisé également avec les appels à dpkg avec les options « unpack » et « remove ».

PackageManager::Configure
    Les valeurs possibles sont « all », « smart » et « no ». La valeur par défaut est « all » où APT configure explicitement tous les paquets. La valeur « smart » permet de ne configurer que les paquets qui ont besoin de l'être avant la décompaction d'un autre paquet (à cause d'une pré-dépendance) ; les autres configurations sont laissées pour un appel ultérieur à dpkg. L'option « no » ne provoquera aucune configuration et s'en remettra totalement à dpkg pour ces opérations (ce qui échouera en cas de pré-dépendances). Si cette option est définie sur une valeur différente de « all », l'option suivante sera activée par défaut pour éviter de placer le système dans un état non configuré et donc éventuellement non amorçable.

DPkg::ConfigurePending
    Si cette option est choisie, APT lancera dpkg --configure --pending pour laisser dpkg gérer les configurations de paquets et les actions différées. Cette option est automatiquement activée si l'option précédente a une valeur différente de « all ». Il peut par contre être utile de la désactiver pour lancer APT plusieurs fois successives, par exemple quand il est utilisé depuis un outil d'installation. Dans ce cas, seul le dernier de tous les appels successifs peut conserver l'option active.

DPkg::TriggersPending
    Cette option est utile pour la configuration en mode « smart ». En effet, un paquet qui a des actions différées (« triggers ») en attente n'est pas considéré comme installé (état « installed ») et dpkg le considère actuellement comme simplement décompacté (état « unpacked ») ce qui empêche une gestion correcte des pré-dépendances (voir le bogue Debian #526774). Veuillez noter que cette option provoquera la gestion de toutes les actions différées, pas seulement celles concernant le paquet en cours de traitement.

PackageManager::UnpackAll
    Cette option permet de ne trier les opérations de décompactage qu'en fonction de leur criticité (c'est à dire en ne considérant que les pré-dépendances) dans le cas où la configuration des paquets est différée pour n'être effectuée qu'à la fin par dpkg. Cette option est active par défaut, ce qui revient à la méthode traditionnelle où les opérations ont lieu en plusieurs étapes, selon l'ensemble des critères de tri. Bien que les deux méthodes existent même dans les versions, la méthode « OrderCritical » n'était pas utilisée. Elle doit donc être considérée comme très expérimentale et a besoin de nombreuses améliorations avant de devenir réellement utile. (Note du traducteur : la version originale de cette partie des pages de manuel est très confuse. Il est donc conseillé de s'y reporter en cas de doute car le contresens de traduction n'est pas exclu...).

OrderList::Score::Immediate
    Les paquets essentiels (et leurs dépendances) devraient être configurés après avoir été décompressés. Il est conseillé que cette opération ait lieu le plus tôt possible dans le processus de mise à jour car ces opérations de configuration nécessitent également DPkg::TriggersPending, ce qui peut conduire à l'exécution de certains actions différées qui ne sont pas nécessairement utiles. Les paquets essentiels obtiennent par défaut un score élevé mais le marqueur « immédiat » implique un score assez bas (par exemple un paquet qui comporte des prédépendances obtient un score plus élevé). Cette option et les options du même groupe permettent de modifier la façon d'attribuer un score. L'exemple ci-dessous indique ces réglages avec leurs valeurs par défaut.

        OrderList::Score {
        	Delete 500;
        	Essential 200;
        	Immediate 10;
        	PreDepends 50;
        };

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.

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 qu'APT puisse effectuer quelques opérations (telles que apt-get -s install) sans avoir les privilèges du superutilisateur.

    • Debug::pkgDPkgPM affiche la ligne de commande à chaque appel de dpkg(1).

    • Debug::IdentCdrom désactive l'inclusion de données de type statfs dans les identifiants de CD.

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
    Print information related to downloading packages using 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 CD.

Debug::BuildDeps
    Décrit le processus de résolution des dépendances pour la construction de paquets source ( « build-dependencies » ) par apt-get(8).

Debug::Hashes
    Affiche toutes les clefs de hachage cryptographiques créées par les librairies d'apt.

Debug::IdentCDROM
    Désactive l'inclusion des données de type statfs pour la génération des identifiants de CD, c'est-à-dire le nombre de blocs libres et utilisés sur le système de fichier du CD.

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 l'application des fichiers de différences aux listes de paquets d'APT quand ces fichiers de différences sont téléchargés à la place des fichiers complets.

Debug::pkgAcquire::Worker
    Affiche toutes les interactions avec les processus enfants qui se chargent effectivement des téléchargements.

Debug::pkgAutoRemove
    Affiche les changements concernant le marquage des paquets comme installés automatiquement, et la suppression des paquets inutiles.

Debug::pkgDepCache::AutoInstall
    Crée 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::pkgDepCache::Marker
    Crée les informations de débogage décrivant quels paquets sont gardés/installés/supprimés pendant le travail de l'outil de résolution de problèmes. Chaque ajout ou suppression peut impliquer des actions supplémentaires ; elles sont alors indiquées avec une indentation de deux espaces de plus que l'action qui les a déclenchées. Le format de chaque ligne est MarkKeep, MarkDelete ou MarkInstall suivi de nom-paquet <a.b.c -> d.e.f | x.y.z> (section) où a.b.c est la version actuelle du paquet, d.e.f la version devant être installée et x.y.z une version plus récente qui n'est pas prévue pour être installée (à cause d'un score plus faible). Ces deux derniers éléments peuvent ne pas être mentionnés s'ils ne sont pas pertinents où lorsque ils sont identiques à la version installée. section est le nom de la section où figure le paquet.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
    Affiche, au lancement, l'ensemble de la configuration sur la sortie d'erreur standard.

Debug::pkgDPkgPM
    Affiche la commande exacte d'invocation de dpkg(1) à chaque appel ; les paramètres sont séparés par des espaces.

Debug::pkgDPkgProgressReporting
    Affiche l'ensemble des informations reçues de dpkg(1) 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(1).

Debug::pkgPackageManager
    Affiche le détail des opérations liées à l'invocation de dpkg(1).

Debug::pkgPolicy
    Affiche, au lancement, 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::pkgProblemResolver::ShowScores
    Affiche la liste de tous les paquets installés avec leur score calculé par l'outil de résolution de problèmes. La description du paquet est celle qui est décrite dans Debug::pkgDepCache::Marker.

Debug::sourceList
    Affiche les fournisseurs déclarés dans le fichier /etc/apt/vendors.list.

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
    Fichier de configuration d'APT. Élément de configuration : Dir::Etc::Main.

/etc/apt/apt.conf.D/
    Fragments du fichier de configuration d'APT. Élément de configuration : Dir::Etc::Parts.

VOIR AUSSI

apt-cache(8), apt-config(8), apt_preferences(5).

BOGUES

Page des bogues d'APT[1]. Si vous souhaitez signaler un bogue à propos d'APT, veuillez lire /usr/share/doc/debian/bug-reporting.txt ou utiliser la commande reportbug(1).

TRADUCTEURS

Jérôme Marant, Philippe Batailler, Christian Perrier bubulle@debian.org (2000, 2005, 2009, 2010), Équipe de traduction francophone de Debian debian-l10n-french@lists.debian.org

Veuillez noter que cette traduction peut contenir des parties non traduites Cela est volontaire, pour éviter de perdre du contenu quand la traduction est légèrement en retard sur le contenu d'origine.

AUTHORS

Jason Gunthorpe

Équipe de développement d'APT

Daniel Burrows <dburrows@debian.org>
    Initial documentation of Debug::*.

NOTES

1.  Page des bogues d'APT
    http://bugs.debian.org/src:apt