Comment 4 for bug 1246651

Revision history for this message
Peter Cordes (peter-cordes) wrote :

Try df -i. You might have run out of inodes if you're using ext4, where you have to allocate space for inodes at FS creation time. This happened to me when upgrading 12.04 to 14.04. I got a no space left on device error while a postinst script was running for something. I'm still worried I might not have reinstalled all affected packages :/

peter@tesla:~$ df -ih
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb1 428K 321K 108K 75% /
...
/dev/sdb3 50M 359K 50M 1% /var/tmp

 I use xfs for most of my filesystems, but ext4 for my / and /home. Removing a couple -docs packages that had tens of thousands of files each, and some old kernel modules / headers packages, freed up 100k inodes. (It used to be slightly inconvenient to get grub to boot from xfs, compared to other filesystems. I could probably just use xfs for everything now, esp. with XFS's performance improvements in the past few years to metadata-heavy workloads, like creating / deleting lots of small files.)

 ubuntu-docs is really a big offender for inode consumption, with massive amounts of files and symlinks like
/usr/share/help/C/ubuntu-help/clock.page
Every symlink is a separate inode, unlike hardlinks. (not that I'm suggesting packages should install hardlinks, just that using the FS as a database has its downsides, esp. in packages installed by default.)

 Luckily for me, English is my native language, and I don't think I ever looked at any of the locally-installed Ubuntu docs, so I can just remove as many internationalization packages as possible to minimize space usage and the amount of stuff that gets downloaded / updated.