Re: Benefits of creating a /home partition
The main benefits of creating a separate home partition are:
1. Preventing denial-of-service caused by a user exhausting disk space available to the operating system.
2. Enhanced security by applying restrictive mount options to the /home partition (e.g. -o nosuid, nodev, noexec)
3. Isolating user data within its own filesystem (user data not corrupted by system operations and vice-versa, users cannot build hard links to system files, etc.).
4. Convenience in managing user data by being able to refer to it at the device or filesystem level (e.g.: the dd utility only works with devices, not directories; the find, locate, and symlinks utilities can be restricted to "same filesystem"; you can unmount the partition and perform operations on it while the system is running, etc.).
In addition to security afforded by filesystem isolation and restrictive mount options, another reason to use a separate partition is to use a specialized filesystem for a group of files that might all be small, large, frequently read or written, needed instantaneously, rarely needed, shared over the network, etc..
There are many schools of thought on partitioning. A traditional partitioning scheme (more applicable to servers than desktops) would include separate partitions for /boot, swap, /, /tmp, /var, /usr, /home, and possibly /var/tmp, /opt, and /srv.
On my (non-ubuntu) desktop, I have /boot, /, /tmp, /var/tmp, /home, and a partition inside /usr for the directory that holds all the package manager data files (gigabytes of small files, in my weird distro).
I think a separate /home partition is a good idea. However, if your objective is portability across distros or operating systems, then bodhi.zazen's approach of using a "data" directory is a better approach (you can still mount it inside your home directory, on on say ~/data or ~/documents or whatever).
Last edited by BoneKracker; May 30th, 2010 at 04:27 AM.
Favorite man page quote: "The backreference \n, where n is a single digit, matches the substring previously matched by the nth parenthesized subexpression of the regular expression." [excerpt from grep(1)]