Ich habe gerade die Qualen hinter mir, ein Upgrade auf eine Upstream-Version eines Pakets durchzuführen und mich dann für ein Downgrade zu entscheiden. Dies geschah über ein privates Repository des Betreuers. In meinem Fall ging es darum, die neueste (noch unveröffentlichte) systemd 233-Version auszuprobieren.
Der Schlüssel ist zu verstehen, dass Sie alle Pakete angeben müssen, die heruntergestuft werden sollen. Wenn Sie das richtig verstehen, werden die Chancen gut stehen, dass Sie tun, was Sie wollen. Wenn Sie etwas verpassen, werden Sie von apt darauf hingewiesen, dass durch die Aktion viele Pakete entfernt werden. Um sicherzustellen, dass wir das '-s'-Flag verwenden, probieren wir das Downgrade aus, bevor wir es tatsächlich durchführen.
Die Schritte, die Sie unternehmen müssen, sind also:
1) Listen Sie alle Abhängigkeiten auf, die auf Upstream aktualisiert wurden (verwenden Sie ein anderes Schlüsselwort, wenn Ihre Situation anders ist):
dpkg -l|grep upstream
Dies gibt Ihnen eine Liste von Paketen mit einer Upstream-Versionsnummer.
2) Geben Sie für jedes Paket die richtige stabile Version an:
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) Überprüfen Sie noch einmal, ob alles in Ordnung ist:
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.
(Ich bin mir nicht sicher, ob --reinstall erforderlich ist, aber das habe ich getan)
4) Entfernen Sie das -s und machen Sie es.
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
ppa-purge
zuerst?