GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Ubuntu:¿por qué 'apt-get Autoremove' no funcionó correctamente?

Instalé Pipelight desde el archivo PPA, de acuerdo con estas instrucciones.

El comando de instalación, sudo apt-get install --install-recommends pipelight-multi era solo para un paquete, pero implicó la descarga e instalación de unos 180 paquetes de dependencia, de los cuales unos 40 eran actualizaciones de paquetes instalados actualmente.

Por lo tanto, se instalaron alrededor de 140 paquetes nuevos.

Pipelight posteriormente no funcionó, así que lo eliminé:

sudo apt-get purge pipelight-multi

No se eliminaron otros paquetes.

Luego usé sudo apt-get autoremove . Este comando eliminó todos los paquetes auto-removibles. Había exactamente 100 de estos (también había exactamente 100 paquetes en la lista 'Autoremovable' de Synaptic Package Manager).

Entonces, esto dejó alrededor de 40 paquetes que no se consideraron auto-removibles, por lo que no se eliminaron. Tuve que eliminarlos manualmente.

No había dependencias no satisfechas en mi sistema antes de instalar Pipelight; y no había marcado ningún paquete como instalado manualmente, instalado o eliminado, nada más, ni nada por el estilo. Solo pasaron unos diez minutos entre la instalación de Pipelight y su eliminación.

Después de eliminar Pipelight, ¿por qué no se marcaron todas sus dependencias innecesarias como autoeliminables?

Respuesta aceptada:

Mi mejor suposición es que los 40 paquetes fueron recomendados por otros paquetes que ya había instalado; pipelight-multi junto con --install-recommends opción hizo que se instalaran, pero se mantuvieron después de su eliminación debido a esas recomendaciones. Dado que eliminó los paquetes manualmente, es difícil determinarlo, pero en el futuro puede ejecutar aptitude why ${package} para cada paquete que crea que debería eliminarse automáticamente y aptitude le dirá por qué se mantiene.

La mecánica detrás de esto no es necesariamente intuitiva. Cuando un paquete se marca como extraíble automáticamente, ya sea de forma manual o automática (en el último caso, porque se instala automáticamente para satisfacer una dependencia o recomendación), el indicador de eliminación automática es la única información almacenada; el sistema no recuerda por qué se instaló automáticamente un paquete. Dichos paquetes se mantienen solo mientras algún otro paquete dependa de ellos o los recomiende (esta es la configuración predeterminada, se puede cambiar).

Todo esto explicaría su situación de la siguiente manera. Ya tienes algún otro paquete, A , instalado; este paquete recomienda B pero este último no está instalado. Instalas pipelight-multi que también recomienda B; dado que especificaste explícitamente --install-recommends , conocemos B luego se instala junto con pipelight-multi . Cuando eliminas pipelight-multi y ejecuta apt-get autoremove , B está marcado como auto-removible y se verifica, pero debido a que A todavía está instalado, B se mantiene, a pesar de que el paquete que hizo que se instalara en primer lugar ya no esté. Porque A solo recomienda B , puede eliminar manualmente B para volver a la situación inicial.

Relacionado:¿Cómo funciona la interfaz de interruptores?
Ubuntu
  1. Cómo enumerar los repositorios instalados en Ubuntu y Debian

  2. Listar paquetes instalados en Ubuntu 20.04 - ¿Cómo realizar esta tarea?

  3. ¿Por qué `exit &` no funciona?

  4. ¿La instalación del servidor Ubuntu Trusty Red5 no se inicia?

  5. ¿Ubuntu 16.04 paquetes rotos después de una instalación nueva?

Cómo enumerar los paquetes instalados en Ubuntu 20.04

Cómo enumerar paquetes instalados en distribuciones de Linux basadas en Ubuntu y Debian

Cómo enumerar los paquetes de software instalados en Ubuntu

¿Conky no funciona correctamente en Ubuntu 16.04 Gnome?

Cómo enumerar los paquetes instalados en Ubuntu 22.04

Cómo enumerar los paquetes instalados en Ubuntu 22.04