¿Cómo puedo configurar apt-get para limpiar automáticamente después de cada instalación?

12

¿Hay alguna manera no apt-get cleandespués de apt-get installforma automática, al igual que en otras distribuciones?

Tiago Carrondo
fuente
Gracias a @Braiam encontré un error en Ubuntu y lo reportaré. En la solución de Debian Braiam funciona bien.
Tiago Carrondo
1
@TiagoCarrondo ¿Puedes compartir el enlace del error por favor?
Ken Sharp
En Xenial todas mis máquinas se limpian solas. No sé dónde está configurado, pero funciona.
Ken Sharp

Respuestas:

13

Solo necesita agregarlo en los archivos de configuraciones de apt. Solo corre:

sudo sh -c "echo 'DSELECT::Clean "always";' >> /etc/apt/apt.conf.d/99AutomaticClean"

Esto activará la limpieza automática cada vez que lo hagas upgrade.

Vamos a explicar esta entrada, desde la página del manual:

Clean

Modo de limpieza de caché; Este valor puede ser uno de siempre, prompt, auto, pre-auto y nunca. always y prompt eliminará todos los paquetes del caché después de la actualización, prompt (el valor predeterminado) lo hace condicionalmente. auto elimina solo aquellos paquetes que ya no se pueden descargar (reemplazado con una nueva versión, por ejemplo). pre-auto realiza esta acción antes de descargar nuevos paquetes.

Más información:

https://groups.google.com/d/msg/linux.debian.user/aK2jvfL_tuw/rUd6i6bd4YQJ

Braiam
fuente
¡Supongo que debería necesitar un punto y coma al final ;! y por lo tanto debería sersudo sh -c "echo 'APT::Get::Clean=always;' >> /etc/apt/apt.conf.d/99AutomaticClean"
Indian
@Braiam Lo he probado y no funciona. Incluso probé APT :: Get :: Clean "siempre" como en otros archivos pero no tuve suerte. ¿Cualquier pista?
Tiago Carrondo
@Braiam sin suerte
Tiago Carrondo
@TiagoCarrondo ¿qué tal ahora? Este mensaje de Usenet dice que es el ganador.
Braiam
Ya lo intenté después de tu primera publicación. Voy a cambiar la ubicación del archivo ... espera
Tiago Carrondo
2

¡Escribe un script de shell!

sudo nano /usr/bin/aptinstaller 

Dentro de este tipo de archivo:

#!/bin/bash
sudo apt-get install $1
sudo apt-get -y autoclean
sudo apt-get -y autoremove  

Guardar y salir nanoy escribir:

sudo chmod +x /usr/bin/aptinstaller 

Ahora cada vez que escribes

sudo aptinstaller <package-name> 

Se instalaría y luego se limpiaría.

indio
fuente
Prefiero una opción, pero suena como un buen plan B, gracias
Tiago Carrondo
2
/usr/local/bin/Parece más correcto.
Ken Sharp
0

Mi solución, aunque no es una solución real, es establecer el directorio de archivos /tmp. No se limpiará automáticamente después de una instalación, pero se limpiará al reiniciar.

Creé /etc/apt/apt.conf.d/99cleany agregué:

Dir::Cache::archives /tmp;

Alternativamente, podría montar /var/cache/apt/archivesusando tmpfs, aunque obviamente usará RAM y no recomendaría esa opción.

En /etc/fstab, por ejemplo:

tmpfs /var/cache/apt/archives tmpfs size=128m,mode=755 0 0
Ken Sharp
fuente
0

Un truco parece estar agregando lo siguiente a, por ejemplo, /etc/apt/apt.conf.d/clean( vía ):

DPkg::Post-Invoke {"/bin/rm -f /var/cache/apt/archives/*.deb || true";};

Esto borrará el caché automáticamente después de que dpkg haya sido invocado por apt.

Sin embargo, esto no limpia el caché después apt-get update, el gancho APT::Update::Post-Invokepodría usarse para esto.

El mejor método todavía parece ser llamar apt-get clean/ aptitude cleanmanualmente.

azulado
fuente