À 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.