Usando o zypper, como posso remover todos os pacotes instalados de um repositório específico?


10

Digamos que adicionei um repositório usando zypper ar. Depois, instalei vários pacotes desse repositório, mas agora quero remover todos eles.

Existe um comando que me permita remover todos os pacotes que instalei apenas desse repositório específico?

Respostas:


7

Eu acho que não existe esse comando. Você pode listar pacotes de repositório específico:

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

ou todos os pacotes órfãos, se você já removeu esse repositório:

zypper packages --orphaned

Depois, você pode tentar cutempacotar nomes da saída e passá-los para zypper removese valer a pena.


Meu sistema openSuSE 12.3 não tem a --orphanedopção, mas isso pode funcionar:: zypper packages -i -Rlista o pacote instalado na ordem inversa do repositório.
Jeroen Wiert Pluimers

2
--orphanedfoi adicionado no zypper 1.9.2 ( github.com/openSUSE/zypper/issues/34 )
marcin

1

Você pode usar uma combinação de zypper search, awke xargspara remover todos os pacotes de um repositório. Por exemplo:

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

awk '/^i(\+|\s)/ {print $3}'para coincidir com todos os pacotes instalados (i ou i +)
Mesco

O @ zesper Meses em si só deve imprimir pacotes instalados ao usá-lo --installed.
sebix

certo, usando -iou --installed-only. Mas também procurei i e i + no começo para pular as primeiras linhas ( Loading repository data...). Talvez há melhores métodos, para pular primeiro 5 linhas, mas se você já usa regex ...;)
Mesco

talvez eu esteja usando a versão diferente do zypper (1.14.4), mas o responsável diz que o pedido deve ser se [options] [query]assim para que sua solução não funcione.
Mesco

Ah, agora entendo sua preocupação. Eu atualizei a resposta. Sobre a sintaxe de pesquisa: Eu só uso opções e nenhuma consulta, portanto, a ordem está correta, eu acho.
precisa saber é
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.