Come posso configurare apt-get per la pulizia automatica dopo ogni installazione


12

C'è un modo per fare automaticamente apt-get cleandopo apt-get install, come in altre distro?


Grazie a @Braiam ho trovato un bug in Ubuntu e lo segnalerò. Nella soluzione di Debian Braiam funziona bene.
Tiago Carrondo,


1
@TiagoCarrondo Puoi condividere il link bug per favore?
Ken Sharp

In Xenial tutte le mie macchine si puliscono da sole. Non so dove sia configurato ma funziona.
Ken Sharp,

Risposte:


13

Devi solo aggiungerlo nei file di configurazione apt. Corri:

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

Ciò attiverà la pulizia automatica ogni volta che lo fai upgrade.

Spieghiamo questa voce, dalla pagina man:

Clean

Modalità pulizia cache; questo valore può essere uno di sempre, rapido, automatico, pre-automatico e mai. sempre e prompt rimuoverà tutti i pacchetti dalla cache dopo l'aggiornamento, il prompt (impostazione predefinita) lo fa in modo condizionale. rimuove automaticamente solo quei pacchetti che non sono più scaricabili (ad esempio sostituiti con una nuova versione). pre-auto esegue questa azione prima di scaricare nuovi pacchetti.

Ulteriori informazioni:

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


Immagino che alla fine dovrebbe essere necessario un punto e virgola ;! e quindi dovrebbe esseresudo sh -c "echo 'APT::Get::Clean=always;' >> /etc/apt/apt.conf.d/99AutomaticClean"
indiano il

@Braiam L'ho provato e non funziona. Ho anche provato APT :: Get :: Clean "sempre" come in altri file, ma senza fortuna. qualche indizio?
Tiago Carrondo,

@Braiam no luck
Tiago Carrondo

@TiagoCarrondo che ne dici di adesso? Questo messaggio usenet dice che è il vincitore.
Braiam,

L'ho provato già dopo il tuo primo post.
Sta

2

Scrivi uno script di shell!

sudo nano /usr/bin/aptinstaller 

All'interno di questo tipo di file:

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

Salva ed esci da nanoe digita:

sudo chmod +x /usr/bin/aptinstaller 

Ora ogni volta che scrivi

sudo aptinstaller <package-name> 

Si installa e quindi si pulisce.


Preferisco un'opzione, ma suona come un buon piano preety B, grazie
Tiago Carrondo

2
/usr/local/bin/sembra più corretto.
Ken Sharp,

0

La mia soluzione alternativa, sebbene non sia una soluzione reale, è impostare la directory degli archivi su /tmp. Non verrà pulito automaticamente dopo un'installazione ma verrà pulito al riavvio.

Ho creato /etc/apt/apt.conf.d/99cleane aggiunto:

Dir::Cache::archives /tmp;

In alternativa, puoi montarlo /var/cache/apt/archivesusando tmpfs, anche se questo ovviamente consumerà RAM e non consiglierei questa opzione.

In /etc/fstab, ad esempio:

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

0

Un hack sembra aggiungere quanto segue ad es. /etc/apt/apt.conf.d/clean( Via ):

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

Questo cancellerà automaticamente la cache dopo che dpkg è stato invocato da apt.

Questo non pulisce la cache dopo apt-get update, tuttavia, l'hook APT::Update::Post-Invokepotrebbe essere utilizzato per questo.

Il metodo migliore sembra essere ancora chiamare apt-get clean/ aptitude cleanmanualmente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.