The figure 4.1 shows Filesystem Hierarchy Standard (FHS) directories. Each of them is projected to hold a specific set of files. This standard enables software and users to predict the location of installed files and directories. In this section, we shortly describe the structured tree, to make the reader understanding what is ``the right place'' of each file in a Unix-like system, and why it is so important to use PackageFS in order to add this semantic view for any installed package.
It is possible to define two independent distinctions among files: shareable vs. unshareable and variable vs. static. In general, files that differ in either of these respects should be located in different directories. This makes it easy to store files with different usage characteristics on different file systems.
"Shareable"files can be stored on one host and
used on others.
"Unshareable"files are those that are not shareable. For example, the files in user home directories are shareable whereas device lock files are not.
"Static"files include binaries, libraries, documentation files and other files that do not change without system administrator intervention. "Variable"files are files that are not static (i.e. process lock or log files).
Files owned by packages and thus, addressed by PackageFS, are the static ones.