I was running out of space on an Ubuntu server, so I did this command to save space

sudo rm -rf /var/cache/apt/archives

However now when trying to do things with apt, I get the following errors:

E: Could not open lock file /var/cache/apt/archives/lock - open (2 No such file or directory)

E: Unable to lock the download directory

And things like

Archive directory /var/cache/apt/archives/partial is missing.

Clearly I have removed some directory structure. Is there some way to do a apt-get rebuild-var-tree or similar?

  • 3
    not a 'proper' answer so it'll need to be a comment but next time you could try apt-get autoclean (or possibly apt-get clean) Feb 5, 2010 at 13:25

2 Answers 2


You need two things there:

sudo mkdir -p /var/cache/apt/archives/partial
sudo touch /var/cache/apt/archives/lock
sudo chmod 640 /var/cache/apt/archives/lock

Removing this directory manually is a bad idea generally. To clean archives cleanly, use:

sudo apt-get clean
  • Under debian, I think we should not use sudo. simply use: mkdir -p /var/cache/apt/archives/partial touch /var/cache/apt/archives/lock chmod 640 /var/cache/apt/archives/lock
    – user83606
    Jun 5, 2011 at 16:49
  • 4
    You should always use sudo.
    – bahamat
    Jun 5, 2011 at 17:49
  • 1
    In Buster, apt can set up its own directory structure if you just create the root directory: sudo mkdir -p /var/cache/apt.
    – Matt Ryall
    Nov 10, 2020 at 23:44

For fresh APT versions, full solution looks like:

sudo mkdir -m 0700 /var/cache/apt/archives/partial
sudo chown _apt:root /var/cache/apt/archives/partial

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .