Contexte

Aujourd'hui la mise à jour de debian m'a proposé une mise à jour de la libpcre3 en version 8.30. je serais bien embêter pour savoir ce qu'apporte cette lib (des expressions regulières pour perl apparemment)  mais ce que je sais c'est que c'est buggé et que suite à un reboot on se retrouve sans bureau.

Procédure de récupération rapide (pour mémoire)

se connecter en console ou en ssh (de toute facon il ne reste que ca).
editer /etc/apt/sources.list
vi /etc/apt/sources.list
ajouter le depot testing pour pouvoir aller chercher la version précédente :
deb http://ftp.fr.debian.org/debian/ testing main

editer /etc/apt/preferences
vi /etc/apt/preferences
mettre la pin-priority de testing en dessous de unstable

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

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


faire une mise à jour de la base pour prendre les dépôts en compte :
aptitude update

mettre la version de testing en lieu et place de celle de unstable
aptitude instal -t testing libpcre3

Contournement

Bon normalement ça devrait marcher... mais la réalité ayant décidé de me contrarier cela ne fonctionne pas.
heureusement il y a une solution : forcer la version a installer :

récupérer la version de testing ;
aptitude show -t testing libpcre3 | grep Version
vérifier que celle ci est différente de celle de unstable
aptitude show -t unstable libpcre3 | grep Version

installer la version de testing :
aptitude install libpcre3=`aptitude show -t testing libpcre3 | grep Version|awk '{print $2}'`

Et voilà ! un reboot plus tard le bureau est (re)disponible et prêt à travailler.

Conclusion

En conclusion debian unstable est utilisable au jour le jour mais de temps en temps il faut être prêt à mettre les mains dans le moteur pour réparer les petites erreurs (ou juste éviter de faire des mises à jour trop fréquente).
En même temps ça permet de ne pas perdre la main, voire d'apprendre de nouvelles choses. Et ça donne matière a faire un billet de blog :)