Downgrade einiger Pakete

11

Möglicherweise haben Sie Pakete von einer PPA oder einer externen Quelle installiert (z. B. eine .deb-Datei für ein Paket heruntergeladen, das über die Ubuntu-Repos verfügbar ist).
Dann entscheiden Sie sich, diese aktualisierten Versionen zugunsten der offiziellen Repositories abzulegen.
Der erste Schritt besteht darin, die Einträge aus der Datei sources.list zu entfernen.

Gibt es eine Möglichkeit, alle auf die höchste verfügbare Version herunterzustufen? Ich weiß, dass Sie bestimmte Versionen mit installieren können

apt-get install [package] = [version]
Aber können Sie alle herabstufen?

Manuel
quelle
Meinen Sie einen Befehl, um die aktuellen PPA-Anwendungen zu entfernen und diese dann aus dem offiziellen Repository zu installieren? Ich würde so etwas tun sudo apt-get -y remove package1 package2 package3 && sudo apt-get install package1 package2 package3- ich glaube nicht, dass es einen einzigen Befehl gibt, wie sudo apt-get repocleanzum Beispiel, um es zu tun.
Kingmilo
Also muss ich alle Pakete, die ich installiert habe, vom Repo bekommen? Es gibt kein Upgrade auf die höchste verfügbare Version (das können Sie mit openSUSEs zypper tun).
Manuel
Wenn Sie das Repo entfernen und das Paket im offiziellen Repository verfügbar ist und dieses Paket eine höhere Version als das Paket ist, das in dem von Ihnen hinzugefügten Repo verfügbar war, wird dieses Paket auf die im offiziellen Repository verfügbare Version aktualisiert.
Kingmilo
1
Ja, aber was wenn nicht? Das Upgrade ist überhaupt kein Problem, aber das Downgrade.
Manuel

Antworten:

16

Ein bisschen spät zur Party, aber ich habe diese Frage gefunden, als ich nach einer Antwort gesucht habe, und jetzt habe ich meine eigene Antwort, die ich teilen kann.

Ich glaube, Sie können dies über die mysteriöse Welt von apt_preferences tun.

Versuchen Sie, eine Datei mit dem Namen / tmp / a_p (oder was auch immer) so zu erstellen ...

Package: *
Pin: release a=*-backports
Pin-Priority: 100

Package: *
Pin: release n=*
Pin-Priority: 1001

Dann renne:

sudo apt-get -o Dir::Etc::Preferences=/tmp/a_p dist-upgrade

Der zweite Abschnitt der Datei macht im Wesentlichen das, was das OP angefordert hat, indem er die Priorität aller Pakete in einem Live-Repository erhöht, damit sie installiert werden, auch wenn dies ein Downgrade bedeutet.

Der erste Abschnitt verhindert, dass der zweite Abschnitt die Installation aller Backports auslöst. Möglicherweise interessieren Sie sich dafür oder möchten dies nicht. Ich würde vorschlagen, zu basteln, um zu sehen, was funktioniert. Sie können verwenden, um apt-cache -o Dir::Etc::Preferences=/tmp/a_p policy somepkgzu sehen, welche Auswirkungen die Datei a_p auf bestimmte Pakete hat.

TIM

user156743
quelle
6

Ok, was ist, wenn gefunden wird, ist das Skript ppa-purge.

Wenn Sie eine PPA hinzugefügt und die Software aktualisiert haben, können Sie das Repo entfernen und in diesem Schritt alle Pakete, mit denen ein Upgrade durchgeführt wurde, herunterstufen

ppa-purge [Reponame]

Ist das nützlich für eine andere Person?

Es ist jedoch weiterhin geöffnet, wenn Sie die höchste verfügbare Version installieren können, auch wenn die installierte Version höher ist ...

Manuel
quelle