Salut à tous !
Je réagis, indirectement, à l’indispensable post-it, http://www.debian-fr.org/sources-list-au-carre-ou-minimaliste-t5659.html de mattotop.
On peut très souvent lire que le sources.list devrait préférentiellement faire appel aux noms des versions (sarge, etch, lenny, squeeze, wheezy…) plutôt qu’aux noms « génériques » des versions (stable, testing, unstable…) par soucis de garder le contrôle sur les mises à jour du système (comprendre : par exemple, ne passer en squeeze uniquement parce qu’on l’a demandé, et non pas parce que, étant passée en stable, celle-ci s’impose d’office au système, sous une nuée de mises à jour).
Je comprends toute à fait le raisonnement et c’est d’ailleurs celui que je suis sur mon installation. Je comprends néanmoins également que certains puissent suivre l’autre manière de fonctionner, à condition que ce choix soit réfléchi.
Cependant, pourquoi devoir préciser le nom des versions dans le sources.list ? Selon moi (ce qui ne vaut donc pas grand chose) le sources.list n’est là que pour contenir un « gros tas tout pourri » de dépôts qui mettrait bien à mal le système s’il n’était pas régit par le fichier preferences. D’après ce que je comprends, c’est à lui est à lui seul qu’incombe la tâche de mettre de l’ordre et hiérarchiser les priorités des dépôts contenus dans le sources.list (lequel ne doit donc pas avoir la moindre once « d’intelligence » puisque preferences est là pour ça).
Ainsi, dans cette logique, pourquoi ne pas indiquer les versions « génériques » dans le fichiers sources.list et laisser à preferences le soin de gérer tout ça comme il faut ? Ainsi, afin de préciser quelle version de Debian on souhaite utiliser, ne vaudrait-il pas mieux indiquer les versions dans preferences plutôt que dans sources.list ?
On pourrait ainsi laisser les labels stable, testing, et unstable dans sources.list, et préciser les noms des versions squeeze, wheezy, et sid, dans preferences via l’étiquette « n », comme, par exemple : o=Debian,n=squeeze,l=Debian.
On se retrouverait alors avec un fichier sources.list standard, sans précision aucune sur la « politique » du système qui sera ainsi uniquement menée par le fichier preferences, à la fois au niveau de la hiérarchisation des différentes branches de Debian, mais également sur la version préférée, « nommément » spécifiée.
On aurait alors un fichier sources.list extrêmement standard qui se présenterait sous la forme suivante :
##### Stable
deb http://ftp.fr.debian.org/debian/ stable main contrib non-free
deb http://www.debian-multimedia.org stable main
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ stable-updates main contrib non-free
##### Testing
deb http://ftp.fr.debian.org/debian/ testing main contrib non-free
deb http://www.debian-multimedia.org testing main
deb http://security.debian.org/ testing/updates main contrib non-free
##### Unstable
deb http://ftp.fr.debian.org/debian/ unstable main contrib non-free
deb http://www.debian-multimedia.org unstable main
##### Experimental
deb http://ftp.fr.debian.org/debian/ experimental main contrib non-free
deb http://www.debian-multimedia.org experimental main
Et un fichier preferences à qui revient toute « l’intelligence » ; rédigé en fonction de ce que l’on souhaite faire de son système. À lui seul tient désormais la responsabilité politique, sources.list étant devenu totalement neutre. Par exemple, pour une Debian principalement wheezy :
[code]Package: *
Pin: release o=apt-build
Pin-Priority: 989
Package: *
Pin: release o=Debian,n=wheezy,l=Debian-Security
Pin-Priority: 979
Package: *
Pin: release o=Unofficial Multimedia Packages,n=wheezy,l=Unofficial Multimedia Packages
Pin-Priority: 978
Package: *
Pin: release o=Debian,n=wheezy,l=Debian
Pin-Priority: 977
Package: *
Pin: release o=Debian,n=squeeze-updates,l=Debian
Pin-Priority: 969
Package: *
Pin: release o=Debian,n=squeeze,l=Debian-Security
Pin-Priority: 968
Package: *
Pin: release o=Unofficial Multimedia Packages,n=squeeze,l=Unofficial Multimedia Packages
Pin-Priority: 967
Package: *
Pin: release o=Debian,n=squeeze,l=Debian
Pin-Priority: 966
Package: *
Pin: release o=Unofficial Multimedia Packages,n=sid,l=Unofficial Multimedia Packages
Pin-Priority: 99
Package: *
Pin: release o=Debian,n=sid,l=Debian
Pin-Priority: 98
Package: *
Pin: release o=Unofficial Multimedia Packages,a=experimental,l=Unofficial Multimedia Packages
Pin-Priority: 89
Package: *
Pin: release o=Debian,a=experimental,l=Debian
Pin-Priority: 88[/code]
Le même sources.list peut donc être utilisé pour toutes les variantes imaginables. Ainsi, rien n’empêche ceux qui le souhaitent de ne toujours pas spécifier les noms de versions, en passant les étiquettes « n » de preferences en « a » et spécifier, plus habituellement, la branche souhaitée de Debian.
Sources.list n’intervient désormais plus du tout. Tout dépend uniquement de preferences.
Mon raisonnement tient-il la route ? Ou bien suis-je complètement à coté de la plaque ?



