Scroll to navigation

SOURCES.LIST(5) APT SOURCES.LIST(5)

NOM

sources.list - Liste des sources de données APT configurées

DESCRIPTION

Le fichier de liste de sources /etc/apt/sources.list et les fichiers contenus dans /etc/apt/sources.list.d/ sont conçus pour pouvoir gérer un nombre quelconque de sources actives et de médias. Le fichier donne une source par ligne (One-Line style) ou fournit des paragraphes multilignes définissant une ou plusieurs sources par paragraphe (style deb822), avec les sources prioritaires en premier (dans le cas où il y a une seule version disponible à partir de plus d'une source). L'information relative aux sources configurées est récupérée par la commande apt-get update (ou par une commande équivalente avec une autre interface à APT).

SOURCES.LIST.D

Le répertoire /etc/apt/sources.list.d permet de spécifier des sources de paquets dans des fichiers distincts. Deux formats de fichiers différents sont permis comme cela est décrit dans les deux sections suivantes. Les noms de fichier doivent se terminer par .list ou par .sources selon le format fourni. Ils ne peuvent contenir que des lettres (a-z et A-Z), des chiffres (0-9), des caractères de soulignement (_), des tirets (-) et des points (.). 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 silencieusement).

FORMAT ONE-LINE-STYLE

Les entrées individuelles ne peuvent pas se poursuivre sur la ligne suivante. Les lignes vides sont ignorées et un caractère # n'importe où sur une ligne signale que le reste de la ligne est un commentaire. Par conséquent, une entrée peut être désactivée en commentant la totalité de la ligne. Si plusieurs options doivent être fournies, elles sont séparées par des espaces et sont entourées toutes ensembles par des crochets ([]) inclus sur la ligne après le type séparé par un espace. Si une option permet plusieurs valeurs, elles sont séparées les unes des autres par une virgule (,). Un nom d'option est séparé de ses options par une signe égal (=). Des options à plusieurs valeurs disposent aussi des séparateurs -= et +=, qui, au lieu de remplacer la valeur par défaut par la ou les valeurs données, modifient la ou les valeurs par défaut pour supprimer ou inclure les valeurs données.

Il s'agit du format traditionnel, géré par toute les version de APT. Veuillez noter que toutes les options décrites plus bas ne sont pas prises en charge par toutes les versions d'APT. Notez aussi que certaine des plus anciennes applications qui analysent ce format elles-mêmes ne s'attendent pas à rencontrer des options qui étaient rares avant l'introduction de la prise en charge multi-architecture.

FORMAT DEB822-STYLE

Les fichiers dans ce format possèdent l'extension .sources. La syntaxe du format est similaire à celle des autres fichiers utilisés par Debian et ses dérivés, comme les fichiers de métadonnées qu'APT télécharge des sources configurées ou le fichier debian/control d'un paquet source de Debian. Les entrées individuelles sont séparées par une ligne vide ; les lignes vides supplémentaires sont ignorées et un caractère # en début de ligne signale la ligne comme un commentaire. Une entrée, par conséquent, peut être désactivée en commentant chaque ligne appartenant au paragraphe, mais il est habituellement plus facile d'ajouter le champ « Enabled: no » au paragraphe pour désactiver l'entrée. Retirer ce champ ou le définir à « yes » le réactive. Les options ont la même syntaxe que tous les autres champs : un nom de champ séparé par le caractère deux-points (:) et éventuellement des valeurs séparées par des espaces. Veuillez noter particulièrement que des valeurs multiples sont séparées par des espacements (espaces, tabulations ou nouvelles lignes) et non par des virgules comme dans le format « One-Line ». Les champs multivaleurs comme Architectures disposent aussi des options Architectures-Add et Architectures-Remove pour modifier la valeur par défaut plutôt que de la remplacer.

Il s'agit d'un nouveau format pris en charge par APT lui-même depuis la version 1.1. Les versions précédentes ignorent ce type de fichier avec un message d'avertissement tel que décrit précédemment. L'objectif est de faire de ce format le format par défaut, et de rendre obsolète le format « One-Line-Style » décrit plus haut, parce qu'il est plus facile à créer, à étendre et à modifier pour les humains comme pour les machines, surtout s'il inclut beaucoup de sources et/ou d'options. Les développeurs qui travaillent avec les sources apt ou les analysent sont fortement encouragés à ajouter la prise en charge de ce format et à prendre contact avec l'équipe APT pour coordonner et partager ce travail. Les utilisateurs sont libres d'adopter déjà ce format, mais peuvent se confronter à des problèmes avec les logiciels qui ne le gèrent pas encore.

LES TYPES DEB ET DEB-SRC : FORMAT GÉNÉRAL

Le type deb décrit une archive Debian classique à deux niveaux, distribution/composant. distribution peut prendre l'une des valeurs suivantes : un nom de suite tel que stable ou testing ou bien un nom de code comme buster ou bullseye, alors que composant prend les valeurs : main, contrib ou non-free. Le type deb-src décrit une archive de distribution de code source pour une distribution Debian dans le même format que le type deb. Une ligne deb-src est nécessaire pour récupérer les index des sources.

Le format de deux entrées du genre « One-Line-Style » utilisant les types deb et deb-src est :

deb [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...]
deb-src [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...]

Autrement, l'entrée équivalente de style deb822 ressemble à ceci :

     Types: deb deb-src
     URIs: uri
     Suites: suite
     Components: [component1] [component2] [...]
     option1: value1
     option2: value2
   

L'URI de type deb doit indiquer la base de la distribution Debian dans laquelle APT trouvera les informations dont il a besoin. suite peut spécifier le chemin exact : dans ce cas, on doit omettre les composants et suite doit se terminer par une barre oblique (/). C'est utile quand seul un sous-répertoire particulier de l'archive décrite par cet URI est intéressant. Quand suite n'indique pas un chemin exact, un composant au moins doit être présent.

suite peut aussi contenir une variable $(ARCH), qui sera remplacée par l'architecture Debian (comme amd64 ou armel) sur laquelle s'exécute le système. On peut ainsi utiliser un fichier sources.list qui ne dépend pas d'une architecture. En général, ce n'est intéressant que si l'on indique un chemin exact ; sinon APT crée automatiquement un URI en fonction de l'architecture effective.

Particulièrement lorsqu'on utilise le format « One-Line-Style », puisqu'on ne peut indiquer qu'une seule distribution par ligne, il peut être nécessaire de disposer le même URI sur plusieurs lignes quand on veut accéder à un sous-ensemble des distributions ou composants disponibles à cette adresse. APT trie les URI après avoir crée pour lui-même la liste complète ; il regroupe les références multiples au même hôte Internet en vue d'une connexion unique et il évite ainsi, par exemple, d'établir une connexion FTP, de la fermer, faire autre chose, puis d'établir encore cette connexion. Cette fonctionnalité permet l'accès à des sites FTP surchargés qui limitent le nombre de connexions simultanées pour les utilisateurs anonymes. APT parallélise aussi les connexions à différents hôtes pour tirer plus efficacement parti des sites à faible bande passante.

Il est important d'indiquer les sources par ordre de préférence, la source principale apparaissant en premier. Un tri est fait, de la plus rapide à la plus lente ; par exemple, un CD suivi par les hôtes d'un réseau local, puis les hôtes distants.

À titre d'exemple, les sources de votre distribution au format « One-Line-Style » pourraient ressembler à ceci :

deb http://deb.debian.org/debian buster main contrib non-free
deb http://security.debian.org buster/updates main contrib non-free

ou à ceci au format de style deb822 :

Types: deb
URIs: http://deb.debian.org/debian
Suites: buster
Components: main contrib non-free
Types: deb
URIs: http://security.debian.org
Suites: buster/updates
Components: main contrib non-free

LES TYPES DEB ET DEB-SRC : OPTIONS

Chaque entrée de source peut avoir des options spécifiées pour modifier la source à laquelle accéder et comment les données y sont récupérées. Le format, la syntaxe et les noms des options peuvent être différents entre le format « One-Line-Style » et le format de style deb822, mais les mêmes options sont disponibles dans les deux formats. Pour simplifier, nous listons les noms de champ avec deb822 et fournissons le nom « One-Line » entre parenthèses. Il faut se souvenir que en plus du réglage explicite des options multi-valeurs, il y a aussi l'option de les modifier en se basant sur les valeurs par défaut, mais nous ne listons pas ces noms explicitement ici. Les options non prises en charge sont ignorées par toutes les version d'APT.

Architectures (arch) est une option multivaleur pour définir les architectures pour lesquelles l'information doit être téléchargée. Si cette option n'est pas utilisée, l'option par défaut est toutes les architectures définies par l'option de configuration APT::Architectures.

Languages (lang) est une option multivaleur pour définir les langues pour lesquelles les informations, telles que les descriptions de paquet traduites, doivent être téléchargées. Si cette option n'est pas utilisée, l'option par défaut est toutes les langues définies par l'option de configuration Acquire::Languages.

Targets (target) est une option multivaleur pour définir les cibles qu'apt essaiera d’acquérir à partir de cette source. Si cette option n'est pas spécifiée, la configuration par défaut est définie par le champ d'action de configuration Acquire::IndexTargets (les cibles sont définies par leur nom dans le champ Created-By). De plus, les cibles peuvent être activées ou désactivées en utilisant le champ Identifier comme option avec une valeur booléenne plutôt que d'utiliser cette option multivaleur.

PDiffs (pdiffs) est une valeur yes/no qui contrôle si APT doit essayer d'utiliser PDiffs pour mettre à jour des index anciens plutôt que de télécharger les nouveaux index en totalité. La valeur de cette option est ignorée si le dépôt n'annonce pas la disponibilité de PDiffs. Elle a, par défaut, la valeur de l'option du même nom pour un fichier particulier défini dans le champ d'action Acquire::IndexTargets, qui prend lui-même par défaut la valeur de l'option de configuration Acquire::PDiffs, dont la valeur par défaut est yes.

By-Hash (by-hash)peut avoir la valeur yes, no ou force et contrôle si APT doit essayer d’acquérir des index grâce à un URI construit à partir de la somme de hachage du fichier attendu plutôt que d'utiliser le nom de fichier de stable bien connu de l'index. Son utilisation peut éviter des décalages de somme de hachage, mais nécessite un miroir de prise en charge. Une valeur yes ou no active ou désactive l'utilisation de cette fonctionnalité si cette source indique sa prise en charge, tandis que force activera la fonctionnalité quel que soit ce que la source indique. Elle a, par défaut, la valeur de l'option du même nom pour un fichier particulier défini dans le champ d'action Acquire::IndexTargets, qui prend lui-même par défaut la valeur de l'option de configuration Acquire::By-Hash, dont la valeur par défaut est yes.

Par ailleurs, si certaines options sont définies, elles affectent toutes les sources avec les mêmes URI et Suite, et donc doivent être définies sur toutes ces entrées et ne peuvent être modifiées entre les différents composants. APT essaiera de détecter et provoquera une erreur avec de telles anomalies.

Allow-Insecure (allow-insecure), Allow-Weak (allow-weak) et Allow-Downgrade-To-Insecure (allow-downgrade-to-insecure) sont des valeurs booléennes dont la valeur par défaut est no. Si elles sont définies à yes, elles contournent certains éléments d'apt-secure(8) et par conséquent ne devraient pas utilisées à la légère.

Trusted (trusted) comporte trois valeurs d'état qui définissent par défaut si APT décide de considérer une source comme sûre ou doit lancer un avertissement avant qu'un paquet soit, par exemple, installé à partir de cette source. Cette option peut être utilisée pour outrepasser cette décision. La valeur yes dit à APT de considérer cette source comme sûre, même si elle échoue au test d'authentification. Elle désactive des éléments d'apt-secure(8) et elle ne devrait être utilisée que dans un contexte local et sécurisé si possible, parce qu'autrement elle ouvre une brèche dans la sécurité. La valeur no fait le contraire et fait que la source est traitée comme non sûre, même si les tests d'authentification sont réussis. La valeur par défaut ne peut pas être définie explicitement.

Signed-By (signed-by) est une option pour demander la vérification d’un dépot par apt-secure(8) avec un certain jeu de clés plutôt qu’avec la totalité des clés de confiance configurées par apt. Elle est définie comme une liste de chemins absolus vers des fichiers de trousseau de clés (qui doivent être accessibles en lecture pour l'utilisateur _apt, et donc, il faut s'assurer que tout le monde a le droit de lecture sur le fichier) et des empreintes de clés à sélectionner dans ces trousseaux. Si aucun fichier de clés n’est défini, le trousseau trusted.gpg et tous les trousseaux du répertoire trusted.gpg.d/ sont sélectionnés par défaut (voir apt-key fingerprint). Si aucune empreinte n’est définie, toutes les clés des trousseaux sont sélectionnées. Une empreinte acceptera aussi toutes les signatures de sous clés de cette clé, et si ce n’est pas désiré, un point d’exclamation (!) peut être ajouté à l’empreinte pour désactiver ce comportement. Elle possède la valeur par défaut de l'option du même nom si elle a été définie dans le fichier Release de ce dépôt récupéré auparavant (seules des empreintes peuvent être définies par ce biais). Autrement, toutes les clés des trousseaux de confiance sont considérées comme des signatures valables pour ce dépôt.

Check-Valid-Until (check-valid-until) est une valeur yes/no qui détermine si APT doit tenter de détecter les attaques par replay. Un créateur de dépôt peut déclarer une période pendant laquelle les données fournies par le dépôt peuvent être considérées comme valables, une fois ce délai échu, et si les données n'ont pas été fournies, elles sont considérées comme expirées, et un message d'erreur est envoyé. En plus d'accroître la sécurité, puisqu'un attaquant malveillant ne peut plus envoyer des données anciennes pour empêcher un utilisateur de mettre à niveau vers une nouvelle version, elle facilite l'identification de miroirs qui ne sont plus mis à jour. Néanmoins, certains dépôts, comme les archives historiques ne sont plus mis à jour à dessein, aussi cette vérification peut être désactivée en réglant cette option à no. Elle possède la valeur par défaut de l'option Acquire::Check-Valid-Until qui elle-même possède la valeur yes par défaut.

Valid-Until-Min (valid-until-min) et Valid-Until-Max (valid-until-max) peuvent être utilisées pour augmenter ou diminuer la durée, en secondes pendant laquelle les données de ce dépôt sont considérées comme valables. -Max peut être particulièrement utile pour définir une valeur propre si le dépôt ne fournit pas de champ Valid-Until dans son fichier Release, tandis que -Min peut être utilisé pour augmenter la durée de validité sur des miroirs (locaux), rarement mis à jour, d'une archive plus fréquemment mise à jour mais moins accessible (qui est aussi dans le sources.list), plutôt que de désactiver totalement la vérification. Elle possède la valeur par défaut des options de configuration Acquire::Min-ValidTime et Acquire::Max-ValidTime qui toutes les deux ne sont pas définies par défaut.

Check-Date (check-date) est une valeur yes/no qui contrôle si APT doit considérer que la date de la machine est correcte et donc effectuer les vérifications liées au temps, comme vérifier si le fichier Release n'est pas dans le futur. Sa désactivation désactive l'option Check-Valid-Until mentionnée ci-dessus.

Date-Max-Future (date-max-future) contrôle jusqu'où un dépôt peut être dans le futur. Elle possède la valeur del'option de configuration Acquire::Max-FutureTime qui est par défaut de 10 secondes.

InRelease-Path (inrelease-path) détermine le chemin du fichier InRelease, relativement à la position normale d'un fichier InRelease. Par défaut, cette option n'est pas définie et APT cherchera à récupérer un fichier InRelease ou, s'il échoue, un fichier Release et le fichier Release.gpg associé. Si cette option est définie, le chemin spécifié sera essayé à la place du fichier InRelease, et le repli vers les fichiers Release sera désactivé.

SPÉCIFICATION DES URI

Les types d'URI actuellement reconnus sont :

http (apt-transport-http(1))

Le procédé http précise un serveur HTTP pour une archive et c'est la méthode la plus couramment utilisée. L'URI peut inclure directement les information de connexion si l'archive le requiert, mais l'utilisation de apt_auth.conf(5) devrait être préférée. La méthode prend également en charge SOCKS5 et les mandataires HTTP(S) configurés soit au moyen d'une configuration spécifique à apt ou spécifiés par la variable d'environnement http_proxy au format http://user:pass@server:port/ (en supposant un mandataire HTTP nécessitant une authentification). Les détails de l'authentification pour les mandataires peuvent aussi être fournis avec apt_auth.conf(5).

Veuillez noter que ces formes d'authentification ne sont pas sûres puisque toutes les communications avec le serveur distant (ou le mandataire) ne sont pas chiffrées, donc un attaquant suffisamment compétent peut observer et enregistrer la connexion ainsi que les autres interactions. L'attaquant ne peut pas modifier la communication dans la mesure où le modèle de sécurité des données d'Apt est indépendant de la méthode de transport choisie. Voir apt-secure(8) pour plus de détails.

https (apt-transport-https(1))

Le procédé https précise un serveur HTTPS pour une archive et il est très semblable au procédé http en termes d'utilisation et d'options disponibles. La principale différence est que les communications entre apt et le serveur (ou le mandataire) sont chiffrées. Veuillez noter que le chiffrage n'empêche pas un attaquant de savoir avec quel serveur (ou mandataire) apt est en communication et que des analyses approfondies peuvent encore potentiellement révéler quelles données sont téléchargées. Si cela est une préoccupation, des procédés basés sur Tor, mentionnés plus bas, pourraient être une alternative appropriée.

mirror, mirror+procédé (apt-transport-mirror(1))

Le procédé miroir définit la localisation d'une liste de miroirs. Par défaut, le procédé utilisé par la localisation est http, mais n'importe quel autre procédé peut être utilisé avec la commande mirror+scheme. La liste de miroirs elle-même peut contenir plusieurs URI de miroirs différentes que le client APT peut, de façon transparente, repérer, choisir et sur lesquelles se rabattre, afin d'aider à la fois à répartir la charge sur les miroirs disponibles et à garantir que les clients puissent récupérer les données même si certains des miroirs configurés ne sont pas disponibles.

file

Le procédé file permet qu'un répertoire arbitraire au sein du système de fichiers soit considéré comme une archive. Cela est utilisé avec les montages NFS, les miroirs et les archives locaux.

cdrom

Le procédé cdrom permet l'utilisation d'un lecteur de CD, de DVD ou USB, avec la possibilité de changer de média. Utilisez le programme apt-cdrom(8) pour créer des entrées cdrom dans la liste des sources.

ftp

Le procédé ftp indique un serveur FTP comme archive. L'utilisation de FTP décline en faveur de http et https et plusieurs archives soit n'ont jamais offert d'accès FTP, soit le retirent. Si vous avez encore besoin de cette méthode, plusieurs options de configuration sont disponibles dans le champ d'action Acquire::ftp et détaillées dans apt.conf(5).

Veuillez noter qu'on peut spécifier un mandataire FTP en utilisant la variable d'environnement ftp_proxy. On peut aussi spécifier un mandataire HTTP (les serveurs mandataires HTTP comprennent souvent les URL FTP) en utilisant cette méthode et seulement cette méthode. Les mandataires qui utilisent HTTP et qui sont spécifiés dans le fichier de configuration seront ignorés.

copy

Le procédé copy est identique au procédé file excepté que les paquets sont copiés dans le cache du répertoire au lieu d'être utilisés directement depuis leur emplacement. Ce réglage peut servir aux utilisateurs qui se servent d'un support amovible pour recopier des fichiers avec APT.

rsh, ssh

Le procédé rsh/ssh utilise rsh/ssh pour se connecter à une machine distante et pour accéder aux fichiers en tant qu'un certain utilisateur. Il est recommandé de régler préalablement les hôtes distants (rhosts) ou les clés RSA. Les commandes standard find et dd sont utilisées pour l'accès aux fichiers de la machine distante.

ajout de types d'URI supplémentaires reconnus

APT peut être complété avec des méthodes supplémentaires fournies par des paquets optionnels dont le schéma de nommage est apt-transport-méthode. Ainsi, l'équipe de maintenance d'APT gère un paquet apt-transport-tor qui gère les méthodes d'accès par URI de type HTTP et HTTPS routées à travers le réseau Tor.

EXEMPLES

Utiliser l'archive stockée localement (ou montée via NFS) dans /home/apt/debian pour stable/main, stable/contrib et stable/non-free.

deb file:/home/apt/debian stable main contrib non-free

Types: deb
URIs: file:/home/apt/debian
Suites: stable
Components: main contrib non-free

Comme ci-dessus, excepté que cette ligne utilise la distribution « unstable » (développement).

deb file:/home/apt/debian unstable main contrib non-free

Types: deb
URIs: file:/home/apt/debian
Suites: unstable
Components: main contrib non-free

Indication des sources pour les lignes précédentes.

deb-src file:/home/apt/debian unstable main contrib non-free

Types: deb-src
URIs: file:/home/apt/debian
Suites: unstable
Components: main contrib non-free

La première ligne récupère l'information des paquets pour les architectures de APT::Architectures alors que la deuxième récupère amd64 et armel.

deb http://deb.debian.org/debian buster main
deb [ arch=amd64,armel ] http://deb.debian.org/debian buster main

Types: deb
URIs: http://deb.debian.org/debian
Suites: buster
Components: main
Types: deb
URIs: http://deb.debian.org/debian
Suites: buster
Components: main
Architectures: amd64 armel

Utiliser HTTP pour accéder à l'archive située à archive.debian.org, et n'utiliser que la section hamm/main.

Types: deb
URIs: http://archive.debian.org/debian-archive
Suites: hamm
Components: main

Utiliser FTP pour accéder à l'archive située à ftp.debian.org, dans le répertoire debian, et n'utiliser que la section buster/contrib.

deb ftp://ftp.debian.org/debian buster contrib

Types: deb
URIs: ftp://ftp.debian.org/debian
Suites: buster
Components: contrib

Utiliser FTP pour accéder à l'archive située à ftp.debian.org, dans le répertoire debian, et n'utiliser que la section unstable/contrib. Si cette ligne et celle de l'exemple précédent dans sources.list apparaissent, une seule session FTP sera utilisée pour les deux lignes.

deb ftp://ftp.debian.org/debian unstable contrib

Types: deb
URIs: ftp://ftp.debian.org/debian
Suites: unstable
Components: contrib

Utiliser HTTP pour accéder à l'archive située à ftp.tlh.debian.org, dans le répertoire universe, et n'utiliser que les fichiers trouvés dans unstable/binary-i386 pour les machines i386, dans unstable/binary-amd64 pour les machines amd64 et ainsi de suite pour les autres architectures reconnues. [Notez que cet exemple montre seulement la manière d'utiliser la variable à substituer, les archives Debian officielles n'étant pas structurées de cette manière.]

deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/

Types: deb
URIs: http://ftp.tlh.debian.org/universe
Suites: unstable/binary-$(ARCH)/

Utiliser HTTP pour pouvoir obtenir les paquets binaires ainsi que les sources des suites stable, testing et unstable et des composants main et contrib.

deb http://deb.debian.org/debian stable main contrib
deb-src http://deb.debian.org/debian stable main contrib
deb http://deb.debian.org/debian testing main contrib
deb-src http://deb.debian.org/debian testing main contrib
deb http://deb.debian.org/debian unstable main contrib
deb-src http://deb.debian.org/debian unstable main contrib

Types: deb deb-src
URIs: http://deb.debian.org/debian
Suites: stable testing unstable
Components: main contrib

VOIR AUSSI

apt-get(8), apt.conf(5), /usr/share/doc/apt-doc/acquire-additional-files.md.gz

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

NOTES

1.
Page des bogues d'APT
04 avril 2019 APT 1.9.4