Kann ich dnf zwingen, eine alte Version eines Pakets zu installieren?

31

Ich möchte eine ältere Version von installieren package <x>und wenn ich sie verwende dnf, wird nur die aktuelle Version von angezeigt package <x>.

Gibt es eine Möglichkeit, ältere Versionen mit zu installieren dnf?

0x0584
quelle

Antworten:

46

Sie können mit einer bestimmten Namensversion installieren, wie in der Manpage beschrieben:

dnf install tito-0.5.6-1.fc22

Installieren Sie das Paket mit einer bestimmten Version. Wenn das Paket bereits installiert ist, wird automatisch versucht, ein Downgrade oder Upgrade auf eine bestimmte Version durchzuführen.

Verwenden Sie zum Anzeigen aller Versionen eines Pakets in den aktivierten Repositorys Folgendes:

dnf --showduplicates list <package>
Dani_l
quelle
16

Ja. Sie können eine ältere Version des Pakets mit dnf downgrade package-name[-version]installieren , wenn Sie bereits eine neue installiert haben. Die alte Version muss jedoch weiterhin auf Spiegeln verfügbar sein.

Wenn das Paket von Mirrors nicht verfügbar ist, können Sie es immer manuell von Koji herunterladen und dann dnfzum Downgrade verwenden, z dnf downgrade path/to/downloaded.file.rpm. Bei dieser Technik müssen Sie Abhängigkeiten möglicherweise selbst lösen.

Jakuje
quelle
Beachten Sie auch, dass die manuelle Installation von Paketen den Nachteil hat, dass für dieses Paket keine Updates (z. B. Sicherheitsupdates) abgerufen werden, sofern solche vorhanden sind.
Thorian93
Hierbei werden Pakete nicht manuell installiert, sondern nur manuell heruntergeladen. Jedes Mal, wenn dnf updateSie ausgeführt werden, erhalten Sie die Updates einschließlich der Sicherheitsupdates.
Jakuje
Bist du dir da sicher? Ich bin aufrichtig neugierig, da ich immer dachte, die Installation einer .rpm-Datei überlasse es mir direkt, aktualisierte Versionen davon zu installieren. Es sei denn, die RPM selbst installiert ein eigenes Repository. Können Sie einen Hinweis für Ihre Aussage geben?
Thorian93
1
Dies funktioniert auf diese Weise, wenn Sie entweder ein Paket installieren, das nicht in Ihrem System enthalten ist (von einem anderen Ort), oder wenn Sie eine neuere Version installieren, als von Ihrem System bereitgestellt wird. In diesem speziellen Anwendungsfall wird ein älteres RPM von Koji (offizielles Build-System) installiert, was bedeutet, dass es höchstwahrscheinlich in Fedora und älteren Versionen enthalten ist, sodass zukünftige Updates es aktualisieren.
Jakuje,
Ah okay, ich glaube ich habe verstanden was du meinst, danke für die Erklärung!
Thorian93