Thanks all.
I remember now. This is embarrassing, let's get that bit over with:
Part of the disk is damaged. I created /broken over the top of that bit so I could still use the rest. This is why it appears in /
Debian's disk utility tells the following story:
The first partition, /dev/sda1, is 10G and is mounted as /broken.
Everything that should be in / (except /swap and /home as below, and /broken) is to be found in there.
/dev/sda2 is an extended partition filling the remaining 155G of disk space.
Within that, the first 4.1G (i.e. next to /broken) is /swap, aka /dev/hda5.
/home then takes up the remaining 151G within the extended partition, as /dev/hda6.
So that explains why / is full - it is inside /broken which is only 10 G. But, as listed in various tools, /broken is of course mounted within / .
Urgle!
Sounds like gparted would be good, but it doesn't appear to be installed: I opened a root terminal and tried to find/run it, no luck.
I know it's on the install disk, but that doesn't have a Live mode. It does have a repair mode - would that fit the bill?
And once I get gparted or whatever going, how do I untangle / and /broken? I'm guessing the mess is something to do with /broken being the first partition on the disk? Can I bypass /sda1, or would it be better to move as many directories, like /var, /bin and so on into their own partitions the other side of /swap, i.e. at the expense of /home?
Actually, I probably mean reinstall - just moving stuff would move those crummy disk errors with it.
"We don't need no frikkin' aliens, we c'n do this ourselves!" — anon.