Sé cómo eliminar las dependencias de un paquete desinstalado. y lo intenté
apt-get autoremove
pero eso no elimina las dependencias recomendadas / sugeridas por otros paquetes.
Es decir, si instalo un paquete X que recomienda Y, pero no instalo Y, y luego instalo el paquete Z que depende de Y. y luego lo hago
apt-get remove --auto-remove Z
entonces Y no se elimina automáticamente aunque nada depende de ello. (X "recogió" Y, aunque no depende de ello).
apt
package-management
usuario2809402
fuente
fuente
Respuestas:
Si desea eliminar los paquetes recomendados de su sistema, incluso si todavía hay algunos paquetes instalados que los recomiendan (o sugieren), coloque lo siguiente en el archivo
/etc/apt/apt.conf.d/99_norecommends
(créelo):La documentación para estas opciones está aquí .
Luego, la próxima ejecución de apt debería eliminarlos a todos. Si no es así, inicie
aptitude
, escriba gy gnuevamente.Esta configuración también deshabilita la instalación automática de paquetes recomendados cuando se usa
apt-get
. Paraaptitude
hacerlo desde la GUI de la consola, seleccione Opciones> Preferencias> "Instalar paquetes recomendados automáticamente" (desactívela).fuente
InstallRecommends
discapacitados. Para el registro, se deshabilitó de forma predeterminada hasta que se lanzó Debian Squeeze, es decir, desde febrero de 2011 (no sé sobre Ubuntu). Además, es posible que no necesite la misma configuración en un servidor o una configuración de escritorio.Anulación de las opciones de APT
A diferencia de las dependencias, los paquetes "recomendados" o "sugeridos" instalados automáticamente pueden ser ignorados por
apt-get autoremove
.Como se describe en otra parte, este comportamiento de APT se puede cambiar en la configuración.
Del mismo modo, la configuración del
apt-get
comando se puede cambiar temporalmente a través de la-o
opción de línea de comando.Es decir, cómo forzaría a autoremove a eliminar los paquetes "recomendados" y "sugeridos" sobrantes, además de las dependencias no utilizadas.
¡Precaución!
Alguna funcionalidad puede perderse. Esté preparado para investigar y reinstalar cosas. Puede ser más fácil dejar estos paquetes solos.
Otras opciones
Para desinstalar los paquetes 'recomendados' y 'sugeridos' únicamente para un paquete en particular, eche un vistazo al registro del historial de apt.
fuente
apt-get
la-s
opción 's' y diríjase agrep ^Remv
- así que ese es el comando:apt-get autoremove -s -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0 | grep ^Remv
En realidad el comando es:
Pero esto tiene un truco! Si alguna de las dependencias tiene otros paquetes instalados previamente que los recomiendan / sugieren, entonces apt no los eliminará.
No especificó qué paquete era, pero, por ejemplo, si tuviera que instalar el complemento IcedTea, instalaría Java / OpenJRE por dependencias. Si los desinstalo usando
sudo apt-get autoremove icedtea-7-plugin
, notará que no eliminará Java / OpenJRE, ya que LibreOffice también sugiere los paquetes.Por lo tanto, para eliminarlos, debe ser demasiado específico sobre el paquete que desea desinstalar que normalmente
autoremove
no:De esta manera, puede estar seguro de que su paquete se eliminará.
También puede usar deborphan para eliminar algunas dependencias.
fuente
deborphan
deborphan, pero aún puede perder algunos paquetes. Puede usar lasDebug::
opciones y también consultar mi otra respuesta sobre esto . También puede usar el--no-install-recommends
, pero apt-get no instala los paquetes sugeridos por defecto.Correcto, si desea eliminar el paquete
<Z>
con dependencias simplemente escriba:fuente
autoremove
funciona en todo el sistema. Por lo tanto, cada vez que llameautoremove
, eliminará todos los paquetes no utilizados en su sistema. Al instalar un paquete,autoremoving
generalmente no devolverá el sistema al mismo estado y, en cambio, dejará un montón de paquetes "sobrantes".