¿Cómo puedo desinstalar todos los paquetes de una fuente de Debian?

8

Anteriormente agregué algunas fuentes externas, /etc/apt/sources.list.dpero ahora quiero eliminar una de ellas. Yo también quiero:

  • eliminar todos los paquetes únicamente de esa fuente
  • revertir todos los paquetes a versiones en mis fuentes originales
  • alternativamente, haga una lista de todos los paquetes de esta fuente para que pueda realizar este procedimiento manualmente

¿Cómo puedo hacer esto?

david.libremone
fuente

Respuestas:

11

Dependiendo de la configuración del repositorio que desee eliminar, apt list --installedpodría proporcionar suficiente información para identificar los paquetes que necesita desinstalar o degradar. Otra opción, si el repositorio define un "Origen" único, es usar aptitude search '~i ~Oorigin'(reemplazar originsegún corresponda).

(Esta es una respuesta genérica; si edita su pregunta para especificar exactamente qué fuente desea eliminar, puedo agregar una respuesta específica).

Stephen Kitt
fuente
esto parece prometedor, ¿podría obtener una lista de orígenes de alguna manera?
david.libremone
2
Sí, apt-cache policyle mostrará los orígenes de todos sus repositorios configurados (busque o=en la salida).
Stephen Kitt el
3

O con dpkg:

dpkg -l | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | grep -i yourkeyword

Por ejemplo

dpkg -l | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | grep -i multimedia

devoluciones:

audacious                                1:3.8.2-dmo1                         http://www.deb-multimedia.org        stretch/main     
audacious-plugins                        1:3.8.2-dmo1                         http://www.deb-multimedia.org        stretch/main     
audacious-plugins-data                   1:3.8.2-dmo1                         http://www.deb-multimedia.org        stretch/main    
snipp

Esto me muestra los paquetes de deb-multimedia.org. Mismo resultado condpkg-query -W -f='${Section}\t\t${Package}\n' | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | egrep -i multimedia

fedorqui
fuente