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 caracè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 espaces 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 stretch ou buster, 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 stretch main contrib non-free
deb http://security.debian.org stretch/updates main contrib non-free

ou à ceci au format de style deb822 :

Types: deb
URIs: http://deb.debian.org/debian
Suites: stretch
Components: main contrib non-free
Types: deb
URIs: http://security.debian.org
Suites: stretch/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 soit un chemin absolu vers un fichier de trousseau de clés (qui doit être accessible en lecture pour l'utilisateur _apt, et donc, il faut s'assurer que tout le monde a le droit de lecture sur le fichier) ou une ou plusieurs empreintes de clés situées soit dans le trousseau trusted.gpg, soit dans les trousseaux du répertoire trusted.gpg.d/ (voir apt-key fingerprint). Si cette option est définie, seule la ou les clés dans ce trousseau, ou seules les clés avec ces empreintes sont utilisées pour la vérification du répertoire par apt-secure(8). 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 récupéré auparavant. 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.

SPÉCIFICATION DES URI

Les types d'URI actuellement reconnus sont :

file

Le procédé file permet qu'un répertoire arbitraire au sein du système de fichier soit considéré comme une archive. On s'en sert avec les montages NFS, les miroirs et les archives locaux.

cdrom

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

http

Le procédé http indique un serveur HTTP comme archive. Si une variable d'environnement http_proxy (au format http://server:port/) existe, le serveur mandataire indiqué par http_proxy est utilisé. Quand un serveur mandataire HTTP/1.1 demande une authentification, on peut utiliser la chaîne http://user:pass@server:port/. Notez qu'il s'agit d'une méthode d'authentification peu sûre.

ftp

Le procédé ftp indique un serveur FTP comme archive. Le fonctionnement en mode ftp est largement configurable ; référez-vous à la page de manuel de apt-cdrom(8) pour d'autres informations. On remarquera qu'on peut indiquer un mandataire FTP avec 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 reconnues

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-https qui gère les accès par URI de type https, avec des fonctionnalités analogues à la méthode http. D'autres méthodes telles que debtorrent sont aussi disponibles (voir apt-transport-debtorrent(1)).

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 stretch main
deb [ arch=amd64,armel ] http://deb.debian.org/debian stretch main

Types: deb
URIs: http://deb.debian.org/debian
Suites: stretch
Components: main
Types: deb
URIs: http://deb.debian.org/debian
Suites: stretch
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 stretch/contrib.

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

Types: deb
URIs: ftp://ftp.debian.org/debian
Suites: stretch
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.txt

BUGS

APT bug page[1]. If you wish to report a bug in APT, please see /usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command.

TRANSLATION

The english translation was done by John Doe <john@doe.org> in 2009, 2010 and Daniela Acme <daniela@acme.us> in 2010 together with the Debian Dummy l10n Team <debian-l10n-dummy@lists.debian.org>.

Note that this translated document may contain untranslated parts. This is done on purpose, to avoid losing content when the translation is lagging behind the original content.

AUTEURS

Jason Gunthorpe

APT team

NOTES

1.
APT bug page
25 novembre 2016 APT 1.4.9