apt-get: No space left on device (12.04)
I just encountered this same problem. I elsewhere came across a mention of inodes, and ran in my terminal to check inode usage :
df -i
This showed inode use at 99%. So, while my disk had plenty of space left, I wasn't able to create more files because of the limit in the number of inodes. Some disk cleanup was the solution to my problem.
I'm thinking your boot partition is full of old kernel images, leaving no room for the new one apt-get
is trying to install. You can type
dpkg -l linux-headers-\* linux-image-\* | grep ^ii
into a terminal window. When I do this, I get
ii linux-headers-3.8.0-18 3.8.0-18.28 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-18-generic 3.8.0-18.28 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-3.8.0-19 3.8.0-19.30 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-19-generic 3.8.0-19.30 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-3.8.0-21 3.8.0-21.32 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-21-generic 3.8.0-21.32 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-3.8.0-22 3.8.0-22.33 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-22-generic 3.8.0-22.33 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-3.8.0-23 3.8.0-23.34 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-23-generic 3.8.0-23.34 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-3.8.0-25 3.8.0-25.37 all Header files related to Linux kernel version 3.8.0
ii linux-headers-3.8.0-25-generic 3.8.0-25.37 amd64 Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii linux-headers-generic 3.8.0.25.43 amd64 Generic Linux kernel headers
Since I have quite a few, I could delete some of the oldest with
sudo apt-get remove linux-headers-3.8.0-18
If apt-get
fails because it misses some package dependencies (which you can't install due to the lack of free inodes), you can resort to dpkg
directly instead:
sudo dpkg --remove linux-headers-3.8.0-18
Do that a couple of times to your oldest linux-headers-*
and you should have room.
I used sudo apt-get autoremove
and it removed a bunch of old kernel-headers packages. Good to go after that.