As described above, you should have a separate smaller root
partition and a larger /usr partition if you have the space. For
most users, the two partitions initially mentioned are sufficient.
This is especially appropriate when you have a single small disk,
because creating lots of partitions can waste space.
In some cases, you might need a separate /usr/local partition if you
plan to install many programs that are not part of the Debian
distribution. If your machine will be a mail server, you may need to
make /var/spool/mail a separate partition. Putting /tmp on its own
20 to 32MB partition, for instance, is a good idea. If you are
setting up a server with lots of user accounts, it’s generally good
to have a separate, large /home partition to store user home
directories. In general, the partitioning situation varies from
computer to computer depending on its uses.
For very complex systems, you should see the Multi Disk HOWTO[8]. It
contains in-depth information, mostly of interest to people setting
up servers.
[8] http://metalab.unc.edu/LDP/HOWTO/Multi-Disk-HOWTO.html
Swap partition sizes should also be considered. There are many views
about swap partition sizes. One rule of thumb that works well is to
use as much swap as you have system memory, although there probably
isn’t much point in going over 64MB of swap for most users. It also
shouldn’t be smaller than 16MB, in most cases. Of course, there are
exceptions to these rules. If you are trying to solve 10,000
simultaneous equations on a machine with 256MB of memory, you may
need a gigabyte (or more) of swap space.
As an example, consider a machine that has 32MB of RAM and a 1.7GB
IDE drive on /dev/hda. There is a 500MB partition for another
operating system on /dev/hda1. A 32MB swap partition is used on
/dev/hda3 and the rest, about 1.2GB, on /dev/hda2 is the Linux
partition.