A very useful guide written by Karsten Self is available from http://kmself.home.netcom.com/Linux/FAQs/partition.html.
The simplest of partitioning scheme is to have three partitions, one for / (10GB perhaps), one for swap (2 times available RAM) and the rest as /home. This may well suffice and avoids users filling up the root partition and the system thus having problems, and also facilitates a reinstall of the operating system, without wiping out user data.
A significantly (and perhaps unnecessarily) more complex scheme, and one that is often recommended based on the Debian distribution and the Filesystem Hierarchy Standard is:
|swap||2xRAM||An old rule of thumb. Generally there's plenty of disk space to handle this.|
|/||50MB-100MB||This is where the base system lives and contains just enough to boot a system, and will allow you to boot into single user mode in case of catastrophe elsewhere on the disk. By being small it is less prone to corruption as a result of a system crash. On a typical server (maximum of PLYMZ and Velox (4.10.26)) it contains bin (2MB), lib (40MB), root (15MB), and sbin (2MB). The directory is usually static and unshareable.|
|/tmp||50MB-100MB||It is empty after reboot.|
|/boot||16MB||It is 6MB on PLYMZ, 2MB on Velox (4.10.26).|
|/usr||500MB-2GB||This directory is usually static and shareable. It is 1GB on PLYMZ, 2GB on Velox (4.10.26). This includes /usr/local.|
|/var||200MB-500MB||This directory is variable with some parts shareable and others not. Often used for email and news feeds. It is 1GB on PLYMZ, 2GB on Velox (4.10.26), and both are being used as web servers.|
|/etc||This directory is usually static and unshareable. It is 5MB on PLYMZ, 10MB on Velox (4.10.26).|
|/usr/local||200MB-2GB||This directory is usually shareable. Typically for local networks this is mounted from a server. It is 500MB on Velox (4.10.26) acting as a server.|
|/home||200MB||This directory is usually shareable. Typically for local networks this is mounted from a server. It is 4GB on Velox (4.10.26) acting as a server.|
|/ktnet||(remainder)||This is used for a networked environment where disk space on each machine is shared. Create a subdirectory on /ktnet with the name of this host with the intention of NFS mounting this on other hosts in the network. Mount other hosts' /ktnet areas here.|