Translation(s): English - Français - Italiano - Português (Brasil) - Русский - Svenska - 简体中文
Un dépôt Debian est un ensemble de paquets Debian d'exécutables et de fichiers sources organisés dans une arborescence spéciale de répertoires et avec divers fichiers d'infrastructures - sommes de contrôle, indices, signatures, traductions de descriptions, … - ajoutés. Les ordinateurs clients peuvent se connecter au dépôt pour télécharger et installer les paquets en utilisant un outil de gestion de paquets basé sur Apt.
Contents
Anatomie d'un dépôt
La description suivante s'adresse principalement à ceux qui naviguent dans un dépôt à l'aide d'un navigateur et voudraient savoir comment tout cela fonctionne. Une description plus technique et précise se trouve dans la page Format (en anglais).
Un dépôt Debian fournit plusieurs versions (releases). Les versions de Debian sont nommées d'après les personnages des films « Toy Story » (Wheezy, Jessie, Stretch, ...). Les noms de code ont des alias, appelés suites (stable, oldstable, testing, unstable). Une version est divisée en plusieurs composants (components). Dans Debian ceux-ci sont appelés main, contrib, et non-free et indiquent les conditions de licences des logiciels qu'ils contiennent. Une version a également des paquets pour les architectures (amd64, i386, mips, powerpc, s390x, ...) ainsi que les paquets sources et indépendants de l'architecture.
Le répertoire racine d'un dépôt a un répertoire dists qui à son tour contient un répertoire pour chaque version et suite, ces derniers sont généralement des liens symboliques vers les premiers, mais le navigateur ne montre aucune différence. Chaque sous-répertoire de version contient pour chaque composants un répertoire et un fichier signé par cryptographie. À l'intérieur de ceux-ci il y a des répertoire et pour les différentes architectures, appelées binary-<arch>, et sources. Dans ces derniers se trouvent les fichiers Packages qui sont des fichiers textes contenant les métadonnées des paquets.
Les paquets eux-mêmes sont dans pool dans le répertoire racine du dépôt. Dans pool il y a encore des répertoires pour tous les composants et dans ceux-ci, des répertoires nommés 0, ..., 9, a, b, ... z, liba, ... , libz. Et dans ceux-ci se trouvent les répertoires nommés d'après le paquet logiciel qu'ils contiennent, puis enfin dans ces répertoires se trouvent les paquets, c'est à dire les fichier .deb. Le nom n'est pas nécessairement le même que le paquet lui-même. Par exemple, le paquet bsdutils se situe dans le répertoire pool/main/u/util-linux, car c'est le nom de la source à partir duquel le paquet est généré. Une seule source amont peut potentiellement générer plusieurs paquets de binaires, et tout ceux-ci se trouveront dans le même sous-répertoire dans pool. Les répertoires additionnels d'une seule lettre sont juste une astuce pour éviter d'avoir trop d'entrées dans un seul répertoire, ceci pouvant traditionnellement provoquer des problèmes de performance sur de nombreux systèmes.
Dans les répertoires dans pool il y a habituellement de nombreuses versions d'un paquet, et les informations sur quelles versions de Debian chaque version appartient demeurent uniquement niveau des index. Ainsi, la même version d'un paquet peut appartenir à plusieurs versions de Debian mais n'utilise d'un seul espace disque, et ceci sans recourir à des liens durs ou des liens symboliques, la mise en miroir est donc assez simple et fonctionne même avec des systèmes qui ne possèdent pas ces concepts.
Miroirs
Le dépôt officiel des paquets Debian est mis en miroir partout autour du globe.
Le site web de Debian dispose de sa liste officielle des miroirs de Debian
Il existe aussi une liste des dépôts non-officiels contenant divers logiciels additionnels
Il y a une équipe en charge des miroirs
Listes des paquets
Pour naviguer dans la liste des paquets Debian groupés par catégorie, vous pouvez regarder dans les listes suivantes : stable, testing, unstable et d'autres listes. Ou bien recherchez sur la page d'accueil des paquets
Travailler avec les dépôts
Travailler avec les dépôts peut signifier deux choses différentes :
- Vous pouvez utiliser un dépôt avec les programmes de la famille d'apt (apt, apt-get, apt-cache, aptitude) pour explorer ou installer des paquets ;
- Vous pouvez configurer un dépôt vous-même et ajouter, effacer ou remplacer les paquets dessus.
Utiliser un dépôt
Utiliser un dépôt est plutôt simple : pour le dépôt officiel de Debian ouvrez /etc/apt/sources.list, insérez la ligne
deb http://ftp.debian.org/debian stable main contrib non-free
puis exécutez
apt update
(Bien entendu, en tant que superutilisateur ou en utilisant sudo). Vous pouvez également envisager d'utiliser une URL telle que :
http://ftp.<CC>.debian.org/debian pour utiliser un emplacement plus proche de vous, pouvant vous permettre d'avoir un meilleur débit.
http://deb.debian.org/debian pour laisser le réseau de diffusion de contenu (CDN) choisir le serveur miroir le plus proche de chez vous (plus d'informations ici)
Pour les dépôts officiels de Debian, cette simple procédure est suffisante. L'article SourcesList fournit de plus amples information au sujet des entrées du fichier sources.list. Pour d'autres dépôts tiers, vous pouvez envisager de suivre ce guide (en anglais) afin de réduire le risque à votre système d'être l'hote d'un dépôt négligemment maintenu.
Configurer et maintenir un dépôt
Il y a plusieurs raisons pour construire soi-même un dépôt. Vous pourriez juste avoir besoin d'un petit ensemble de paquets avec des modifications locales que vous voudriez rendre disponible à apt. Vous pourriez vouloir lancer un miroir local avec ces paquets utilisés par plusieurs machines pour économiser de la bande passante. Ou bien construire des paquets vous-même et vouloir les tester prioritairement avant leur publication.
Une liste exhaustive des outils pour configurer un dépôt (en anglais)
Un comparatif (incomplet) de fonctionnalités de divers logiciels de gestion de dépôts (en anglais)
Guide pour configurer un dépôt avec reprepro (en anglais)
Comment créer un paquet et un dépôt avec mini-dinstall (en anglais)