Wie kann ich mit zypper alle installierten Pakete aus einem bestimmten Repository entfernen?

10

Angenommen, ich habe ein Repository mit hinzugefügt zypper ar. Dann habe ich mehrere Pakete aus diesem Repository installiert, aber jetzt möchte ich alle entfernen.

Gibt es einen Befehl, mit dem ich alle Pakete, die ich gerade installiert habe, aus diesem bestimmten Repository entfernen kann?

Trent Bing
quelle

Antworten:

7

Ich denke, es gibt keinen solchen Befehl. Sie können Pakete aus einem bestimmten Repository auflisten:

zypper search --installed-only --repo devel:tools

oder alle verwaisten Pakete, wenn Sie dieses Repository bereits entfernt haben:

zypper packages --orphaned

Dann könnten Sie versuchen, cutNamen aus der Ausgabe zu verpacken und an zu übergeben, zypper removewenn sich die Mühe lohnt.

marcin
quelle
Mein openSuSE 12.3-System verfügt nicht über die --orphanedOption, dies könnte jedoch funktionieren :: zypper packages -i -REs listet das installierte Paket in umgekehrter Reihenfolge des Repositorys auf.
Jeroen Wiert Pluimers
2
--orphanedwurde in zypper 1.9.2 ( github.com/openSUSE/zypper/issues/34 ) hinzugefügt
marcin
1

Sie können eine Kombination von verwenden zypper search, awkund xargsalle Pakete aus einem Repository zu entfernen. Beispielsweise:

zypper se --repo openSUSE-Tumbleweed-Debug --installed | awk '/^i(\+|\s)/ {print $3}' | xargs sudo zypper rm
sebix
quelle
awk '/^i(\+|\s)/ {print $3}'um alle installierten Pakete (i oder i +)
abzugleichen
@Mesco zypper selbst sollte installierte Pakete nur bei Verwendung drucken --installed.
Sebix
richtig, mit -ioder --installed-only. Aber ich habe auch am Anfang nach i und i + gesucht, um die ersten paar Zeilen zu überspringen ( Loading repository data...). Vielleicht gibt es bessere Methoden, um die ersten 5 Zeilen zu überspringen, aber wenn Sie bereits Regex verwenden ...;)
Mesco
Vielleicht verwende ich eine andere Zypper-Version (1.14.4), aber der Mann sagt, dass die Reihenfolge so sein sollte, se [options] [query]dass Ihre Lösung nicht funktioniert hat.
Mesco
Ah, jetzt verstehe ich Ihre Besorgnis. Ich habe die Antwort aktualisiert. Über die Suchsyntax: Ich verwende nur Optionen und keine Abfrage, daher ist die Reihenfolge meiner Meinung nach korrekt.
Sebix