Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Is there any way do apt-get clean after apt-get install automatically, like in other distros?

share|improve this question
    
Thanks to @Braiam I found a bug in Ubuntu and I'll report it. In Debian Braiam's solution work fine. –  Tiago Carrondo Dec 12 '13 at 13:23
    
related: How do I free up disk space? –  rubo77 Sep 12 '14 at 1:23
1  
@TiagoCarrondo Can you share the bug link please? –  Ken Sharp Jan 1 at 18:23

4 Answers 4

up vote 12 down vote accepted

You just need to add it at the apt configurations files. Just run:

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

This will trigger automatic clean each time you do upgrade.

Lets explain this entry, from the man page:

Clean

Cache Clean mode; this value may be one of always, prompt, auto, pre-auto and never. always and prompt will remove all packages from the cache after upgrading, prompt (the default) does so conditionally. auto removes only those packages which are no longer downloadable (replaced with a new version for instance). pre-auto performs this action before downloading new packages.

More info:

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

share|improve this answer
    
I guess it should need a semicolon at the end ;! and therefore it should be sudo sh -c "echo 'APT::Get::Clean=always;' >> /etc/apt/apt.conf.d/99AutomaticClean" –  Indian Dec 12 '13 at 12:34
    
@Braiam I've tried it and it doesn't work. I even tried APT::Get::Clean "always" like in other files but no luck. any clue? –  Tiago Carrondo Dec 12 '13 at 13:01
    
@Braiam no luck –  Tiago Carrondo Dec 12 '13 at 13:06
    
@TiagoCarrondo how about now? This usenet message says that is the winner. –  Braiam Dec 12 '13 at 13:11
    
I've tried that already after your first post. Going to change file location... wait –  Tiago Carrondo Dec 12 '13 at 13:15

Write a shell script!

sudo nano /usr/bin/aptinstaller 

Inside this file type:

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

Save and exit from nano and type:

sudo chmod +x /usr/bin/aptinstaller 

Now everytime you would type

sudo aptinstaller <package-name> 

It would install and then clean.

share|improve this answer
    
I prefer an option, but sound like a preety good plan B, thx –  Tiago Carrondo Dec 12 '13 at 13:03

My workaround, though not a real solution, is to set the archives directory to /tmp. It won't be cleaned automatically after an install but it will be cleaned on reboot.

I created /etc/apt/apt.conf.d/99clean and added:

Dir::Cache::archives /tmp;

Alternatively you could mount /var/cache/apt/archives using tmpfs, though that will obviously use up RAM and I wouldn't recommend that option.

In /etc/fstab, for example:

tmpfs /var/cache/apt/archives tmpfs size=128m,mode=755 0 0
share|improve this answer

A hack appears to be adding the following to e.g. /etc/apt/apt.conf.d/clean (via):

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

This will clear the cache automatically after dpkg has been invoked by apt.

This does not clean the cache after apt-get update though, the hook APT::Update::Post-Invoke might be used for this.

The best method still appears to be calling apt-get clean / aptitude clean manually.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.