Usando zypper, ¿cómo puedo eliminar todos los paquetes instalados de un repositorio específico?

10

Digamos que he agregado un repositorio usando zypper ar. Luego, fui e instalé varios paquetes desde ese repositorio, pero ahora quiero eliminarlos todos.

¿Hay algún comando que me permita eliminar todos los paquetes que he instalado solo desde ese repositorio específico?

Trent Bing
fuente

Respuestas:

7

Creo que no hay tal comando. Puede enumerar paquetes desde un repositorio específico:

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

o todos los paquetes huérfanos si ya ha eliminado ese repositorio:

zypper packages --orphaned

Luego, puede intentar cutempaquetar los nombres de la salida y pasarlos zypper removesi vale la pena.

marcin
fuente
Mi sistema openSuSE 12.3 no tiene la --orphanedopción, pero esto podría funcionar: zypper packages -i -Renumera el paquete instalado en orden inverso del repositorio.
Jeroen Wiert Pluimers
2
--orphanedse agregó en zypper 1.9.2 ( github.com/openSUSE/zypper/issues/34 )
marcin
1

Se puede utilizar una combinación de zypper search, awky xargspara eliminar todos los paquetes de un repositorio. Por ejemplo:

zypper se --repo openSUSE-Tumbleweed-Debug --installed | awk '/^i(\+|\s)/ {print $3}' | xargs sudo zypper rm
sebix
fuente
awk '/^i(\+|\s)/ {print $3}'para que coincida con todos los paquetes instalados (i o i +)
Mesco
@Mesco zypper solo debe imprimir los paquetes instalados cuando se usa --installed.
sebix
derecha, usando -io --installed-only. Pero también he buscado i e i + al principio para omitir las primeras filas ( Loading repository data...). Tal vez hay mejores métodos, para omitir las primeras 5 filas, pero si ya usa
expresiones
tal vez estoy usando una versión diferente de zypper (1.14.4) pero su hombre dice que el orden debería ser se [options] [query]así que su solución no funcionó.
Mesco
Ah, ahora entiendo tu preocupación. Actualicé la respuesta. Acerca de la sintaxis de búsqueda: solo uso opciones y ninguna consulta, por lo que creo que el orden es correcto.
sebix