Problématique

Tu as installé (tout fier) ta Debian Lenny, full stable... Mais tu pleures, tu n'as pas la dernière version d'OpenOffice (3.0) ! Et là se pose une question importante : est-ce que je fais passer mon système en "testing" ? Personnellement, j'ai déjà testé le "full testing", je n'ai pas trop apprécié... Alors je recommande le "mix" de plusieurs branches de Debian. Avec un peu de rigueur tout se passe bien ! :)

En théorie

Il existe plusieurs branches de Debian (autre que stable, testing...). Elles sont "officielles" et parfaitement adapté à notre cas :

  • Backports : permet d'avoir des paquets "récents" adaptés à la branche stable
  • Volatile : c'est un tout petit dépot qui permet d'avoir les dernières mise à jour, sur les paquets très souvent mis à jour (perso je l'utilise pour Pidgin et sa libpurple, car Microsoft, aime bien faire joujou avec son protocole de messagerie instantanée).

Parfois, il y des paquets qui ne sont pas intégrés dans "stable"... mais ils sont présents dans "testing" et "unstable", voire "experimental"... (exemple : Picviz, vu sur un précédant GNU/Linux mag).

Pour ma part, j'utilise un stable Debian Stable avec Backports, Volatile, avec quelques paquets Testing et Unstable, avec quelques compilés maison ! En ce qui concerne Firefox Iceweasel, je préfère avoir la dernière mise à jour ("unstable") pour des raisons de sécurité.

En pratique

Normalement, tu connais bien le fameux "sources.list"... Dans ce fichier, on y met les adresses des dépôts (voir plus bas mon fichier) pour le système. A côté de ce fichier, il faut utiliser le fichier "preferences" (le crée s'il n'existe pas), pour expliquer au système APT les priorités (ça serait bête d'avoir un système "Unstable" alors que ça n'est pas notre objectif :)).

Pour procéder :

  • Changer son sources.list
  • Crée son preferences
  • "# aptitude update"


Après on vérifie que tout est conforme avec "apt-cache policy", mais j'ai une petite ligne de commande qui permet d'avoir une version "light" and "human readable".

$ apt-cache policy | awk '/^[ ]+[0-9]/ && !/(status|Translation)/ { print $1 " " $2 " " substr($3,0,index($3,"/")-1) }' | sort -rn | uniq
995 http://www.backports.org lenny-backports
800 http://volatile.debian.org lenny
800 http://security.debian.org lenny
800 http://ftp.fr.debian.org lenny
700 http://ftp.fr.debian.org testing
90 http://ftp.fr.debian.org unstable
70 http://ftp.fr.debian.org experimental


Note :

  • Quelque soit la configuration des fichiers, il y aura toujours les dépots "Translation" avec une priorité de 500.
  • Les paquets actuellement installés ont une priorité de 100.
  • Les préférences sont utilisés lors de l'installation "aptitude install" (si aucune branche n'est spécifiée) et lors des "aptitude upgrade"


Quand tout est fait, un petit coup de "aptitude safe-upgrade".
Et voilà le travail, avec ma configuration, j'aimerais savoir quelle version de OOo Writer est celle utilisée :

$ apt-cache policy openoffice.org-writer
openoffice.org-writer:
  Installé : 1:3.0.1-11~bpo50+2
  Candidat : 1:3.0.1-11~bpo50+2
 Table de version :
     1:3.1.1~ooo310m13-1 0
         70 http://ftp.fr.debian.org experimental/main Packages
     1:3.1.0-5 0
         90 http://ftp.fr.debian.org unstable/main Packages
 *** 1:3.0.1-11~bpo50+2 0
        995 http://www.backports.org lenny-backports/main Packages
        100 /var/lib/dpkg/status
     1:3.0.1-9 0
        700 http://ftp.fr.debian.org testing/main Packages
     1:2.4.1+dfsg-1 0
        800 http://ftp.fr.debian.org lenny/main Packages


Fichiers


/etc/apt/sources.list

############################
#  Debian Lenny (Stable)   #
############################

# Debian Lenny 
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ lenny main contrib non-free

# Debian Lenny Security
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free

# Debian Lenny -- Backports
deb http://www.backports.org/debian lenny-backports main contrib non-free

# Debian Lenny -- Volatile
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

############################
# Debian Squeeze (Testing) #
############################

deb http://ftp.fr.debian.org/debian/ testing main contrib non-free

############################
#  Debian Unstable (Sid)   #
############################

deb http://ftp.fr.debian.org/debian/ unstable main contrib non-free

############################
#   Debian Experimental    #
############################

deb http://ftp.fr.debian.org/debian/ experimental main contrib non-free


/etc/apt/preferences

Package: iceweasel
Pin: release o=Debian,a=unstable
Pin-Priority: 1000

Package: *
Pin: release o=Backports.org archive,a=lenny-backports
Pin-Priority: 995

Package: *
Pin: release o=volatile.debian.org,a=stable
Pin-Priority: 800

Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 800

Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 700

Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 90

Package: *
Pin: release o=Debian,a=experimental
Pin-priority: 70

Tips

  • Installer un paquet "Testing" explicitement "# aptitude install monpaquet -t testing", attention aux dépendances !!! Il se peut qu'un paquet aie besoin de librairies non présentes en stable !
  • Toujours faire un "# aptitude update" lorsqu'on modifie la configuration d'APT... ça permet d'éviter les mauvaises surprises :)
  • "$ man apt_preferences" et "$ man sources.list, permet d'en savoir un peu plus :)



Bon bricolage :)