¿Cómo ubico y elimino los paquetes rotos que he instalado?

11

Estaba buscando algunas preguntas aquí para encontrar una solución para localizar y eliminar paquetes rotos. Siendo un novato relativo, instalé algunos PPA diseñados para 11.10 en mi máquina 12.04 LTS. En la terminal, sugirió que intente apt-get -f install, lo que me llevó a esta pregunta Una gran lección que aprendí para mí, si alguien puede ayudarme

stephenmyall
fuente

Respuestas:

6

Synaptic Package Manager (disponible en el Centro de software) es una herramienta gráfica para administrar paquetes, y entre muchas características le permite filtrar paquetes por su estado. En unos pocos clics, al seleccionar la categoría deseada en el panel izquierdo, se le presentará la lista de paquetes que requieren reparación.

Rafał Cieślak
fuente
28
  • Instale Synaptic Package Manager, ya sea a través del Centro de software o ejecutando este comando en la Terminal:

     sudo apt-get install synaptic 
    
  • Ábralo escribiendo synapticel guión de Unity y luego presionando Enter.

  • Luego siga este procedimiento:

    1. Seleccione la categoría "Estado". Esto muestra paquetes organizados por estado.
    2. Seleccione la categoría "Dependencias rotas" en el panel superior izquierdo.
    3. Seleccione los paquetes rotos. Si los paquetes son más de uno, selecciónelos presionando Ctrl+ A.
    4. Luego haga clic derecho en un paquete seleccionado y seleccione la opción "Marcar para eliminación completa" en el menú.

    Captura de pantalla que muestra "Marcar para eliminación completa" en paquetes con dependencias rotas

Eso es. Los paquetes rotos se han ido.

Anwar
fuente
No tengo Broken dependenciesen mi página de estado.
Mark Deven
3

Sin descargas, no se necesita GUI:

Puede enumerar paquetes rotos:

dpkg -l | grep ^..r 

r estado (en el tercer campo) significa: reinst-required (paquete roto, reinstalación requerida)

explicación de los campos dpkg

Para enumerar y eliminar estos paquetes:

dpkg -l | grep ^..r | while read -r | tr -s ' ' | cut -d' ' -f2 | while read -r name; do sudo apt-get remove "$name"; done

(Respuesta copiada de este hilo ).

JellicleCat
fuente
1

Para limpiar los paquetes que ha instalado desde ppa, debe usar ppa-purge, asumiendo que ppa es ppa: xorg-edger / ppa

  1. sudo apt-get install ppa-purge
  2. sudo apt-get update
  3. sudo ppa-purge ppa:xorg-edger/ppa
  4. le pedirá una lista de paquetes para eliminar y / o degradar, si nada parece sospechoso, responda S y espere
  5. si tiene suerte, debería terminar sin errores, de lo contrario, deberá hacer un sudo apt-get install -f

Si después del paso 5 aún tiene errores, regrese y actualice su pregunta.

Buena suerte.

número 5
fuente
E: No se puede localizar el paquete ppa-purge
stiv
En segundo lugar, ppa-purge no existe.
John Drefahl
0

He hecho un script para arreglar paquetes rotos. Esto busca los paquetes rotos en /var/log/dist-upgrade/apt.log y luego encuentra los nombres de los paquetes y luego aplica el comando especificado en ellos.

Tenga cuidado con el uso de este script, porque a veces algunos paquetes rotos están relacionados con el sistema y pueden generar un nuevo problema. use el comando instalar o actualizar en lugar del comando eliminar .

Consíguelo desde aquí

Descargue el script con el siguiente comando:

wget https://gist.githubusercontent.com/EmpireWorld/8eb920165777399cfd684d8d4227a6e2/raw/17e6d4a151a6163aa45dd8302b965ed433b27741/fix-broken.sh

Luego ejecútalo:

./fix-broken.sh

También puede establecer la acción que desea aplicar a paquetes rotos como este:

./fix-broken (install|upgrade|remove)

La acción predeterminada es eliminar .

Hasan Bayat
fuente