Installation guide

18 Chapter 1. File System Structure
1.2.1. FHS Organization
The directories and files noted here are a small subset of those specified by the FHS document. Check
the latest FHS document for the most complete information.
1.2.1.1. The /dev Directory
The /dev directory contains file system entries which represent devices that are attached to the system.
These files are essential for the system to function properly.
1.2.1.2. The /etc Directory
The /etc directory is reserved for configuration files that are local to your machine. No binaries are
to be put in /etc. Any binaries that were formerly put in /etc should now go into /sbin or possibly
/bin.
The X11 and skel directories are subdirectories of the /etc directory:
/etc
|- X11
|- skel
The X11 directory is for X11 configuration files such as XF86Config. The skel directory is for
"skeleton" user files, which are used to populate a home directory when a user is first created.
1.2.1.3. The /lib Directory
The /lib directory should contain only those libraries that are needed to execute the binaries in
/bin and /sbin. These shared library images are particularly important for booting the system and
executing commands within the root file system.
1.2.1.4. The /mnt Directory
The /mnt directory is for temporarily mounted file systems, such as CD-ROMs and floppy disks.
1.2.1.5. The /opt Directory
The /opt directory provides an area for large, static application software packages to be stored.
For packages that wish to avoid putting their files throughout the file system, /opt provides a logical
and predictable organizational system under that package’s directory. This gives the system adminis-
trator an easy way to determine the role of each file within a particular package.
For example, if sample is the name of a particular software package located within /opt, then all
of its files could be placed within directories inside /opt/sample, such as /opt/sample/bin for
binaries and /opt/sample/man for manual pages.
Large packages that encompass many different sub-packages, each of which accomplish a particular
task, also go within /opt, giving that large package a standardized way to organize itself. In this
way, our sample package may have different tools that each go in their own sub-directories, such as
/opt/sample/tool1 and /opt/sample/tool2, each of which can have their own bin, man, and
other similar directories.