Finding a successor to the FHS [LWN subscriber-only content]
The purpose of the Filesystem Hierarchy Standard (FHS) is to provide a specification for filesystem layout; it specifies the location for files and directories on a Linux system to simplify application development for multiple distributions. In its heyday it had some success at this, but the standard has been frozen in time since 2015, and much has changed since then. There is a slow-moving effort to revive the FHS and create a FHS 4.0, but a recent discussion among Fedora developers also raised the possibility of standardizing on the suggestions in systemd's file-hierarchy documentation, which has now been added to the Linux Userspace API (UAPI) Group's specifications.
FSSTND to FHS 3.0
Efforts to standardize directory structure and file placement for Linux systems go back to the earliest days of distributions. The Filesystem Standard (FSSTND) 1.0 was released in 1994; it was developed as " a consensus effort of many Linux activists ", and coordinated by Daniel Quinlan. In the preface to the document, which can be found in this directory, it noted that the " open and distributed process " of Linux created a need for a standardized structure of the filesystem:
This will allow users, developers, and distributors to assemble parts of the system from various sources that will work together as smoothly as if they had been developed under a monolithic development process. It will also make general documentation less difficult, system administration more consistent, and development of second and third party packages easier.
It was supplanted by the FHS 2.0 in 1997. Version 2.3, the last in the 2.x series, was announced in 2004. Eventually the work moved under the auspices of the Linux Foundation (LF), as part of the Linux Standard Base (LSB) effort, which was a project that attempted to promote open standards to improve compatibility between Linux distributions. In addition to filesystem layout, the LSB specified standard libraries, run levels, and so forth. The LF released FHS 3.0 in 2015.
The staff here at LWN.net really appreciate the subscribers who make our work possible. Is there a chance we could interest you in becoming one of them?
The FSSTND and FHS specifications described the layout of the filesystem as well as the files and commands that should exist on a conformant system. It describes the expected structure of everything under root (" / "), which directories should be present on a local system or those that can be shared via NFS or similar, and more. For example, the FHS describes the /bin directory as well as all of the commands—such as cp , ls , and mv — that are expected to exist there.
One might question whether any of the various standards succeeded in making open-source projects work together as envisioned; but we can also imagine how chaotic things would be if there had been no FHS at all. Now, however, the standard has been frozen in time for a decade while Linux development has continued apace.
The FHS is not just old at this point: everyone involved seems to have packed up and gone home. The fhs-discuss mailing list that was hosted by the LF appears to have been retired and LSB maintainer Mats Wichmann wrote in 2023 that " the LSB project is essentially abandoned ".
... continue reading