table of contents
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 : 1.fichier indiqué par la variable d'environnement
APT_CONFIG si elle existe
2.tous les fichiers de Dir::Etc::Parts dans l'ordre
alphanumérique ascendant qui ont soit l'extension "conf",
soit aucune extension et qui ne contiennent que des caractères
alphanumériques, des tirets (-), des caractères de soulignement
(_) et des points (.), les autres fichiers étant ignorés. Dans
le cas contraire, APT affichera un avertissement indiquant qu'il a
ignoré un fichier si celui-ci ne correspond par à un motif
défini dans Dir::Ignore-Files-Silently (les fichiers correspondant
à cette variable de configuration étant, eux, ignorés
silencieusemennt).
3.le fichier de configuration défini par
Dir::Etc::Main
4.les options de ligne de commande sont
appliquées pour remplacer les directives de configuration ou pour
charger d'autres fichiers de configuration.
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"; }; };
DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
LE GROUPE APT¶
Ce groupe d'options contrôle le comportement global d'APT et contient également des options communes à tous les outils. ArchitectureL'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é.
Architectures
Toutes les architectures gérées par le
système. Par exemple, les processeurs qui mettent en oeuvre le jeu
d'instructions amd64 (aussi appelé x86-64) peuvent exécuter des
binaires compilés pour le jeu d'instructionsi386 (x86). Cette liste est
utilisé pour récupérer des fichiers et analyser les
listes de paquets. La valeur par défaut initiale est toujours celle de
l'architecture native du système (APT::Architecture) et les autres
architectures sont ajoutées à la liste par défaut
lorsqu'elles sont enregistrées avec dpkg
--add-architecture.
Build-Profiles
Liste de tous les profils de construction activés
pour la résolution de dépendances de construction, sans le
préfixe de l'espace de nommage du "profile.". Par
défaut, cette liste est vide. La variable DEB_BUILD_PROFILES
comme l'utilise dpkg-buildpackage(1) annule la notation de liste.
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 »,
« jessie »,
« stretch », « 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
La valeur par défaut est
« on » ce qui a pour conséquence qu'APT
installera les paquets essentiels et importants dès que possible
pendant les opérations d'installation ou de mise à jour, afin de
limiter les conséquences d'un échec de dpkg(1). Si cette
option est désactivée, APT traitera les paquets importants comme
les paquets de priorité
« extra » : entre la
décompaction du paquet A et sa configuration, de nombreuses
opérations de décompaction ou de configuration peuvent prendre
place pour des paquets B ou C qui n'ont rien à voir. Si ces
opérations provoquent un échec de dpkg(1) (par exemple si
les scripts du responsable du paquet B provoquent une erreur), le
résultat est que le paquet A est décompacté mais non
configuré. En conséquence, les paquets qui en dépendent
pourraient ne plus fonctionner puisque leurs dépendances ne sont pas
satisfaites.
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
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,
dash ou tous les paquets dont ces paquets dépendent.
Cache-Start, Cache-Grow, Cache-Limit
À partir de la version 0.7.26, APT utilise un
fichier de cache de taille variable indexé en mémoire
(« resizable memory mapped cache file ») pour
conserver les informations du fichier
« available ». Cache-Start définit la
taille minimale de ce cache et par conséquent la quantité de
mémoire qu'APT utilisera dès son lancement. La valeur par
défaut est de 20971520 octets (environ 20 Mo). Il est
indispensable que l'ensemble de cette mémoire soit disponible, sinon
APT ne pourra se lancer. Il peut donc être nécessaire de
diminuer cette valeur sur des systèmes disposant de peu de
mémoire. Au contraire, pour des systèmes qui utilisent de
nombreuses sources de paquet, il peut être nécessaire de
l'augmenter. La valeur de Cache-Grow définit, en octets, la
quantité de mémoire supplémentaire qui peut être
allouée au cache si la valeur définie par Cache-Start est
insuffisante. La valeur par défaut de Cache-Grow est de 1048576 octets
(environ 1 Mo). Cette augmentation se fera tant que la taille du cache
sera insuffisante pour contenir toutes les informations nécessaires ou
qu'elle atteint la valeur limite définie par Cache-Limit. La valeur par
défaut de Cache-Limit est nulle (il n'existe donc pas de limite
à la taille maximale du cache). Si Cache-Grow est égal à
0, l'augmentation automatique de la taille du cache est
désactivée.
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 ainsi que les différentes « méthodes d'acquisition » qui effectuent ce téléchargement (voir aussi sources.list(5)). Check-Valid-UntilL'activation de l'option de sécurité qui
permet de mettre une limite temporelle de validité au fichier Release
permet d'éviter des attaques de type
« replay » et permet d'éviter d'utiliser
des miroirs qui ne sont plus à jour. Cependant, cette
fonctionnalité a besoin que l'horloge du système soit à
jour. Les gestionnaires d'archives devraient créer des fichiers Release
comportant l'en-tête Valid-Until. Cependant, si cet en-tête est
absent, la valeur du paramètre Max-ValidTime est alors
utilisée.
Max-ValidTime
Durée maximale (en secondes) pendant laquelle un
fichier Release est considéré comme valable, à partir du
moment de sa création. Si ce fichier lui-même comporte un
en-tête la plus ancienne des deux dates est utilisée comme date
d'expiration. La valeur par défaut (0) signifie « valable
éternellement ». Un réglage spécifique pour
une archive donnée peut être défini en ajoutant
l'étiquette de l'archive au nom de l'option.
Min-ValidTime
Durée minimale (en secondes) pendant laquelle un
fichier Release est considéré comme valable, à partir du
moment de sa création. Il est conseillé d'utiliser ce
réglage si vous utilisez un miroir mis à jour ponctuellement
(par exemple un miroir local) d'une archive mise à jour plus
fréquemment avec un en-tête Valid-Until plutôt que de
désactiver complètement le contrôle des dates
d'expiration. Un réglage spécifique pour une archive
donnée peut être défini en ajoutant l'étiquette de
l'archive au nom de l'option.
PDiffs
Essayer de télécharger les fichiers
différentiels appelés PDiffs pour les index (par exemple les
fichiers Packages), plutôt que de les télécharger
entièrement. Par défaut à
« true ».
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.
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
http::Proxy est le mandataire (proxy) HTTP à
utiliser par défaut pour les URI HTTP. 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
é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. Les versions
précédentes d'APT utilisaient une valeur de 10 pour ce
réglage. Cette valeur est désormais égale à 0
(désactivé) pour éviter des problèmes avec le
nombre en constante augmentation de serveurs web et de mandataires qui ne
respectent pas la norme HTTP/1.1.
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. Apt s'attend à ce que la commande sorte le
mandataire sur la sortie standard dans le style http://proxy:port/. Cela
annulera le Acquire::http::Proxy générique, mais pas une
configuration spécifique de mandataire hôte é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
Les options Cache-control, Timeout, AllowRedirect,
Dl-Limit et proxy fonctionnent pour les URI HTTPS de la même
manière que la méthode http. Les valeurs par défaut sont
les mêmes si elles ne sont pas 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
ftp::Proxy est le mandataire (proxy) FTP à
utiliser par défaut pour les URI FTP. 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 qui représentent le composant d'URI
correspondant sont : $(PROXY_USER), $(PROXY_PASS), $(SITE_USER),
$(SITE_PASS), $(SITE) et $(SITE_PORT).
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
La seule option de configuration pour les URI qui
utilisent la méthode cdrom est le point de montage :
cdrom::Mount ; il doit représenter le point de montage du
lecteur de CD-ROM (ou DVD, etc.) 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. Syntaxiquement, il faut placer
dans le bloc cdrom. La barre oblique finale est importante. Les commandes de
démontage peuvent être spécifiées en utilisant
UMount.
gpgv
/cdrom/::Mount "foo";
La seule option pour les URI GPGV est gpgv::Options, qui
permet de passer des paramètres à 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 :
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 implicitement au moment de l'exécution. Ainsi,
par exemple,
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 à
. Il est inutile d'ajouter explicitement bz2 à liste car il sera
ajouté automatiquement.
Veuillez noter que Dir::Bin:: Methodname sera
contrôlé : si cette option est utilisée, 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
. 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
Acquire::CompressionTypes:: ExtensionFichier "NomMethode";
Acquire::CompressionTypes::Order:: "gz";
Acquire::CompressionTypes::Order { "lzma"; "gz"; };
Dir::Bin::bzip2 "/bin/bzip2";
Lorsque des index compressés par gzip doivent
être utilisés (pour les fichiers Packages, Sources,
Translations), ceux-ci seront compressés avec gzip au lieu
d'être laissés décompressés. Cela peut permettre
de gagner beaucoup d'espace disque au prix d'une utilisation plus importante
du processeur lorsque les caches locaux sont créés. Valeur par
défaut : Faux
(« False »).
Languages
La sous-section « Languages »
contrôle quels fichiers Translation sont
téléchargés et dans quel ordre APT les utilisera pour
afficher les traductions de descriptions. APT recherchera d'abord la
première traduction disponible pour le champ Description dans la langue
choisie en premier. Les langues peuvent être indiquées par leur
code long ou court. Veuillez noter que tous les dépôts ne
fournissent pas les fichiers Translation pour toutes les langues, les codes
longs de langues étant particulièrement rares.
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 ».
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
Acquire::Languages { "environment"; "fr"; "en"; "none"; "de"; };
Utilisation imposée du protocole IPv4 lors des
téléchargements.
ForceIPv6
Utilisation imposée du protocole IPv6 lors des
téléchargements.
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 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. 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. CleanMode 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. optionsIl 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. APT transmet aux commandes les noms de tous les
fichiers .deb qu'il va installer, à raison d'un par ligne sur le
descripteur de fichier demandé, par défaut sur l'entrée
standard.
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é. La troisième version ajoute
l'architecture et le marqueur MultiArch à chaque version
déposée.
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
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(1) pour utiliser les actions différées de manière agressive entre les appels successifs à dpkg(1). Sans options supplémentaires, dpkg(1) utilisera les actions différées une fois à chacune de ses exécutions. 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(1), 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(1) peut également être utile pour le débogage, par exemple dpkg --audit. Une combinaison intéressante d'options pourrait êtreDPkg::NoTriggers "true"; PackageManager::Configure "smart"; DPkg::ConfigurePending "true"; DPkg::TriggersPending "true";
Ajoute l'option
« no-triggers » à tous les appels à
dpkg(1) (hormis l'appel
« ConfigurePending »). Voir dpkg(1) pour
plus d'informations sur la signification de cette option. En
résumé, dpkg(1) 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(1)
avec « configure » alors que cela sera
désormais utilisé également avec les appels à
dpkg(1) 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 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(1) via un appel créé par l'option
ConfigurePending (voir plus loin). L'option « no »
ne provoquera aucune configuration et s'en remettra totalement à
dpkg(1) 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(1) 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(1) 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.
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::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.
Debug::RunScripts
Affiche les commandes externes qui sont appelés
par le point d'entrée apt. Cela inclut par exemple les options de
configuration DPkg::{Pre,Post}-Invoke ou APT::Update::{Pre,Post}-Invoke.
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.confFichier 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.AUTEURS¶
Jason Gunthorpe Équipe de développement d'APT Daniel Burrows <dburrows@debian.org>Documentation initiale de Debug::*.
NOTES¶
- 1.
- Page des bogues d'APT
09 juin 2012 | APT 1.0.9.8.4 |