Fact-checked by Grok 2 weeks ago

Filesystem Hierarchy Standard

The Filesystem Hierarchy Standard (FHS) is a collaborative specification that defines requirements and guidelines for the organization and placement of files and directories in UNIX-like operating systems, enabling consistent filesystem layouts across distributions and implementations. Developed initially in August 1993 as an effort to standardize the Linux filesystem structure amid growing diversity in distributions, it evolved from the earlier FSSTND (Filesystem Standard) project and was formally renamed FHS with version 2.0 in 1997. The current version, 3.0, was released on June 3, 2015, by the Linux Foundation and republished on November 6, 2025, under the stewardship of freedesktop.org to ensure ongoing maintenance and relevance. The FHS promotes interoperability by allowing software developers, system administrators, and package maintainers to predict file locations without distribution-specific assumptions, addressing coordination needs among local sites, applications, and documentation. It structures the filesystem hierarchically from the root directory (/), distinguishing between essential system components on the root filesystem (for boot and repair scenarios) and shareable, read-only data in subtrees like /usr. Key directories include /bin and /sbin for essential user and system binaries, /etc for host-specific configuration files, /home for user-specific data, /var for variable files like logs and spools, and /opt for optional third-party software packages. While not all directories are mandatory—some like /proc and /sys support virtual filesystems for process and kernel information—the standard balances rigidity with flexibility to accommodate evolving system needs. Widely adopted by major distributions such as Ubuntu, Red Hat Enterprise Linux, and Debian, the FHS remains a foundational reference for UNIX-like ecosystem consistency.

Overview

Definition and Purpose

The Filesystem Hierarchy Standard (FHS) is a collaborative reference standard that defines the structure and contents of the directory tree in the root filesystem for Unix-like operating systems. It consists of requirements and guidelines for file and directory placement to promote consistency across diverse implementations. The primary purposes of the FHS include enabling software portability by allowing applications, system administration tools, development utilities, and scripts to predict the locations of installed files and directories reliably. It facilitates seamless software installation and upgrades without conflicts between packages from different vendors, supports shared filesystem environments across multiple Linux distributions, and aids administrative tasks such as selective backups, system recovery, and disk partitioning. By standardizing these elements, the FHS enhances overall interoperability and reduces administrative overhead in multi-vendor settings. At its core, the FHS organizes the filesystem hierarchy based on functional categories, distinguishing between shareable and non-shareable data as well as static and variable components. Static files, such as executable binaries and libraries, are separated from variable data like user-specific logs and runtime states to optimize system performance and maintainability. For instance, the /bin directory holds essential user command binaries that must remain available even in single-user or emergency modes. This approach emerged from traditional AT&T Unix filesystem practices but was formalized to accommodate the complexities of modern, multi-vendor Unix-like systems.

Scope and Applicability

The Filesystem Hierarchy Standard (FHS) defines the structure and placement of files and directories in the base filesystem beginning at the root (/). It establishes requirements and guidelines to promote interoperability among applications, administration tools, and scripts on compliant systems. The standard explicitly excludes bootloaders and kernel internals, focusing instead on user-accessible filesystem organization. The FHS targets Unix-like operating systems, with primary applicability to Linux distributions that form the majority of its implementations. It also applies to 4.4BSD-based systems. Compliance is recommended for the core operating system to ensure portability of software and tools, but optional for supplementary add-ons like third-party applications. Exclusions in the FHS clarify its boundaries, such as not prescribing the internal organization of user home directories beyond the recommended /home location, which allows administrators flexibility for local customizations. Network filesystems and container-specific mounts fall outside its scope, as the standard addresses only the static base hierarchy rather than dynamic or remote integrations. Non-POSIX extensions are similarly ignored to maintain focus on core Unix-like conventions. In 2025, the FHS continues to hold relevance for modern computing paradigms, including cloud infrastructures and embedded systems powered by Linux distributions, where its structured layout supports efficient resource management and deployment consistency. While foundational, it is often supplemented by complementary standards from freedesktop.org, particularly for desktop-oriented extensions in graphical environments.

Directory Hierarchy

Top-Level Directories

The Filesystem Hierarchy Standard (FHS) organizes the root filesystem (/) into a defined set of top-level directories to ensure a consistent structure for file placement in UNIX-like operating systems, facilitating interoperability and system administration. These directories adhere to the principle of functional separation, where each serves a distinct role in the system's architecture, with all paths specified as absolute from the root. The FHS mandates the presence of certain directories while allowing others as optional, and prohibits symbolic links at the top level except in specified cases, such as /lib64 potentially symlinking to /lib for multi-architecture support. FHS 3.0, released in 2015, introduced /run as a mandatory directory for volatile runtime data, superseding the previous use of /var/run to better handle temporary system state that does not persist across reboots. The standard requires that all mandatory directories exist, even if empty, to maintain compliance, while optional directories may be implemented based on system needs, such as for architecture-qualified libraries under /lib (e.g., /lib32 or /lib64). The following table catalogs the top-level directories as defined in FHS 3.0, distinguishing mandatory from optional ones and providing a high-level functional overview:
DirectoryStatusHigh-Level Function
/binMandatoryEssential user binaries
/bootMandatoryBoot loader files
/devMandatoryDevice files
/etcMandatoryHost-specific configuration
/homeOptionalUser home directories
/libMandatoryEssential shared libraries
/mediaMandatoryMount points for removable media
/mntMandatoryTemporary filesystem mounts
/optMandatoryAdd-on application software packages
/procMandatoryProcess information pseudofilesystem
/rootOptionalRoot user home directory
/runMandatoryRuntime variable data (volatile)
/sbinMandatorySystem administration binaries
/srvMandatorySite-specific data served by this system
/sysMandatoryDevice and process information pseudofilesystem
/tmpMandatoryTemporary files
/usrMandatorySecondary hierarchy for read-only user data
/varMandatoryVariable data files
/libOptionalArchitecture-qualified libraries (e.g., /lib64)
This structure ensures that essential components are directly accessible from the root while reserving space for extensions without disrupting the core layout.

Directory-Specific Guidelines

The Filesystem Hierarchy Standard (FHS) provides detailed guidelines for the contents, permitted uses, and structural constraints of specific directories to ensure consistency, modularity, and system integrity in Unix-like operating systems. These rules prevent overlap between directories, promote separation of essential and non-essential components, and support features like separate mounting of hierarchies. For instance, essential commands required for single-user mode are confined to certain locations, while variable data is isolated to avoid interference with static files. The /bin directory contains essential user command binaries that must be available even in emergency situations, such as single-user mode, without relying on other file systems being mounted. Examples include basic utilities like ls for listing files, cat for concatenating files, and mount for mounting file systems. No subdirectories are permitted within /bin, and it should only hold executable programs, not libraries or data files, to maintain a flat, accessible structure for boot processes. Similarly, /sbin houses essential system administration binaries, typically invoked by the root user or boot scripts, which are not intended for general user access. Commands such as ifconfig for network interface configuration, fsck for file system checks, and init for system initialization reside here. Like /bin, /sbin allows no subdirectories and focuses exclusively on executables critical for system maintenance and recovery. The /usr directory forms a secondary hierarchy that is intended to be read-only and mountable separately from the root file system, containing non-essential user binaries, libraries, and data. Its subdirectory /usr/bin holds non-critical user commands, such as gcc for compilation or man for manual pages, distinct from the essentials in /bin. /usr/lib stores object libraries, including those for dynamic linking (e.g., .so files), while /usr/share contains architecture-independent data like documentation, icons, and locale files that can be shared across systems. This structure enables distribution of /usr via read-only media like CDs, enhancing portability. /var is dedicated to variable data files that change during system operation, such as logs, spool files, and state information, ensuring they do not reside on read-only portions of the file system. The /var/log subdirectory stores system and application logs (e.g., authentication logs in /var/log/auth.log), with FHS recommending rotation policies to manage growth, such as using tools like logrotate to compress and archive old files periodically. /var/spool manages queues for printing, mail, or cron jobs, where files are transient and processed by daemons. /var/lib holds state data for programs, like database files or package manager caches, preserving information across reboots. The /etc directory exclusively contains host-specific system configuration files, such as /etc/passwd for user accounts and /etc/fstab for file system mounts, formatted in human-readable text where possible. No binaries or executable programs are permitted here, emphasizing its role as a configuration repository rather than an execution path, which aids in secure, centralized management. /opt is reserved for optional, third-party software packages that are not part of the standard distribution, requiring a self-contained directory structure within it (e.g., /opt/package/bin for executables and /opt/package/lib for libraries) to avoid conflicts with the base system. This allows add-on applications, like proprietary drivers, to install without altering core hierarchies. In contrast, /srv provides a site-specific directory for data served by the system, such as web content in /srv/www or FTP files in /srv/ftp, organized by service protocol or name to facilitate server operations without predefined substructures. General guidelines across directories mandate that no directories except /tmp be world-writable to prevent security risks from unauthorized modifications, and all filenames must support UTF-8 encoding for international compatibility. Symbolic links are restricted to backward compatibility purposes, such as linking /lib to /usr/lib post-FHS 3.0, to avoid unnecessary indirection. A key change in FHS 3.0 merged the previous /var/run and /var/lock into a new /run directory for volatile runtime data (e.g., process IDs and lock files), which is typically a tmpfs-mounted, temporary file system cleared on reboot.

Compliance and Variations

Testing and Certification

Compliance with the Filesystem Hierarchy Standard (FHS) requires that all mandatory directories, such as /bin, /etc, /lib, /sbin, /tmp, /usr, and /var, are present and populated with files serving their designated purposes, including essential user commands in /bin, system-wide configuration files in /etc without executable binaries, and runtime libraries in /lib. Additionally, systems must support mounting /usr as a separate filesystem to allow for shareable, read-only configurations across networked environments, and prohibit placement of device files or variable data in static directories like /usr. For multi-architecture support introduced in FHS 3.0, binaries and libraries must reside in architecture-specific subdirectories under /usr/lib using multiarch pathnames, such as /usr/lib//, where denotes the platform identifier like i386-linux-gnu, ensuring no conflicts between architectures. Testing for FHS adherence typically involves automated tools and manual verification methods. For package-level validation, tools like Lintian in Debian-based environments scan binary and source packages for FHS violations, such as incorrect file paths or prohibited contents in directories like /etc. Manual audits complement these by employing commands like find /etc -type f -executable to detect unauthorized executables in configuration directories or ls -l /usr/lib/* to inspect multi-arch compliance, allowing administrators to systematically review adherence to directory purposes. In the absence of a dedicated test suite for FHS 3.0, compliance is primarily self-assessed by operating system distributors and software developers through documentation and release notes, often integrating checks into broader quality assurance processes. There is no centralized formal certification body for FHS compliance; instead, operating system distributors and software developers self-assess and report adherence through documentation and release notes. FHS 3.0's stricter multi-architecture rules can be tested using ELF binary inspection tools to confirm proper triplet-based placement, though no dedicated FHS-specific certifier exists, emphasizing voluntary conformance over mandatory auditing. Key challenges in achieving and verifying FHS compliance include managing optional directories like /opt, where third-party software may introduce non-standard structures without violating core rules, and ensuring relative symbolic links in shareable areas to maintain portability across mounts. Distinguishing between shareable (e.g., /usr) and unshareable (e.g., /var) components during testing requires careful consideration of networked environments, while site-specific customizations can inadvertently place files outside prescribed locations, complicating automated detection.

Distribution-Specific Adaptations

Major Linux distributions often implement adaptations to the Filesystem Hierarchy Standard (FHS) to streamline package management and reduce redundancy, while preserving core compatibility. For instance, Ubuntu employs the "usr-merge" scheme, which converts the traditional split between root and /usr directories by creating symlinks from /bin, /sbin, and /lib to their counterparts under /usr (e.g., /bin links to /usr/bin). This approach, introduced as default in Ubuntu 19.04, simplifies maintenance by consolidating essential binaries and libraries into /usr, aligning with evolving FHS discussions on unification without altering the standard's intent. Ubuntu continues to reserve /usr/local for administrator-installed software, storing its variable data in /var/local to adhere to FHS guidelines for local additions. Fedora extends FHS conventions by utilizing /usr/libexec as a dedicated directory for executable programs and scripts primarily invoked by other system components, rather than user-facing tools. This placement follows the optional FHS recommendation for internal binaries not intended for direct execution, but Fedora emphasizes its use for modular scripts to enhance package organization and avoid cluttering /usr/bin. In BSD variants, FreeBSD maintains close alignment with FHS for most directories but deviates in software installation practices. The FreeBSD Ports Collection, which facilitates building and installing third-party applications, resides in /usr/ports rather than the FHS-recommended /opt for add-on packages. Installed ports typically place binaries in /usr/local/bin and libraries in /usr/local/lib, treating /usr/local as the primary site for local and third-party software, which contrasts with Linux distributions' preference for /opt to isolate vendor-specific additions. macOS, built on the Darwin kernel (a BSD derivative), further diverges by organizing core system files in /System and /Library directories. /System contains immutable, Apple-provided components essential to the operating system, while /Library holds user- and administrator-installed resources; these structures prioritize macOS's bundled application model over FHS's Unix-like separation of system and local hierarchies. Containerized packaging formats represent common adaptations that bypass traditional FHS directories for self-contained deployments. Snaps, developed by Canonical, install applications in /snap, bundling dependencies independently of /opt or /usr/local to enable cross-distribution portability and automatic updates, effectively ignoring FHS placement for add-on software. Similarly, AppImages provide portable executables that users can run from any location—often ~/Applications or /opt—without system-wide installation, circumventing FHS integration to focus on simplicity and isolation from host libraries. Android, while inspired by Unix-like hierarchies, partially adopts FHS elements (e.g., /etc for configuration and /proc for processes) but structures its partitions around /system for read-only OS files and /data for user and app data, diverging to support mobile-specific constraints like scoped storage and security. Recent trends in the 2020s emphasize immutability for reliability, with systems like those using OSTree enforcing a read-only /usr mount to enable atomic updates and rollbacks. OSTree treats /usr as an immutable filesystem tree, relocating mutable state to /var (e.g., /var/usrlocal for local additions), which extends FHS by promoting stateless designs while allowing snapshot-based deployments without disrupting running systems. NixOS achieves similar immutability through its declarative configuration and /nix/store for packages, though it deviates from strict FHS by isolating binaries outside standard paths like /usr/bin, prioritizing reproducibility over conventional hierarchy adherence. These adaptations underscore the FHS's flexibility, enabling distributions to innovate for specific use cases—such as merged directories for efficiency or containerization for portability—while retaining core conventions to ensure interoperability across Unix-like systems.

Historical Development

Origins of the Standard

The Filesystem Hierarchy Standard (FHS) derives from longstanding Unix filesystem conventions pioneered in AT&T System V and the Berkeley Software Distribution (BSD). System V established /usr as the primary location for user programs and utilities, while /etc served as the repository for system configuration files essential to host operations. BSD extended this model by introducing /usr/local to accommodate site-specific software installations without conflicting with vendor-supplied components. These conventions emphasized a logical separation of system-wide and local resources, laying the groundwork for organized, maintainable hierarchies in multi-user environments. In the early 1990s, the rapid proliferation of Linux distributions led to significant fragmentation, with varying directory layouts hindering portability, package management, and interoperability. To address this, a volunteer working group initiated the Linux Filesystem Standard (FSSTND) project in August 1993, aiming to define a consistent structure based on existing Unix practices while adapting to Linux's unique needs. Discussions occurred via mailing lists, culminating in the release of FSSTND version 1.0 on February 14, 1994, which outlined a basic hierarchy prioritizing functional categorization over ad-hoc arrangements. This initial standard represented a pivotal shift toward vendor-neutral guidelines, enabling better support for networked, multi-user systems by grouping files by purpose—such as executables, libraries, and variable data—rather than by origin or installation method. The FSSTND effort later expanded to encompass broader Unix-like systems, evolving into the FHS, with maintenance assumed by the Free Standards Group to foster ongoing consensus and adoption.

Release History

The Filesystem Hierarchy Standard (FHS) originated from the earlier File System Standard (FSSTND), which was developed specifically for Linux systems starting in 1993. The initial FSSTND 1.0 was released on February 14, 1994, providing foundational guidelines for Linux file and directory placement. Subsequent revisions followed as FSSTND 1.1 on October 9, 1994, and FSSTND 1.2 on March 28, 1995, refining the structure based on community feedback. In early 1995, the project expanded beyond Linux to encompass other UNIX-like operating systems with input from the BSD community, leading to the renaming and evolution into the FHS. The first FHS version, 2.0, was released on October 26, 1997, as the direct successor to FSSTND 1.2. This version broadened the scope to UNIX-like systems and introduced additional subdirectories under /var, such as /var/mail for user mailboxes and /var/spool for queued jobs, to better accommodate diverse system services. FHS 2.2 followed on May 24, 2001, incorporating support for emerging hardware like USB devices by recommending /media as the mount point for removable and non-essential media, replacing the ad-hoc use of /mnt. The next update, FHS 2.3, arrived on January 29, 2004, addressing multi-architecture needs, particularly for 64-bit systems, by allowing directories like /lib64 or /usr/lib64 for architecture-specific libraries while maintaining compatibility with 32-bit setups.
VersionRelease DateKey Features/Changes
FSSTND 1.0February 14, 1994Initial Linux-specific standard for file hierarchy.
FSSTND 1.2March 28, 1995Refined Linux directory guidelines; basis for FHS transition.
FHS 2.0October 26, 1997Expanded to UNIX-like systems; added /var subdirectories (e.g., /var/mail, /var/spool).
FHS 2.2May 24, 2001Introduced /media for USB and removable media mounts.
FHS 2.3January 29, 2004Added multi-arch support, including /lib64 for 64-bit libraries.
FHS 3.0June 3, 2015Standardized /run for runtime data (deprecating /var/run with symlink recommendation); enhanced multi-architecture via /usr/lib (e.g., /usr/lib/i386-linux-gnu); aligned with modern practices like containerization.
FHS 3.0, released on June 3, 2015, by the Linux Foundation's LSB Workgroup, represented the most recent major update, focusing on runtime data separation with the new /run directory for process-specific files and deprecating the legacy /var/run in favor of a symbolic link for backward compatibility. It also formalized multi-architecture qualifiers in library paths, such as /usr/lib for variant-specific binaries, to support diverse hardware environments. No further versions have been released since 2015, and FHS 3.0 remains the authoritative standard as of 2025. Maintenance of the FHS has evolved over time. Initially driven by volunteer contributors under the FSSTND banner, it transitioned to the Linux Foundation through the Linux Standard Base (LSB) Workgroup for versions 2.0 onward, with decisions made via consensus on public mailing lists hosted by organizations like SourceForge and UC San Diego. In November 2025, the FreeDesktop.org project, under the X.Org Foundation, adopted and republished FHS 3.0, assuming ongoing maintenance responsibilities while incorporating community input through dedicated mailing lists. Discussions on potential updates, including better support for containerized environments, continue within the community, but no version 4.0 is planned.

Evolution of Key Conventions

The naming of the /usr directory originated in early Unix systems as a separate partition for user-related programs and data, distinct from the root filesystem that contained only essential boot files due to limited disk space. This convention allowed /usr to hold optional and larger user tools, while /bin and /etc remained on the smaller root partition. Over time, however, /usr evolved to encompass most of the system's read-only, shareable components, leading to criticism that the name is misleading since it no longer primarily serves "user" home directories or personal files but rather core system utilities. The distinction between static and variable directories, such as /usr for static content and /var for variable data, developed from practical disk partitioning needs in Unix environments, where static files like binaries and libraries could be placed on read-only or less frequently backed-up media, while variable files like logs and spools required writable, dynamic storage. This separation facilitated efficient system maintenance and resource allocation, preventing variable data from bloating static partitions. Similarly, the shareable versus non-shareable convention—exemplified by /usr/share for architecture-independent, read-only data that can be networked across hosts, contrasted with /etc for host-specific configuration—arose to support distributed filesystems like NFS, enabling multiple machines to share immutable resources without risking local modifications. The /opt directory was introduced in the initial 1994 release of the Filesystem Standard (FSSTND), the precursor to the FHS, to provide a dedicated location for optional, third-party software packages that did not conform to vendor-supplied hierarchies, allowing add-on applications to install without conflicting with the base system. The ongoing debate over the /usr name, highlighting its outdated association with user partitions amid modern merged hierarchies, but it was retained to preserve backward compatibility with decades of existing software and documentation.

References

  1. [1]
    Filesystem Hierarchy Standard - Linux Foundation
    Mar 19, 2015 · This standard consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems.Chapter 2. The Filesystem · Chapter 3. The Root Filesystem · Chapter 1. Introduction
  2. [2]
    7.2. Background of the FHS - Linux Foundation
    The process of developing a standard filesystem hierarchy began in August 1993 with an effort to restructure the file and directory structure of Linux.
  3. [3]
    Filesystem Hierarchy Standard | Linux Journal
    Jun 17, 2019 · The FHS project began in 1993, and the goal was to come to a consensus on how directories should be organized and which files should be stored where.<|control11|><|separator|>
  4. [4]
    Filesystem Hierarchy Standard
    ### Summary of Filesystem Hierarchy Standard (FHS) Sections
  5. [5]
    Chapter 1. Introduction - Linux Foundation
    Purpose. This standard enables: Software to predict the location of installed files and directories ... Filesystem Hierarchy Standard, Home, 1.2. Conventions.
  6. [6]
    Chapter 4. The /usr Hierarchy - Linux Foundation
    /usr is the second major section of the filesystem. /usr is shareable, read-only data. That means that /usr should be shareable between various FHS-compliant ...
  7. [7]
    Chapter 5. The /var Hierarchy - Linux Foundation
    /var contains variable data files. This includes spool directories and files, administrative and logging data, and transient and temporary files.<|control11|><|separator|>
  8. [8]
    Filesystem hierarchy standard - Ubuntu project documentation
    Ubuntu adheres to the Filesystem Hierarchy Standard (FHS). FHS prescribes the structure and organization of directories and files in UNIX-like operating systems ...
  9. [9]
    3.2. Overview of File System Hierarchy Standard (FHS)
    The FHS document is the authoritative reference to any FHS-compliant file system, but the standard leaves many areas undefined or extensible.
  10. [10]
    Filesystem Hierarchy Standard - Debian
    Mar 19, 2015 · This document specifies a standard filesystem hierarchy for FHS filesystems by specifying the location of files and directories, and the ...
  11. [11]
    Chapter 2. The Filesystem - Linux Foundation
    "Static" files include binaries, libraries, documentation files and other files that do not change without system administrator intervention. "Variable" files ...
  12. [12]
  13. [13]
    Scope | Filesystem Hierarchy Standard
    ### Summary of Scope (Filesystem Hierarchy Standard)
  14. [14]
    Operating System Specific Annex | Filesystem Hierarchy Standard
    ### Summary of Supported Operating Systems and Architectures
  15. [15]
    3.8. /home : User home directories (optional) - Linux Foundation
    This section describes only a suggested placement for user home directories; nevertheless we recommend that all FHS-compliant distributions use this as the ...Missing: exclusions network
  16. [16]
    Introduction | Filesystem Hierarchy Standard
    ### Summary of Introduction and Purpose from https://specifications.freedesktop.org/fhs/latest/introduction.html
  17. [17]
  18. [18]
    [PDF] Filesystem Hierarchy Standard - Linux Foundation
    Mar 19, 2015 · This document specifies a standard filesystem hierarchy for FHS filesystems by specifying the location of files and directories, and the ...
  19. [19]
    Test Suites -- LSB-FHS - The Open Group
    The LSB-FHS test suite, tests the filesystem hierarchy aspects of the Linux Standard Base, as defined in the FHS 2.x specification, is now available for ...Missing: compliance | Show results with:compliance
  20. [20]
    Lintian User's Manual
    Oct 16, 2025 · Lintian is a Debian package checker. It can be used to check binary and source packages for compliance with the Debian policy and for other common packaging ...Missing: FHS | Show results with:FHS
  21. [21]
    How to audit permissions with the find command - Red Hat
    Dec 4, 2020 · Use `find` with `-perm` to search by permissions, using `-` for at least a level, `/` for any of the listed permissions, in absolute or ...Missing: manual FHS
  22. [22]
    The Case for the /usr Merge - Freedesktop.org
    May 13, 2024 · The /usr merge merges /bin, /sbin, /lib, and /lib64 into /usr, creating symlinks, improving compatibility with other systems and reducing ...
  23. [23]
    Fedora Packaging Guidelines
    Libexecdir (aka, /usr/libexec on Fedora systems) should only be used as the directory for executable programs that are designed primarily to be run by other ...Fedora systemd Services · Fedora Cron Job Files · RPM Macros · Scriptlets
  24. [24]
    4.7. /usr/libexec : Binaries run by other programs (optional)
    /usr/libexec includes internal binaries that are not intended to be executed directly by users or shell scripts.
  25. [25]
    Chapter 4. Installing Applications: Packages and Ports
    The Ports Collection contains directories for software categories. Inside each category are subdirectories for individual applications. Each application ...Missing: FHS | Show results with:FHS
  26. [26]
    FHS differences between OS X, Linux and FreeBSD
    Jan 22, 2013 · I've read that there is a different behavior between FreeBSD and Linux with the /usr/local, in FBSD ports are installed there, in Linux not.Missing: applicability | Show results with:applicability
  27. [27]
    File Systems Overview - Apple Developer
    Aug 8, 2013 · Essential information for programming in the OS X kernel. Includes a high-level overview.
  28. [28]
    macos - On OS X El Capitan, what is the difference between /Library
    Nov 27, 2016 · /System/Library is for stuff that doesn't change and is installed by Apple. Files here help the operating system run. /Library is for things ...What are these folders and files in my library folder? - Ask DifferentCan I delete any of these items from library? - Apple StackExchangeMore results from apple.stackexchange.comMissing: FHS | Show results with:FHS
  29. [29]
    The system /snap directory | Snapcraft documentation
    Snaps are containerised software packages that are simple to create and install. They auto-update and are safe to run. And because they bundle their ...
  30. [30]
    What are the differences between snaps, appimage, flatpak and ...
    Dec 31, 2016 · Here is a long tabular comparison of AppImage vs. Snap vs. Flatpak features. It is from the AppImage Wiki on GitHub.
  31. [31]
    Explore the Android File System Hierarchy In-Depth: | by Arunkl
    Nov 23, 2022 · Six primary partitions are found on every Android device. These include /boot, /system, /recovery, /data, /cache, and /misc.Android File System... · /sdcard · Get Arunkl's Stories In Your...Missing: FHS inspired<|separator|>
  32. [32]
    Help - Is there a Filesystem Hierarchy Standard for Android
    Apr 20, 2015 · Android has a linux-like directory structure, but it doesn't follow the FHS organisation. It has some elements, such as an /etc, /mnt, /proc and /sbin, but no ...Missing: inspired | Show results with:inspired
  33. [33]
    Related Projects | ostreedev/ostree
    OSTree uses the immutable bit on the root of the deployment, and mounts /usr as read-only. NixOS supports switching OS images on-the-fly, by maintaining both ...
  34. [34]
    Should the default nix store location be below /usr? - NixOS Discourse
    Aug 26, 2023 · a lot of cool immutability features will just work ™ when shipping everything that is immutable (as in not user state and configuration) in /usr.Introduction to immutable Linux systems - Links - NixOS DiscourseIs a Nix-based FHS-compliant distribution possible? - DevelopmentMore results from discourse.nixos.org
  35. [35]
    Background of the FHS | Filesystem Hierarchy Standard
    The process of developing a standard filesystem hierarchy began in August 1993 with an effort to restructure the file and directory structure of Linux.Missing: working group history
  36. [36]
    Linux Network Administrator's Guide, Second Edition - O'Reilly
    To improve this situation, in August 1993, several people formed the Linux File System Standard Group (FSSTND). After six months of discussion, the group ...
  37. [37]
    The Linux FSSTD
    Apr 1, 1994 · The first round of discussion on creating a filesystem standard started in August 1993 on the Linux Mail-Net (based at niksula.hut.fi), and from ...Missing: history | Show results with:history
  38. [38]
    Filesystem Hierarchy Standard - Pathname Solutions
    The 64-bit architecture IA64 must place 64-bit libraries in /lib. Tip, Rationale. This is a refinement of the general rules for /lib<qual> and / ...
  39. [39]
    FHS 2.3 Specifications - Linux Foundation
    The tables below present all available formats. FHS 2.3 was released January 29, 2004.
  40. [40]
    Filesystem Hierarchy Standard - Version 2.2 final
    This standard consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems.Missing: Free Standards
  41. [41]
    FHS 3.0 Specifications - Linux Foundation
    This is the final version of the FHS 3.0 specification. The tables below present all available formats. FHS 3.0 was released June 3, 2015.
  42. [42]
  43. [43]
    The Ever-Changing Linux Filesystems: Merging Directoris into /usr
    Jan 30, 2012 · Yes, but the reasons that /usr has been split off are rooted in the history of Unix and the limitations of the tiny (space-wise) hard drives ...
  44. [44]
    [PDF] Filesystem Hierarchy Standard - Pathname
    Jan 28, 2004 · Static and variable files should be segregated because static files, unlike variable files, can be stored on read-only media and do not need to ...