Vous êtes sur la page 1sur 11

Debian Testing : comment lutiliser efficacement ?

Version 1.0, par Shankarius - http://ubunteros.tuxfamily.org/spip.php?article177

La branche Testing de Debian reprsente la future version Stable en dveloppement. Cest pour beaucoup un excellent choix : les logiciels y sont rcents et elle est gnralement trs stable. Cependant, du fait quelle soit en dveloppement, elle ncessite une certaine attention et certaines connaissances pour tre apprcie et utilise sereinement. Sommaire :

tre prvenu sur ltat des paquets qui seront installs/mis jour Le sources.list et le fichier de prfrence des priorits Le sources.list Le fichier de prfrence des priorits (/etc/apt/preferences) Ajouter un dpt extrieur Debian Attribuer une priorit particulire un paquet Lutilisation des outils Apt dans le cadre dun systme utilisant les prfrences Les informations Les mises jour Installer un paquet provenant dune version suprieure Testing (soit Unstable/Sid ou Experimental) Revenir une version infrieure dun paquet La simulation Astuces Faire une mise niveau du sytme vers le bas Apt-get et les paquets recommands

tre prvenu sur ltat des paquets qui seront installs/ mis jour
Avec Debian Testing les mises jours sont quotidiennes, et mme si les paquets sont rests quelques jours/semaines dans la branche Unstable (ou Sid) pour tre tests avant dtre reverss dans Testing ils peuvent quand mme parfois tre bogus. Linstallation dApt-listbugs est donc recommande. Il permet dtre prvenu sur ltat des paquets qui seront installs/mis jour, en indiquant la nature, ltat, la gravit du bogue ainsi que les architectures concerns, le tout en anglais... Quelques explications sur ltat des bogues :

Done : le bogue a t corrig. Fixed : le bogue a t corrig pour une prochaine version (Pour Testing cest en gnral la version qui va tre install). Pending : le bogue est en train dtre corrig mais la version qui va tre install contient peut tre encore le bogue. Il est donc sage de faire une vrification sur le site http://www.debian.org/Bugs/ arm du numro du bogue. Tout cela en gardant lesprit quun bogue ne touche pas forcement toutes les configurations matriels, inutile donc de tomber dans la paranoa...

Le sources.list et le fichier de prfrence des priorits


Il nous faut tout dabord rpondre une question : quelle est la diffrence entre utiliser la branche Testing et son nom de code (actuellement Lenny) dans le sources.list ? Cest simple, si on utilise testing dans le sources.list on restera toujours dans la branche Testing de Debian. Si par contre on utilise lenny , lorsque Lenny deviendra la version Stable de Debian on passera donc de la version Testing la version Stable. Le branche Testing tant particulirement instable les semaines suivants la sortie de la version Stable il est recommand dutiliser dans le sources.list le nom de code de la branche Testing (actuellement Lenny) et de faire le cas chant une mise niveau vers la nouvelle version Testing une fois louragan pass (un dlai denviron 2 mois est gnralement suffisant). Le sources.list Debian Testing est une version en dveloppement, de ce fait elle nest pas toujours complte et des paquets peuvent, pour diverses raisons, ne pas tre prsent ou tre retirs temporairement des dpts Testing (par exemple les pilotes propritaires Nvidia). De plus, mme si Debian Testing est gnralement trs stable, il peut parfois arriver quun ou plusieurs paquets mettent mal cette stabilit. Deux solutions soffrent donc vous : 1. Attendre que le/les paquets incrimins soit mis jours et/ou reverss dans Testing (linconvnient est que de part la politique de Debian qui veut que les paquets passent un certain temps dans la branche Unstable avant dtre reverss dans Testing il faille attendre plusieurs jours/semaines/mois). 2. Installer les paquets directement partir des dpts de Sid ou de la version Stable, ce qui permet la plupart du temps de saffranchir du dlai dattente et de conserver un systme fonctionnel. Il est donc quasi indispensable davoir les dpts de la version Stable et de la version Unstable (Sid) dans le sources.list. Cerise sur le gteaux, avoir accs aux dpts de Sid et mme dExperimental permet de pouvoir tester et utiliser facilement certains paquets plus rcents sa convenance, ce qui fait partie des avantages que peut offrir Debian Testing

par rapport dautres distribution figes. Un sources.list complet se prsentera donc comme ceci :
## Stable (Etch) deb http://ftp.fr.debian.org/debian/ stable main non-free contrib # deb-src http://ftp.fr.debian.org/debian/ stable main non-free contrib ## Testing (Lenny) deb http://ftp.fr.debian.org/debian/ lenny main non-free contrib # deb-src http://ftp.fr.debian.org/debian/ testing main non-free contrib ## Unstable (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 ## Security deb http://security.debian.org/ lenny/updates main contrib non-free # deb-src http://security.debian.org/ lenny/updates main contrib nonfree deb http://security.debian.org/ stable/updates main contrib non-free # deb-src http://security.debian.org/ stable/updates main contrib nonfree ## Multimedia deb http://www.debian-multimedia.org/ stable main deb http://www.debian-multimedia.org/ lenny main deb http://www.debian-multimedia.org/ unstable main ## Experimental deb http://ftp.fr.debian.org/debian/ experimental main

ATTENTION Ce sources.list saccompagne obligatoirement dun fichier de prfrence des priorits (voir le chapitre suivant). ATTENTION Si vous faites une mise jour de la liste des paquets (apt-get update) aprs avoir gonfl votre sources.list vous aurez srement droit un message derreur de ce type : Dynamic MMap ran out of room . En effet la taille du cache dApt est par dfaut trop petite, la solution est tout simplement de laugmenter :
# echo APT::Cache-Limit 40000000; >> /etc/apt/apt.conf.d/00configperso

Autrement dit on ajoute loption APT::Cache-Limit en lui fixant une valeur de 40000000 bits (39Mo) au fichier

/etc/apt/apt.conf.d/00configperso (en le crant sil nexiste pas).

Le fichier de prfrence des priorits (/etc/apt/preferences) Bien entendu en ajoutant les dpts dUnstable/Sid au sources.list on se retrouvera en Sid la premire mise jour du systme ce qui nest pas le but. Cest l quintervient le fichier /etc/apt/preferences. Celui-ci permet dattribuer un ordre de priorit aux diffrents dpts renseigns dans le sources.list ainsi qu des paquets spcifiques comme nous le verrons plus loin. Le fichier /etc/apt/preferences correspondant au sources.list prcdent se prsentera ainsi ( crer si besoin) :
Package: * Pin: release o=Debian,a=testing,l=Debian-Security Pin-Priority: 900 Package: * Pin: release o=Unofficial Multimedia Packages,a=testing,l=Unofficial Multimedia Packages Pin-Priority: 900 Package: * Pin: release o=Debian,a=testing,l=Debian Pin-Priority: 900 Package: * Pin: release o=Debian,a=stable,l=Debian-Security Pin-Priority: 800 Package: * Pin: release o=Unofficial Multimedia Packages,a=stable,l=Unofficial Multimedia Packages Pin-Priority: 800 Package: * Pin: release v=4.0*,o=Debian,a=stable,l=Debian Pin-Priority: 800 Package: * Pin: release o=Unofficial Multimedia Packages,a=unstable,l=Unofficial Multimedia Packages Pin-Priority: 90 Package: * Pin: release o=Debian,a=unstable,l=Debian Pin-Priority: 90

Ce fichier permet davoir, dans lordre, une priorit pour les dpts Testing/Lenny > Stable/Etch > Unstable/Sid > Experimental. Vous noterez que lentre correspondant au dpt Experimental ny est pas

renseigne. Ce dpt ayant par dfaut une priorit fixe 1 cest inutile mais rien nempche de le faire. ATTENTION Pour vrifier que tout soit dans lordre il faut bien penser aprs chaque manipulation du sources.list et/ou du fichier preferences utiliser la commande :
$ apt-cache policy

Le rsultat ne doit montrer aucun dpt avec une priorit de 500 lexception des dpts nots Translation-fr. ATTENTION L installation de paquets provenant des dpts Unstable/Sid ou Experimental demande une attention particulire quand aux dpendances qui seront installes. Le paquet libc6 et llment central du systme et dtermine en quelque sorte la version Debian que lon utilise. En dautres termes si lon installe la libc6 provenant des dpts Unstable/Sid ou Experimental on ne sera plus en Testing !

Ajouter un dpt extrieur Debian Il est courant dutiliser un ou plusieurs dpts extrieurs aux dpts Debian. Pour les dpts proposant uniquement des paquets qui ne sont pas disponibles dans les dpts Debian il suffit des les rajouter au sources.list, ils auront gnralement une priorit fixe par dfaut 500 (vrifiable avec la commande apt-cache policy). Pour les dpts proposant des paquets qui sont dj disponibles dans les dpts Debian il est indispensable de leur fixer une priorit. Dans le doute il est prfrable de fixer une priorit tout les dpts, cest ce que nous allons voir avec lun des dpts dXcfa. On commence par ajouter le dpt au sources.list :
## Xcfa deb http://download.tuxfamily.org/xcfaudio/dev/ lenny contrib # deb-src http://download.tuxfamily.org/xcfaudio/dev/ lenny contrib

Puis on recharge la listes des paquets :


# apt-get update

Pour rcuprer les identifiants du dpt on lance cette commande :

$ apt-cache policy

On repre la ligne correspondant au dpt :


500 http://download.tuxfamily.org lenny/contrib Packages release o=Depot Tuxfamily pour Debian Ubuntu,a=testing,l=Depot Tuxfamily pour Debian Ubuntu,c=contrib origin download.tuxfamily.org

Nous avons donc maintenant toutes les informations pour pouvoir attribuer une priorit au dpt dans le fichier /etc/apt/preferences :
Package: * Pin: release o=Depot Tuxfamily pour Debian Ubuntu,a=testing,l=Depot Tuxfamily pour Debian Ubuntu Pin-Priority: 900

Et on fini par vrifier que la nouvelle priorit ait bien t pris en compte :
$ apt-cache policy 900 http://download.tuxfamily.org lenny/contrib Packages release o=Depot Tuxfamily pour Debian Ubuntu,a=testing,l=Depot Tuxfamily pour Debian Ubuntu,c=contrib origin download.tuxfamily.org

Pour les dpts proposant des paquets qui sont dj disponibles dans les dpts Debian la priorit dpendra de vos dsirs et se situera entre ces deux extrmes : Si vous voulez que les paquets provenant de ces dpts soient toujours prioritaires quelque soit leur version vous pouvez leur attribuer une priorit de 901 voire suprieure ou gale 990. Si vous voulez que les paquets provenant de ces dpts ne soient uniquement installables et mis jours volontairement vous devez leur attribuer une priorit comprise entre 1 et 89 (donc infrieure aux dpts dUnstable). Pour plus dinformations sur les priorits :
$ man apt_preferences

Attribuer une priorit particulire un paquet linstar des dpts, le fichier /etc/apt/preferences permet aussi dattribuer une priorit un paquet. Cela peut tre intressant par exemple pour ne pas voir un paquet que lon a compil avec amour tre remplac la suite dune mise jour, suivre un paquet provenant dune version ou dun dpt particulier, etc. Voici donc comment procder pour attribuer une priorit particulire un paquet. Dans notre exemple nous donnerons la priorit au paquet Iceweasel

provenant des dpts dUnstable/Sid. Dans le fichier /etc/apt/preferences nous rajoutons ceci :
Package: iceweasel Pin: release o=Debian,a=unstable,l=Debian Pin-Priority: 901

ATTENTION Il faut garder lesprit que seul Iceweasel est concern par cette entre, les paquets dont il dpend seront eux pris dans les dpts Testing ce qui peut rserver quelques mauvaises surprises. Par exemple, les utilisateurs de Gnome qui ont installs le paquet iceweasel-gnome-support verront ce paquet tre dsinstall chaque mise jour dIceweasel car le paquet iceweasel-gnome-support une dpendance strict sur la version dIceweasel. Une possibilit serait de rajouter une entre similaire pour iceweasel-gnome-support mais lors dun changement de version majeur dIceweasel (passage de la version 2 la version 3) le problme risque de se reprsenter avec dautres dpendances : il faut donc tre trs prudent avec ce genre de manipulation. Dautres dtails peuvent tre ajout pour suivre une version particulire dun paquet (Pin : version x.x.x), etc. Pour plus dinformations sur les priorits :
$ man apt_preferences

L utilisation des outils Apt dans le cadre dun systme utilisant les prfrences
Les informations Nous avons dj vu la commande apt-cache policy qui nous permet davoir une vue sur les priorits assignes aux dpts renseigns dans le sources.list. Cette commande peut aussi tre utilis avec le nom dun paquet en argument ce qui nous renseignera sur toutes les versions disponibles pour ce paquet, leurs provenances et leurs priorits :
$ apt-cache policy un_paquet

Les mises jour Debian Testing tant une version en dveloppement certains paquets mis jour requirent de nouvelles dpendances. Il est donc prfrable dutiliser :

# apt-get dist-upgrade

plutt que apt-get upgrade ou


# aptitude safe-upgrade

plutt que aptitude upgrade . Ces commandes font une mise jour intelligente du systme en installant si besoin les nouvelles dpendances requises. Elles ne feront une mise niveau du systme vers une version suprieure (ex : de Testing Sid) que si lon dfinie au pralable la nouvelle version suivre dans le fichier de prfrence des priorits, ou, si lon utilise pas ce fichier, que si lon remplace dans le sources.list les dpts de la version utilise par ceux de la version vers laquelle on veut faire la mise niveau.

Installer un paquet provenant dune version suprieure Testing (soit Unstable/Sid ou Experimental) Il y a plusieurs possibilits :
# apt-get install iceweasel/unstable

ou
# aptitude install iceweasel/unstable

Installera le paquet iceweasel disponible dans les dpts Unstable/Sid. Ces dpendances devront elles provenir des dpts Testing ou Stable (Subtilit concernant surtout Apt-get).
# apt-get install -t unstable iceweasel

ou
# aptitude install -t unstable iceweasel

Installera le paquet iceweasel disponible dans les dpts Unstable/Sid en donnant ces dpts une priorit temporaire de 990. Les dpendances de ce paquet seront, elles, installs en fonction des priorits dfinies dans le fichier /etc/apt/preferences (soit Testing > Stable > Unstable > Experimental). Il est donc prfrable dutiliser cette commande.

Aptitude dispose dun systme proposant plusieurs solutions pour rgler les problmes de dpendances. Un score est attribu chacune de ces solutions, la solution ayant le plus grand score tant suppose la meilleure. trangement la premire solution quil propose nest pas toujours la solution ayant le plus grand score ! Il faut donc faire trs attention avec Aptitude dans le choix de la solution qui sera utilise. Gnralement la solution propose par Apt-get correspond la solution ayant le meilleur score pour Aptitude, et quand Apt-get refuse dinstaller le paquet demand les solutions proposs par Aptitude ont un score ngatif : elles sont donc fuir... ATTENTION L installation de paquets provenant des dpts Unstable/Sid ou Experimental demande une attention particulire quand aux dpendances qui seront installes. Le paquet libc6 et llment central du systme et dtermine en quelque sorte la version Debian que lon utilise. En dautres termes si lon installe la libc6 provenant des dpts Unstable/Sid ou Experimental on ne sera plus en Testing !

Revenir une version infrieure dun paquet Vous avez fait une btise ? Vous avez install un paquet Sid bogu et voulez revenir la version Testing ? Outre la dsinstallation du paquet et sa simple rinstallation vous pouvez aussi rinstaller le paquet avec Apt-get ou Aptitude :
# apt-get install iceweasel/testing

ou
# aptitude install iceweasel/testing

Mme si vous prfrez Apt-get il est trs avantageux dans ce cas d'utiliser Aptitude qui avec son systme de solutions multiples pour la gestion des dpendances s'en sort beaucoup mieux. Si la version du paquet que vous voulez rinstaller nest plus prsente dans les dpts deux solutions soffrent vous : 1. Regarder si le paquet se trouve dans le dossier /var/cache/apt/archives/ 2. Aller sur le site http://snapshot.debian.net/ pour rcuprer le paquet. Il faudra ensuite installer ce paquet avec la commande dpkg :
# dpkg -i le_paquet

La simulation Elle se caractrise par loption -s et permet de simuler une action demande Apt-get ou Aptitude. Cest trs pratique pour tester sans risque une mise jour, linstallation dun paquet, etc. Il est sage de lutiliser avant toute manipulation sur les paquets. Exemples :
# apt-get -s dist-upgrade # apt-get -s install -t unstable iceweasel # aptitude -s safe-upgrade

Astuces
Faire une mise niveau du sytme vers le bas Vous avez trop jou les explorateurs avec les paquets dUnstable/Sid ou Experimental et voulez revenir dans la branche Testing ? Avant de rinstaller essayer de faire une mise niveau du systme vers le bas ! Pour cela il vous suffit de mettre temporairement les priorits des dpts Testing 1001 et celles des dpts Unstable/Sid et Experimental -1 dans le fichier /etc/apt/preferences puis :
# apt-get update # apt-get dist-upgrade

ou
# aptitude update # aptitude full-upgrade

(Pensez faire une simulation avant ;) )

Apt-get et les paquets recommands Depuis quelques temps Apt-get, tout comme Aptitude, installe par dfaut les paquets marqus comme recommands. Si vous voulez passer outre il vous faudra utiliser loption --no-install-recommends :

# apt-get --no-install-recommends install un_paquet

Si vous voulez que ce comportement soit celui par dfaut pour ne pas avoir utiliser cette option chaque fois il faut rajouter au fichier /etc/apt/apt.conf.d/00configperso loption :
APT::Install-Recommends "false";

Aprs cela, si vous voulez installer un paquet plus les paquets marqus comme recommands il vous faudra utiliser loption --install-recommends :
# apt-get --install-recommends install un_paquet

Ce document est plac sous la licence libre GNU FDL. Copyright (c) 2008 Shankarius. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Vous aimerez peut-être aussi