====== APT : le dossier sources.list.d ======
* Objet : Comprendre l'utilité et l'utilisation du dossier ''/etc/apt/sources.list.d/''
* Niveau requis : {{tag>débutant avisé}}
* Commentaires : //Quelle est la différence entre le ''sources.list'' et le ''sources.list.d'' ? À quoi ça sert ? Pourquoi se compliquer la vie comme ça ? Meuh c'est tout simple :)//
* Débutant, à savoir :
* [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
* [[:doc:systeme:apt|APT]]
* [[:doc:systeme:apt:sources.list|APT - les sources.list]]
* Suivi : {{tag>}}
* Création par [[user>captnfab]] le 08/07/2014
* Testé par [[user>captnfab]] le 08/07/2014
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=2290 | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Introduction =====
Si l'on liste le répertoire de configuration d'[[:doc:systeme:apt:|APT]]((Listing facile : ls /etc/apt/
)), on aperçoit l'existence du dossier ''/etc/apt/sources.list.d/''. Kézaquo ?
===== Différences par rapport au fichier unique =====
Tout d'abord, comment APT comprend-il tout cela ?
En fait, pour APT, que les dépôts ''deb'' soient répartis entre le ''/etc/apt/sources.list'' et 15000 fichiers ''/etc/apt/sources.list.d/blabla.list'', ou que tout soit dans un seul fichier, c'est pareil. Lors de l'//update//, il met à jour les listes de tous les dépôts définis par tous les fichiers, et ce, de manière totalement transparente.
Donc, pour APT, un fichier ou 50 fichiers, ça ne change rien.
===== Utilisations =====
Bon, mais si ça ne change rien, pourquoi utiliser ce dossier ?
==== Installation de sources par les paquets ====
À l'installation d'un paquet, il n'a pas le droit de modifier un fichier de configuration installé par un autre. D'ailleurs, il ne saurait comment le faire surtout si le fichier de configuration a été modifié par l'utilisateur.
Grâce à ce dossier ''.d'', un paquet peut installer de nouvelles sources sans modifier le reste de la configuration.
Par exemple, le paquet ''chrome'' du navigateur de Google, qui n'est pas un paquet officiel Debian mais est redistribué par Google, installe un fichier dans ''/etc/apt/sources.list.d/'' permettant de rajouter le dépôt Google automatiquement, et d'ainsi profiter des mises à jour de Chrome.
On peut imaginer d'autres paquets rajoutant des fichiers de configuration là-dedans. Par exemple, vous pouvez créer un paquet Debian contenant uniquement vos sources favorites en les installant dans un fichier ''/etc/apt/sources.list.d/mes-sources-favorites.list''.
==== Configuration modulaire ====
**ATTENTION !** Toujours préférer utiliser le nom //release// des branches en raison [[doc:migrer|des risques de la migration]] et c'est **OBLIGATOIRE** pour les backports de la stable du moment, stable qui est ici jessie - le 30 avril 2015.
Vous pouvez vouloir désactiver momentanément certains dépôts, copier rapidement certains (mais pas tous vos) dépôts d'une machine à l'autre. Le fait de garder les fichiers séparés permet ça.
Vous pouvez ensuite désactiver facilement les dépôts contenu dans un fichier ''mon-fichier.list'' en changeant son extension !
cd /etc/apt/sources.list.d/
mv mon-fichier.list mon-fichier.list.coincoin
Quelques exemples d'utilisation :
=== Dépôts libres vs dépôts non-libres ===
deb http://deb.debian.org/debian stable main
deb http://deb.debian.org/debian stable-updates main
deb http://security.debian.org/ stable/updates main
deb http://deb.debian.org/debian stable contrib non-free
deb http://deb.debian.org/debian stable-updates contrib non-free
deb http://security.debian.org/ stable/updates contrib non-free
Avec main et les backports :
deb http://deb.debian.org/debian stable main contrib non-free
deb http://deb.debian.org/debian stable-updates main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
# stable-backports
deb http://deb.debian.org/debian/ jessie-backports main contrib non-free
=== Dépôts sources vs dépôts binaires ===
deb-src http://deb.debian.org/debian stable main
deb-src http://deb.debian.org/debian stable-updates main
deb-src http://security.debian.org/ stable/updates main
=== Dépôts officiels vs dépôts non-officiels ===
deb http://mozilla.debian.net/ jessie-backports iceweasel-release
=== Dépôts stable vs dépôts testing ===
deb-src http://deb.debian.org/debian testing main
Attention, si vous rajoutez le dépôt testing, sid ou experimental, n'oubliez pas de changer le fichier [[:doc:systeme:apt:pinning|''/etc/apt/preferences'']] afin d'indiquer à APT de ne pas les sélectionner en priorité.
=== Editer les fichiers sources.list ===
pour éditer le fichier /etc/apt/sources.list
apt edit-sources
pour éditer le fichier /etc/apt/sources.list.d/firefox.list
apt edit-sources firefox.list