# The Directory Tree

&debian-gnu; adheres to the Filesystem Hierarchy Standard for directory and file naming. This standard allows users and software programs to predict the location of files and directories. The root level directory is represented simply by the slash `/`. At the root level, all &debian; systems include these directories:

Directory | Content
`bin` | Essential command binaries
`boot` | Static files of the boot loader
`dev` | Device files
`etc` | Host-specific system configuration
`home` | User home directories
`lib` | Essential shared libraries and kernel modules
`media` | Contains mount points for replaceable media
`mnt` | Mount point for mounting a file system temporarily
`proc` | Virtual directory for system information
`root` | Home directory for the root user
`run` | Run-time variable data
`sbin` | Essential system binaries
`sys` | Virtual directory for system information
`tmp` | Temporary files
`usr` | Secondary hierarchy
`var` | Variable data
`srv` | Data for services provided by the system
`opt` | Add-on application software packages

The following is a list of important considerations regarding directories and partitions. Note that disk usage varies widely given system configuration and specific usage patterns. The recommendations here are general guidelines and provide a starting point for partitioning.

- The root partition `/` must always physically contain `/etc`, `/bin`, `/sbin`, `/lib`, `/dev` and `/usr`, otherwise you won't be able to boot. This means that you should provide at least &root-system-size-min;–&root-system-size-max;MB of disk space for the root partition including `/usr`, or &root-desktop-system-size-min;–&root-desktop-system-size-max;GB for a workstation or a server installation.

- `/var`: variable data like news articles, e-mails, web sites, databases, the packaging system cache, etc. will be placed under this directory. The size of this directory depends greatly on the usage of your system, but for most people will be dictated by the package management tool's overhead. If you are going to do a full installation of just about everything &debian; has to offer, all in one session, setting aside 2 or 3 GB of space for `/var` should be sufficient. If you are going to install in pieces (that is to say, install services and utilities, followed by text stuff, then X, ...), you can get away with 300–500 MB. If hard drive space is at a premium and you don't plan on doing major system updates, you can get by with as little as 30 or 40 MB.

- `/tmp`: temporary data created by programs will most likely go in this directory. 40–100MB should usually be enough. Some applications — including archive manipulators, CD/DVD authoring tools, and multimedia software — may use `/tmp` to temporarily store image files. If you plan to use such applications, you should adjust the space available in `/tmp` accordingly.

- `/home`: every user will put his personal data into a subdirectory of this directory. Its size depends on how many users will be using the system and what files are to be stored in their directories. Depending on your planned usage you should reserve about 100MB for each user, but adapt this value to your needs. Reserve a lot more space if you plan to save a lot of multimedia files (pictures, MP3, movies) in your home directory.