MarketFilesystem Hierarchy Standard
Company Profile

Filesystem Hierarchy Standard

The Filesystem Hierarchy Standard (FHS) is a reference describing the conventions used for the layout of Unix-like systems. It has been made popular by its use in Linux distributions, but it is used by other Unix-like systems as well. The latest version of the standard, version 3.0, was originally released on 3 June 2015 by the Linux Foundation. It was republished on 6 November 2025 by FreeDesktop, which has since assumed maintenance of the specification.

Directory structure
In the FHS, all files and directories appear under the root directory /, even if they are stored on different physical or virtual devices. Some of these directories only exist in a particular system if certain subsystems, such as the X Window System, are installed. Most of these directories exist in all Unix-like operating systems and are generally used in much the same way; however, the descriptions here are those used specifically for the FHS and are not considered authoritative for platforms other than Linux. == FHS compliance ==
FHS compliance
Most Linux distributions follow the Filesystem Hierarchy Standard and declare it their own policy to maintain FHS compliance. GoboLinux and NixOS provide examples of intentionally non-compliant filesystem implementations. Some distributions generally follow the standard but deviate from it in some areas. The FHS is a "trailing standard", and so documents common practices at a point in time. Of course, times change, and distribution goals and needs call for experimentation. Some common deviations include: • Modern Linux distributions include a /sys directory as a virtual filesystem (sysfs, comparable to /proc, which is a procfs), which stores and allows modification of the devices connected to the system, whereas many traditional Unix-like operating systems use /sys as a symbolic link to the kernel source tree. • Many modern Unix-like systems (such as FreeBSD and OpenBSD) via their ports systems install third-party packages into /usr/local, while keeping code considered part of the operating system in /usr. • Some Linux distributions no longer differentiate between /lib and /usr/lib and have /lib symlinked to /usr/lib. • Some Linux distributions no longer differentiate between /bin and /usr/bin and between /sbin and /usr/sbin. They may symlink /bin to /usr/bin and /sbin to /usr/sbin. Other distributions choose to consolidate all four, symlinking them to /usr/bin. Modern Linux distributions include a /run directory as a temporary filesystem (tmpfs), which stores volatile runtime data, following the FHS version 3.0. According to the FHS version 2.3, such data were stored in /var/run, but this was a problem in some cases because this directory is not always available at early boot. As a result, these programs have had to resort to workarounds, such as using /dev/.udev, /dev/.mdadm, /dev/.systemd or /dev/.mount directories, even though the device directory is not intended for such data. Among other advantages, this makes the system easier to use normally with the root filesystem mounted read-only. For example, below are the changes Debian made in its 2013 Wheezy release: • /dev/.* → /run/* • /dev/shm → /run/shm • /dev/shm/* → /run/* • /etc/* (writeable files) → /run/* • /lib/init/rw → /run • /var/lock → /run/lock • /var/run → /run • /tmp → /run/tmp == History ==
History
FHS was created as the FSSTND (short for "Filesystem Standard"), largely based on similar standards for other Unix-like operating systems, such as the Version 7 Unix from 1979, the SunOS 4.x and its successor, the Solaris , and the FreeBSD . Release history == See also ==
tickerdossier.comtickerdossier.substack.com