Wie kann man Pakete auf Ubuntu downgraden?

14

Update Manager hält die Pakete auf dem neuesten Stand, aber gelegentlich funktioniert eine neue Paketversion möglicherweise nicht wie erwartet oder ordnungsgemäß. Wie kann ein installiertes Paket heruntergestuft und auf eine bestimmte Version gesperrt werden, um zu verhindern, dass es aktualisiert wird? Wie kann ich das mit der GUI oder einem Terminal machen ?

Radu Rădeanu
quelle

Antworten:

17

In der GUI - mit Synaptic

Die vereinfachte Benutzeroberfläche des Ubuntu Software Centers bietet keine Möglichkeit zum Downgrade von Paketen. Synaptic, eine erweiterte grafische Paketmanager-Oberfläche, die Ubuntu früher verwendet hat, bietet diese Option. Um ein Paket grafisch herunterzustufen, installieren Sie zuerst die Synaptic- Anwendung:

Ubuntu Software Center

Nachdem Sie dies getan haben, öffnen Sie den Synaptic Package Manager über den Dash:

Synaptis

Suchen Sie in Synaptic nach dem Paket, von dem Sie eine ältere Version installieren möchten, wählen Sie es aus und verwenden Sie die Option Paket > Version erzwingen:

Version erzwingen

Wählen Sie die Version aus, die Sie installieren möchten, und klicken Sie auf Version erzwingen. Synaptic zeigt Ihnen nur Versionen an, die in Ihren Repositories verfügbar sind:

Version auswählen

Klicken Sie auf die Schaltfläche Übernehmen , um Ihre Änderungen zu übernehmen und die ältere Version des Pakets zu installieren, sofern alles ordnungsgemäß funktioniert.

Anwenden

Nachdem Sie das Paket heruntergestuft haben, wählen Sie es aus und verwenden Sie die Option Paket > Version sperren. Wenn Sie dies nicht tun, wird Ubuntu versuchen, das installierte Paket beim nächsten Update Ihrer installierten Pakete zu aktualisieren:

Version sperren

Im Terminal - mit apt-get

Sie können eine bestimmte Version eines Pakets mit apt-getim Terminal installieren . Bestimmen Sie zunächst die verfügbaren Versionen, die Sie mit dem folgenden Befehl installieren können (verwenden Sie für Paketname den Namen des Programms, für das Sie ein Downgrade durchführen möchten):

apt-cache showpkg [packagename]

Führen Sie als Nächstes den Befehl apt-get install aus und geben Sie die zu installierende Paketversion an (verwenden Sie für die Version die Versionsnummer, die zuvor für das Programm ermittelt wurde, für das Sie ein Downgrade durchführen möchten):

sudo apt-get install [packagename]=[version]

Führen Sie nach der Installation den folgenden Befehl aus, um Ihre installierte Version zu speichern und zu verhindern, dass der Paketmanager sie zukünftig automatisch aktualisiert:

sudo echo "[packagename] hold" | sudo dpkg --set-selections

Quelle : http://www.howtogeek.com/117929/how-to-downgrade-packages-on-ubuntu/

Radu Rădeanu
quelle
4
Wenn Sie Ihre Antwort auf dieser Website basiert haben , geben Sie bitte den Quelllink an . Ich glaube nicht, dass es Howtogeek etwas ausmacht, aber sie brauchen den richtigen Quelllink, damit sie den Kredit bekommen können.
Luis Alvarado
Als ich das versuchte, geriet ich in alle möglichen Probleme mit unerfüllten Abhängigkeiten. Ich fand es besser, aptitude zu verwenden, da dadurch alle Abhängigkeiten behoben wurden, z. B. sudo aptitude install smbclient = 2: 4.1.6 + dfsg-1ubuntu2. Siehe askubuntu.com/questions/770789/how-to-downgrade-smbclient
Lance Holland
3

Andere Möglichkeit:

Finden Sie das archivierte Paket unter http://packages.ubuntu.com/ :

Zum Beispiel ein Downgrade von PHP5:

Suche:

Bildbeschreibung hier eingeben

Gefunden einen genauen Treffer können Sie auf der Paketseite für PHP5 suchen:

Bildbeschreibung hier eingeben

Wir können die verschiedenen Versionen von Ubuntu-Versionen hier sehen, die wir als vertrauenswürdig ansehen:

Bildbeschreibung hier eingeben

Lässt zu Version wechseln, die PHP (5.3) lief ... 12.04 (präzise) zum Beispiel:

Bildbeschreibung hier eingeben

Laden Sie die Datei tar.gz herunter

Bildbeschreibung hier eingeben

Und dann extrahiere die tar-Datei und installiere sie:

cd /path/to/download
tar -xzvf name_of_package
cd name_of_extracted_folder
./configure
make
sudo make install

Mögliche Probleme, auf die man beim Laufen stoßen könnte ./configure:

  • Fehlende Abhängigkeiten (mussten installiert werden libxm2-dev): Bildbeschreibung hier eingeben

Probleme beim Ausführen make:

  • Fehler beim Kompilieren können darin bestehen, dass Flags nicht richtig gesetzt sind oder Probleme mit dem Code selbst auftreten.
  • Ein Haufen Müll beim Kompilieren und dann ein Problem im Code?
  • In meinem Fall musste ich die aktuellen Quelldateien / Tarball für PHP finden ( http://php.net/downloads.php )
  • und wiederholen Sie die Extraktion und machen
jmunsch
quelle