Historia jest taka, że normalne sterowniki GPU firmy Intel nie robią różnych rozszerzeń OpenGL, które wymagają mojego hobby i niektórych gier. Więc muszę zainstalować xorg-edgeri, a potem jest szczęśliwy. Jednak w ostatnią środę wprowadzono aktualizację xorg-edgerów - wiele pakietów - i bardzo się zepsuło; kierowcy blokują się i zabierają ze sobą cały komputer; wymagany twardy reset.
Jak więc obniżyć wersję - wybrać wersje pakietu w PPA, które stanowią punkt w przeszłości, ignorując nowsze wersje?
sudo ppa-purge ppa:someppa/ppa
Miałem dzisiaj ten sam problem, zauważyłem, że ~ 2 tygodnie temu zainstalowałem aktualizacje mojego systemu i nadal miałem włączoną ppa Ubuntu-X-SWAT, która miała nowy sterownik NVIDIA. Stary był w porządku, nowy zepsuł mój system (tylko nieznacznie, zajęło mi to trochę czasu).
Poszukałem w /var/log/apt/history.log, aby znaleźć poprzedni numer wersji pakietu sterowników nvidia, który zainstalowałem, a następnie próbowałem znaleźć pakiet w / var / cache / apt / archives, gdzie normalnie znajdź wszystkie pakiety pobrane przez apt, ale go tam nie było. I ppa nie utrzymuje poprzedniej wersji swoich pakietów, gdy zostaną one zastąpione nowszą wersją, więc nie mogłem ich stamtąd pobrać.
Ale różnica z poprzedniej wersji pakietu do nowszej jest przechowywana w ppa dla wszystkich wersji, a wraz z oryginalnym plikiem tarball i jego łatkami debianowymi możliwe jest cofnięcie wszystkich zmian w nowszej wersji i pobranie źródeł poprzedniej wersji.
Pokrótce opiszę niezbędne kroki:
Idź do ppa, znajdź najnowszą wersję pakietu i pobierz oryginalne tarball i (opcjonalne) łatki debian, w moim przypadku te zostały znalezione na tej stronie:
Oryginalny plik tarball ma nazwę:
Łatki debian, które tworzą pakiet do zbudowania z tarballa, to:
Wyodrębnij je gdzieś najlepiej w nowym i pustym katalogu, a następnie zastosuj łaty do drzewa źródłowego
Nie powinieneś otrzymywać żadnych odrzuconych fragmentów podczas łatania.
Na tej samej stronie ppa znajdziesz różnicę od poprzedniej wersji pakietu do tej, na którą patrzysz, w sekcji „Dostępne różnice”.
Dla mnie było to:
Pobierz, rozpakuj i zastosuj wstecz do poprawionych oryginalnych źródeł:
Presto! Teraz powinieneś mieć drzewo źródeł poprzedniej wersji gotowe do zbudowania pakietu:
Który powinien dać ci poprzedni pakiet wersji, który można zainstalować za pomocą dpkg:
źródło
W przyszłości, jeśli używasz synaptic (zakładając, że możesz uruchomić system w X), możesz wybrać jedną z dostępnych wersji, podświetlając pakiet, który chcesz zmienić, a następnie wybierając z menu opcję „wymuś wersję”. Stamtąd powinieneś być w stanie obniżyć wersję.
źródło
[Oryginalny plakat]
Nie mając dużo zabawy, napisałem skrypt, aby obliczyć różnicę i wykonać polecenie restore; w grę wchodziło około 100 pakietów. Niestety moje obniżenie wersji nie powiodło się, ponieważ wiele pakietów nie jest już dostępnych :(
źródło
/var/log/apt/history.log
?dpkg
wtedy bezpośrednio? Synaptic to interfejsapt-get
.