Windows does partitions wrong, but so does Linux

July 28, 2009 | categories: Pcs

Back when I first installed Linux, when I had said I had a 60GB partition to use, the advice I got was: Match your swap partiton to your RAM, use 10GB for /, and the rest for /home .

Yesterday, I started getting errors everywhere. So I turned it off and on again. When that didn't work, I actually read the errors. "No Space Remaining". I go "WTF, I only used about 12GB".

So after spending a while looking at the disc usage program, I notice something. It lists / as full with 9GB/9GB used. Then I realise the problem: My / partition is full. (which is presumably also the location of /tmp , hence the errors).

Luckily my swap partition was in between my / and /home partitions, so I've deleted that and recreated it at the end of the disc. (which took a bloody long time, and required finding that LiveCD again).

This makes me wonder: Is Windows' system of drive letters rather than a defined purpose (which is often a point of criticism) such a bad idea? When on Windows, my C: drive filled up, I just needed to move files en masse to my D: drive. Still slow, but doesn't require even a reboot, much less depending on where my swap partition just so happened to be because of the order that I used when installing the system.

For those of you wondering how my programs and system data are significantly larger than my files, here's the amount of file storage I've used on programming:

  • Eclipse: 130 mb
  • Eclipse plugins: at least 20mb, possibly as high as another 100mb
  • jdk/jre: ~30mb
  • Apache/PHP/MySQL: ~100mb
  • Many other programming tools
  • Actual programs I'm writing now: < 20mb (Older ones are stored on a network drive)

Representing partitions as drive letters is clearly wrong, because the file system is supposed to be abstracting the actual physical hard drives out of it, but representing them for one use is also wrong. How can I predict when I get a new computer that I'll need x gb for data and y gb for programs?

An ideal OS would abstract all of this away, so you just have storage and don't have to deal with the actual drives you have, what partition a file goes in, predicting your disk usage, which partition is on which drive etc.