BxLUG groupe des utilisateurs de GNU/Linux de Bruxelles

Espace membres

Mélanger Testing et Unstable

Certaines personnes ne veulent pas utiliser la version marquée Stable de Debian, généralement sous le prétexte que de nouvelles versions d'applications utiles sont sorties depuis et qu'elles veulent utiliser ces dernières.

Ces personnes ont plusieurs alternatives :

Utiliser des backports

Les backports sont ces applications récentes repackagées pour fonctionner sur la distribution Stable. C'est très utile pour une ou deux applications mais d'importants risques d'incompatibilité existent dès qu'il s'agit de bibliothèques ou d'un nombre important de paquets.

Utiliser Unstable

Unstable est la branche de développement de Debian, c'est elle que les développeurs de la distribution utilisent et c'est elle qui reçoit quotidiennement des mises à jour. Dont certaines cassent le système.

Utiliser Testing

Testing a été une première réponse à l'instabilité inhérente à Unstable. Les aventureux utiliseraient unstable et découvriraient les problèmes en avant-première. Ça permettait dès lors de les corriger. Après une semaine sans problème détecté, le paquet serait promu dans la distribution testing qui reprendrait ainsi les paquets récents, avec dix jours de retard mais en évitant les bugs importants.

Cette dernière solution est à favoriser mais il arrive parfois que l'utilisateur désire ardemment une application qui n'est encore disponible que dans Unstable.


Voici, après cette longue introduction, la solution.

Première étape: avoir les entrées pour Testing et Unstable dans le fichier sources.list (remplacez bien sûr par le serveur le plus rapide pour vous) :

deb http://ftp.debian.skynet.be/debian/ unstable main
deb http://ftp.debian.skynet.be/debian/ testing main

Seconde étape: créer un fichier /etc/apt/preferences avec ce contenu :

Package: *
Pin: release a=testing
Pin-Priority: 990

Package: *
Pin: release a=unstable
Pin-Priority: 99

Normalement, apt installe systématiquement les paquets avec la version la plus élevée qu'il connaisse. Ce fichier lui indique que, non, la priorité des paquets venant d'Unstable doit être réduite; ainsi ils ne seront jamais utilisé automatiquement.

Voyons le cas pour le paquet console-common:

 # apt-cache policy console-common
console-common:
  Installed: 0.7.41
  Candidate: 0.7.42
  Version Table:
     0.7.43 0
         99 http://ftp.fr.debian.org sid/main Packages
     0.7.42 0
        990 http://ftp.fr.debian.org sarge/main Packages
 *** 0.7.41 0
        100 /var/lib/dpkg/status

La version installée est la 0.7.41, apt connaît également les versions 0.7.42 et 0.7.43. La version qui sera installée lors d'une mise-à-jour sera la 0.7.42. Simulons l'installation:

 # apt-get -s install console-common
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be upgraded:
  console-common
1 upgraded, 0 newly installed, 0 to remove and 35 not upgraded.
Inst console-common [0.7.41] (0.7.42 Debian:testing)
Conf console-common (0.7.42 Debian:testing)

Maintenant, imaginons qu'un bug qui nous est très désagréable soit corrigé dans la version 0.7.43, venant d'unstable, comment l'installer ? Plusieurs possibilités:

 # apt-get install console-common=0.7.43     # = numéro de version
 # apt-get install console-common/unstable   # / branche
 # apt-get -t unstable install console-common  # -t branche

Et le résultat, identique pour les trois commandes:

Reading Package Lists... Done
Building Dependency Tree... Done
Selected version 0.7.43 (Debian:unstable) for console-common
The following packages will be upgraded:
  console-common
1 upgraded, 0 newly installed, 0 to remove and 35 not upgraded.
Inst console-common [0.7.41] (0.7.43 Debian:unstable)
Conf console-common (0.7.43 Debian:unstable)

utilisé parfois sous le terme "pinning" : installation de packages de différentes versions de Debian

Bienvenue dans le monde du libre