Je viens de subir la douleur d'une mise à jour vers une version amont d'un paquetage et de décider ensuite de rétrograder. Cela s'est fait par l'intermédiaire d'un dépôt privé d'un mainteneur. Dans mon cas, il s'agissait d'essayer la dernière version de systemd 233 (qui n'a pas encore été publiée).
L'essentiel est de comprendre que vous devez spécifier tous les paquets qui doivent être déclassés. Si vous le faites correctement, il y a de fortes chances qu'apt fasse ce que vous voulez. Si vous oubliez quelque chose, apt vous dira que l'action entraînera la suppression de nombreux paquets. Pour s'en assurer, nous utilisons l'option '-s' pour tester la rétrogradation avant de l'effectuer.
Les étapes à suivre sont les suivantes :
1) Listez toutes les dépendances qui ont été mises à jour en amont (utilisez un autre mot-clé si votre situation est différente) :
dpkg -l|grep upstream
Cela vous donne une liste de paquets avec un numéro de version en amont.
2) Lister la version stable correcte pour chaque paquet :
for i in libnss-resolve:amd64 libsystemd0:amd64 libpam-systemd:amd64 libsystemd0:i386 libudev1:amd64 libudev1:i386 systemd systemd-sysv udev; do apt-cache show $i; done|grep Version
3) Vérifier à nouveau que tout est en ordre :
apt -s --allow-downgrades --no-remove --reinstall install libnss-resolve:amd64=232-21ubuntu5 libsystemd0:amd64=232-21ubuntu5 libpam-systemd:amd64=232-21ubuntu5 libsystemd0:i386=232-21ubuntu5 libudev1:amd64=232-21ubuntu5 libudev1:i386=232-21ubuntu5 systemd=232-21ubuntu5 systemd-sysv=232-21ubuntu5 udev=232-21ubuntu5
0 to upgrade, 0 to newly install, 9 to downgrade, 0 to remove and 0 not to upgrade.
(je ne suis pas sûr que --reinstall soit nécessaire, mais c'est ce que j'ai fait)
4) Supprimez le -s et faites-le.
apt --allow-downgrades --no-remove --reinstall install libnss-resolve:amd64=232-21ubuntu5 libsystemd0:amd64=232-21ubuntu5 libpam-systemd:amd64=232-21ubuntu5 libsystemd0:i386=232-21ubuntu5 libudev1:amd64=232-21ubuntu5 libudev1:i386=232-21ubuntu5 systemd=232-21ubuntu5 systemd-sysv=232-21ubuntu5 udev=232-21ubuntu5