Tôi vừa trải qua nỗi đau khi nâng cấp lên phiên bản ngược dòng của gói và sau đó quyết định hạ cấp. Điều này đã thông qua một kho lưu trữ tư nhân bảo trì. Trong trường hợp của tôi, đây là tất cả về việc dùng thử phiên bản systemd 233 mới nhất (chưa được phát hành).
Điều quan trọng là phải hiểu rằng bạn cần chỉ định tất cả các gói nên được hạ cấp. Nếu bạn làm đúng, rất có thể apt sẽ làm những gì bạn muốn. Nếu bạn bỏ lỡ điều gì đó, apt sẽ cho bạn biết rằng hành động đó sẽ khiến rất nhiều gói bị xóa. Để đảm bảo chúng tôi sử dụng cờ '-s' để thử hạ cấp trước khi thực sự làm điều đó.
Các bước bạn cần thực hiện là:
1) Liệt kê tất cả các phụ thuộc đã được nâng cấp lên thượng nguồn (sử dụng một số từ khóa khác nếu tình huống của bạn khác):
dpkg -l|grep upstream
Điều này cung cấp cho bạn một danh sách các gói với số phiên bản ngược dòng.
2) Liệt kê phiên bản ổn định chính xác cho mỗi gói:
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) Kiểm tra lại tất cả là tốt:
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.
(không chắc chắn nếu - yêu cầu cài đặt btw, nhưng đây là những gì tôi đã làm)
4) Hủy bỏ các -s và làm điều đó.
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
đầu tiên?