Here's some console output below to illustrate the problem. I was able to work around this by clearing out old packages which gave me 4.6GB free, but I wanted to pose this question here out of curiosity as I've been working with Unix/Linux environments for over a decade now and haven't ever seen anything like this, nor where to start troubleshooting it. Doesn't make any sense.
ubuntu@ip-172-31-29-34:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 487M 0 487M 0% /dev tmpfs 100M 3.0M 97M 4% /run /dev/xvda1 7.8G 4.6G 2.9G 62% / tmpfs 496M 0 496M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 496M 0 496M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/1000 ubuntu@ip-172-31-29-34:~$ sudo apt-get -f install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following packages were automatically installed and are no longer required: linux-headers-4.4.0-65 linux-headers-4.4.0-65-generic linux-headers-4.4.0-66 linux-headers-4.4.0-66-generic linux-headers-4.4.0-70 linux-headers-4.4.0-70-generic linux-headers-4.4.0-71 linux-headers-4.4.0-71-generic linux-headers-4.4.0-72 linux-headers-4.4.0-72-generic linux-headers-4.4.0-75 linux-headers-4.4.0-75-generic linux-headers-4.4.0-78 linux-headers-4.4.0-78-generic linux-headers-4.4.0-79 linux-headers-4.4.0-79-generic linux-headers-4.4.0-81 linux-headers-4.4.0-81-generic linux-headers-4.4.0-83 linux-headers-4.4.0-83-generic linux-headers-4.4.0-87 linux-headers-4.4.0-87-generic linux-image-4.4.0-65-generic linux-image-4.4.0-66-generic linux-image-4.4.0-70-generic linux-image-4.4.0-71-generic linux-image-4.4.0-72-generic linux-image-4.4.0-75-generic linux-image-4.4.0-78-generic linux-image-4.4.0-79-generic linux-image-4.4.0-81-generic linux-image-4.4.0-83-generic linux-image-4.4.0-87-generic Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: linux-headers-4.4.0-92 The following NEW packages will be installed: linux-headers-4.4.0-92 0 upgraded, 1 newly installed, 0 to remove and 149 not upgraded. 7 not fully installed or removed. Need to get 0 B/9,876 kB of archives. After this operation, 70.6 MB of additional disk space will be used. Do you want to continue? [Y/n] y (Reading database ... 429900 files and directories currently installed.) Preparing to unpack .../linux-headers-4.4.0-92_4.4.0-92.115_all.deb ... Unpacking linux-headers-4.4.0-92 (4.4.0-92.115) ... dpkg: error processing archive /var/cache/apt/archives/linux-headers-4.4.0-92_4.4.0-92.115_all.deb (--unpack): error creating directory './usr/src/linux-headers-4.4.0-92/tools/lib/bpf': No space left on device No apport report written because the error message indicates a disk full error dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/linux-headers-4.4.0-92_4.4.0-92.115_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1)