Suche nach einer früheren Version, auf die ein Downgrade durchgeführt werden soll

10

Auf meinem Debian-Server habe ich das SQLite-Paket auf die Version aktualisiert, 3.7.7aber festgestellt, dass es einen kritischen Fehler enthält, der verschiedene Probleme verursacht, einschließlich meines Subversion-Repositorys. Daher möchte ich ein Downgrade auf die von mir verwendete vorherige Version durchführen. Aber:

  • Ich habe keine Ahnung, was diese Version war (ich nehme an, es war 3.7.6.3, aber ich bin nicht sicher).
  • Die einzige andere Version , die ich in das SQLite - Paket zur Verfügung zu finden aptitudeheißt , 3.5.9.6die für das Subversion - Paket zu früh ist , verwende ich (es erfordert zumindest 3.6).

Wie kann ich die von mir verwendete SQLite-Version identifizieren und ein Downgrade durchführen, die sich möglicherweise noch in einem Cache auf meinem Computer befindet? Oder wie kann ich andernfalls feststellen, aptitudewo Zwischenversionen dieses Pakets heruntergeladen werden sollen?

Victor Nicollet
quelle

Antworten:

8

Der APT-Cache befindet sich in /var/cache/apt/archives. Wenn Sie dort eine geeignete Version des Pakets haben, können Sie es mit installieren dpkg -i /var/cache/apt/archives/sqlite3-VERSION.deb.

Wenn Sie es nicht haben, hat das Testen derzeit 3.7.6.3-1 (kann von jedem Debian-Spiegel heruntergeladen werden) und Stable hat derzeit 3.7.3-1 ; oder Sie können (fast) jede Version, die jemals in Debian war, auf snapshot.debian.org finden . Da dies eine pünktliche Anforderung ist, ist es am einfachsten, das Paket manuell herunterzuladen und mit zu installieren dpkg(Sie können jedoch auch ein bestimmtes Snapshot-Datum als APT-Quelle definieren, wie auf der Startseite von snapshot.do erläutert).

Sie können herausfinden, welche Version früher installiert wurde, indem Sie die dpkg-Anmeldungen /var/log/dpkg.logoder die APT-Anmeldungen /var/log/aptoder die Aptitude-Anmeldungen durchsehen /var/log/aptitude.

Markieren Sie in Aptitude die fehlerhafte Version als verboten für die Installation: FGeben Sie die interaktive Benutzeroberfläche oder aptitude forbid-versioninteraktiv ein. Wenn der Fehler in der nächsten Version nicht behoben wird, markieren Sie das Paket als "in der Warteschleife", um automatische Upgrades bis auf weiteres zu verhindern ( =Schlüssel oder aptitude holdBefehl).

Gilles 'SO - hör auf böse zu sein'
quelle
Dies funktionierte mit nur zwei geringfügigen Änderungen (Suche nach lib sqlite und der amd64-Plattform). dpkg -iwar in der Tat der schnellste Weg.
Victor Nicollet
2

Die Datei /var/log/dpkg.loghat den Änderungsverlauf. Bitte machen Sie einen Grep, um Ihre Antwort zu finden.

Bagavadhar
quelle
Dies bestätigt in der Tat, dass ich lief 3.7.6.3-1. Jetzt muss ich es finden :-)
Victor Nicollet