This hierarchy holds state information pertaining to an
application or the system. State information is data that programs
modify while they run, and that pertains to one specific host. Users
must never need to modify files in
configure a package's operation, and the specific file hierarchy
used to store the data must not be exposed to regular users.
State information is generally used to preserve the condition of an application (or a group of inter-related applications) between invocations and between different instances of the same application. State information should generally remain valid after a reboot, should not be logging output, and should not be spooled data.
An application (or a group of inter-related applications) must
use a subdirectory of
/var/lib for its data.
There is one required subdirectory,
/var/lib/misc, which is intended for state files
that don't need a subdirectory; the other subdirectories should only
be present if the application in question is included in the
/var/lib/<name> is the location that
must be used for all distribution packaging support. Different
distributions may use different names, of course.
The following directories, or symbolic links to directories, are
|Miscellaneous state data|
The following directories, or symbolic links to directories, must be in
/var/lib, if the
corresponding subsystem is installed:
|<editor>||Editor backup files and state (optional)|
|<pkgtool>||Packaging support files (optional)|
|<package>||State data for packages and subsystems (optional)|
|Color management information (optional)|
|hwclock||State directory for hwclock (optional)|
|xdm||X display manager variable data (optional)|
These directories contain saved files generated by any unexpected termination of an editor (e.g., elvis, jove, nvi).
Other editors may not require a directory for crash-recovery
files, but may require a well-defined place to store other information
while the editor is running. This information should be stored in a
/var/lib (for example, GNU
Emacs would place lock files in
Future editors may require additional state information beyond
crash-recovery files and lock files — this information should
also be placed under
Previous Linux releases, as well as all commercial vendors, use
/var/preserve for vi or its clones. However,
each editor uses its own format for these crash-recovery files, so a
separate directory is needed for each editor.
Editor-specific lock files are usually quite different from the
device or resource lock files that are stored in
/var/lock and, hence, are stored under
This directory contains variable data not placed in a
/var/lib. An attempt should be
made to use relatively unique names in this directory to avoid
Data with exposed filesystem structure should be stored in
An important difference between this version of this standard and
previous ones is that applications are now required to use a
 This hierarchy should contain files stored in
/var/db in current BSD releases. These include
mountdtab, and the kernel symbol database(s).