Die Hintergrundgeschichte ist, dass die normalen Intel-GPU-Treiber nicht die verschiedenen OpenGL-Erweiterungen ausführen, die meine Hobby-Programmierung und einige Spiele wollen. Also muss ich xorg-edgers installieren und dann ist es glücklich. Letzten Mittwoch gab es jedoch ein Update für xorg-edgers - viele Pakete - und es ist schwer kaputt gegangen. die Fahrer schließen ab und nehmen den ganzen Computer mit; Hard Reset erforderlich.
Wie können Sie ein Downgrade durchführen, indem Sie Paketversionen in einem PPA auswählen, die einen früheren Zeitpunkt darstellen, und neuere Versionen ignorieren?
sudo ppa-purge ppa:someppa/ppa
Ich hatte heute das gleiche Problem. Mir ist aufgefallen, dass ich vor ca. 2 Wochen Updates für mein System installiert und immer noch Ubuntu-X-Swat PPA aktiviert hatte, das einen neuen NVIDIA-Treiber hatte. Der alte war in Ordnung, der neue hat mein System kaputt gemacht (nur geringfügig, es dauerte eine Weile, bis ich es bemerkte).
Also habe ich in /var/log/apt/history.log nach der vorherigen Versionsnummer des von mir installierten nvidia-Treiberpakets gesucht und dann versucht, das Paket in / var / cache / apt / archives zu finden, wo Sie es normalerweise finden Finde alle Pakete, die von apt heruntergeladen wurden, aber es war nicht da. Und das ppa behält keine frühere Version seiner Pakete bei, sobald sie von einer neueren Version abgelöst wurden, sodass ich sie auch von dort nicht mehr bekommen konnte.
Der Unterschied zwischen der vorherigen und der neueren Paketversion bleibt jedoch für alle Versionen im ppa erhalten, und zusammen mit dem ursprünglichen Tarball und seinen Debian-Patches ist es möglich, alle Änderungen der neueren Version rückgängig zu machen und die Quellen der vorherigen Version abzurufen.
Ich beschreibe kurz die notwendigen Schritte:
Gehen Sie zum ppa, suchen Sie die neueste Paketversion und laden Sie den Original-Tarball und die (optionalen) Debian-Patches herunter, in meinem Fall die auf dieser Seite gefundenen:
Der ursprüngliche Tarball heißt:
Die Debian-Patches, die aus dem Tarball ein baubares Paket machen, sind:
Extrahieren Sie diese Dateien vorzugsweise in ein neues und leeres Verzeichnis und wenden Sie die Patches auf den Quellbaum an
Sie sollten beim Patchen keine abgelehnten Teile erhalten.
Auf derselben ppa-Seite finden Sie unter "Available Diffs" (Verfügbare Diffs) ein Diff von der vorherigen Paketversion zu dem, den Sie gerade sehen.
Für mich war das:
Laden Sie das herunter, extrahieren Sie es und wenden Sie es in umgekehrter Reihenfolge auf die gepatchten Originalquellen an:
Presto! Jetzt sollten Sie den Quelltextbaum der vorherigen Version bereit haben, um ein Paket zu erstellen:
Welches sollte Ihnen ein Paket der Vorgängerversion geben, das mit dpkg installiert werden kann:
quelle
Wenn Sie in Zukunft synaptic verwenden (vorausgesetzt, Sie können in X booten), können Sie aus den verfügbaren Versionen auswählen, indem Sie das zu ändernde Paket markieren und dann "Version erzwingen" aus dem Menü auswählen. Von dort aus sollten Sie ein Downgrade durchführen können.
quelle
[Originalplakat]
Ich hatte nicht viel Spaß und schrieb ein Skript, um den Unterschied zu berechnen und den Wiederherstellungsbefehl auszuführen. Es waren ungefähr 100 Pakete beteiligt. Leider ist mein Downgrade fehlgeschlagen, da viele Pakete nicht mehr verfügbar sind :(
quelle
/var/log/apt/history.log
?dpkg
dann direkt? Synaptic ist ein Frontend vonapt-get
.