mise à jour - 03/09/2011
Voir sur le forum df : http://debian-facile.org/forum/viewtopic.php?pid=35174#p35174
Le fichier /etc/apt/sources.list contient sur chaque ligne active une description de source, qui se décompose en 3 parties séparées par des blancs.
Le premier champ indique le type de la source :
♦ « deb » pour des paquets binaires,
♦ « deb-src » pour des paquets sources.
Le deuxième champ indique l'URL de base de la source (combinée aux noms de fichier présents dans les fichiers Packages.gz, elle doit donner une URL complète valide) : il peut s'agir d'un miroir Debian ou de toute autre archive de paquets mise en place par des tierces personnes. L'URL peut débuter par file: / / pour indiquer une source locale située dans l'arborescence de fichiers du système, par http: / / pour indiquer une source accessible depuis un serveur web, ou encore par ftp: / / pour une source disponible sur un serveur FTP.
Le dernier champ a une syntaxe variable selon que la source correspond à un miroir Debian ou non. Dans le cas d'un miroir Debian, on nomme la distribution choisie par leurs noms de code du moment puis les différentes sections souhaitées (choisies parmi main, contrib, et non-free).
Le fichier minimal est celui créé lors de l'installation, c'est-à-dire avec main seulement.
Les “puristes” du libre voudront le conserver tel quel.
En effet, les paquets dans contrib dépendent de paquets non-free.
D'autres,pour avoir accès à l'ensemble des paquets, voudront un fichier plus complet.
Il faut alors :
Jusqu'à la branche oldstable Lenny, il y avait un dépôt volatile. À partir de Squeeze, la nouvelle branche stable, le dépôt volatile est remplacé par le dépôt squeeze-updates. Le fichier minimal avec main seulement :
## =============================================== ## squeeze deb http://ftp.fr.debian.org/debian/ squeeze main deb-src http://ftp.fr.debian.org/debian/ squeeze main ## squeeze security deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ squeeze/updates main ## squeeze updates deb http://ftp.debian.org/debian/ squeeze-updates main deb-src http://ftp.debian.org/debian/ squeeze-updates main ## squeeze proposed updates deb http://ftp.fr.debian.org/debian/ squeeze-proposed-updates main deb-src http://ftp.fr.debian.org/debian/ squeeze-proposed-updates main ## squeeze multimedia deb http://www.debian-multimedia.org squeeze main deb-src http://www.debian-multimedia.org squeeze main ## squeeze-backports deb http://backports.debian.org/debian-backports squeeze-backports main ## ================================================
Gestion du fichier des sources.
Lorsque la branche stable (actuellement sous le nom release de : squeeze) va devenir oldstable et que la branche testing (actuellement sous le nom release de wheezy) va devenir la branche stable, vous n'avez pas à vous précipiter pour mettre à niveau vers la nouvelle branche stable.
Si vous utilisez votre ordi pour un usage personnel, vous pouvez toujours envisager de passer à la nouvelle branche stable dès sa sortie. Les conséquences fâcheuses, s'il y en a, ne sont pas vraiment dramatique. Il est toujours bon de s'assurer avant d'avoir une sauvegarde à jour de ces données importantes.
Par contre, si c'est pour un usage serveur, vous pouvez vous montrer plus prudent (les conséquences ne sont pas les mêmes) et attendre un peu. Dans ce cas, il est bon de s'informer avant en consultant des forums, en lisant les notes de publications sur le site officiel. Vous pouvez même attendre la première mise à jour de la branche avant de faire le saut. Comme l'ancienne branche stable est maintenue pendant environ un an par les développeurs vous pouvez prendre le temps de bien faire les choses. Une fois que vous serez prêts vous pourrez alors changer le non de la branche dans votre fichier sources.list.
À la mise à jour nécessaire qui suivra cette rédaction dans le fichier sources.list par :
aptitude update
Des clés d'authenfication vous seront certainement demandés.
C'est le moment de consulter :
Voici un exemple de sources.list complet pour Squeeze, incluant tous les dépôts officiels (ou presque) et les sections main, contrib et non-free.
Pour le modifier (voir la page de l'éditeur en ligne de commande nano), il faut donc éditer le fichier /etc/apt/sources.list :
# nano /etc/apt/sources.list
## ================================================= ## squeeze deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free ## squeeze security deb http://security.debian.org/ squeeze/updates main contrib non-free deb-src http://security.debian.org/ squeeze/updates main contrib non-free ## squeeze updates deb http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free ## squeeze proposed updates deb http://ftp.fr.debian.org/debian/ squeeze-proposed-updates main contrib non-free deb-src http://ftp.fr.debian.org/debian/ squeeze-proposed-updates main contrib non-free ## squeeze-backports deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free ## squeeze multimedia deb http://www.debian-multimedia.org squeeze main non-free deb-src http://www.debian-multimedia.org squeeze main non-free ## =================================================
Il peut être très intéressant de créer en même temps le fichier apt.conf (déconseillé aux vrais débutants, malgré sa valeur-utilité)
Avec la branche testing, il peut arriver que des paquets soient cassés ou bien que le gestionnaire de paquets rencontre des problèmes de dépendance lors de mise à jour ou de l'installation de paquets, aussi il est préférable d'ajouter à son fichier sources.list les dépôts d'au moins une branche, stable ou sid. Comme cela en cas de pépins, on peut toujours aller piocher dans l'autre branche pour résoudre le problèmes.
En passant, aptitude gère très bien les problèmes de dépendances en proposant des choix.
Pour ma part, avec testing, je mettrai dans mon sources.list les trois branches. Avec le fichier preferences qui va avec cela ne pose aucun problème, la priorité étant mise sur testing.
## =============================================== ## wheezy deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free deb-src http://ftp.fr.debian.org/debian/ wheezy main contrib non-free ## wheezy multimedia deb http://www.debian-multimedia.org wheezy main non-free deb-src http://www.debian-multimedia.org wheezy main non-free ## wheezy security deb http://security.debian.org/ wheezy/updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free ##squeeze updates deb http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
Comme pour la branche stable, lors de l'évolution d'une branche testing en stable, si vous étiez déjà en testing, il vaut mieux préalablement à cette évolution remplacer testing par son nom release (actuellement wheezy) et passer donc un temps en stable pour attendre la mise en place d'une testing moins folâtre.
Vous pourrez ensuite migrer vers la nouvelle testing en remettant, soit testing, soit le nouveau nom release issue de la branche sid.
## =============================================== ## sid deb http://ftp.fr.debian.org/debian/ sid main contrib non-free deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free ## sid multimedia deb http://www.debian-multimedia.org sid main non-free deb-src http://www.debian-multimedia.org sid main non-free ## ===============================================
C'est un joke là ! ;)
Comme la branche unstable est toujours sous le nom de sid, vous changez le nom sid ou unstable de votre sources.list par testing, en attendant quelques temps… Ou pas ?
Voir :
## ================================================== ## squeeze deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free ## squeeze multimedia deb http://www.debian-multimedia.org squeeze main non-free deb-src http://www.debian-multimedia.org squeeze main non-free ## squeeze security deb http://security.debian.org/ stable/updates main contrib non-free deb-src http://security.debian.org/ stable/updates main contrib non-free ## squeeze updates deb http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free ## squeeze-backports deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free ## ================================================== ## wheezy deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free deb-src http://ftp.fr.debian.org/debian/ wheezy main contrib non-free ## wheezy multimedia deb http://www.debian-multimedia.org wheezy main non-free deb-src http://www.debian-multimedia.org wheezy main non-free ## wheezy security deb http://security.debian.org/ wheezy/updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free ## ================================================== ## sid deb http://ftp.fr.debian.org/debian/ sid main contrib non-free deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free ## sid multimedia deb http://www.debian-multimedia.org sid main non-free deb-src http://www.debian-multimedia.org sid main non-free ## ================================================== ## experimental deb http://ftp.fr.debian.org/debian/ experimental main contrib non-free # deb-src http://ftp.fr.debian.org/debian/ experimental main contrib non-free ## experimental multimedia (Seulement pour architecture amd64) deb http://www.debian-multimedia.org experimental main # deb-src http://www.debian-multimedia.org experimental main
Pour les sources debian-multimedia, en cas de problème avec celui-ci, il existe une alternative :
vous pouvez utiliser les dépôts miroirs pour tenter une meilleure connection,
soit :
# Dépôts multimédia mirror deb http://mirror.home-dn.net/debian-multimedia/ squeeze main non-free deb http://mirror.home-dn.net/debian-multimedia/ wheezy main non-free deb http://mirror.home-dn.net/debian-multimedia/ sid main non-free deb http://mirror.home-dn.net/debian-multimedia/ experimental main
squeeze = stable
wheezy = testing
sid = unstable
experimental
Toutefois…
Ainsi, dans le cas où des paquets se trouvent cassés, suite à une mise à jour, il sera possible de les réparer en allant chercher ceux qui se trouvent dans la branche stable.
Autrement dit, on fera une mise à jour temporaire
en utilisant une version antérieure d'un ou plusieurs paquets.
Pour une utilisation testing qui combine les fichiers sources.list stable avec testing, les paquets étant à égalités de priorité par défaut, il n'est pas nécessaire d'avoir un fichier /etc/apt/preferences.
Les paquets backports étant présents dans les branches supérieures à stable, vous pouvez les ôter aussi…
Il est possible d'utiliser uniquement le fichier sources.list propre à celle-ci que l'on retrouve ci-haut, à savoir le fichier purement unstable. C'est ce que certaines personnes n'hésitent pas à faire.
Pour se tirer d'embarras dans des situations problématiques, il est conseillé d'ajouter les lignes du fichier sources testing dans le fichier sources.list sid.
Ainsi :
Voici un exemple de situation où il est utile d'avoir un fichier sources.list plus complet. Après avoir fait un :
aptitude safe-upgrade
où tout semblait se dérouler correctement je me retrouve, à la fin, avec un paquet cassé. Même avec un safe-upgrade, nous ne sommes pas à l'abri de ce genre d'ennui. Après tout les développeurs sont humains et peuvent faire des erreurs.
Pour résoudre mon problème, j'ai tout simplement installé la version du paquet qui se trouvait dans testing avec un
aptitude reinstall le_paquet/testing
Cela a réglé temporairement le problème. Comme les mises à jour sont rapides avec unstable, dès le lendemain une nouvelle version du paquet apportait le correctif.
Le fichier preferences n'est pas nécessaire si vous combinez tous les fichiers sources.list ci-haut car les paquets les plus récents se trouvent toujours dans le dépôt unstable. Les paquets les plus récents seront donc installés par défaut.
![]()
![]()