Używając programu zypper, jak mogę usunąć wszystkie pakiety zainstalowane z określonego repozytorium?

10

Powiedzmy, że dodałem repozytorium przy użyciu zypper ar. Potem poszedłem i zainstalowałem wiele pakietów z tego repozytorium, ale teraz chcę je wszystkie usunąć.

Czy istnieje polecenie, które pozwala mi usunąć wszystkie pakiety, które zainstalowałem właśnie z tego konkretnego repozytorium?

Trent Bing
źródło

Odpowiedzi:

7

Myślę, że nie ma takiego polecenia. Możesz wyświetlić listę pakietów z określonego repozytorium:

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

lub wszystkie osierocone pakiety, jeśli to repozytorium zostało już usunięte:

zypper packages --orphaned

Następnie możesz spróbować cutspakować nazwy z danych wyjściowych i przekazać je, zypper removejeśli jest to warte wysiłku.

Marcin
źródło
Mój system openSuSE 12.3 nie ma takiej --orphanedopcji, ale może to działać: zypper packages -i -Rwyświetla listę zainstalowanych pakietów w odwrotnej kolejności repozytorium.
Jeroen Wiert Pluimers
2
--orphaneddodano zypper 1.9.2 ( github.com/openSUSE/zypper/issues/34 )
marcin
1

Można użyć kombinacji zypper search, awki xargsusunąć wszystkie pakiety z repozytorium. Na przykład:

zypper se --repo openSUSE-Tumbleweed-Debug --installed | awk '/^i(\+|\s)/ {print $3}' | xargs sudo zypper rm
Sebix
źródło
awk '/^i(\+|\s)/ {print $3}'dopasować wszystkie zainstalowane pakiety (i lub i +)
Mesco
Sam zypper @Mesco powinien drukować zainstalowane pakiety tylko podczas używania --installed.
sebix
racja, używając -ilub --installed-only. Ale także szukałem i i + na początku, aby pominąć kilka pierwszych wierszy ( Loading repository data...). Być może istnieją lepsze metody na pominięcie pierwszych 5 wierszy, ale jeśli już używasz wyrażenia regularnego ...;)
Mesco
może używam innej wersji zyppera (1.14.4), ale jego człowiek mówi, że kolejność powinna być se [options] [query]taka, żeby twoje rozwiązanie nie działało.
Mesco
Ach, teraz rozumiem twoją troskę. Zaktualizowałem odpowiedź. O składni wyszukiwania: używam tylko opcji, a nie zapytania, więc myślę, że kolejność jest prawidłowa.
sebix,