¿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?

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


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.