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).
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).
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.
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.
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 bullseye ou bookworm, 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 bullseye main contrib non-free deb http://security.debian.org bullseye-security main contrib non-free
ou à ceci au format de style deb822 :
Types: deb URIs: http://deb.debian.org/debian Suites: bullseye Components: main contrib non-free Types: deb URIs: http://security.debian.org Suites: bullseye-security Components: main contrib non-free
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.
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.
Les types d'URI actuellement reconnus sont :
http (apt-transport-http(1))
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))
mirror, mirror+procédé (apt-transport-mirror(1))
file
cdrom
ftp
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
rsh, ssh
ajout de types d'URI supplémentaires reconnus
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 bullseye main deb [ arch=amd64,armel ] http://deb.debian.org/debian bullseye main
Types: deb URIs: http://deb.debian.org/debian Suites: bullseye Components: main Types: deb URIs: http://deb.debian.org/debian Suites: bullseye 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.
deb http://archive.debian.org/debian-archive 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 bullseye/contrib.
deb ftp://ftp.debian.org/debian bullseye contrib
Types: deb URIs: ftp://ftp.debian.org/debian Suites: bullseye 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
apt-get(8), apt.conf(5), /usr/share/doc/apt/acquire-additional-files.md.gz
m[blue]Page des bogues d'APTm[][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).
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.
Jason Gunthorpe
Équipe de développement d'APT