À l'aide de zypper, comment puis-je supprimer tous les packages installés à partir d'un référentiel spécifique?


10

Supposons que j'ai ajouté un référentiel à l'aide de zypper ar. Ensuite, je suis allé installer plusieurs packages à partir de ce référentiel, mais maintenant je veux les supprimer tous.

Existe-t-il une commande qui me permet de supprimer tous les packages que j'ai installés uniquement à partir de ce référentiel spécifique?

Réponses:


7

Je pense qu'il n'y a pas une telle commande. Vous pouvez répertorier les packages d'un référentiel spécifique:

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

ou tous les packages orphelins si vous avez déjà supprimé ce référentiel:

zypper packages --orphaned

Ensuite, vous pouvez essayer de cutregrouper les noms à partir de la sortie et de les transmettre zypper removesi cela en vaut la peine.


Mon système openSuSE 12.3 n'a pas l' --orphanedoption, mais cela pourrait fonctionner zypper packages -i -R:: il répertorie le package installé dans l'ordre inverse du référentiel.
Jeroen Wiert Pluimers

2
--orphaneda été ajouté dans zypper 1.9.2 ( github.com/openSUSE/zypper/issues/34 )
marcin

1

Vous pouvez utiliser une combinaison de zypper search, awket xargsde supprimer tous les paquets à partir d' un référentiel. Par exemple:

zypper se --repo openSUSE-Tumbleweed-Debug --installed | awk '/^i(\+|\s)/ {print $3}' | xargs sudo zypper rm

awk '/^i(\+|\s)/ {print $3}'pour correspondre à tous les packages installés (i ou i +)
Mesco

@Mesco zypper lui-même ne devrait imprimer que les packages installés lors de l'utilisation --installed.
sebix

à droite, en utilisant -iou --installed-only. Mais j'ai aussi recherché i et i + au début pour sauter les premières lignes ( Loading repository data...). Il y a peut-être de meilleures méthodes, pour sauter les 5 premières lignes, mais si vous utilisez déjà l'expression régulière ...;)
Mesco

peut-être que j'utilise une version différente de zypper (1.14.4) mais son homme dit que la commande devrait être se [options] [query]pour que votre solution ne fonctionne pas.
Mesco

Ah, maintenant je comprends votre inquiétude. J'ai mis à jour la réponse. À propos de la syntaxe de recherche: je n'utilise que des options et pas de requête, donc l'ordre est correct je pense.
sebix
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.