Właśnie przeszedłem przez ból związany z aktualizacją do wyższej wersji pakietu, a następnie zdecydowałem się na obniżenie wersji. Odbyło się to za pośrednictwem prywatnego repozytorium opiekunów. W moim przypadku chodziło o wypróbowanie najnowszej wersji systemd 233 (jeszcze nie wydanej).
Kluczem jest zrozumienie, że musisz określić wszystkie pakiety, które powinny zostać obniżone. Jeśli dobrze to zrozumiesz, prawdopodobnie zrobisz, co chcesz. Jeśli coś przeoczysz, apt powie ci, że akcja spowoduje usunięcie wielu pakietów. Aby upewnić się, że używamy flagi „-s”, aby wypróbować wersję starszą, zanim faktycznie to zrobimy.
Kroki, które musisz podjąć, to:
1) Wymień wszystkie zależności, które zostały uaktualnione do upstream (użyj innej słowa kluczowego, jeśli Twoja sytuacja jest inna):
dpkg -l|grep upstream
Daje ci to listę pakietów z nadrzędnym numerem wersji.
2) Podaj, jaka jest poprawna stabilna wersja dla każdego pakietu:
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) Sprawdź dwukrotnie, czy wszystko jest w porządku:
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.
(nie jestem pewien, czy wymagana była opcja --reinstall btw, ale tak właśnie zrobiłem)
4) Usuń -s i zrób to.
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
pierwszy?