- Update to FHS 3.0 - Update spec file OBS-URL: https://build.opensuse.org/request/show/894916 OBS-URL: https://build.opensuse.org/package/show/Base:System/fhs?expand=0&rev=8
1446 lines
243 KiB
HTML
1446 lines
243 KiB
HTML
|
||
<!-- saved from url=(0057)https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html -->
|
||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Filesystem Hierarchy Standard</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><meta name="description" content="This standard consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems. The guidelines are intended to support interoperability of applications, system administration tools, development tools, and scripts as well as greater uniformity of documentation for these systems."><style type="text/css">.backpack.dropzone {
|
||
font-family: 'SF UI Display', 'Segoe UI';
|
||
font-size: 15px;
|
||
text-align: center;
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: center;
|
||
align-items: center;
|
||
width: 250px;
|
||
height: 150px;
|
||
font-weight: lighter;
|
||
color: white;
|
||
will-change: right;
|
||
z-index: 2147483647;
|
||
bottom: 20%;
|
||
background: #333;
|
||
position: fixed;
|
||
user-select: none;
|
||
transition: left .5s, right .5s;
|
||
right: 0px; }
|
||
|
||
|
||
@keyframes sxt-play-anim-saved {
|
||
100% {
|
||
background-position: -5000px; } }
|
||
</style><style type="text/css">@font-face{font-family:Gilroy;font-style:normal;font-weight:100 400;src:url(https://pouch-global-font-assets.s3.eu-central-1.amazonaws.com/Gilroy-Medium.otf)}@font-face{font-family:Gilroy;font-style:normal;font-weight:500 900;src:url(https://pouch-global-font-assets.s3.eu-central-1.amazonaws.com/Gilroy-Bold.otf)}
|
||
</style></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book"><div class="titlepage"><div><div><h1 class="title"><a name="idm236094246400"></a>Filesystem Hierarchy Standard</h1></div><div><h3 class="corpauthor">LSB Workgroup, The Linux Foundation</h3></div><div><p class="releaseinfo">Version 3.0</p></div><div><p class="copyright">Copyright © 2015 The Linux Foundation</p></div><div><p class="copyright">Copyright © 1994-2004 Daniel Quinlan</p></div><div><p class="copyright">Copyright © 2001-2004 Paul 'Rusty' Russell</p></div><div><p class="copyright">Copyright © 2003-2004 Christopher Yeoh</p></div><div><div class="legalnotice"><a name="idm236089089712"></a><p>All trademarks and copyrights are owned by their owners, unless
|
||
specifically noted otherwise. Use of a term in this document should not
|
||
be regarded as affecting the validity of any trademark or service
|
||
mark.</p><p>Permission is granted to make and distribute verbatim copies of
|
||
this standard provided the copyright and this permission notice are
|
||
preserved on all copies.</p><p>Permission is granted to copy and distribute modified versions of this
|
||
standard under the conditions for verbatim copying, provided also that
|
||
the title page is labeled as modified including a reference to the
|
||
original standard, provided that information on retrieving the original
|
||
standard is included, and provided that the entire resulting derived
|
||
work is distributed under the terms of a permission notice identical to
|
||
this one.</p><p>Permission is granted to copy and distribute translations of this
|
||
standard into another language, under the above conditions for modified
|
||
versions, except that this permission notice may be stated in a
|
||
translation approved by the copyright holder.</p></div></div><div><p class="pubdate">March 19, 2015</p></div><div><div class="abstract"><p class="title"><b>Abstract</b></p><p>This standard consists of a set of requirements and guidelines for file
|
||
and directory placement under UNIX-like operating systems. The
|
||
guidelines are intended to support interoperability of applications,
|
||
system administration tools, development tools, and scripts as well as
|
||
greater uniformity of documentation for these systems.</p></div></div></div><hr></div><div class="dedication"><div class="titlepage"><div><div><h1 class="title"><a name="idm236089710608"></a>Dedication</h1></div></div></div><p>This release is dedicated to the memory of Christopher Yeoh,
|
||
a long-time friend and colleague, and one of the original editors
|
||
of the FHS. Without his dedication this work would not have been possible.
|
||
</p></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#introduction">1. Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose">1.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#conventions">1.2. Conventions</a></span></dt></dl></dd><dt><span class="chapter"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#thefilesystem">2. The Filesystem</a></span></dt><dt><span class="chapter"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#theRootFilesystem">3. The Root Filesystem</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose2">3.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements">3.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions">3.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#binEssentialUserCommandBinaries">3.4. /bin : Essential user command binaries (for use by all users)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose3">3.4.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements2">3.4.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions2">3.4.3. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#bootStaticFilesOfTheBootLoader">3.5. /boot : Static files of the boot loader</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose4">3.5.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions3">3.5.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#devDeviceFiles">3.6. /dev : Device files</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose5">3.6.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions4">3.6.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#etcHostspecificSystemConfiguration">3.7. /etc : Host-specific system configuration</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose6">3.7.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements3">3.7.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions5">3.7.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#etcoptConfigurationFilesForOpt">3.7.4. /etc/opt : Configuration files for /opt</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#etcx11ConfigurationForTheXWindowS">3.7.5. /etc/X11 : Configuration for the X Window System (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#etcsgmlConfigurationFilesForSgmlAn">3.7.6. /etc/sgml : Configuration files for SGML (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088418512">3.7.7. /etc/xml : Configuration files for XML (optional)</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#homeUserHomeDirectories">3.8. /home : User home directories (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose10">3.8.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements4a">3.8.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#homeReferences">3.8.3. Home Directory Specifications and Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#libEssentialSharedLibrariesAndKern">3.9. /lib : Essential shared libraries and kernel modules</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose11">3.9.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements5">3.9.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions7">3.9.3. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#libltqualgtAlternateFormatEssential">3.10. /lib<em class="replaceable"><code><qual></code></em> : Alternate format essential shared libraries (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose12">3.10.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements6">3.10.2. Requirements</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#mediaMountPoint">3.11. /media : Mount point for removable media</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purposeMediaMountPoint">3.11.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptionsMediaMount">3.11.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#mntMountPointForATemporarilyMount">3.12. /mnt : Mount point for a temporarily mounted filesystem</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose13">3.12.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#optAddonApplicationSoftwarePackages">3.13. /opt : Add-on application software packages</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose14">3.13.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements7">3.13.2. Requirements</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#rootHomeDirectoryForTheRootUser">3.14. /root : Home directory for the root user (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose15">3.14.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#runRuntimeVariableData">3.15. /run : Run-time variable data</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#runPurpose">3.15.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#runRequirements">3.15.2. Requirements</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#sbinSystemBinaries">3.16. /sbin : System binaries</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose16">3.16.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements8">3.16.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions8">3.16.3. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#srvDataForServicesProvidedBySystem">3.17. /srv : Data for services provided by this system</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose16a">3.17.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#tmpTemporaryFiles">3.18. /tmp : Temporary files</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose17">3.18.1. Purpose</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#theUsrHierarchy">4. The /usr Hierarchy</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose18">4.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements9">4.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions9">4.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrbinMostUserCommands">4.4. /usr/bin : Most user commands</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose20">4.4.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements9a">4.4.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions11">4.4.3. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrincludeDirectoryForStandardInclu">4.5. /usr/include : Directory for standard include files.</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose21">4.5.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions12">4.5.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlibLibrariesForProgrammingAndPa">4.6. /usr/lib : Libraries for programming and packages</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose22">4.6.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions13">4.6.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlibexec">4.7. /usr/libexec : Binaries run by other programs (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlibexecPurpose">4.7.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlibltqualgtAlternateFormatLibrari">4.8. /usr/lib<em class="replaceable"><code><qual></code></em> : Alternate format libraries (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose23">4.8.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlocalLocalHierarchy">4.9. /usr/local : Local hierarchy</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose24">4.9.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements10">4.9.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions14">4.9.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlocalshare1">4.9.4. /usr/local/share : Local architecture-independent hierarchy</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsbinNonessentialStandardSystemBi">4.10. /usr/sbin : Non-essential standard system binaries</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose25">4.10.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements10a">4.10.2. Requirements</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrshareArchitectureindependentData">4.11. /usr/share : Architecture-independent data</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose26">4.11.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements11">4.11.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions15">4.11.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsharecolorColorManagement">4.11.4. /usr/share/color : Color management information (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsharedictWordLists">4.11.5. /usr/share/dict : Word lists (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsharemanManualPages">4.11.6. /usr/share/man : Manual pages</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsharemiscMiscellaneousArchitecture">4.11.7. /usr/share/misc : Miscellaneous architecture-independent data</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrshareppd">4.11.8. /usr/share/ppd : Printer definitions (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsharesgmlSgmlAndXmlData">4.11.9. /usr/share/sgml : SGML data (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087237360">4.11.10. /usr/share/xml : XML data (optional)</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsrcSourceCode">4.12. /usr/src : Source code (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose30">4.12.1. Purpose</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#theVarHierarchy">5. The /var Hierarchy</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose31">5.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements12">5.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions20">5.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varaccountProcessAccountingLogs">5.4. /var/account : Process accounting logs (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose32">5.4.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varcacheApplicationCacheData">5.5. /var/cache : Application cache data</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose33">5.5.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions21">5.5.2. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varcachefontsLocallygeneratedFonts">5.5.3. /var/cache/fonts : Locally-generated fonts (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varcachemanLocallyformattedManualPag">5.5.4. /var/cache/man : Locally-formatted manual pages (optional)</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varcrashSystemCrashDumps">5.6. /var/crash : System crash dumps (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose36">5.6.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#vargamesVariableGameData">5.7. /var/games : Variable game data (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose37">5.7.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlibVariableStateInformation">5.8. /var/lib : Variable state information</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose38">5.8.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements13">5.8.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions23">5.8.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varliblteditorgtEditorBackupFilesAn">5.8.4. /var/lib/<editor> : Editor backup files and state (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlibcolor">5.8.5. /var/lib/color : Color management information (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlibhwclockStateDirectoryForHwclo">5.8.6. /var/lib/hwclock : State directory for hwclock (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlibmiscMiscellaneousVariableData">5.8.7. /var/lib/misc : Miscellaneous variable data</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlockLockFiles">5.9. /var/lock : Lock files</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose42">5.9.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlogLogFilesAndDirectories">5.10. /var/log : Log files and directories</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose43">5.10.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions24">5.10.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varmailUserMailboxFiles">5.11. /var/mail : User mailbox files (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose44">5.11.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varoptVariableDataForOpt">5.12. /var/opt : Variable data for /opt</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose45">5.12.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varrunRuntimeVariableData">5.13. /var/run : Run-time variable data</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose46">5.13.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements14">5.13.2. Requirements</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varspoolApplicationSpoolData">5.14. /var/spool : Application spool data</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose47">5.14.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions25">5.14.2. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varspoollpdLineprinterDaemonPrintQu">5.14.3. /var/spool/lpd : Line-printer daemon print queues (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varspoolrwhoRwhodFiles">5.14.4. /var/spool/rwho : Rwhod files (optional)</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#vartmpTemporaryFilesPreservedBetwee">5.15. /var/tmp : Temporary files preserved between system reboots</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose50">5.15.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varypNetworkInformationService">5.16. /var/yp : Network Information Service (NIS) database files (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose51">5.16.1. Purpose</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#operatingSystemSpecificAnnex">6. Operating System Specific Annex</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#linux">6.1. Linux</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#rootDirectory">6.1.1. / : Root directory</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#binEssentialUserCommandBinaries2">6.1.2. /bin : Essential user command binaries (for use by all users)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#devDevicesAndSpecialFiles">6.1.3. /dev : Devices and special files</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#etcHostspecificSystemConfiguration2">6.1.4. /etc : Host-specific system configuration</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#procKernelAndProcessInformationVir">6.1.5. /proc : Kernel and process information virtual filesystem</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#sbinEssentialSystemBinaries">6.1.6. /sbin : Essential system binaries</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#sysKernelAndSystemInformation">6.1.7. /sys : Kernel and system information virtual filesystem</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrincludeHeaderFilesIncludedByCP">6.1.8. /usr/include : Header files included by C programs</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsrcSourceCode2">6.1.9. /usr/src : Source code</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varspoolcronCronAndAtJobs">6.1.10. /var/spool/cron : cron and at jobs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#appendix">7. Appendix</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#theFhsMailingList">7.1. The FHS mailing list</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#backgroundOfTheFhs">7.2. Background of the FHS</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#generalGuidelines">7.3. General Guidelines</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#scope">7.4. Scope</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#acknowledgments">7.5. Acknowledgments</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#contributors">7.6. Contributors</a></span></dt></dl></dd></dl></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="introduction"></a>Chapter 1. Introduction</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose">1.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#conventions">1.2. Conventions</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="purpose"></a>1.1. Purpose</h2></div></div></div><p>This standard enables:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Software to predict the location of installed files and
|
||
directories, and</p></li><li class="listitem"><p>Users to predict the location of installed files and
|
||
directories.</p></li></ul></div><p>We do this by:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Specifying guiding principles for each area of the filesystem,</p></li><li class="listitem"><p>Specifying the minimum files and directories required,</p></li><li class="listitem"><p>Enumerating exceptions to the principles, and</p></li><li class="listitem"><p>Enumerating specific cases where there has been historical conflict.</p></li></ul></div><p>The FHS document is used by:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Independent software suppliers to create applications which are FHS
|
||
compliant, and work with distributions which are FHS compliant,</p></li><li class="listitem"><p>OS creators to provide systems which are FHS compliant, and</p></li><li class="listitem"><p>Users to understand and maintain the FHS compliance of a system.</p></li></ul></div><p>The FHS document has a limited scope:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Local placement of local files is a local issue, so FHS does not
|
||
attempt to usurp system administrators.</p></li><li class="listitem"><p>FHS addresses issues where file placements need to be coordinated
|
||
between multiple parties such as local sites, distributions,
|
||
applications, documentation, etc.</p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="conventions"></a>1.2. Conventions</h2></div></div></div><p>We recommend that you read a typeset version of this document rather
|
||
than the plain text version. In the typeset version, the names of files
|
||
and directories are displayed in a constant-width font.</p><p>Components of filenames that vary are represented by a description
|
||
of the contents enclosed in "<em class="replaceable"><code><</code></em>" and
|
||
"<em class="replaceable"><code>></code></em>" characters,
|
||
<em class="replaceable"><code><thus></code></em>. Electronic mail addresses are also
|
||
enclosed in "<" and ">" but are shown in the usual
|
||
typeface.</p><p>Optional components of filenames are enclosed in
|
||
"<em class="replaceable"><code>[</code></em>" and "<em class="replaceable"><code>]</code></em>" characters and may
|
||
be combined with the "<em class="replaceable"><code><</code></em>" and
|
||
"<em class="replaceable"><code>></code></em>" convention. For example, if a filename is
|
||
allowed to occur either with or without an extension, it might be
|
||
represented by
|
||
<em class="replaceable"><code><filename>[.<extension>]</code></em>.</p><p>Variable substrings of directory names and filenames are indicated
|
||
by "<em class="replaceable"><code>*</code></em>".</p><p>The sections of the text marked as
|
||
<span class="emphasis"><em>Rationale</em></span> are explanatory and are
|
||
non-normative.</p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="thefilesystem"></a>Chapter 2. The Filesystem</h1></div></div></div><p>This standard assumes that the operating system underlying an
|
||
FHS-compliant file system supports the same basic security features
|
||
found in most UNIX filesystems.</p><p>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 filesystems.</p><p>"Shareable" files are those that 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.</p><p>"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.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>Shareable files can be stored on one host and used on several
|
||
others. Typically, however, not all files in the filesystem
|
||
hierarchy are shareable and so each system has local storage
|
||
containing at least its unshareable files. It is convenient if all
|
||
the files a system requires that are stored on a foreign host can be
|
||
made available by mounting one or a few directories from the foreign
|
||
host.</p><p>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 be backed up on the same schedule as variable
|
||
files.</p><p>Historical UNIX-like filesystem hierarchies contained both
|
||
static and variable files under both <code class="filename">/usr</code> and
|
||
<code class="filename">/etc</code>. In order to realize the advantages
|
||
mentioned above, the <code class="filename">/var</code> hierarchy was
|
||
created and all variable files were transferred from
|
||
<code class="filename">/usr</code> to <code class="filename">/var</code>.
|
||
Consequently <code class="filename">/usr</code> can now be mounted read-only
|
||
(if it is a separate filesystem). Variable files have been
|
||
transferred from <code class="filename">/etc</code> to
|
||
<code class="filename">/var</code> over a longer period as technology has
|
||
permitted.</p><p>Here is an example of a FHS-compliant system.
|
||
(Other FHS-compliant layouts are possible.)</p><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left"><span class="emphasis"><em></em></span></th><th align="left">shareable</th><th align="left">unshareable</th></tr></thead><tbody><tr><td align="left">static</td><td align="left"><code class="filename">/usr</code></td><td align="left"><code class="filename">/etc</code></td></tr><tr><td align="left"> </td><td align="left"><code class="filename">/opt</code></td><td align="left"><code class="filename">/boot</code></td></tr><tr><td align="left">variable</td><td align="left"><code class="filename">/var/mail</code></td><td align="left"><code class="filename">/var/run</code></td></tr><tr><td align="left"> </td><td align="left"><code class="filename">/var/spool/news</code></td><td align="left"><code class="filename">/var/lock</code></td></tr></tbody></table></div></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="theRootFilesystem"></a>Chapter 3. The Root Filesystem</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose2">3.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements">3.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions">3.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#binEssentialUserCommandBinaries">3.4. /bin : Essential user command binaries (for use by all users)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose3">3.4.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements2">3.4.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions2">3.4.3. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#bootStaticFilesOfTheBootLoader">3.5. /boot : Static files of the boot loader</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose4">3.5.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions3">3.5.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#devDeviceFiles">3.6. /dev : Device files</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose5">3.6.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions4">3.6.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#etcHostspecificSystemConfiguration">3.7. /etc : Host-specific system configuration</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose6">3.7.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements3">3.7.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions5">3.7.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#etcoptConfigurationFilesForOpt">3.7.4. /etc/opt : Configuration files for /opt</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#etcx11ConfigurationForTheXWindowS">3.7.5. /etc/X11 : Configuration for the X Window System (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#etcsgmlConfigurationFilesForSgmlAn">3.7.6. /etc/sgml : Configuration files for SGML (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088418512">3.7.7. /etc/xml : Configuration files for XML (optional)</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#homeUserHomeDirectories">3.8. /home : User home directories (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose10">3.8.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements4a">3.8.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#homeReferences">3.8.3. Home Directory Specifications and Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#libEssentialSharedLibrariesAndKern">3.9. /lib : Essential shared libraries and kernel modules</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose11">3.9.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements5">3.9.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions7">3.9.3. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#libltqualgtAlternateFormatEssential">3.10. /lib<em class="replaceable"><code><qual></code></em> : Alternate format essential shared libraries (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose12">3.10.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements6">3.10.2. Requirements</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#mediaMountPoint">3.11. /media : Mount point for removable media</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purposeMediaMountPoint">3.11.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptionsMediaMount">3.11.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#mntMountPointForATemporarilyMount">3.12. /mnt : Mount point for a temporarily mounted filesystem</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose13">3.12.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#optAddonApplicationSoftwarePackages">3.13. /opt : Add-on application software packages</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose14">3.13.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements7">3.13.2. Requirements</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#rootHomeDirectoryForTheRootUser">3.14. /root : Home directory for the root user (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose15">3.14.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#runRuntimeVariableData">3.15. /run : Run-time variable data</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#runPurpose">3.15.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#runRequirements">3.15.2. Requirements</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#sbinSystemBinaries">3.16. /sbin : System binaries</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose16">3.16.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements8">3.16.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions8">3.16.3. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#srvDataForServicesProvidedBySystem">3.17. /srv : Data for services provided by this system</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose16a">3.17.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#tmpTemporaryFiles">3.18. /tmp : Temporary files</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose17">3.18.1. Purpose</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="purpose2"></a>3.1. Purpose</h2></div></div></div><p>The contents of the root filesystem must be adequate to boot,
|
||
restore, recover, and/or repair the system.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: bullet; "><li class="listitem" style="list-style-type: disc"><p>To boot a system, enough software and data must be present on the root partition
|
||
to mount other filesystems. This includes utilities, configuration,
|
||
boot loader information, and other essential start-up data.
|
||
<code class="filename">/usr</code>, <code class="filename">/opt</code>, and
|
||
<code class="filename">/var</code> are designed such that they may be located
|
||
on other partitions or filesystems.</p></li><li class="listitem" style="list-style-type: disc"><p>To enable recovery and/or repair of a system, those utilities
|
||
needed by an experienced maintainer to diagnose and reconstruct a
|
||
damaged system must be present on the root filesystem.</p></li><li class="listitem" style="list-style-type: disc"><p>To restore a system, those utilities needed to restore from
|
||
system backups (on floppy, tape, etc.) must be present on the root
|
||
filesystem.</p></li></ul></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>The minimum requirements for the root filesystem should be as
|
||
small as reasonably possible, but no smaller. While many users may
|
||
not want the extra complexity of a partitioned system, the option to
|
||
keep the root small should be preserved for several reasons:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>It is occasionally mounted from very small media.</p></li><li class="listitem"><p>The root filesystem contains many system-specific configuration
|
||
files. Possible examples include a kernel that is specific to the
|
||
system, a specific hostname, etc. This means that the root filesystem
|
||
isn't always shareable between networked systems. Keeping it small on
|
||
servers in networked systems minimizes the amount of lost space for
|
||
areas of unshareable files. It also allows workstations with smaller
|
||
local hard drives.</p></li><li class="listitem"><p>While you may have the root filesystem on a large partition, and
|
||
may be able to fill it to your heart's content, there will be people
|
||
with smaller partitions. If you have more files installed, you may
|
||
find incompatibilities with other systems using root filesystems on
|
||
smaller partitions. If you are a developer then you may be turning
|
||
your assumption into a problem for a large number of users.</p></li><li class="listitem"><p>Disk errors that corrupt data on the root filesystem are a
|
||
greater problem than errors on any other partition. A small root
|
||
filesystem is less prone to corruption as the result of a system
|
||
crash.</p></li></ul></div><p>These considerations must be balanced against the need for a
|
||
minimally useful operating environment, for the sake of the boot
|
||
process as well as in failure recovery situations.</p></div><p>Applications must never create or require special files or
|
||
subdirectories in the root directory. Other locations in the FHS
|
||
hierarchy provide more than enough flexibility for any package.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>There are several reasons why creating a new subdirectory of
|
||
the root filesystem is prohibited:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: bullet; "><li class="listitem" style="list-style-type: disc"><p>It demands space on a root partition which the system
|
||
administrator may want kept small and simple for either performance or
|
||
security reasons.</p></li><li class="listitem" style="list-style-type: disc"><p>It evades whatever discipline the system administrator may have
|
||
set up for distributing standard file hierarchies across mountable
|
||
volumes.</p></li></ul></div><p>Distributions should not create new directories in the root
|
||
hierarchy without extremely careful consideration of the consequences
|
||
including for application portability.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="requirements"></a>3.2. Requirements</h2></div></div></div><p>The following directories, or symbolic links to directories, are
|
||
required in <code class="filename">/</code>.</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">bin</code></td><td align="left">Essential command binaries</td></tr><tr><td align="left"><code class="filename">boot</code></td><td align="left">Static files of the boot loader</td></tr><tr><td align="left"><code class="filename">dev</code></td><td align="left">Device files</td></tr><tr><td align="left"><code class="filename">etc</code></td><td align="left">Host-specific system configuration</td></tr><tr><td align="left"><code class="filename">lib</code></td><td align="left">Essential shared libraries and kernel modules</td></tr><tr><td align="left"><code class="filename">media</code></td><td align="left">Mount point for removable media</td></tr><tr><td align="left"><code class="filename">mnt</code></td><td align="left">Mount point for mounting a filesystem temporarily</td></tr><tr><td align="left"><code class="filename">opt</code></td><td align="left">Add-on application software packages</td></tr><tr><td align="left"><code class="filename">run</code></td><td align="left">Data relevant to running processes</td></tr><tr><td align="left"><code class="filename">sbin</code></td><td align="left">Essential system binaries</td></tr><tr><td align="left"><code class="filename">srv</code></td><td align="left">Data for services provided by this system</td></tr><tr><td align="left"><code class="filename">tmp</code></td><td align="left">Temporary files</td></tr><tr><td align="left"><code class="filename">usr</code></td><td align="left">Secondary hierarchy</td></tr><tr><td align="left"><code class="filename">var</code></td><td align="left">Variable data</td></tr></tbody></table></div><p>Each directory listed above is specified in detail in separate
|
||
subsections below. <code class="filename">/usr</code> and
|
||
<code class="filename">/var</code> each has a complete section in this
|
||
document due to the complexity of those directories.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="specificOptions"></a>3.3. Specific Options</h2></div></div></div><p>The following directories, or symbolic links to directories,
|
||
must be in <code class="filename">/</code>, if the corresponding subsystem is
|
||
installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">home</code></td><td align="left">User home directories (optional)</td></tr><tr><td align="left"><code class="filename">lib<em class="replaceable"><code><qual></code></em></code></td><td align="left">Alternate format essential shared libraries (optional)</td></tr><tr><td align="left"><code class="filename">root</code></td><td align="left">Home directory for the root user (optional)</td></tr></tbody></table></div><p>Each directory listed above is specified in detail in separate
|
||
subsections below.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="binEssentialUserCommandBinaries"></a>3.4. /bin : Essential user command binaries (for use by all users)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose3"></a>3.4.1. Purpose</h3></div></div></div><p><code class="filename">/bin</code> contains commands that may be used by
|
||
both the system administrator and by users, but which are required
|
||
when no other filesystems are mounted (e.g. in single user mode). It
|
||
may also contain commands which are used indirectly by scripts.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088643344" class="footnote" name="idm236088643344"><sup class="footnote">[1]</sup></a>
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements2"></a>3.4.2. Requirements</h3></div></div></div><p>There must be no subdirectories in <code class="filename">/bin</code>.</p><p>The following commands, or symbolic links to commands, are
|
||
required in <code class="filename">/bin</code>:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Command</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><span class="command"><strong>cat</strong></span></td><td align="left">Utility to concatenate files to standard output</td></tr><tr><td align="left"><span class="command"><strong>chgrp</strong></span></td><td align="left">Utility to change file group ownership</td></tr><tr><td align="left"><span class="command"><strong>chmod</strong></span></td><td align="left">Utility to change file access permissions</td></tr><tr><td align="left"><span class="command"><strong>chown</strong></span></td><td align="left">Utility to change file owner and group</td></tr><tr><td align="left"><span class="command"><strong>cp</strong></span></td><td align="left">Utility to copy files and directories</td></tr><tr><td align="left"><span class="command"><strong>date</strong></span></td><td align="left">Utility to print or set the system data and time</td></tr><tr><td align="left"><span class="command"><strong>dd</strong></span></td><td align="left">Utility to convert and copy a file</td></tr><tr><td align="left"><span class="command"><strong>df</strong></span></td><td align="left">Utility to report filesystem disk space usage</td></tr><tr><td align="left"><span class="command"><strong>dmesg</strong></span></td><td align="left">Utility to print or control the kernel message buffer</td></tr><tr><td align="left"><span class="command"><strong>echo</strong></span></td><td align="left">Utility to display a line of text</td></tr><tr><td align="left"><span class="command"><strong>false</strong></span></td><td align="left">Utility to do nothing, unsuccessfully</td></tr><tr><td align="left"><span class="command"><strong>hostname</strong></span></td><td align="left">Utility to show or set the system's host name</td></tr><tr><td align="left"><span class="command"><strong>kill</strong></span></td><td align="left">Utility to send signals to processes</td></tr><tr><td align="left"><span class="command"><strong>ln</strong></span></td><td align="left">Utility to make links between files</td></tr><tr><td align="left"><span class="command"><strong>login</strong></span></td><td align="left">Utility to begin a session on the system</td></tr><tr><td align="left"><span class="command"><strong>ls</strong></span></td><td align="left">Utility to list directory contents</td></tr><tr><td align="left"><span class="command"><strong>mkdir</strong></span></td><td align="left">Utility to make directories</td></tr><tr><td align="left"><span class="command"><strong>mknod</strong></span></td><td align="left">Utility to make block or character special files</td></tr><tr><td align="left"><span class="command"><strong>more</strong></span></td><td align="left">Utility to page through text</td></tr><tr><td align="left"><span class="command"><strong>mount</strong></span></td><td align="left">Utility to mount a filesystem</td></tr><tr><td align="left"><span class="command"><strong>mv</strong></span></td><td align="left">Utility to move/rename files</td></tr><tr><td align="left"><span class="command"><strong>ps</strong></span></td><td align="left">Utility to report process status</td></tr><tr><td align="left"><span class="command"><strong>pwd</strong></span></td><td align="left">Utility to print name of current working directory</td></tr><tr><td align="left"><span class="command"><strong>rm</strong></span></td><td align="left">Utility to remove files or directories</td></tr><tr><td align="left"><span class="command"><strong>rmdir</strong></span></td><td align="left">Utility to remove empty directories</td></tr><tr><td align="left"><span class="command"><strong>sed</strong></span></td><td align="left">The `sed' stream editor</td></tr><tr><td align="left"><span class="command"><strong>sh</strong></span></td><td align="left">POSIX compatible command shell</td></tr><tr><td align="left"><span class="command"><strong>stty</strong></span></td><td align="left">Utility to change and print terminal line settings</td></tr><tr><td align="left"><span class="command"><strong>su</strong></span></td><td align="left">Utility to change user ID</td></tr><tr><td align="left"><span class="command"><strong>sync</strong></span></td><td align="left">Utility to flush filesystem buffers</td></tr><tr><td align="left"><span class="command"><strong>true</strong></span></td><td align="left">Utility to do nothing, successfully</td></tr><tr><td align="left"><span class="command"><strong>umount</strong></span></td><td align="left">Utility to unmount file systems</td></tr><tr><td align="left"><span class="command"><strong>uname</strong></span></td><td align="left">Utility to print system information</td></tr></tbody></table></div><p>If <span class="command"><strong>/bin/sh</strong></span> is not the POSIX compatible shell
|
||
command itself, it must be a hard or symbolic link to the real shell
|
||
command.</p><p>The <span class="command"><strong>[</strong></span> and <span class="command"><strong>test</strong></span>
|
||
commands must be placed together in either <code class="filename">/bin</code>
|
||
or <code class="filename">/usr/bin</code>.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>Various shells behave differently when called as
|
||
<span class="command"><strong>sh</strong></span>, so as to preserve POSIX compatibility while
|
||
allowing changes or extensions to POSIX when desired.</p><p>The requirement for the <span class="command"><strong>[</strong></span> and
|
||
<span class="command"><strong>test</strong></span> commands to be included as binaries (even if
|
||
implemented internally by the shell) is shared with the POSIX.1-2008
|
||
standard.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions2"></a>3.4.3. Specific Options</h3></div></div></div><p>The following programs, or symbolic links to programs, must be
|
||
in <code class="filename">/bin</code> if the corresponding subsystem is
|
||
installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Command</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><span class="command"><strong>csh</strong></span></td><td align="left">The C shell (optional)</td></tr><tr><td align="left"><span class="command"><strong>ed</strong></span></td><td align="left">The `ed' editor (optional)</td></tr><tr><td align="left"><span class="command"><strong>tar</strong></span></td><td align="left">The tar archiving utility (optional)</td></tr><tr><td align="left"><span class="command"><strong>cpio</strong></span></td><td align="left">The cpio archiving utility (optional)</td></tr><tr><td align="left"><span class="command"><strong>gzip</strong></span></td><td align="left">The GNU compression utility (optional)</td></tr><tr><td align="left"><span class="command"><strong>gunzip</strong></span></td><td align="left">The GNU uncompression utility (optional)</td></tr><tr><td align="left"><span class="command"><strong>zcat</strong></span></td><td align="left">The GNU uncompression utility (optional)</td></tr><tr><td align="left"><span class="command"><strong>netstat</strong></span></td><td align="left">The network statistics utility (optional)</td></tr><tr><td align="left"><span class="command"><strong>ping</strong></span></td><td align="left">The ICMP network test utility (optional)</td></tr></tbody></table></div><p><span class="command"><strong>/bin/csh</strong></span> may be a symbolic link to
|
||
<span class="command"><strong>/bin/tcsh</strong></span> or
|
||
<span class="command"><strong>/usr/bin/tcsh</strong></span>.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>The <span class="command"><strong>tar</strong></span>, <span class="command"><strong>gzip </strong></span>
|
||
and <span class="command"><strong>cpio</strong></span>
|
||
commands have been added to make restoration of a
|
||
system possible (provided that <code class="filename">/</code> is intact).</p><p>Conversely, if no restoration from the root partition is ever
|
||
expected, then these binaries might be omitted (e.g., a ROM chip root,
|
||
mounting <code class="filename">/usr</code> through NFS). If restoration of a
|
||
system is planned through the network, then <span class="command"><strong>ftp</strong></span>
|
||
or <span class="command"><strong>tftp</strong></span> (along with everything necessary to get
|
||
an ftp connection) must be available on the root partition.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="bootStaticFilesOfTheBootLoader"></a>3.5. /boot : Static files of the boot loader</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose4"></a>3.5.1. Purpose</h3></div></div></div><p>This directory contains everything required for the boot process
|
||
except configuration files not needed at boot time and the map
|
||
installer. Thus <code class="filename">/boot</code> stores data that is used
|
||
before the kernel begins executing user-mode programs. This may
|
||
include saved master boot sectors and sector map files.</p><p> Programs necessary to arrange for the boot loader to be able to
|
||
boot a file must be placed in <code class="filename">/sbin</code>.
|
||
Configuration files for boot loaders that are not required at boot
|
||
time must be placed in <code class="filename">/etc</code>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions3"></a>3.5.2. Specific Options</h3></div></div></div><p>The operating system kernel must be located in either
|
||
<code class="filename">/</code> or <code class="filename">/boot</code>.</p><p>Certain architectures may have other requirements for
|
||
<code class="filename">/boot</code> related to limitations or expectations
|
||
specific to that architecture. These requirements are not enumerated
|
||
here; distributions are allowed to add requirements as needed to
|
||
enable system startup on these architectures.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devDeviceFiles"></a>3.6. /dev : Device files</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose5"></a>3.6.1. Purpose</h3></div></div></div><p>The <code class="filename">/dev</code> directory is the location of
|
||
special or device files.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions4"></a>3.6.2. Specific Options</h3></div></div></div><p>If it is possible that devices in <code class="filename">/dev</code> will
|
||
need to be manually created, <code class="filename">/dev</code> must contain a
|
||
command named <code class="filename">MAKEDEV</code>, which can create devices
|
||
as needed. It may also contain a <code class="filename">MAKEDEV.local</code>
|
||
for any local devices.</p><p>If required, <code class="filename">MAKEDEV</code> must have provisions
|
||
for creating any device that may be found on the system, not just
|
||
those that a particular distribution installs.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="etcHostspecificSystemConfiguration"></a>3.7. /etc : Host-specific system configuration</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose6"></a>3.7.1. Purpose</h3></div></div></div><p>The <code class="filename">/etc</code> hierarchy contains configuration
|
||
files. A "configuration file" is a local file used to control the
|
||
operation of a program; it must be static and cannot be an executable
|
||
binary.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088529392" class="footnote" name="idm236088529392"><sup class="footnote">[2]</sup></a>
|
||
</p><p>
|
||
It is recommended that files be stored in subdirectories of
|
||
<code class="filename">/etc</code> rather than directly in
|
||
<code class="filename">/etc</code>.
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements3"></a>3.7.2. Requirements</h3></div></div></div><p>No binaries may be located under
|
||
<code class="filename">/etc</code>.</p><p>The following directories, or symbolic links to directories are
|
||
required in <code class="filename">/etc</code>:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left">opt</td><td align="left">Configuration for /opt</td></tr></tbody></table></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions5"></a>3.7.3. Specific Options</h3></div></div></div><p>The following directories, or symbolic links to directories must
|
||
be in <code class="filename">/etc</code>, if the corresponding subsystem is
|
||
installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left">X11</td><td align="left">Configuration for the X Window system (optional)</td></tr><tr><td align="left">sgml</td><td align="left">Configuration for SGML (optional)</td></tr><tr><td align="left">xml</td><td align="left">Configuration for XML (optional)</td></tr></tbody></table></div><p>The following files, or symbolic links to files, must be in
|
||
<code class="filename">/etc</code> if the corresponding subsystem is
|
||
installed:
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088507872" class="footnote" name="idm236088507872"><sup class="footnote">[3]</sup></a>
|
||
</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">File</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">csh.login</code></td><td align="left">Systemwide initialization file for C shell logins (optional)</td></tr><tr><td align="left"><code class="filename">exports</code></td><td align="left">NFS filesystem access control list (optional)</td></tr><tr><td align="left"><code class="filename">fstab</code></td><td align="left">Static information about filesystems (optional)</td></tr><tr><td align="left"><code class="filename">ftpusers</code></td><td align="left">FTP daemon user access control list (optional)</td></tr><tr><td align="left"><code class="filename">gateways</code></td><td align="left">File which lists gateways for routed (optional)</td></tr><tr><td align="left"><code class="filename">gettydefs</code></td><td align="left">Speed and terminal settings used by getty (optional)</td></tr><tr><td align="left"><code class="filename">group</code></td><td align="left">User group file (optional)</td></tr><tr><td align="left"><code class="filename">host.conf</code></td><td align="left">Resolver configuration file (optional)</td></tr><tr><td align="left"><code class="filename">hosts</code></td><td align="left">Static information about host names (optional)</td></tr><tr><td align="left"><code class="filename">hosts.allow</code></td><td align="left">Host access file for TCP wrappers (optional)</td></tr><tr><td align="left"><code class="filename">hosts.deny</code></td><td align="left">Host access file for TCP wrappers (optional)</td></tr><tr><td align="left"><code class="filename">hosts.equiv</code></td><td align="left">List of trusted hosts for rlogin, rsh, rcp (optional)</td></tr><tr><td align="left"><code class="filename">hosts.lpd</code></td><td align="left">List of trusted hosts for lpd (optional)</td></tr><tr><td align="left"><code class="filename">inetd.conf</code></td><td align="left">Configuration file for inetd (optional)</td></tr><tr><td align="left"><code class="filename">inittab</code></td><td align="left">Configuration file for init (optional)</td></tr><tr><td align="left"><code class="filename">issue</code></td><td align="left">Pre-login message and identification file (optional)</td></tr><tr><td align="left"><code class="filename">ld.so.conf</code></td><td align="left">List of extra directories to search for shared libraries (optional)</td></tr><tr><td align="left"><code class="filename">motd</code></td><td align="left">Post-login message of the day file (optional)</td></tr><tr><td align="left"><code class="filename">mtab</code></td><td align="left">Dynamic information about filesystems (optional)</td></tr><tr><td align="left"><code class="filename">mtools.conf</code></td><td align="left">Configuration file for mtools (optional)</td></tr><tr><td align="left"><code class="filename">networks</code></td><td align="left">Static information about network names (optional)</td></tr><tr><td align="left"><code class="filename">passwd</code></td><td align="left">The password file (optional)</td></tr><tr><td align="left"><code class="filename">printcap</code></td><td align="left">The lpd printer capability database (optional)</td></tr><tr><td align="left"><code class="filename">profile</code></td><td align="left">Systemwide initialization file for sh shell logins (optional)</td></tr><tr><td align="left"><code class="filename">protocols</code></td><td align="left">IP protocol listing (optional)</td></tr><tr><td align="left"><code class="filename">resolv.conf</code></td><td align="left">Resolver configuration file (optional)</td></tr><tr><td align="left"><code class="filename">rpc</code></td><td align="left">RPC protocol listing (optional)</td></tr><tr><td align="left"><code class="filename">securetty</code></td><td align="left">TTY access control for root login (optional)</td></tr><tr><td align="left"><code class="filename">services</code></td><td align="left">Port names for network services (optional)</td></tr><tr><td align="left"><code class="filename">shells</code></td><td align="left">Pathnames of valid login shells (optional)</td></tr><tr><td align="left"><code class="filename">syslog.conf</code></td><td align="left">Configuration file for syslogd (optional)</td></tr></tbody></table></div><p><code class="filename">mtab</code> does not fit the static nature of
|
||
<code class="filename">/etc</code>: it is excepted for historical reasons.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088451984" class="footnote" name="idm236088451984"><sup class="footnote">[4]</sup></a>
|
||
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="etcoptConfigurationFilesForOpt"></a>3.7.4. /etc/opt : Configuration files for /opt</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose7"></a>3.7.4.1. Purpose</h4></div></div></div><p>Host-specific configuration files for add-on application
|
||
software packages must be installed within the directory
|
||
<code class="filename">/etc/opt/<subdir></code>, where
|
||
<code class="filename"><subdir></code> is the name of the subtree in
|
||
<code class="filename">/opt</code> where the static data from that package is
|
||
stored.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="requirements4"></a>3.7.4.2. Requirements</h4></div></div></div><p>No structure is imposed on the internal arrangement of
|
||
<code class="filename">/etc/opt/<subdir></code>.</p><p>If a configuration file must reside in a different location in
|
||
order for the package or system to function properly, it may be placed
|
||
in a location other than
|
||
<code class="filename">/etc/opt/<subdir></code>.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>Refer to the rationale for <code class="filename">/opt</code>.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="etcx11ConfigurationForTheXWindowS"></a>3.7.5. /etc/X11 : Configuration for the X Window System (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose8"></a>3.7.5.1. Purpose</h4></div></div></div><p><span class="emphasis"><em>/etc/X11</em></span> is the location for all X11
|
||
host-specific configuration. This directory is necessary to allow
|
||
local control if <span class="emphasis"><em>/usr</em></span> is mounted read
|
||
only.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="specificOptions6"></a>3.7.5.2. Specific Options</h4></div></div></div><p>The following files, or symbolic links to files, must be in
|
||
<code class="filename">/etc/X11</code> if the corresponding subsystem is
|
||
installed:</p><div class="informaltable"><table border="0"><colgroup><col align="left" class="c1"><col align="left" class="c2"></colgroup><thead><tr><th align="left">File</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">xorg.conf</code></td><td align="left">The configuration file for X.org versions 7 and later (optional)</td></tr><tr><td align="left"><code class="filename">Xmodmap</code></td><td align="left">Global X11 keyboard modification file (optional)</td></tr></tbody></table></div><p>Subdirectories of <code class="filename">/etc/X11</code> may include
|
||
those for <code class="filename">xdm</code> and for any other programs (some
|
||
window managers, for example) that need them.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088427216" class="footnote" name="idm236088427216"><sup class="footnote">[5]</sup></a>
|
||
</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="etcsgmlConfigurationFilesForSgmlAn"></a>3.7.6. /etc/sgml : Configuration files for SGML (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose9"></a>3.7.6.1. Purpose</h4></div></div></div><p>Generic configuration files defining high-level parameters of
|
||
the SGML systems are installed here. Files with names
|
||
<code class="filename">*.conf</code> indicate generic configuration files.
|
||
File with names <code class="filename">*.cat</code> are the DTD-specific
|
||
centralized catalogs, containing references to all other catalogs
|
||
needed to use the given DTD. The super catalog file
|
||
<code class="filename">catalog</code> references all the centralized
|
||
catalogs.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idm236088418512"></a>3.7.7. /etc/xml : Configuration files for XML (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="idm236088417872"></a>3.7.7.1. Purpose</h4></div></div></div><p>Generic configuration files defining high-level parameters of
|
||
the XML systems are installed here. Files with names
|
||
<code class="filename">*.conf</code> indicate generic configuration files.
|
||
The super catalog file
|
||
<code class="filename">catalog</code> references all the centralized
|
||
catalogs.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="homeUserHomeDirectories"></a>3.8. /home : User home directories (optional)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose10"></a>3.8.1. Purpose</h3></div></div></div><p><code class="filename">/home</code> is a fairly standard concept, but it
|
||
is clearly a site-specific filesystem.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088412656" class="footnote" name="idm236088412656"><sup class="footnote">[6]</sup></a>
|
||
The setup will differ from host to host. Therefore, no program should
|
||
assume any specific location for a home directory, rather it
|
||
should query for it.
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088405632" class="footnote" name="idm236088405632"><sup class="footnote">[7]</sup></a>
|
||
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements4a"></a>3.8.2. Requirements</h3></div></div></div><p>
|
||
User specific configuration files for applications are stored in the
|
||
user's home directory in a file that starts with the '.' character (a
|
||
"dot file"). If an application needs to create more than one dot file
|
||
then they should be placed in a subdirectory with a name starting with
|
||
a '.' character, (a "dot directory"). In this case the configuration
|
||
files should not start with the '.' character.
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088400112" class="footnote" name="idm236088400112"><sup class="footnote">[8]</sup></a>
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="homeReferences"></a>3.8.3. Home Directory Specifications and Conventions</h3></div></div></div><p>
|
||
A number of efforts have been made in the past to standardize
|
||
the layout of home directories,
|
||
including the XDG Base Directories specification
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088397728" class="footnote" name="idm236088397728"><sup class="footnote">[9]</sup></a>
|
||
and the GLib conventions on user directory contents.
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088395888" class="footnote" name="idm236088395888"><sup class="footnote">[10]</sup></a>
|
||
Additional efforts in this direction are possible in the future.
|
||
To accomodate software which makes use of these specifications and conventions,
|
||
distributions may create directory hierarchies which follow
|
||
the specifications and conventions. Those directory hierarchies may be located
|
||
underneath home directories.
|
||
</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="libEssentialSharedLibrariesAndKern"></a>3.9. /lib : Essential shared libraries and kernel modules</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose11"></a>3.9.1. Purpose</h3></div></div></div><p>The <code class="filename">/lib</code> directory contains those shared
|
||
library images needed to boot the system and run the commands in the
|
||
root filesystem, ie. by binaries in <code class="filename">/bin</code> and
|
||
<code class="filename">/sbin</code>.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088389760" class="footnote" name="idm236088389760"><sup class="footnote">[11]</sup></a>
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements5"></a>3.9.2. Requirements</h3></div></div></div><p>At least one of each of the following filename patterns are
|
||
required (they may be files, or symbolic links):</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">File</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">libc.so.*</code></td><td align="left">The dynamically-linked C library (optional)</td></tr><tr><td align="left"><code class="filename">ld*</code></td><td align="left">The execution time linker/loader (optional)</td></tr></tbody></table></div><p>If a C preprocessor is installed, <span class="emphasis"><em>/lib/cpp</em></span>
|
||
must be a reference to it, for historical reasons.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088374992" class="footnote" name="idm236088374992"><sup class="footnote">[12]</sup></a>
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions7"></a>3.9.3. Specific Options</h3></div></div></div><p>The following directories, or symbolic links to directories,
|
||
must be in <code class="filename">/lib</code>, if the corresponding subsystem
|
||
is installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">modules</code></td><td align="left">Loadable kernel modules (optional)</td></tr></tbody></table></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="libltqualgtAlternateFormatEssential"></a>3.10. /lib<em class="replaceable"><code><qual></code></em> : Alternate format essential shared libraries (optional)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose12"></a>3.10.1. Purpose</h3></div></div></div><p>There may be one or more variants of the
|
||
<code class="filename">/lib</code> directory on systems which support more than
|
||
one binary format requiring separate libraries.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088363216" class="footnote" name="idm236088363216"><sup class="footnote">[13]</sup></a>
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements6"></a>3.10.2. Requirements</h3></div></div></div><p>If one or more of these directories exist, the requirements for
|
||
their contents are the same as the normal <code class="filename">/lib</code>
|
||
directory, except that <code class="filename">/lib<em class="replaceable"><code><qual></code></em>/cpp</code> is
|
||
not required.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088357376" class="footnote" name="idm236088357376"><sup class="footnote">[14]</sup></a></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="mediaMountPoint"></a>3.11. /media : Mount point for removable media</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purposeMediaMountPoint"></a>3.11.1. Purpose</h3></div></div></div><p>This directory contains subdirectories which are used as mount
|
||
points for removable media such as floppy disks, cdroms and zip
|
||
disks.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>Historically there have been a number of other different places
|
||
used to mount removable media such as <code class="filename">/cdrom</code>,
|
||
<code class="filename">/mnt</code> or <code class="filename">/mnt/cdrom</code>. Placing
|
||
the mount points for all removable media directly in the root
|
||
directory would potentially result in a large number of extra
|
||
directories in <code class="filename">/</code>. Although the use of
|
||
subdirectories in <code class="filename">/mnt</code> as a mount point has
|
||
recently been common, it conflicts with a much older tradition of
|
||
using <code class="filename">/mnt</code> directly as a temporary mount point.
|
||
</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptionsMediaMount"></a>3.11.2. Specific Options</h3></div></div></div><p>The following directories, or symbolic links to directories,
|
||
must be in <code class="filename">/media</code>, if the corresponding subsystem
|
||
is installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">floppy</code></td><td align="left">Floppy drive (optional)</td></tr><tr><td align="left"><code class="filename">cdrom</code></td><td align="left">CD-ROM drive (optional)</td></tr><tr><td align="left"><code class="filename">cdrecorder</code></td><td align="left">CD writer (optional)</td></tr><tr><td align="left"><code class="filename">zip</code></td><td align="left">Zip drive (optional)</td></tr></tbody></table></div><p>On systems where more than one device exists for mounting a
|
||
certain type of media, mount directories can be created by appending a
|
||
digit to the name of those available above starting with '0', but the
|
||
unqualified name must also exist.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088334544" class="footnote" name="idm236088334544"><sup class="footnote">[15]</sup></a>
|
||
|
||
</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="mntMountPointForATemporarilyMount"></a>3.12. /mnt : Mount point for a temporarily mounted filesystem</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose13"></a>3.12.1. Purpose</h3></div></div></div><p>This directory is provided so that the system administrator may
|
||
temporarily mount a filesystem as needed. The content of this
|
||
directory is a local issue and should not affect the manner in which
|
||
any program is run.</p><p>This directory must not be used by installation programs: a
|
||
suitable temporary directory not in use by the system must be used
|
||
instead.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="optAddonApplicationSoftwarePackages"></a>3.13. /opt : Add-on application software packages</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose14"></a>3.13.1. Purpose</h3></div></div></div><p><code class="filename">/opt</code> is reserved for the installation of
|
||
add-on application software packages.</p><p>A package to be installed in <code class="filename">/opt</code> must
|
||
locate its static files in a separate
|
||
<code class="filename">/opt/<package></code> or
|
||
<code class="filename">/opt/<provider></code> directory
|
||
tree, where <code class="filename"><package></code> is a name that
|
||
describes the software package and
|
||
<code class="filename"><provider></code> is the provider's LANANA
|
||
registered name.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements7"></a>3.13.2. Requirements</h3></div></div></div><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><package></td><td align="left">Static package objects</td></tr><tr><td align="left"><provider></td><td align="left">LANANA registered provider name</td></tr></tbody></table></div><p>The directories <code class="filename">/opt/bin</code>,
|
||
<code class="filename">/opt/doc</code>, <code class="filename">/opt/include</code>,
|
||
<code class="filename">/opt/info</code>, <code class="filename">/opt/lib</code>, and
|
||
<code class="filename">/opt/man</code> are reserved for local system
|
||
administrator use. Packages may provide "front-end" files intended to
|
||
be placed in (by linking or copying) these reserved directories by the
|
||
local system administrator, but must function normally in the absence
|
||
of these reserved directories.</p><p>Programs to be invoked by users must be located in the directory
|
||
<code class="filename">/opt/<package>/bin</code> or under the
|
||
<code class="filename">/opt/<provider></code> hierarchy. If the package
|
||
includes UNIX manual pages, they must be located in
|
||
<code class="filename">/opt/<package>/share/man</code> or under the
|
||
<code class="filename">/opt/<provider></code> hierarchy, and the same
|
||
substructure as <code class="filename">/usr/share/man</code> must be
|
||
used.</p><p>Package files that are variable (change in normal operation)
|
||
must be installed in <code class="filename">/var/opt</code>. See the section
|
||
on <code class="filename">/var/opt</code> for more information.</p><p>Host-specific configuration files must be installed in
|
||
<code class="filename">/etc/opt</code>. See the section on
|
||
<code class="filename">/etc</code> for more information.</p><p>No other package files may exist outside the
|
||
<code class="filename">/opt</code>, <code class="filename">/var/opt</code>, and
|
||
<code class="filename">/etc/opt</code> hierarchies except for those package
|
||
files that must reside in specific locations within the filesystem
|
||
tree in order to function properly. For example, device lock files
|
||
must be placed in <code class="filename">/var/lock</code> and devices must be
|
||
located in <code class="filename">/dev</code>.</p><p>Distributions may install and otherwise manage software in
|
||
<code class="filename">/opt</code> under an appropriately registered
|
||
subdirectory.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>The use of <code class="filename">/opt</code> for add-on software is a
|
||
well-established practice in the UNIX community. The System V
|
||
Application Binary Interface [AT&T 1990], based on the System V
|
||
Interface Definition (Third Edition), provides for an
|
||
<code class="filename">/opt</code> structure very similar to the one defined
|
||
here.</p><p>The Intel Binary Compatibility Standard v. 2 (iBCS2) also
|
||
provides a similar structure for <code class="filename">/opt</code>.</p><p>Generally, all data required to support a package on a system
|
||
must be present within <code class="filename">/opt/<package></code>,
|
||
including files intended to be copied into
|
||
<code class="filename">/etc/opt/<package></code> and
|
||
<code class="filename">/var/opt/<package></code> as well as reserved
|
||
directories in <code class="filename">/opt</code>.</p><p>The minor restrictions on distributions using
|
||
<code class="filename">/opt</code> are necessary because conflicts are possible
|
||
between distribution-installed and locally-installed software,
|
||
especially in the case of fixed pathnames found in some binary
|
||
software.</p><p>The structure of the directories below
|
||
<code class="filename">/opt/<provider></code> is left up to the packager
|
||
of the software, though it is recommended that packages are installed
|
||
in <code class="filename">/opt/<provider>/<package></code> and
|
||
follow a similar structure to the guidelines for
|
||
<code class="filename">/opt/<package></code>. A valid reason for diverging from
|
||
this structure is for support packages which may have files installed
|
||
in <code class="filename">/opt/<provider>/lib</code> or
|
||
<code class="filename">/opt/<provider>/bin</code>.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="rootHomeDirectoryForTheRootUser"></a>3.14. /root : Home directory for the root user (optional)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose15"></a>3.14.1. Purpose</h3></div></div></div><p>The root account's home directory may be determined by developer
|
||
or local preference, but this is the recommended default
|
||
location.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088285600" class="footnote" name="idm236088285600"><sup class="footnote">[16]</sup></a>
|
||
</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="runRuntimeVariableData"></a>3.15. /run : Run-time variable data</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="runPurpose"></a>3.15.1. Purpose</h3></div></div></div><p>This directory contains system information data describing the
|
||
system since it was booted. Files under this directory must be
|
||
cleared (removed or truncated as appropriate) at the beginning of the
|
||
boot process.</p><p>The purposes of this directory were once served by
|
||
<code class="filename">/var/run</code>. In general, programs may continue to
|
||
use <code class="filename">/var/run</code> to fulfill the requirements set out
|
||
for <code class="filename">/run</code> for the purposes of backwards
|
||
compatibility. Programs which have migrated to use
|
||
<code class="filename">/run</code> should cease their usage of
|
||
<code class="filename">/var/run</code>, except as noted in the section on
|
||
<code class="filename">/var/run</code>.</p><p>Programs may have a subdirectory of
|
||
<code class="filename">/run</code>; this is encouraged for programs that
|
||
use more than one run-time file. Users may also have a subdirectory
|
||
of <code class="filename">/run</code>, although care must be taken to
|
||
appropriately limit access rights to prevent unauthorized use of
|
||
<code class="filename">/run</code> itself and other subdirectories.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088274176" class="footnote" name="idm236088274176"><sup class="footnote">[17]</sup></a>
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="runRequirements"></a>3.15.2. Requirements</h3></div></div></div><p>
|
||
Process identifier (PID) files, which were originally placed in
|
||
<code class="filename">/etc</code>, must be placed in
|
||
<code class="filename">/run</code>. The naming convention for PID files is
|
||
<code class="filename"><program-name>.pid</code>. For example, the
|
||
<span class="command"><strong>crond</strong></span> PID file is named
|
||
<code class="filename">/run/crond.pid</code>.</p><p>The internal format of PID files remains unchanged. The file
|
||
must consist of the process identifier in ASCII-encoded decimal,
|
||
followed by a newline character. For example, if
|
||
<span class="command"><strong>crond</strong></span> was process number 25,
|
||
<code class="filename">/run/crond.pid</code> would contain three characters:
|
||
two, five, and newline.</p><p>Programs that read PID files should be somewhat flexible in what
|
||
they accept; i.e., they should ignore extra whitespace, leading
|
||
zeroes, absence of the trailing newline, or additional lines in the
|
||
PID file. Programs that create PID files should use the simple
|
||
specification located in the above paragraph.</p><p>System programs that maintain transient UNIX-domain sockets must
|
||
place them in this directory or an appropriate subdirectory as
|
||
outlined above.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sbinSystemBinaries"></a>3.16. /sbin : System binaries</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose16"></a>3.16.1. Purpose</h3></div></div></div><p>Utilities used for system administration (and other root-only
|
||
commands) are stored in <code class="filename">/sbin</code>,
|
||
<code class="filename">/usr/sbin</code>, and
|
||
<code class="filename">/usr/local/sbin</code>. <code class="filename">/sbin</code>
|
||
contains binaries essential for booting, restoring, recovering, and/or
|
||
repairing the system in addition to the binaries in
|
||
<code class="filename">/bin</code>.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088259440" class="footnote" name="idm236088259440"><sup class="footnote">[18]</sup></a>
|
||
|
||
Programs executed after
|
||
<code class="filename">/usr</code> is known to be mounted (when there are no
|
||
problems) are generally placed into <code class="filename">/usr/sbin</code>.
|
||
Locally-installed system administration programs should be placed into
|
||
<code class="filename">/usr/local/sbin</code>.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088255488" class="footnote" name="idm236088255488"><sup class="footnote">[19]</sup></a></p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements8"></a>3.16.2. Requirements</h3></div></div></div><p>There must be no subdirectories in <code class="filename">/sbin</code>.</p><p>The following commands, or symbolic links to commands, are
|
||
required in <code class="filename">/sbin</code>:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Command</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><span class="command"><strong>shutdown</strong></span></td><td align="left">Command to bring the system down.</td></tr></tbody></table></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions8"></a>3.16.3. Specific Options</h3></div></div></div><p>The following files, or symbolic links to files, must be in
|
||
<code class="filename">/sbin</code> if the corresponding subsystem is
|
||
installed:</p><div class="informaltable"><table border="0"><colgroup><col align="left" class="c1"><col align="left" class="c2"></colgroup><thead><tr><th align="left">Command</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">fastboot</code></td><td align="left">Reboot the system without checking the disks (optional)</td></tr><tr><td align="left"><code class="filename">fasthalt</code></td><td align="left">Stop the system without checking the disks (optional)</td></tr><tr><td align="left"><code class="filename">fdisk</code></td><td align="left">Partition table manipulator (optional)</td></tr><tr><td align="left"><code class="filename">fsck</code></td><td align="left">File system check and repair utility (optional)</td></tr><tr><td align="left"><code class="filename">fsck.*</code></td><td align="left">File system check and repair utility for a specific filesystem (optional)</td></tr><tr><td align="left"><code class="filename">getty</code></td><td align="left">The getty program (optional)</td></tr><tr><td align="left"><code class="filename">halt</code></td><td align="left">Command to stop the system (optional)</td></tr><tr><td align="left"><code class="filename">ifconfig</code></td><td align="left">Configure a network interface (optional)</td></tr><tr><td align="left"><code class="filename">init</code></td><td align="left">Initial process (optional)</td></tr><tr><td align="left"><code class="filename">mkfs</code></td><td align="left">Command to build a filesystem (optional)</td></tr><tr><td align="left"><code class="filename">mkfs.*</code></td><td align="left">Command to build a specific filesystem (optional)</td></tr><tr><td align="left"><code class="filename">mkswap</code></td><td align="left">Command to set up a swap area (optional)</td></tr><tr><td align="left"><code class="filename">reboot</code></td><td align="left">Command to reboot the system (optional)</td></tr><tr><td align="left"><code class="filename">route</code></td><td align="left">IP routing table utility (optional)</td></tr><tr><td align="left"><code class="filename">swapon</code></td><td align="left">Enable paging and swapping (optional)</td></tr><tr><td align="left"><code class="filename">swapoff</code></td><td align="left">Disable paging and swapping (optional)</td></tr><tr><td align="left"><code class="filename">update</code></td><td align="left">Daemon to periodically flush filesystem buffers (optional)</td></tr></tbody></table></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="srvDataForServicesProvidedBySystem"></a>3.17. /srv : Data for services provided by this system</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose16a"></a>3.17.1. Purpose</h3></div></div></div><p><code class="filename">/srv</code> contains site-specific data which is
|
||
served by this system.
|
||
|
||
</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>
|
||
This main purpose of specifying this is so that users may find the
|
||
location of the data files for a particular service, and so that
|
||
services which require a single tree for readonly data, writable data
|
||
and scripts (such as cgi scripts) can be reasonably placed. Data that
|
||
is only of interest to a specific user should go in that users' home
|
||
directory. If the directory and file structure of the data is not
|
||
exposed to consumers, it should go in <code class="filename">/var/lib</code>.
|
||
</p><p>
|
||
The methodology used to name subdirectories of
|
||
<code class="filename">/srv</code> is unspecified as there is currently no
|
||
consensus on how this should be done. One method for structuring data
|
||
under <code class="filename">/srv</code> is by protocol,
|
||
eg. <code class="filename">ftp</code>, <code class="filename">rsync</code>,
|
||
<code class="filename">www</code>, and <code class="filename">cvs</code>. On large
|
||
systems it can be useful to structure <code class="filename">/srv</code> by
|
||
administrative context, such as <code class="filename">/srv/physics/www</code>,
|
||
<code class="filename">/srv/compsci/cvs</code>, etc. This setup will differ
|
||
from host to host. Therefore, no program should rely on a specific
|
||
subdirectory structure of <code class="filename">/srv</code> existing or data
|
||
necessarily being stored in <code class="filename">/srv</code>. However
|
||
<code class="filename">/srv</code> should always exist on FHS compliant systems
|
||
and should be used as the default location for such data.
|
||
</p><p>
|
||
Distributions must take care not to remove locally placed files in
|
||
these directories without administrator permission.
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236088192752" class="footnote" name="idm236088192752"><sup class="footnote">[20]</sup></a>
|
||
</p></div><p>
|
||
</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="tmpTemporaryFiles"></a>3.18. /tmp : Temporary files</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose17"></a>3.18.1. Purpose</h3></div></div></div><p>The <code class="filename">/tmp</code> directory must be made available
|
||
for programs that require temporary files.</p><p>Programs must not assume that any files or directories in
|
||
<code class="filename">/tmp</code> are preserved between invocations of the
|
||
program.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>IEEE standard POSIX.1-2008 lists requirements
|
||
similar to the above section.</p><p>Although data stored in <code class="filename">/tmp</code> may be deleted
|
||
in a site-specific manner, it is recommended that files and
|
||
directories located in <code class="filename">/tmp</code> be deleted whenever
|
||
the system is booted.</p><p>FHS added this recommendation on the basis of historical
|
||
precedent and common practice, but did not make it a requirement
|
||
because system administration is not within the scope of this
|
||
standard.</p></div></div></div><div class="footnotes"><br><hr style="width:100; text-align:left;margin-left: 0"><div id="ftn.idm236088643344" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088643344" class="para"><sup class="para">[1] </sup></a>
|
||
Command binaries that are not essential enough to place into
|
||
<code class="filename">/bin</code> must be placed in
|
||
<code class="filename">/usr/bin</code>, instead. Items that are required only
|
||
by non-root users (the X Window System, <code class="filename">chsh</code>,
|
||
etc.) are generally not essential enough to be placed into the root
|
||
partition.
|
||
</p></div><div id="ftn.idm236088529392" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088529392" class="para"><sup class="para">[2] </sup></a>
|
||
To be clear, <code class="filename">/etc</code> may contain executable scripts,
|
||
such as the command scripts commonly called by
|
||
<code class="filename">init</code> to start and shut down the system and start
|
||
daemon processes. "Executable binary" in this context refers to
|
||
direct machine code or pseudocode not in a human-readable format, such
|
||
as native ELF executables.
|
||
</p></div><div id="ftn.idm236088507872" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088507872" class="para"><sup class="para">[3] </sup></a>
|
||
Systems that use the shadow password suite will have additional
|
||
configuration files in <code class="filename">/etc</code>
|
||
(<code class="filename">/etc/shadow</code> and others) and programs in
|
||
<code class="filename">/usr/sbin</code> (<span class="command"><strong>useradd</strong></span>,
|
||
<span class="command"><strong>usermod</strong></span>, and others).
|
||
</p></div><div id="ftn.idm236088451984" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088451984" class="para"><sup class="para">[4] </sup></a>
|
||
On some Linux systems, this may be a symbolic link to
|
||
<code class="filename">/proc/mounts</code>, in which case this exception is not
|
||
required.
|
||
</p></div><div id="ftn.idm236088427216" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088427216" class="para"><sup class="para">[5] </sup></a>
|
||
<code class="filename">/etc/X11/xdm</code> holds the configuration files for
|
||
<code class="filename">xdm</code>. These are most of the files previously
|
||
found in <code class="filename">/usr/lib/X11/xdm</code>. Some local variable
|
||
data for <code class="filename">xdm</code> is stored in
|
||
<code class="filename">/var/lib/xdm</code>.
|
||
</p></div><div id="ftn.idm236088412656" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088412656" class="para"><sup class="para">[6] </sup></a>
|
||
Different people prefer to place user accounts in a variety of places.
|
||
This section describes only a suggested placement for user home
|
||
directories; nevertheless we recommend that all FHS-compliant
|
||
distributions use this as the default location for user home
|
||
directories. Non-login accounts created for administrative
|
||
purposes often have their home directories elsewhere.</p><p>On smaller systems, each user's home directory is typically implemented
|
||
as a subdirectory directly under <code class="filename">/home</code>, for example
|
||
<code class="filename">/home/smith</code>, <code class="filename">/home/torvalds</code>,
|
||
<code class="filename">/home/operator</code>, etc. On large systems
|
||
(especially when the <code class="filename">/home</code> directories are shared
|
||
amongst many hosts using NFS) it is useful to subdivide user home
|
||
directories. Subdivision may be accomplished by using subdirectories
|
||
such as <code class="filename">/home/staff</code>,
|
||
<code class="filename">/home/guests</code>,
|
||
<code class="filename">/home/students</code>, etc.
|
||
</p></div><div id="ftn.idm236088405632" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088405632" class="para"><sup class="para">[7] </sup></a>
|
||
To find a user's home directory, use a library function such
|
||
as <code class="function">getpwent</code>,
|
||
<code class="function">getpwent_r</code> of
|
||
<code class="function">fgetpwent</code> rather than relying
|
||
on <code class="filename">/etc/passwd</code> because user information may be
|
||
stored remotely using systems such as NIS.
|
||
</p></div><div id="ftn.idm236088400112" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088400112" class="para"><sup class="para">[8] </sup></a>
|
||
It is recommended that, apart from autosave and lock files, programs
|
||
should refrain from creating non dot files or directories in a home
|
||
directory without user consent.
|
||
</p></div><div id="ftn.idm236088397728" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088397728" class="para"><sup class="para">[9] </sup></a>Found at
|
||
<a class="ulink" href="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html" target="_top">http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html</a>
|
||
and
|
||
<a class="ulink" href="http://www.freedesktop.org/wiki/Software/xdg-user-dirs" target="_top">http://www.freedesktop.org/wiki/Software/xdg-user-dirs</a>.
|
||
</p></div><div id="ftn.idm236088395888" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088395888" class="para"><sup class="para">[10] </sup></a>A description of GLib's conventions can be found in the
|
||
documentation for GUserDirectory, at
|
||
<a class="ulink" href="http://developer.gnome.org/glib/unstable/glib-Miscellaneous-Utility-Functions.html#GUserDirectory" target="_top">http://developer.gnome.org/glib/unstable/glib-Miscellaneous-Utility-Functions.html#GUserDirectory</a>.
|
||
</p></div><div id="ftn.idm236088389760" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088389760" class="para"><sup class="para">[11] </sup></a>
|
||
Shared libraries that are only necessary for binaries in
|
||
<code class="filename">/usr</code> (such as any X Window binaries) must not be
|
||
in <code class="filename">/lib</code>. Only the shared libraries required to
|
||
run binaries in <code class="filename">/bin</code> and
|
||
<code class="filename">/sbin</code> may be here. In particular, the library
|
||
<code class="filename">libm.so.*</code> may also be placed in
|
||
<code class="filename">/usr/lib</code> if it is not required by anything in
|
||
<code class="filename">/bin</code> or <code class="filename">/sbin</code>.
|
||
</p></div><div id="ftn.idm236088374992" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088374992" class="para"><sup class="para">[12] </sup></a>
|
||
The usual placement of this binary is <code class="filename">/usr/bin/cpp</code>.
|
||
</p></div><div id="ftn.idm236088363216" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088363216" class="para"><sup class="para">[13] </sup></a>
|
||
This is commonly used for 64-bit or 32-bit support on
|
||
systems which support multiple binary formats, but require libraries
|
||
of the same name. In this case, <code class="filename">/lib32</code> and
|
||
<code class="filename">/lib64</code> might be the library directories, and
|
||
<code class="filename">/lib</code> a symlink to one of them.
|
||
</p></div><div id="ftn.idm236088357376" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088357376" class="para"><sup class="para">[14] </sup></a>
|
||
<code class="filename">/lib<em class="replaceable"><code><qual></code></em>/cpp</code> is still permitted: this
|
||
allows the case where <code class="filename">/lib</code> and
|
||
<code class="filename">/lib<em class="replaceable"><code><qual></code></em></code> are the same (one is a symbolic
|
||
link to the other). </p></div><div id="ftn.idm236088334544" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088334544" class="para"><sup class="para">[15] </sup></a>
|
||
A compliant distribution with two CDROM drives might have
|
||
<code class="filename">/media/cdrom0</code> and
|
||
<code class="filename">/media/cdrom1</code> with
|
||
<code class="filename">/media/cdrom</code> a symlink to either of these.
|
||
</p></div><div id="ftn.idm236088285600" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088285600" class="para"><sup class="para">[16] </sup></a>If the home directory of the root account is not
|
||
stored on the root partition it will be necessary to make certain it
|
||
will default to <code class="filename">/</code> if it cannot be
|
||
located.</p><p>We recommend against using the root account for tasks that can be
|
||
performed as an unprivileged user, and that it be used solely for system
|
||
administration. For this reason, we recommend that subdirectories for
|
||
mail and other applications not appear in the root account's home
|
||
directory, and that mail for administration roles such as root,
|
||
postmaster, and webmaster be forwarded to an appropriate user.
|
||
</p></div><div id="ftn.idm236088274176" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088274176" class="para"><sup class="para">[17] </sup></a>
|
||
<code class="filename">/run</code> should not be writable for unprivileged
|
||
users; it is a major security problem if any user can write in this
|
||
directory. User-specific subdirectories should be writable only by
|
||
each directory's owner.
|
||
</p></div><div id="ftn.idm236088259440" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088259440" class="para"><sup class="para">[18] </sup></a>
|
||
Originally, <code class="filename">/sbin</code> binaries were kept in
|
||
<code class="filename">/etc</code>.
|
||
</p></div><div id="ftn.idm236088255488" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088255488" class="para"><sup class="para">[19] </sup></a>Deciding what things go into
|
||
<span class="emphasis"><em>"sbin"</em></span> directories is simple: if a normal (not a
|
||
system administrator) user will ever run it directly, then it must be
|
||
placed in one of the <span class="emphasis"><em>"bin"</em></span> directories. Ordinary
|
||
users should not have to place any of the <code class="filename">sbin</code>
|
||
directories in their path.</p><p>For example, files such as <span class="command"><strong>chfn</strong></span> which users
|
||
only occasionally use must still be placed in
|
||
<code class="filename">/usr/bin</code>. <span class="command"><strong>ping</strong></span>, although it
|
||
is absolutely necessary for root (network recovery and diagnosis) is
|
||
often used by users and must live in <code class="filename">/bin</code> for
|
||
that reason.</p><p>We recommend that users have read and execute permission for
|
||
everything in <code class="filename">/sbin</code> except, perhaps, certain
|
||
setuid and setgid programs. The division between
|
||
<code class="filename">/bin</code> and <code class="filename">/sbin</code> was not
|
||
created for security reasons or to prevent users from seeing the
|
||
operating system, but to provide a good partition between binaries
|
||
that everyone uses and ones that are primarily used for administration
|
||
tasks. There is no inherent security advantage in making
|
||
<code class="filename">/sbin</code> off-limits for users.
|
||
</p></div><div id="ftn.idm236088192752" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236088192752" class="para"><sup class="para">[20] </sup></a>
|
||
This is particularly important as these areas will often contain both
|
||
files initially installed by the distributor, and those added by the
|
||
administrator.
|
||
</p></div></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="theUsrHierarchy"></a>Chapter 4. The /usr Hierarchy</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose18">4.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements9">4.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions9">4.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrbinMostUserCommands">4.4. /usr/bin : Most user commands</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose20">4.4.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements9a">4.4.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions11">4.4.3. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrincludeDirectoryForStandardInclu">4.5. /usr/include : Directory for standard include files.</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose21">4.5.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions12">4.5.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlibLibrariesForProgrammingAndPa">4.6. /usr/lib : Libraries for programming and packages</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose22">4.6.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions13">4.6.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlibexec">4.7. /usr/libexec : Binaries run by other programs (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlibexecPurpose">4.7.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlibltqualgtAlternateFormatLibrari">4.8. /usr/lib<em class="replaceable"><code><qual></code></em> : Alternate format libraries (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose23">4.8.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlocalLocalHierarchy">4.9. /usr/local : Local hierarchy</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose24">4.9.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements10">4.9.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions14">4.9.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlocalshare1">4.9.4. /usr/local/share : Local architecture-independent hierarchy</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsbinNonessentialStandardSystemBi">4.10. /usr/sbin : Non-essential standard system binaries</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose25">4.10.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements10a">4.10.2. Requirements</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrshareArchitectureindependentData">4.11. /usr/share : Architecture-independent data</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose26">4.11.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements11">4.11.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions15">4.11.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsharecolorColorManagement">4.11.4. /usr/share/color : Color management information (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsharedictWordLists">4.11.5. /usr/share/dict : Word lists (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsharemanManualPages">4.11.6. /usr/share/man : Manual pages</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsharemiscMiscellaneousArchitecture">4.11.7. /usr/share/misc : Miscellaneous architecture-independent data</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrshareppd">4.11.8. /usr/share/ppd : Printer definitions (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsharesgmlSgmlAndXmlData">4.11.9. /usr/share/sgml : SGML data (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087237360">4.11.10. /usr/share/xml : XML data (optional)</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsrcSourceCode">4.12. /usr/src : Source code (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose30">4.12.1. Purpose</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="purpose18"></a>4.1. Purpose</h2></div></div></div><p><code class="filename">/usr</code> is the second major section of the
|
||
filesystem. <code class="filename">/usr</code> is shareable, read-only data.
|
||
That means that <code class="filename">/usr</code> should be shareable between
|
||
various FHS-compliant hosts and must not be written to. Any
|
||
information that is host-specific or varies with time is stored
|
||
elsewhere.</p><p>Large software packages must not use a direct subdirectory under
|
||
the <code class="filename">/usr</code> hierarchy.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="requirements9"></a>4.2. Requirements</h2></div></div></div><p>The following directories, or symbolic links to directories, are
|
||
required in <code class="filename">/usr</code>.</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">bin</code></td><td align="left">Most user commands</td></tr><tr><td align="left"><code class="filename">lib</code></td><td align="left">Libraries</td></tr><tr><td align="left"><code class="filename">local</code></td><td align="left">Local hierarchy (empty after main installation)</td></tr><tr><td align="left"><code class="filename">sbin</code></td><td align="left">Non-vital system binaries</td></tr><tr><td align="left"><code class="filename">share</code></td><td align="left">Architecture-independent data</td></tr></tbody></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="specificOptions9"></a>4.3. Specific Options</h2></div></div></div><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">games</code></td><td align="left">Games and educational binaries (optional)</td></tr><tr><td align="left"><code class="filename">include</code></td><td align="left">Header files included by C programs</td></tr><tr><td align="left"><code class="filename">libexec</code></td><td align="left">Binaries run by other programs (optional)</td></tr><tr><td align="left"><code class="filename">lib<em class="replaceable"><code><qual></code></em></code></td><td align="left">Alternate Format Libraries (optional)</td></tr><tr><td align="left"><code class="filename">src</code></td><td align="left">Source code (optional)</td></tr></tbody></table></div><p>An exception is made for the X Window System because of
|
||
considerable precedent and widely-accepted practice.</p><p>The following symbolic links to directories may be present. This
|
||
possibility is based on the need to preserve compatibility with older
|
||
systems until all distribution can be assumed to use the
|
||
<code class="filename">/var</code> hierarchy.</p><pre class="screen"> /usr/spool -> /var/spool
|
||
/usr/tmp -> /var/tmp
|
||
/usr/spool/locks -> /var/lock
|
||
</pre><p>Once a system no longer requires any one of the above symbolic links,
|
||
the link may be removed, if desired.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="usrbinMostUserCommands"></a>4.4. /usr/bin : Most user commands</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose20"></a>4.4.1. Purpose</h3></div></div></div><p>This is the primary directory of executable commands on the
|
||
system.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements9a"></a>4.4.2. Requirements</h3></div></div></div><p>There must be no subdirectories in <code class="filename">/usr/bin</code>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions11"></a>4.4.3. Specific Options</h3></div></div></div><p>The following files, or symbolic links to files, must be in
|
||
<code class="filename">/usr/bin</code>, if the corresponding subsystem is
|
||
installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Command</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><span class="command"><strong>perl</strong></span></td><td align="left">The Practical Extraction and Report Language (optional)</td></tr><tr><td align="left"><span class="command"><strong>python</strong></span></td><td align="left">The Python interpreted language (optional)</td></tr><tr><td align="left"><span class="command"><strong>tclsh</strong></span></td><td align="left">Simple shell containing Tcl interpreter (optional)</td></tr><tr><td align="left"><span class="command"><strong>wish</strong></span></td><td align="left">Simple Tcl/Tk windowing shell (optional)</td></tr><tr><td align="left"><span class="command"><strong>expect</strong></span></td><td align="left">Program for interactive dialog (optional)</td></tr></tbody></table></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>In many executable scripts, the interpreter to be invoked to
|
||
execute the script is specified using
|
||
<code class="filename">#!<em class="replaceable"><code>path_to_interpreter</code></em></code>
|
||
on the first line of a script.
|
||
To make such scripts portable among different systems,
|
||
it is advantageous to standardize the interpreter locations.
|
||
The shell interpreter is already
|
||
fixed in <code class="filename">/bin</code> by this specification,
|
||
but interpreters for Perl, Python, Tcl and expect may be installed
|
||
in various places. The locations specified here may be implemented
|
||
as symbolic links to the physical location of the interpreters.
|
||
</p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="usrincludeDirectoryForStandardInclu"></a>4.5. /usr/include : Directory for standard include files.</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose21"></a>4.5.1. Purpose</h3></div></div></div><p>This is where all of the system's general-use include files for the C
|
||
programming language should be placed.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions12"></a>4.5.2. Specific Options</h3></div></div></div><p>The following directories, or symbolic links to directories,
|
||
must be in <code class="filename">/usr/include</code>, if the corresponding
|
||
subsystem is installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left">bsd</td><td align="left">BSD compatibility include files (optional)</td></tr></tbody></table></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="usrlibLibrariesForProgrammingAndPa"></a>4.6. /usr/lib : Libraries for programming and packages</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose22"></a>4.6.1. Purpose</h3></div></div></div><p><code class="filename">/usr/lib</code> includes object files and libraries.
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087593904" class="footnote" name="idm236087593904"><sup class="footnote">[21]</sup></a>
|
||
On some systems, it may also include internal binaries that are not
|
||
intended to be executed directly by users or shell scripts.
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087592496" class="footnote" name="idm236087592496"><sup class="footnote">[22]</sup></a>
|
||
</p><p>Applications may use a single subdirectory under
|
||
<code class="filename">/usr/lib</code>. If an application uses a subdirectory,
|
||
all architecture-dependent data exclusively used by the application
|
||
must be placed within that subdirectory.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087588928" class="footnote" name="idm236087588928"><sup class="footnote">[23]</sup></a></p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions13"></a>4.6.2. Specific Options</h3></div></div></div><p>For historical reasons, <span class="command"><strong>/usr/lib/sendmail</strong></span>
|
||
must be a symbolic link which resolves to the
|
||
<span class="emphasis"><em>sendmail</em></span>-compatible command provided by the
|
||
system's mail transfer agent, if the latter exists.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087585280" class="footnote" name="idm236087585280"><sup class="footnote">[24]</sup></a>
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087578304" class="footnote" name="idm236087578304"><sup class="footnote">[25]</sup></a></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="usrlibexec"></a>4.7. /usr/libexec : Binaries run by other programs (optional)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="usrlibexecPurpose"></a>4.7.1. Purpose</h3></div></div></div><p><code class="filename">/usr/libexec</code> includes internal binaries
|
||
that are not intended to be executed directly by users or shell
|
||
scripts. Applications may use a single subdirectory under
|
||
<code class="filename">/usr/libexec</code>.</p><p>Applications which use <code class="filename">/usr/libexec</code> in this
|
||
way must not also use <code class="filename">/usr/lib</code> to store internal
|
||
binaries, though they may use <code class="filename">/usr/lib</code> for the
|
||
other purposes documented here.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>Some previous versions of this document did not support
|
||
<code class="filename">/usr/libexec</code>, despite it being standard practice
|
||
in a number of environments.
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087566784" class="footnote" name="idm236087566784"><sup class="footnote">[26]</sup></a>
|
||
To accomodate this restriction, it became common practice to use
|
||
<code class="filename">/usr/lib</code> instead. Either practice is now
|
||
acceptable, but each application must choose one way or the other to
|
||
organize itself.
|
||
</p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="usrlibltqualgtAlternateFormatLibrari"></a>4.8. /usr/lib<em class="replaceable"><code><qual></code></em> : Alternate format libraries (optional)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose23"></a>4.8.1. Purpose</h3></div></div></div><p><code class="filename">/usr/lib<em class="replaceable"><code><qual></code></em></code> performs the same role as <code class="filename">/usr/lib</code> for an
|
||
alternate binary format, except that the symbolic links
|
||
<code class="filename">/usr/lib<em class="replaceable"><code><qual></code></em>/sendmail</code> and <code class="filename">/usr/lib<em class="replaceable"><code><qual></code></em>/X11</code> are not required.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087558816" class="footnote" name="idm236087558816"><sup class="footnote">[27]</sup></a></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="usrlocalLocalHierarchy"></a>4.9. /usr/local : Local hierarchy</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose24"></a>4.9.1. Purpose</h3></div></div></div><p>The <code class="filename">/usr/local</code> hierarchy is for use by the
|
||
system administrator when installing software locally. It needs to be
|
||
safe from being overwritten when the system software is updated. It
|
||
may be used for programs and data that are shareable amongst a group
|
||
of hosts, but not found in <code class="filename">/usr</code>.</p><p>Locally installed software must be placed within
|
||
<code class="filename">/usr/local</code> rather than <code class="filename">/usr</code>
|
||
unless it is being installed to replace or upgrade software in
|
||
<code class="filename">/usr</code>.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087550400" class="footnote" name="idm236087550400"><sup class="footnote">[28]</sup></a>
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements10"></a>4.9.2. Requirements</h3></div></div></div><p>The following directories, or symbolic links to directories,
|
||
must be in <code class="filename">/usr/local</code></p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">bin</code></td><td align="left">Local binaries</td></tr><tr><td align="left"><code class="filename">etc</code></td><td align="left">Host-specific system configuration for local binaries</td></tr><tr><td align="left"><code class="filename">games</code></td><td align="left">Local game binaries</td></tr><tr><td align="left"><code class="filename">include</code></td><td align="left">Local C header files</td></tr><tr><td align="left"><code class="filename">lib</code></td><td align="left">Local libraries</td></tr><tr><td align="left"><code class="filename">man</code></td><td align="left">Local online manuals</td></tr><tr><td align="left"><code class="filename">sbin</code></td><td align="left">Local system binaries</td></tr><tr><td align="left"><code class="filename">share</code></td><td align="left">Local architecture-independent hierarchy</td></tr><tr><td align="left"><code class="filename">src</code></td><td align="left">Local source code</td></tr></tbody></table></div><p>No other directories, except those listed below, may be in
|
||
<code class="filename">/usr/local</code> after first installing a FHS-compliant
|
||
system.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions14"></a>4.9.3. Specific Options</h3></div></div></div><p>If directories <code class="filename">/lib<em class="replaceable"><code><qual></code></em></code> or
|
||
<code class="filename">/usr/lib<em class="replaceable"><code><qual></code></em></code> exist, the equivalent
|
||
directories must also exist in <code class="filename">/usr/local</code>.</p><p><code class="filename">/usr/local/etc</code> may be a symbolic link to
|
||
<code class="filename">/etc/local</code>.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>The consistency of <code class="filename">/usr/local/etc</code> is
|
||
beneficial to installers, and is already used in other systems. As
|
||
all of <code class="filename">/usr/local</code> needs to be backed up to
|
||
reproduce a system, it introduces no additional maintenance overhead,
|
||
but a symlink to <code class="filename">/etc/local</code> is suitable if
|
||
systems want all their configuration under one hierarchy.
|
||
</p><p>
|
||
Note that <code class="filename">/usr/etc</code> is still not allowed: programs
|
||
in <code class="filename">/usr</code> should place configuration files in
|
||
<code class="filename">/etc</code>.
|
||
</p></div><p>If the directory <code class="filename">/usr/share/color</code> exists as
|
||
specified in this document, then the directory
|
||
<code class="filename">/usr/local/share/color</code> must also exist, governed
|
||
by the same rules as <code class="filename">/usr/share/color</code>.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>This usage allows the sysadmin a place to install color profiles
|
||
manually when necessary.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="usrlocalshare1"></a>4.9.4. /usr/local/share : Local architecture-independent hierarchy</h3></div></div></div><p>The requirements for the contents of this directory are the same
|
||
as for <code class="filename">/usr/share</code>.
|
||
|
||
|
||
|
||
</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="usrsbinNonessentialStandardSystemBi"></a>4.10. /usr/sbin : Non-essential standard system binaries</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose25"></a>4.10.1. Purpose</h3></div></div></div><p>This directory contains any non-essential binaries used
|
||
exclusively by the system administrator. System administration
|
||
programs that are required for system repair, system recovery,
|
||
mounting <code class="filename">/usr</code>, or other essential functions must
|
||
be placed in <code class="filename">/sbin</code> instead.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087505920" class="footnote" name="idm236087505920"><sup class="footnote">[29]</sup></a></p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements10a"></a>4.10.2. Requirements</h3></div></div></div><p>There must be no subdirectories in <code class="filename">/usr/sbin</code>.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="usrshareArchitectureindependentData"></a>4.11. /usr/share : Architecture-independent data</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose26"></a>4.11.1. Purpose</h3></div></div></div><p>The <code class="filename">/usr/share</code> hierarchy is for all
|
||
read-only architecture independent data files.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087499712" class="footnote" name="idm236087499712"><sup class="footnote">[30]</sup></a>
|
||
|
||
</p><p>This hierarchy is intended to be shareable among all
|
||
architecture platforms of a given OS; thus, for example, a site with
|
||
i386, Alpha, and PPC platforms might maintain a single
|
||
<code class="filename">/usr/share</code> directory that is centrally-mounted.
|
||
Note, however, that <code class="filename">/usr/share</code> is generally not
|
||
intended to be shared by different OSes or by different releases of
|
||
the same OS.</p><p>Any program or package which contains or requires data that
|
||
doesn't need to be modified should store that data in
|
||
<code class="filename">/usr/share</code> (or
|
||
<code class="filename">/usr/local/share</code>, if installed locally). It is
|
||
recommended that a subdirectory be used in
|
||
<code class="filename">/usr/share</code> for this purpose. Applications using
|
||
a single file may use <code class="filename">/usr/share/misc</code>.</p><p>Game data stored in <code class="filename">/usr/share/games</code> must
|
||
be purely static data. Any modifiable files, such as score files,
|
||
game play logs, and so forth, should be placed in
|
||
<code class="filename">/var/games</code>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements11"></a>4.11.2. Requirements</h3></div></div></div><p>The following directories, or symbolic links to directories,
|
||
must be in <code class="filename">/usr/share</code></p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">man</code></td><td align="left">Online manuals</td></tr><tr><td align="left"><code class="filename">misc</code></td><td align="left">Miscellaneous architecture-independent data</td></tr></tbody></table></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions15"></a>4.11.3. Specific Options</h3></div></div></div><p>The following directories, or symbolic links to directories, must be in <code class="filename">/usr/share</code>, if the corresponding
|
||
subsystem is installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">color</code></td><td align="left">Color management information (optional)</td></tr><tr><td align="left"><code class="filename">dict</code></td><td align="left">Word lists (optional)</td></tr><tr><td align="left"><code class="filename">doc</code></td><td align="left">Miscellaneous documentation (optional)</td></tr><tr><td align="left"><code class="filename">games</code></td><td align="left">Static data files for /usr/games (optional)</td></tr><tr><td align="left"><code class="filename">info</code></td><td align="left">Primary directory for GNU Info system (optional)</td></tr><tr><td align="left"><code class="filename">locale</code></td><td align="left">Locale information (optional)</td></tr><tr><td align="left"><code class="filename">nls</code></td><td align="left">Message catalogs for Native language support (optional)</td></tr><tr><td align="left"><code class="filename">ppd</code></td><td align="left">Printer definitions (optional)</td></tr><tr><td align="left"><code class="filename">sgml</code></td><td align="left">SGML data (optional)</td></tr><tr><td align="left"><code class="filename">terminfo</code></td><td align="left">Directories for terminfo database (optional)</td></tr><tr><td align="left"><code class="filename">tmac</code></td><td align="left">troff macros not distributed with groff (optional)</td></tr><tr><td align="left"><code class="filename">xml</code></td><td align="left">XML data (optional)</td></tr><tr><td align="left"><code class="filename">zoneinfo</code></td><td align="left">Timezone information and configuration (optional)</td></tr></tbody></table></div><p>It is recommended that application-specific,
|
||
architecture-independent directories be placed here. Such directories
|
||
include <span class="command"><strong>groff</strong></span>, <span class="command"><strong>perl</strong></span>,
|
||
<span class="command"><strong>ghostscript</strong></span>, <span class="command"><strong>texmf</strong></span>, and
|
||
<span class="command"><strong>kbd</strong></span> (Linux) or <span class="command"><strong>syscons</strong></span>
|
||
(BSD). They may, however, be placed in <code class="filename">/usr/lib</code>
|
||
for backwards compatibility, at the distributor's discretion.
|
||
Similarly, a <code class="filename">/usr/lib/games</code> hierarchy may be used
|
||
in addition to the <code class="filename">/usr/share/games</code> hierarchy if
|
||
the distributor wishes to place some game data there.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="usrsharecolorColorManagement"></a>4.11.4. /usr/share/color : Color management information (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="colorManagementPurpose"></a>4.11.4.1. Purpose</h4></div></div></div><p>This directory is the home for ICC color management files
|
||
installed by the system.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="colorManagementSpecificOptions"></a>4.11.4.2. Specific
|
||
Options</h4></div></div></div><p>The following directories must be in
|
||
<code class="filename">/usr/share/color</code>, if the corresponding subsystem
|
||
is installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left"><code class="filename">Directory</code></th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">icc</code></td><td align="left">ICC color profiles (optional)</td></tr></tbody></table></div><p>The top-level directory <code class="filename">/usr/share/color</code>
|
||
must not contain any files; all files should be in subdirectories of
|
||
<code class="filename">/usr/share/color</code>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="usrsharedictWordLists"></a>4.11.5. /usr/share/dict : Word lists (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose27"></a>4.11.5.1. Purpose</h4></div></div></div><p>This directory is the home for word lists on the system;
|
||
Traditionally this directory contains only the English
|
||
<code class="filename">words</code> file, which is used by
|
||
<span class="command"><strong>look(1)</strong></span> and various spelling programs.
|
||
<code class="filename">words</code> may use either American or British
|
||
spelling.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>The reason that only word lists are located here is that they
|
||
are the only files common to all spell checkers.</p></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="specificOptions16"></a>4.11.5.2. Specific Options</h4></div></div></div><p>The following files, or symbolic links to files, must be in
|
||
<code class="filename">/usr/share/dict</code>, if the corresponding subsystem
|
||
is installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left"><code class="filename">File</code></th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">words</code></td><td align="left">List of English words (optional)</td></tr></tbody></table></div><p>Sites that require both American and British spelling may link
|
||
<code class="filename">words</code> to
|
||
<code class="filename">/usr/share/dict/american-english</code> or
|
||
<code class="filename">/usr/share/dict/british-english</code>.</p><p>Word lists for other languages may be added using the English
|
||
name for that language, e.g.,
|
||
<code class="filename">/usr/share/dict/french</code>,
|
||
<code class="filename">/usr/share/dict/danish</code>, etc. These should, if
|
||
possible, use a character set based on Unicode, with the UTF-8
|
||
character set being the preferred option.</p><p>Other word lists must be included here, if present.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="usrsharemanManualPages"></a>4.11.6. /usr/share/man : Manual pages</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose28"></a>4.11.6.1. Purpose</h4></div></div></div><p>This section details the organization for manual pages
|
||
throughout the system, including <code class="filename">/usr/share/man</code>.
|
||
Also refer to the section on
|
||
<code class="filename">/var/cache/man</code>.</p><p>The primary <code class="filename"><mandir></code> of the system is
|
||
<code class="filename">/usr/share/man</code>.
|
||
<code class="filename">/usr/share/man</code> contains manual information for
|
||
commands and data under the <code class="filename">/</code> and
|
||
<code class="filename">/usr</code> filesystems.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087409888" class="footnote" name="idm236087409888"><sup class="footnote">[31]</sup></a></p><p>Manual pages are stored in
|
||
<code class="filename"><mandir>/<locale>/man<section>/<arch></code>.
|
||
An explanation of <code class="filename"><mandir></code>,
|
||
<code class="filename"><locale></code>,
|
||
<code class="filename"><section></code>, and
|
||
<code class="filename"><arch></code> is given below.</p><p>A description of each section follows:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: bullet; "><li class="listitem" style="list-style-type: disc"><p><code class="filename">man1</code>: User programs
|
||
|
||
Manual pages that describe publicly accessible commands are contained in
|
||
this chapter. Most program documentation that a user will need to use
|
||
is located here.</p></li><li class="listitem" style="list-style-type: disc"><p><code class="filename">man2</code>: System calls
|
||
|
||
This section describes all of the system calls (requests for the
|
||
kernel to perform operations).</p></li><li class="listitem" style="list-style-type: disc"><p><code class="filename">man3</code>: Library functions and subroutines
|
||
|
||
Section 3 describes program library routines that are not direct calls
|
||
to kernel services. This and chapter 2 are only really of interest to
|
||
programmers.</p></li><li class="listitem" style="list-style-type: disc"><p><code class="filename">man4</code>: Special files
|
||
|
||
Section 4 describes the special files, related driver functions, and
|
||
networking support available in the system. Typically, this includes
|
||
the device files found in <code class="filename">/dev</code> and the kernel interface to
|
||
networking protocol support.</p></li><li class="listitem" style="list-style-type: disc"><p><code class="filename">man5</code>: File formats
|
||
|
||
The formats for many data files are documented in the
|
||
section 5. This includes various include files, program output files,
|
||
and system files.</p></li><li class="listitem" style="list-style-type: disc"><p><code class="filename">man6</code>: Games
|
||
|
||
This chapter documents games, demos, and generally trivial programs.
|
||
Different people have various notions about how essential this is.</p></li><li class="listitem" style="list-style-type: disc"><p><code class="filename">man7</code>: Miscellaneous
|
||
|
||
Manual pages that are difficult to classify are designated as being
|
||
section 7. The troff and other text processing macro packages are found
|
||
here.</p></li><li class="listitem" style="list-style-type: disc"><p><code class="filename">man8</code>: System administration
|
||
|
||
Programs used by system administrators for system operation and
|
||
maintenance are documented here. Some of these programs are also
|
||
occasionally useful for normal users.</p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="specificOptions17"></a>4.11.6.2. Specific Options</h4></div></div></div><p>The following directories, or symbolic links to directories,
|
||
must be in
|
||
<code class="filename">/usr/share/<mandir>/<locale></code>, unless
|
||
they are empty:
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087387344" class="footnote" name="idm236087387344"><sup class="footnote">[32]</sup></a></p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">man1</code></td><td align="left">User programs (optional)</td></tr><tr><td align="left"><code class="filename">man2</code></td><td align="left">System calls (optional)</td></tr><tr><td align="left"><code class="filename">man3</code></td><td align="left">Library calls (optional)</td></tr><tr><td align="left"><code class="filename">man4</code></td><td align="left">Special files (optional)</td></tr><tr><td align="left"><code class="filename">man5</code></td><td align="left">File formats (optional)</td></tr><tr><td align="left"><code class="filename">man6</code></td><td align="left">Games (optional)</td></tr><tr><td align="left"><code class="filename">man7</code></td><td align="left">Miscellaneous (optional)</td></tr><tr><td align="left"><code class="filename">man8</code></td><td align="left">System administration (optional)</td></tr></tbody></table></div><p>The component <code class="filename"><section></code> describes the
|
||
manual section.</p><p>Provisions must be made in the structure of
|
||
<code class="filename">/usr/share/man</code> to support manual pages which are
|
||
written in different (or multiple) languages. These provisions must
|
||
take into account the storage and reference of these manual pages.
|
||
Relevant factors include language (including geographical-based
|
||
differences), and character code set.</p><p>This naming of language subdirectories of
|
||
<code class="filename">/usr/share/man</code> is based on Appendix E of the
|
||
POSIX 1003.1 standard which describes the locale identification string
|
||
— the most well-accepted method to describe a cultural
|
||
environment. The <code class="filename"><locale></code> string
|
||
is:</p><p><code class="filename"><language>[_<territory>][.<character-set>][,<version>]</code></p><p>The <code class="filename"><language></code> field must be taken
|
||
from ISO 639 (a code for the representation of names of languages).
|
||
It must be two characters wide and specified with lowercase letters
|
||
only.</p><p>The <code class="filename"><territory></code> field must be the
|
||
two-letter code of ISO 3166 (a specification of representations of
|
||
countries), if possible. (Most people are familiar with the
|
||
two-letter codes used for the country codes in email addresses.) It
|
||
must be two characters wide and specified with uppercase letters
|
||
only.
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087362160" class="footnote" name="idm236087362160"><sup class="footnote">[33]</sup></a></p><p>The <code class="filename"><character-set></code> field must
|
||
represent the standard describing the character set. If the
|
||
<code class="filename"><character-set></code> field is just a
|
||
numeric specification, the number represents the number of the
|
||
international standard describing the character set. It is
|
||
recommended that this be a numeric representation if possible (ISO
|
||
standards, especially), not include additional punctuation symbols,
|
||
and that any letters be in lowercase.</p><p>A parameter specifying a <code class="filename"><version></code> of
|
||
the profile may be placed after the
|
||
<code class="filename"><character-set></code> field, delimited by a
|
||
comma. This may be used to discriminate between different cultural
|
||
needs; for instance, dictionary order versus a more systems-oriented
|
||
collating order. This standard recommends not using the
|
||
<code class="filename"><version></code> field, unless it is
|
||
necessary.</p><p>Systems which use a unique language and code set for all manual
|
||
pages may omit the <code class="filename"><locale></code> substring and
|
||
store all manual pages in <code class="filename"><mandir></code>. For
|
||
example, systems which only have English manual pages coded with
|
||
ASCII, may store manual pages (the
|
||
<code class="filename">man<section></code> directories) directly in
|
||
<code class="filename">/usr/share/man</code>. (That is the traditional
|
||
circumstance and arrangement, in fact.)</p><p>Countries for which there is a well-accepted standard character
|
||
code set may omit the <code class="filename"><character-set></code>
|
||
field, but it is strongly recommended that it be included, especially
|
||
for countries with several competing standards.</p><p>Various examples:</p><div class="informaltable"><table border="0"><colgroup><col align="center" class="c1"><col align="center" class="c2"><col align="center" class="c3"><col align="center" class="c4"></colgroup><thead><tr><th align="left">Language</th><th align="left">Territory</th><th align="left">Character Set</th><th align="left">Directory</th></tr></thead><tbody><tr><td align="left">English</td><td align="left">—</td><td align="left">ASCII</td><td align="left">/usr/share/man/en</td></tr><tr><td align="left">English</td><td align="left">United Kingdom</td><td align="left">Unicode UTF-8</td><td align="left">/usr/share/man/en_GB.10646</td></tr><tr><td align="left">English</td><td align="left">United States</td><td align="left">ASCII</td><td align="left">/usr/share/man/en_US</td></tr><tr><td align="left">French</td><td align="left">Canada</td><td align="left">ISO 8859-1</td><td align="left">/usr/share/man/fr_CA.88591</td></tr><tr><td align="left">French</td><td align="left">France</td><td align="left">ISO 8859-1</td><td align="left">/usr/share/man/fr_FR.88591</td></tr><tr><td align="left">German</td><td align="left">Germany</td><td align="left">ISO 646</td><td align="left">/usr/share/man/de_DE.646</td></tr><tr><td align="left">German</td><td align="left">Germany</td><td align="left">ISO 6937</td><td align="left">/usr/share/man/de_DE.6937</td></tr><tr><td align="left">German</td><td align="left">Germany</td><td align="left">ISO 8859-1</td><td align="left">/usr/share/man/de_DE.88591</td></tr><tr><td align="left">German</td><td align="left">Switzerland</td><td align="left">ISO 646</td><td align="left">/usr/share/man/de_CH.646</td></tr><tr><td align="left">Japanese</td><td align="left">Japan</td><td align="left">JIS</td><td align="left">/usr/share/man/ja_JP.jis</td></tr><tr><td align="left">Japanese</td><td align="left">Japan</td><td align="left">SJIS</td><td align="left">/usr/share/man/ja_JP.sjis</td></tr><tr><td align="left">Japanese</td><td align="left">Japan</td><td align="left">UJIS (or EUC-J)</td><td align="left">/usr/share/man/ja_JP.ujis</td></tr><tr><td align="left">Japanese</td><td align="left">Japan</td><td align="left">Unicode UTF-16</td><td align="left">/usr/share/man/ja_JP.10646</td></tr></tbody></table></div><p>Similarly, provision must be made for manual pages which are
|
||
architecture-dependent, such as documentation on device-drivers or
|
||
low-level system administration commands. These must be placed under
|
||
an <code class="filename"><arch></code> directory in the appropriate
|
||
<code class="filename">man<section></code> directory; for example, a man
|
||
page for the i386 ctrlaltdel(8) command might be placed in
|
||
<code class="filename">/usr/share/man/<locale>/man8/i386/ctrlaltdel.8</code>.
|
||
</p><p>Manual pages for commands and data under
|
||
<code class="filename">/usr/local</code> are stored in
|
||
<code class="filename">/usr/local/man</code> or
|
||
<code class="filename">/usr/local/share/man</code>.
|
||
All manual page hierarchies in the system must have the same structure as
|
||
<code class="filename">/usr/share/man</code>, as this structure is expected
|
||
by commands which consume manual page content.
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087300336" class="footnote" name="idm236087300336"><sup class="footnote">[34]</sup></a>
|
||
</p><p>The cat page sections (<code class="filename">cat<section></code>)
|
||
containing formatted manual page entries are also found within
|
||
subdirectories of <code class="filename"><mandir>/<locale></code>,
|
||
but are not required nor may they be distributed in lieu of nroff
|
||
source manual pages.</p><p>The numbered sections "1" through "8" are traditionally defined.
|
||
In general, the file name for manual pages located within a particular
|
||
section end with <code class="filename">.<section></code>.</p><p>In addition, some large sets of application-specific manual
|
||
pages have an additional suffix appended to the manual page filename.
|
||
For example, the MH mail handling system manual pages must have
|
||
<code class="filename">mh</code> appended to all MH manuals. All X Window
|
||
System manual pages must have an <code class="filename">x</code> appended to
|
||
the filename.</p><p>The practice of placing various language manual pages in
|
||
appropriate subdirectories of <code class="filename">/usr/share/man</code> also
|
||
applies to the other manual page hierarchies, such as
|
||
<code class="filename">/usr/local/man</code>. (This portion of the standard
|
||
also applies later in the section on the optional
|
||
<code class="filename">/var/cache/man</code> structure.)</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="usrsharemiscMiscellaneousArchitecture"></a>4.11.7. /usr/share/misc : Miscellaneous architecture-independent data</h3></div></div></div><p>This directory contains miscellaneous architecture-independent
|
||
files which don't require a separate subdirectory under
|
||
<code class="filename">/usr/share</code>.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="specificOptions18"></a>4.11.7.1. Specific Options</h4></div></div></div><p>The following files, or symbolic links to files, must be in
|
||
<code class="filename">/usr/share/misc</code>, if the corresponding subsystem
|
||
is installed:</p><div class="informaltable"><table border="0"><colgroup><col align="left" class="c1"><col align="left" class="c2"></colgroup><thead><tr><th align="left">File</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">ascii</code></td><td align="left">ASCII character set table (optional)</td></tr><tr><td align="left"><code class="filename">termcap</code></td><td align="left">Terminal capability database (optional)</td></tr><tr><td align="left"><code class="filename">termcap.db</code></td><td align="left">Terminal capability database (optional)</td></tr></tbody></table></div><p>Other (application-specific) files may appear here, but a distributor
|
||
may place them in <code class="filename">/usr/lib</code> at their discretion.
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087277008" class="footnote" name="idm236087277008"><sup class="footnote">[35]</sup></a>
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087260144" class="footnote" name="idm236087260144"><sup class="footnote">[36]</sup></a>
|
||
</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="usrshareppd"></a>4.11.8. /usr/share/ppd : Printer definitions (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="usrshareppdPurpose"></a>4.11.8.1. Purpose</h4></div></div></div><p><code class="filename">/usr/share/ppd</code> contains PostScript Printer
|
||
Definition (PPD) files, which are used as descriptions of printer
|
||
drivers by many print systems. PPD files may be placed in this
|
||
directory, or in a subdirectory.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="usrsharesgmlSgmlAndXmlData"></a>4.11.9. /usr/share/sgml : SGML data (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose29"></a>4.11.9.1. Purpose</h4></div></div></div><p><code class="filename">/usr/share/sgml</code> contains
|
||
architecture-independent files used by SGML applications, such
|
||
as ordinary catalogs (not the centralized ones, see
|
||
<code class="filename">/etc/sgml</code>), DTDs, entities, or style
|
||
sheets.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="specificOptions19"></a>4.11.9.2. Specific Options</h4></div></div></div><p>The following directories, or symbolic links to directories,
|
||
must be in <code class="filename">/usr/share/sgml</code>, if the corresponding
|
||
subsystem is installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">docbook</code></td><td align="left">docbook DTD (optional)</td></tr><tr><td align="left"><code class="filename">tei</code></td><td align="left">tei DTD (optional)</td></tr><tr><td align="left"><code class="filename">html</code></td><td align="left">html DTD (optional)</td></tr><tr><td align="left"><code class="filename">mathml</code></td><td align="left">mathml DTD (optional)</td></tr></tbody></table></div><p>Other files that are not specific to a given DTD may reside in
|
||
their own subdirectory.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idm236087237360"></a>4.11.10. /usr/share/xml : XML data (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="idm236087236720"></a>4.11.10.1. Purpose</h4></div></div></div><p><code class="filename">/usr/share/xml</code> contains
|
||
architecture-independent files used by XML applications, such
|
||
as ordinary catalogs (not the centralized ones, see
|
||
<code class="filename">/etc/sgml</code>), DTDs, entities, or style
|
||
sheets.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="idm236087234432"></a>4.11.10.2. Specific Options</h4></div></div></div><p>The following directories, or symbolic links to directories,
|
||
must be in <code class="filename">/usr/share/xml</code>, if the corresponding
|
||
subsystem is installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">docbook</code></td><td align="left">docbook XML DTD (optional)</td></tr><tr><td align="left"><code class="filename">xhtml</code></td><td align="left">XHTML DTD (optional)</td></tr><tr><td align="left"><code class="filename">mathml</code></td><td align="left">MathML DTD (optional)</td></tr></tbody></table></div></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="usrsrcSourceCode"></a>4.12. /usr/src : Source code (optional)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose30"></a>4.12.1. Purpose</h3></div></div></div><p>Source code may be placed in this
|
||
subdirectory, only for reference purposes.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236087222480" class="footnote" name="idm236087222480"><sup class="footnote">[37]</sup></a>
|
||
</p></div></div><div class="footnotes"><br><hr style="width:100; text-align:left;margin-left: 0"><div id="ftn.idm236087593904" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087593904" class="para"><sup class="para">[21] </sup></a> Miscellaneous
|
||
architecture-independent application-specific static files and
|
||
subdirectories must be placed in <code class="filename">/usr/share</code>.
|
||
</p></div><div id="ftn.idm236087592496" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087592496" class="para"><sup class="para">[22] </sup></a>See below, in the <code class="filename">/usr/libexec</code>
|
||
section, for a discussion of <code class="filename">/usr/lib</code>
|
||
vs. <code class="filename">/usr/libexec</code> for executable binaries.
|
||
</p></div><div id="ftn.idm236087588928" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087588928" class="para"><sup class="para">[23] </sup></a> For example, the <code class="filename">perl5</code> subdirectory for
|
||
Perl 5 modules and libraries.</p></div><div id="ftn.idm236087585280" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087585280" class="para"><sup class="para">[24] </sup></a>
|
||
Some executable commands such as <span class="command"><strong>makewhatis</strong></span> and
|
||
<span class="command"><strong>sendmail</strong></span> have also been traditionally placed in
|
||
<code class="filename">/usr/lib</code>. <span class="command"><strong>makewhatis</strong></span> is an
|
||
internal binary and must be placed in a binary directory; users access
|
||
only <span class="command"><strong>catman</strong></span>. Newer <span class="command"><strong>sendmail</strong></span>
|
||
binaries are now placed by default in <code class="filename">/usr/sbin</code>.
|
||
Additionally, systems using a <span class="emphasis"><em>sendmail</em></span>-compatible
|
||
mail transfer agent must provide <span class="command"><strong>/usr/sbin/sendmail</strong></span>
|
||
as the <span class="command"><strong>sendmail</strong></span> command, either as the executable
|
||
itself or as a symlink to the appropriate executable. </p></div><div id="ftn.idm236087578304" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087578304" class="para"><sup class="para">[25] </sup></a>
|
||
Host-specific data for the X Window System must not be stored in
|
||
<code class="filename">/usr/lib/X11</code>. Host-specific configuration files
|
||
such as <code class="filename">xorg.conf</code> must be stored in
|
||
<code class="filename">/etc/X11</code>. This includes configuration data such
|
||
as <code class="filename">system.twmrc</code> even if it is only made a
|
||
symbolic link to a more global configuration file (probably in
|
||
<code class="filename">/usr/lib/X11</code>).
|
||
</p></div><div id="ftn.idm236087566784" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087566784" class="para"><sup class="para">[26] </sup></a>See, for example, the "GNU Coding Standards" from
|
||
the Free Software Foundation.</p></div><div id="ftn.idm236087558816" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087558816" class="para"><sup class="para">[27] </sup></a>
|
||
The case where <code class="filename">/usr/lib</code> and <code class="filename">/usr/lib<em class="replaceable"><code><qual></code></em></code> are the
|
||
same (one is a symbolic link to the other) these files and the
|
||
per-application subdirectories will exist.
|
||
</p></div><div id="ftn.idm236087550400" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087550400" class="para"><sup class="para">[28] </sup></a>
|
||
Software placed in <code class="filename">/</code> or
|
||
<code class="filename">/usr</code> may be overwritten by system upgrades
|
||
(though we recommend that distributions do not overwrite data in
|
||
<code class="filename">/etc</code> under these circumstances). For this
|
||
reason, local software must not be placed outside of
|
||
<code class="filename">/usr/local</code> without good reason.
|
||
</p></div><div id="ftn.idm236087505920" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087505920" class="para"><sup class="para">[29] </sup></a>
|
||
Locally installed system administration programs should be placed in
|
||
<code class="filename">/usr/local/sbin</code>.
|
||
</p></div><div id="ftn.idm236087499712" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087499712" class="para"><sup class="para">[30] </sup></a>
|
||
Much of this data originally lived in <code class="filename">/usr</code>
|
||
(<code class="filename">man</code>, <code class="filename">doc</code>) or
|
||
<code class="filename">/usr/lib</code> (<code class="filename">dict</code>,
|
||
<code class="filename">terminfo</code>, <code class="filename">zoneinfo</code>).
|
||
</p></div><div id="ftn.idm236087409888" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087409888" class="para"><sup class="para">[31] </sup></a>Obviously, there are no manual pages in <code class="filename">/</code>
|
||
because they are not required at boot time nor are they required in
|
||
emergencies. Really.</p></div><div id="ftn.idm236087387344" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087387344" class="para"><sup class="para">[32] </sup></a>For example, if <code class="filename">/usr/share/man</code>
|
||
has no manual pages in section 4 (Devices), then
|
||
<code class="filename">/usr/share/man/man4</code> may be omitted.</p></div><div id="ftn.idm236087362160" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087362160" class="para"><sup class="para">[33] </sup></a> A major exception to this rule is the
|
||
United Kingdom, which is `GB' in the ISO 3166, but `UK' for most email
|
||
addresses.</p></div><div id="ftn.idm236087300336" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087300336" class="para"><sup class="para">[34] </sup></a>
|
||
<code class="filename">/usr/local/man</code> is deprecated and may be
|
||
dropped in a future version of this specification.
|
||
</p></div><div id="ftn.idm236087277008" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087277008" class="para"><sup class="para">[35] </sup></a>
|
||
Some such files include:
|
||
|
||
<code class="filename">airport</code>, <code class="filename">birthtoken</code>,
|
||
<code class="filename">eqnchar</code>, <code class="filename">getopt</code>,
|
||
<code class="filename">gprof.callg</code>, <code class="filename">gprof.flat</code>,
|
||
<code class="filename">inter.phone</code>, <code class="filename">ipfw.samp.filters</code>,
|
||
<code class="filename">ipfw.samp.scripts</code>, <code class="filename">keycap.pcvt</code>,
|
||
<code class="filename">mail.help</code>, <code class="filename">mail.tildehelp</code>,
|
||
<code class="filename">man.template</code>, <code class="filename">map3270</code>,
|
||
<code class="filename">mdoc.template</code>, <code class="filename">more.help</code>,
|
||
<code class="filename">na.phone</code>, <code class="filename">nslookup.help</code>,
|
||
<code class="filename">operator</code>, <code class="filename">scsi_modes</code>,
|
||
<code class="filename">sendmail.hf</code>, <code class="filename">style</code>,
|
||
<code class="filename">units.lib</code>, <code class="filename">vgrindefs</code>,
|
||
<code class="filename">vgrindefs.db</code>, <code class="filename">zipcodes</code>.
|
||
|
||
</p></div><div id="ftn.idm236087260144" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087260144" class="para"><sup class="para">[36] </sup></a>
|
||
Historically, the <code class="filename">magic</code> file was placed in
|
||
<code class="filename">/usr/share/misc</code>, but modern variants of the file
|
||
command use several files and place them in
|
||
<code class="filename">/usr/share/file</code>. For compatibility,
|
||
distribution may create a symlink at
|
||
<code class="filename">/usr/share/misc/magic</code>, pointing to
|
||
<code class="filename">/usr/share/file/magic</code>.
|
||
</p></div><div id="ftn.idm236087222480" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236087222480" class="para"><sup class="para">[37] </sup></a>
|
||
Generally, source should not be built within this hierarchy.
|
||
</p></div></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="theVarHierarchy"></a>Chapter 5. The /var Hierarchy</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose31">5.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements12">5.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions20">5.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varaccountProcessAccountingLogs">5.4. /var/account : Process accounting logs (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose32">5.4.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varcacheApplicationCacheData">5.5. /var/cache : Application cache data</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose33">5.5.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions21">5.5.2. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varcachefontsLocallygeneratedFonts">5.5.3. /var/cache/fonts : Locally-generated fonts (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varcachemanLocallyformattedManualPag">5.5.4. /var/cache/man : Locally-formatted manual pages (optional)</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varcrashSystemCrashDumps">5.6. /var/crash : System crash dumps (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose36">5.6.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#vargamesVariableGameData">5.7. /var/games : Variable game data (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose37">5.7.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlibVariableStateInformation">5.8. /var/lib : Variable state information</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose38">5.8.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements13">5.8.2. Requirements</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions23">5.8.3. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varliblteditorgtEditorBackupFilesAn">5.8.4. /var/lib/<editor> : Editor backup files and state (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlibcolor">5.8.5. /var/lib/color : Color management information (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlibhwclockStateDirectoryForHwclo">5.8.6. /var/lib/hwclock : State directory for hwclock (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlibmiscMiscellaneousVariableData">5.8.7. /var/lib/misc : Miscellaneous variable data</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlockLockFiles">5.9. /var/lock : Lock files</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose42">5.9.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varlogLogFilesAndDirectories">5.10. /var/log : Log files and directories</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose43">5.10.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions24">5.10.2. Specific Options</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varmailUserMailboxFiles">5.11. /var/mail : User mailbox files (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose44">5.11.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varoptVariableDataForOpt">5.12. /var/opt : Variable data for /opt</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose45">5.12.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varrunRuntimeVariableData">5.13. /var/run : Run-time variable data</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose46">5.13.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#requirements14">5.13.2. Requirements</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varspoolApplicationSpoolData">5.14. /var/spool : Application spool data</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose47">5.14.1. Purpose</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#specificOptions25">5.14.2. Specific Options</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varspoollpdLineprinterDaemonPrintQu">5.14.3. /var/spool/lpd : Line-printer daemon print queues (optional)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varspoolrwhoRwhodFiles">5.14.4. /var/spool/rwho : Rwhod files (optional)</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#vartmpTemporaryFilesPreservedBetwee">5.15. /var/tmp : Temporary files preserved between system reboots</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose50">5.15.1. Purpose</a></span></dt></dl></dd><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varypNetworkInformationService">5.16. /var/yp : Network Information Service (NIS) database files (optional)</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#purpose51">5.16.1. Purpose</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="purpose31"></a>5.1. Purpose</h2></div></div></div><p><code class="filename">/var</code> contains variable data files. This
|
||
includes spool directories and files, administrative and logging data,
|
||
and transient and temporary files.</p><p>Some portions of <code class="filename">/var</code> are not shareable
|
||
between different systems. For instance,
|
||
<code class="filename">/var/log</code>, <code class="filename">/var/lock</code>, and
|
||
<code class="filename">/var/run</code>. Other portions may be shared, notably
|
||
<code class="filename">/var/mail</code>, <code class="filename">/var/cache/man</code>,
|
||
<code class="filename">/var/cache/fonts</code>, and
|
||
<code class="filename">/var/spool/news</code>.</p><p><code class="filename">/var</code> is specified here in order to make it
|
||
possible to mount <code class="filename">/usr</code> read-only. Everything
|
||
that once went into <code class="filename">/usr</code> that is written to
|
||
during system operation (as opposed to installation and software
|
||
maintenance) must be in <code class="filename">/var</code>.</p><p>If <code class="filename">/var</code> cannot be made a separate
|
||
partition, it is often preferable to move <code class="filename">/var</code>
|
||
out of the root partition and into the <code class="filename">/usr</code>
|
||
partition. (This is sometimes done to reduce the size of the root
|
||
partition or when space runs low in the root partition.) However,
|
||
<code class="filename">/var</code> must not be linked to
|
||
<code class="filename">/usr</code> because this makes separation of
|
||
<code class="filename">/usr</code> and <code class="filename">/var</code> more difficult
|
||
and is likely to create a naming conflict. Instead, link
|
||
<code class="filename">/var</code> to <code class="filename">/usr/var</code>.</p><p>Applications must generally not add directories to the top level
|
||
of <code class="filename">/var</code>. Such directories should only be added
|
||
if they have some system-wide implication, and in consultation with
|
||
the FHS mailing list.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="requirements12"></a>5.2. Requirements</h2></div></div></div><p>The following directories, or symbolic links to directories, are
|
||
required in <code class="filename">/var</code>:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">cache</code></td><td align="left">Application cache data</td></tr><tr><td align="left"><code class="filename">lib</code></td><td align="left">Variable state information</td></tr><tr><td align="left"><code class="filename">local</code></td><td align="left">Variable data for /usr/local</td></tr><tr><td align="left"><code class="filename">lock</code></td><td align="left">Lock files</td></tr><tr><td align="left"><code class="filename">log</code></td><td align="left">Log files and directories</td></tr><tr><td align="left"><code class="filename">opt</code></td><td align="left">Variable data for /opt</td></tr><tr><td align="left"><code class="filename">run</code></td><td align="left">Data relevant to running processes</td></tr><tr><td align="left"><code class="filename">spool</code></td><td align="left">Application spool data</td></tr><tr><td align="left"><code class="filename">tmp</code></td><td align="left">Temporary files preserved between system reboots</td></tr></tbody></table></div><p>Several directories are `reserved' in the sense that they must
|
||
not be used arbitrarily by some new application, since they would
|
||
conflict with historical and/or local practice. They are:</p><pre class="screen"> /var/backups
|
||
/var/cron
|
||
/var/msgs
|
||
/var/preserve
|
||
</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="specificOptions20"></a>5.3. Specific Options</h2></div></div></div><p>The following directories, or symbolic links to directories,
|
||
must be in <code class="filename">/var</code>, if the corresponding subsystem
|
||
is installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">account</code></td><td align="left">Process accounting logs (optional)</td></tr><tr><td align="left"><code class="filename">crash</code></td><td align="left">System crash dumps (optional)</td></tr><tr><td align="left"><code class="filename">games</code></td><td align="left">Variable game data (optional)</td></tr><tr><td align="left"><code class="filename">mail</code></td><td align="left">User mailbox files (optional)</td></tr><tr><td align="left"><code class="filename">yp</code></td><td align="left">Network Information Service (NIS) database files (optional)
|
||
</td></tr></tbody></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="varaccountProcessAccountingLogs"></a>5.4. /var/account : Process accounting logs (optional)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose32"></a>5.4.1. Purpose</h3></div></div></div><p>This directory holds the current active process accounting log
|
||
and the composite process usage data (as used in some UNIX-like
|
||
systems by <span class="command"><strong>lastcomm</strong></span> and
|
||
<span class="command"><strong>sa</strong></span>).</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="varcacheApplicationCacheData"></a>5.5. /var/cache : Application cache data</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose33"></a>5.5.1. Purpose</h3></div></div></div><p><code class="filename">/var/cache</code> is intended for cached data from
|
||
applications. Such data is locally generated as a result of
|
||
time-consuming I/O or calculation. The application must be able to
|
||
regenerate or restore the data. Unlike
|
||
<code class="filename">/var/spool</code>, the cached files can be deleted
|
||
without data loss. The data must remain valid between invocations of
|
||
the application and rebooting the system.</p><p>Files located under <code class="filename">/var/cache</code> may be
|
||
expired in an application specific manner, by the system
|
||
administrator, or both. The application must always be able to
|
||
recover from manual deletion of these files (generally because of a
|
||
disk space shortage). No other requirements are made on the data
|
||
format of the cache directories.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>The existence of a separate directory for cached data allows
|
||
system administrators to set different disk and backup policies from
|
||
other directories in <code class="filename">/var</code>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions21"></a>5.5.2. Specific Options</h3></div></div></div><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">fonts</code></td><td align="left">Locally-generated fonts (optional)</td></tr><tr><td align="left"><code class="filename">man</code></td><td align="left">Locally-formatted manual pages (optional)</td></tr><tr><td align="left"><code class="filename">www</code></td><td align="left">WWW proxy or cache data (optional)</td></tr><tr><td align="left"><code class="filename"><package></code></td><td align="left">Package specific cache data (optional)</td></tr></tbody></table></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="varcachefontsLocallygeneratedFonts"></a>5.5.3. /var/cache/fonts : Locally-generated fonts (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose34"></a>5.5.3.1. Purpose</h4></div></div></div><p>The directory <code class="filename">/var/cache/fonts</code> should be used to store any
|
||
dynamically-created fonts. In particular, all of the fonts which are
|
||
automatically generated by <span class="command"><strong>mktexpk</strong></span> must be located in
|
||
appropriately-named subdirectories of <code class="filename">/var/cache/fonts</code>.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236086662944" class="footnote" name="idm236086662944"><sup class="footnote">[38]</sup></a></p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="specificOptions22"></a>5.5.3.2. Specific Options</h4></div></div></div><p>Other dynamically created fonts may also be placed in this tree,
|
||
under appropriately-named subdirectories of
|
||
<code class="filename">/var/cache/fonts</code>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="varcachemanLocallyformattedManualPag"></a>5.5.4. /var/cache/man : Locally-formatted manual pages (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose35"></a>5.5.4.1. Purpose</h4></div></div></div><p>This directory provides a standard location for sites that provide a
|
||
read-only <code class="filename">/usr</code> partition, but wish to allow caching of
|
||
locally-formatted man pages. Sites that mount <code class="filename">/usr</code> as writable
|
||
(e.g., single-user installations) may choose not to use
|
||
<code class="filename">/var/cache/man</code> and may write formatted man pages into the
|
||
<code class="filename">cat<section></code> directories in <code class="filename">/usr/share/man</code> directly. We
|
||
recommend that most sites use one of the following options instead:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: bullet; "><li class="listitem" style="list-style-type: disc"><p>Preformat all manual pages alongside the unformatted versions.</p></li><li class="listitem" style="list-style-type: disc"><p>Allow no caching of formatted man pages, and require formatting to be
|
||
done each time a man page is brought up.</p></li><li class="listitem" style="list-style-type: disc"><p>Allow local caching of formatted man pages in <code class="filename">/var/cache/man</code>.</p></li></ul></div><p>The structure of <code class="filename">/var/cache/man</code> needs to
|
||
reflect both the fact of multiple man page hierarchies and the
|
||
possibility of multiple language support.</p><p>Given an unformatted manual page that normally appears in
|
||
<code class="filename"><path>/man/<locale>/man<section></code>,
|
||
the directory to place formatted man pages in is
|
||
<code class="filename">/var/cache/man/<catpath>/<locale>/cat<section></code>,
|
||
where <code class="filename"><catpath></code> is derived from
|
||
<code class="filename"><path></code> by removing any leading
|
||
<code class="filename">usr</code> and/or trailing <code class="filename">share</code>
|
||
pathname components. (Note that the
|
||
<code class="filename"><locale></code> component may be missing.)
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236086641360" class="footnote" name="idm236086641360"><sup class="footnote">[39]</sup></a></p><p>Man pages written to <code class="filename">/var/cache/man</code> may
|
||
eventually be transferred to the appropriate preformatted directories
|
||
in the source <code class="filename">man</code> hierarchy or expired; likewise
|
||
formatted man pages in the source <code class="filename">man</code> hierarchy
|
||
may be expired if they are not accessed for a period of time.</p><p>If preformatted manual pages come with a system on read-only
|
||
media (a CD-ROM, for instance), they must be installed in the source
|
||
<code class="filename">man</code> hierarchy
|
||
(e.g. <code class="filename">/usr/share/man/cat<section></code>).
|
||
<code class="filename">/var/cache/man</code> is reserved as a writable cache
|
||
for formatted manual pages.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>Release 1.2 of this standard specified
|
||
<code class="filename">/var/catman</code> for this hierarchy. The path has
|
||
been moved under <code class="filename">/var/cache</code> to better reflect the
|
||
dynamic nature of the formatted man pages. The directory name has
|
||
been changed to <code class="filename">man</code> to allow for enhancing the
|
||
hierarchy to include post-processed formats other than "cat", such as
|
||
PostScript, HTML, or DVI.</p></div></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="varcrashSystemCrashDumps"></a>5.6. /var/crash : System crash dumps (optional)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose36"></a>5.6.1. Purpose</h3></div></div></div><p>This directory holds system crash dumps. As of the date of this
|
||
release of the standard, system crash dumps were not supported under
|
||
Linux but may be supported by other systems which may comply with the
|
||
FHS.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="vargamesVariableGameData"></a>5.7. /var/games : Variable game data (optional)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose37"></a>5.7.1. Purpose</h3></div></div></div><p>Any variable data relating to games in <code class="filename">/usr</code>
|
||
should be placed here. <code class="filename">/var/games</code> should hold
|
||
the variable data previously found in <code class="filename">/usr</code>;
|
||
static data, such as help text, level descriptions, and so on, must
|
||
remain elsewhere, such as
|
||
<code class="filename">/usr/share/games</code>.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p><code class="filename">/var/games</code> has been given a hierarchy of
|
||
its own, rather than leaving it underneath
|
||
<code class="filename">/var/lib</code> as in release 1.2 of this standard.
|
||
The separation
|
||
allows local control of backup strategies, permissions, and disk
|
||
usage, as well as allowing inter-host sharing and reducing clutter in
|
||
<code class="filename">/var/lib</code>. Additionally,
|
||
<code class="filename">/var/games</code> is the path traditionally used by BSD.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="varlibVariableStateInformation"></a>5.8. /var/lib : Variable state information</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose38"></a>5.8.1. Purpose</h3></div></div></div><p>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 <code class="filename">/var/lib</code> to
|
||
configure a package's operation, and the specific file hierarchy
|
||
used to store the data must not be exposed to regular users.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236086612224" class="footnote" name="idm236086612224"><sup class="footnote">[40]</sup></a>
|
||
</p><p>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.</p><p>An application (or a group of inter-related applications) must
|
||
use a subdirectory of <code class="filename">/var/lib</code> for its data.
|
||
There is one required subdirectory,
|
||
<code class="filename">/var/lib/misc</code>, 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
|
||
distribution.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236086608112" class="footnote" name="idm236086608112"><sup class="footnote">[41]</sup></a></p><p><code class="filename">/var/lib/<name></code> is the location that
|
||
must be used for all distribution packaging support. Different
|
||
distributions may use different names, of course.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements13"></a>5.8.2. Requirements</h3></div></div></div><p>The following directories, or symbolic links to directories, are
|
||
required in <code class="filename">/var/lib</code>:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">misc</code></td><td align="left">Miscellaneous state data</td></tr></tbody></table></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions23"></a>5.8.3. Specific Options</h3></div></div></div><p>The following directories, or symbolic links to directories, must be in <code class="filename">/var/lib</code>, if the
|
||
corresponding subsystem is installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><editor></td><td align="left">Editor backup files and state (optional)</td></tr><tr><td align="left"><pkgtool></td><td align="left">Packaging support files (optional)</td></tr><tr><td align="left"><package></td><td align="left">State data for packages and subsystems (optional)</td></tr><tr><td align="left"><code class="filename">color</code></td><td align="left">Color management information (optional)</td></tr><tr><td align="left"><span class="command"><strong>hwclock</strong></span></td><td align="left">State directory for hwclock (optional)</td></tr><tr><td align="left"><span class="command"><strong>xdm</strong></span></td><td align="left">X display manager variable data (optional)</td></tr></tbody></table></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="varliblteditorgtEditorBackupFilesAn"></a>5.8.4. /var/lib/<editor> : Editor backup files and state (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose39"></a>5.8.4.1. Purpose</h4></div></div></div><p>These directories contain saved files generated by any
|
||
unexpected termination of an editor (e.g., <span class="command"><strong>elvis</strong></span>,
|
||
<span class="command"><strong>jove</strong></span>, <span class="command"><strong>nvi</strong></span>).</p><p>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
|
||
subdirectory under <code class="filename">/var/lib</code> (for example, GNU
|
||
Emacs would place lock files in
|
||
<code class="filename">/var/lib/emacs/lock</code>).</p><p>Future editors may require additional state information beyond
|
||
crash-recovery files and lock files — this information should
|
||
also be placed under
|
||
<code class="filename">/var/lib/<editor></code>.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>Previous Linux releases, as well as all commercial vendors, use
|
||
<code class="filename">/var/preserve</code> 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.</p><p>Editor-specific lock files are usually quite different from the
|
||
device or resource lock files that are stored in
|
||
<code class="filename">/var/lock</code> and, hence, are stored under
|
||
<code class="filename">/var/lib</code>.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="varlibcolor"></a>5.8.5. /var/lib/color : Color management information (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="varlibcolorPurpose"></a>5.8.5.1. Purpose</h4></div></div></div><p>This directory is the home for ICC color management files
|
||
installed dynamically. This directory shall be laid out using the
|
||
same rules as the <code class="filename">/usr/share/color</code>
|
||
directory.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="varlibhwclockStateDirectoryForHwclo"></a>5.8.6. /var/lib/hwclock : State directory for hwclock (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose40"></a>5.8.6.1. Purpose</h4></div></div></div><p>This directory contains the file
|
||
<code class="filename">/var/lib/hwclock/adjtime</code>.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>In FHS 2.1, this file was <code class="filename">/etc/adjtime</code>, but
|
||
as <span class="command"><strong>hwclock</strong></span> updates it, that was obviously
|
||
incorrect.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="varlibmiscMiscellaneousVariableData"></a>5.8.7. /var/lib/misc : Miscellaneous variable data</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose41"></a>5.8.7.1. Purpose</h4></div></div></div><p>This directory contains variable data not placed in a
|
||
subdirectory in <code class="filename">/var/lib</code>. An attempt should be
|
||
made to use relatively unique names in this directory to avoid
|
||
namespace conflicts.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236086558032" class="footnote" name="idm236086558032"><sup class="footnote">[42]</sup></a></p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="varlockLockFiles"></a>5.9. /var/lock : Lock files</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose42"></a>5.9.1. Purpose</h3></div></div></div><p>Lock files should be stored within the
|
||
<code class="filename">/var/lock</code> directory structure.</p><p>Lock files for devices and other resources shared by multiple
|
||
applications, such as the serial device lock files that were
|
||
originally found in either <code class="filename">/usr/spool/locks</code> or
|
||
<code class="filename">/usr/spool/uucp</code>, must now be stored in
|
||
<code class="filename">/var/lock</code>. The naming convention which must be
|
||
used is "LCK.." followed by the base name of the device. For example,
|
||
to lock /dev/ttyS0 the file "LCK..ttyS0" would be created.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236086548848" class="footnote" name="idm236086548848"><sup class="footnote">[43]</sup></a></p><p>The format used for the contents of such lock files must be the
|
||
HDB UUCP lock file format. The HDB format is to store the process
|
||
identifier (PID) as a ten byte ASCII decimal number, with a trailing
|
||
newline. For example, if process 1230 holds a lock file, it would
|
||
contain the eleven characters: space, space, space, space, space,
|
||
space, one, two, three, zero, and newline.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="varlogLogFilesAndDirectories"></a>5.10. /var/log : Log files and directories</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose43"></a>5.10.1. Purpose</h3></div></div></div><p>This directory contains miscellaneous log files. Most logs must
|
||
be written to this directory or an appropriate subdirectory.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions24"></a>5.10.2. Specific Options</h3></div></div></div><p>The following files, or symbolic links to files, must be in
|
||
<code class="filename">/var/log</code>, if the corresponding subsystem is
|
||
installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">File</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">lastlog</code></td><td align="left">record of last login of each user</td></tr><tr><td align="left"><code class="filename">messages</code></td><td align="left">system messages from <span class="command"><strong>syslogd</strong></span></td></tr><tr><td align="left"><code class="filename">wtmp</code></td><td align="left">record of all logins and logouts</td></tr></tbody></table></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="varmailUserMailboxFiles"></a>5.11. /var/mail : User mailbox files (optional)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose44"></a>5.11.1. Purpose</h3></div></div></div><p>The mail spool must be accessible through
|
||
<code class="filename">/var/mail</code> and the mail spool files must take the
|
||
form <code class="filename"><username></code>.
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236086527232" class="footnote" name="idm236086527232"><sup class="footnote">[44]</sup></a></p><p>User mailbox files in this location must be stored in the standard
|
||
UNIX mailbox format.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>The logical location for this directory was changed from
|
||
<code class="filename">/var/spool/mail</code> in order to bring FHS in-line
|
||
with nearly every UNIX distribution. This change is important for
|
||
inter-operability since a single <code class="filename">/var/mail</code> is
|
||
often shared between multiple hosts and multiple UNIX distribution
|
||
(despite NFS locking issues).</p><p>It is important to note that there is no requirement to
|
||
physically move the mail spool to this location. However, programs
|
||
and header files must be changed to use
|
||
<code class="filename">/var/mail</code>.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="varoptVariableDataForOpt"></a>5.12. /var/opt : Variable data for /opt</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose45"></a>5.12.1. Purpose</h3></div></div></div><p>Variable data of the packages in <code class="filename">/opt</code> must
|
||
be installed in <code class="filename">/var/opt/<subdir></code>, where
|
||
<code class="filename"><subdir></code> is the name of the subtree in
|
||
<code class="filename">/opt</code> where the static data from an add-on
|
||
software package is stored, except where superseded by another file in
|
||
<code class="filename">/etc</code>. No structure is imposed on the internal
|
||
arrangement of <code class="filename">/var/opt/<subdir></code>.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>Refer to the rationale for <code class="filename">/opt</code>.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="varrunRuntimeVariableData"></a>5.13. /var/run : Run-time variable data</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose46"></a>5.13.1. Purpose</h3></div></div></div><p>This directory was once intended for system information data
|
||
describing the system since it was booted. These functions have been
|
||
moved to <code class="filename">/run</code>; this directory exists to ensure
|
||
compatibility with systems and software using an older version of this
|
||
specification.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="requirements14"></a>5.13.2. Requirements</h3></div></div></div><p>In general, the requirements for <code class="filename">/run</code> shall
|
||
also apply to <code class="filename">/var/run</code>. It is valid to implement
|
||
<code class="filename">/var/run</code> as a symlink to
|
||
<code class="filename">/run</code>.</p><p>The <code class="filename">utmp</code> file, which stores information
|
||
about who is currently using the system, is located in this
|
||
directory.</p><p>Programs should not access both <code class="filename">/var/run</code>
|
||
and <code class="filename">/run</code> directly, except to access
|
||
<code class="filename">/var/run/utmp</code>.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236086500304" class="footnote" name="idm236086500304"><sup class="footnote">[45]</sup></a>
|
||
|
||
</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="varspoolApplicationSpoolData"></a>5.14. /var/spool : Application spool data</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose47"></a>5.14.1. Purpose</h3></div></div></div><p><code class="filename">/var/spool</code> contains data which is awaiting
|
||
some kind of later processing. Data in
|
||
<code class="filename">/var/spool</code> represents work to be done in the
|
||
future (by a program, user, or administrator); often data is deleted
|
||
after it has been processed.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236086493728" class="footnote" name="idm236086493728"><sup class="footnote">[46]</sup></a></p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="specificOptions25"></a>5.14.2. Specific Options</h3></div></div></div><p>The following directories, or symbolic links to directories,
|
||
must be in <code class="filename">/var/spool</code>, if the corresponding
|
||
subsystem is installed:</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">lpd</code></td><td align="left">Printer spool directory (optional)</td></tr><tr><td align="left"><code class="filename">mqueue</code></td><td align="left">Outgoing mail queue (optional)</td></tr><tr><td align="left"><code class="filename">news</code></td><td align="left">News spool directory (optional)</td></tr><tr><td align="left"><code class="filename">rwho</code></td><td align="left">Rwhod files (optional)</td></tr><tr><td align="left"><code class="filename">uucp</code></td><td align="left">Spool directory for UUCP (optional)</td></tr></tbody></table></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="varspoollpdLineprinterDaemonPrintQu"></a>5.14.3. /var/spool/lpd : Line-printer daemon print queues (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose48"></a>5.14.3.1. Purpose</h4></div></div></div><p>The lock file for <span class="command"><strong>lpd</strong></span>,
|
||
<code class="filename">lpd.lock</code>, must be placed in
|
||
<code class="filename">/var/spool/lpd</code>. It is suggested that the lock
|
||
file for each printer be placed in the spool directory for that
|
||
specific printer and named <code class="filename">lock</code>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="specificOptions26"></a>5.14.3.2. Specific Options</h4></div></div></div><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><thead><tr><th align="left">Directory</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="filename">printer</code></td><td align="left">Spools for a specific printer (optional)</td></tr></tbody></table></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="varspoolrwhoRwhodFiles"></a>5.14.4. /var/spool/rwho : Rwhod files (optional)</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="purpose49"></a>5.14.4.1. Purpose</h4></div></div></div><p>This directory holds the <span class="command"><strong>rwhod</strong></span> information
|
||
for other systems on the local net.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>Some BSD releases use <code class="filename">/var/rwho</code> for this
|
||
data; given its historical location in <code class="filename">/var/spool</code>
|
||
on other systems and its approximate fit to the definition of
|
||
`spooled' data, this location was deemed more appropriate.</p></div></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="vartmpTemporaryFilesPreservedBetwee"></a>5.15. /var/tmp : Temporary files preserved between system reboots</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose50"></a>5.15.1. Purpose</h3></div></div></div><p>The <code class="filename">/var/tmp</code> directory is made available
|
||
for programs that require temporary files or directories that are
|
||
preserved between system reboots. Therefore, data stored in
|
||
<code class="filename">/var/tmp</code> is more persistent than data in
|
||
<code class="filename">/tmp</code>.</p><p>Files and directories located in <code class="filename">/var/tmp</code>
|
||
must not be deleted when the system is booted. Although data stored
|
||
in <code class="filename">/var/tmp</code> is typically deleted in a
|
||
site-specific manner, it is recommended that deletions occur at a less
|
||
frequent interval than <code class="filename">/tmp</code>.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="varypNetworkInformationService"></a>5.16. /var/yp : Network Information Service (NIS) database files (optional)</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="purpose51"></a>5.16.1. Purpose</h3></div></div></div><p>Variable data for the Network Information Service (NIS),
|
||
formerly known as the Sun Yellow Pages (YP), must be placed in this
|
||
directory.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p><code class="filename">/var/yp</code> is the standard directory for NIS
|
||
(YP) data and is almost exclusively used in NIS documentation and
|
||
systems.
|
||
|
||
<a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#ftn.idm236086446848" class="footnote" name="idm236086446848"><sup class="footnote">[47]</sup></a></p></div></div></div><div class="footnotes"><br><hr style="width:100; text-align:left;margin-left: 0"><div id="ftn.idm236086662944" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236086662944" class="para"><sup class="para">[38] </sup></a>
|
||
This standard does not currently incorporate the TeX Directory
|
||
Structure (a document that describes the layout TeX files and
|
||
directories), but it may be useful reading. It is located at
|
||
<a class="ulink" href="ftp://ctan.tug.org/tex/" target="_top">ftp://ctan.tug.org/tex/</a></p></div><div id="ftn.idm236086641360" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236086641360" class="para"><sup class="para">[39] </sup></a>
|
||
For example, <code class="filename">/usr/share/man/man1/ls.1</code> is
|
||
formatted into <code class="filename">/var/cache/man/cat1/ls.1</code>, and
|
||
<code class="filename">/usr/X11R6/man/<locale>/man3/XtClass.3x</code> into
|
||
<code class="filename">/var/cache/man/X11R6/<locale>/cat3/XtClass.3x</code>.
|
||
</p></div><div id="ftn.idm236086612224" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236086612224" class="para"><sup class="para">[40] </sup></a>
|
||
Data with exposed filesystem structure should be stored in
|
||
<code class="filename">/srv</code>.
|
||
</p></div><div id="ftn.idm236086608112" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236086608112" class="para"><sup class="para">[41] </sup></a>
|
||
An important difference between this version of this standard and
|
||
previous ones is that applications are now required to use a
|
||
subdirectory of <code class="filename">/var/lib</code>.
|
||
</p></div><div id="ftn.idm236086558032" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236086558032" class="para"><sup class="para">[42] </sup></a>This hierarchy should contain files stored in
|
||
<code class="filename">/var/db</code> in current BSD releases. These include
|
||
<code class="filename">locate.database</code> and
|
||
<code class="filename">mountdtab</code>, and the kernel symbol database(s).
|
||
</p></div><div id="ftn.idm236086548848" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236086548848" class="para"><sup class="para">[43] </sup></a>Then, anything wishing to use <code class="filename">/dev/ttyS0</code>
|
||
can read the lock file and act accordingly (all locks in
|
||
<code class="filename">/var/lock</code> should be world-readable).
|
||
</p></div><div id="ftn.idm236086527232" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236086527232" class="para"><sup class="para">[44] </sup></a>Note that <code class="filename">/var/mail</code> may be a symbolic link to
|
||
another directory.</p></div><div id="ftn.idm236086500304" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236086500304" class="para"><sup class="para">[45] </sup></a>This is to prevent confusion about where transient files are
|
||
located. In general, a program should use either
|
||
<code class="filename">/var/run</code> or <code class="filename">/run</code> to access
|
||
these files, not both.</p></div><div id="ftn.idm236086493728" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236086493728" class="para"><sup class="para">[46] </sup></a>
|
||
UUCP lock files must be placed in <code class="filename">/var/lock</code>. See
|
||
the above section on <code class="filename">/var/lock</code>. </p></div><div id="ftn.idm236086446848" class="footnote"><p><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#idm236086446848" class="para"><sup class="para">[47] </sup></a>
|
||
NIS should not be confused with Sun NIS+, which uses a different
|
||
directory, <code class="filename">/var/nis</code>.
|
||
</p></div></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="operatingSystemSpecificAnnex"></a>Chapter 6. Operating System Specific Annex</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#linux">6.1. Linux</a></span></dt><dd><dl><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#rootDirectory">6.1.1. / : Root directory</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#binEssentialUserCommandBinaries2">6.1.2. /bin : Essential user command binaries (for use by all users)</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#devDevicesAndSpecialFiles">6.1.3. /dev : Devices and special files</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#etcHostspecificSystemConfiguration2">6.1.4. /etc : Host-specific system configuration</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#procKernelAndProcessInformationVir">6.1.5. /proc : Kernel and process information virtual filesystem</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#sbinEssentialSystemBinaries">6.1.6. /sbin : Essential system binaries</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#sysKernelAndSystemInformation">6.1.7. /sys : Kernel and system information virtual filesystem</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrincludeHeaderFilesIncludedByCP">6.1.8. /usr/include : Header files included by C programs</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsrcSourceCode2">6.1.9. /usr/src : Source code</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varspoolcronCronAndAtJobs">6.1.10. /var/spool/cron : cron and at jobs</a></span></dt></dl></dd></dl></div><p>This section is for additional requirements and recommendations
|
||
that only apply to a specific operating system. The material in this
|
||
section should never conflict with the base standard.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="linux"></a>6.1. Linux</h2></div></div></div><p>This is the annex for the Linux operating system.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="rootDirectory"></a>6.1.1. / : Root directory</h3></div></div></div><p>On Linux systems, if the kernel is located in
|
||
<code class="filename">/</code>, we recommend using the names
|
||
<code class="filename">vmlinux</code> or <code class="filename">vmlinuz</code>, which
|
||
have been used in recent Linux kernel source packages.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="binEssentialUserCommandBinaries2"></a>6.1.2. /bin : Essential user command binaries (for use by all users)</h3></div></div></div><p>Linux systems which require them place these additional files into
|
||
<code class="filename">/bin</code>:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="command"><strong>setserial</strong></span></p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="devDevicesAndSpecialFiles"></a>6.1.3. /dev : Devices and special files</h3></div></div></div><p>The following devices must exist under
|
||
<code class="filename">/dev</code>.
|
||
|
||
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="filename">/dev/null</code></span></dt><dd><p>
|
||
All data written to this device is discarded. A read from this device
|
||
will return an EOF condition.
|
||
</p></dd><dt><span class="term"><code class="filename">/dev/zero</code></span></dt><dd><p>
|
||
This device is a source of zeroed out data. All data written to this
|
||
device is discarded. A read from this device will return as many bytes
|
||
containing the value zero as was requested.
|
||
</p></dd><dt><span class="term"><code class="filename">/dev/tty</code></span></dt><dd><p>
|
||
This device is a synonym for the controlling terminal of a
|
||
process. Once this device is opened, all reads and writes will behave
|
||
as if the actual controlling terminal device had been opened.
|
||
</p></dd></dl></div><p>
|
||
|
||
</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>Previous versions of the FHS had stricter requirements for
|
||
<code class="filename">/dev</code>.
|
||
Other devices may also exist in <code class="filename">/dev</code>.
|
||
Device names may exist as symbolic links to other device nodes
|
||
located in <code class="filename">/dev</code>
|
||
or subdirectories of <code class="filename">/dev</code>.
|
||
There is no requirement
|
||
concerning major/minor number values.</p></div><p>
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="etcHostspecificSystemConfiguration2"></a>6.1.4. /etc : Host-specific system configuration</h3></div></div></div><p>Linux systems which require them place these additional files into
|
||
<code class="filename">/etc</code>.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="filename">lilo.conf</code></p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="procKernelAndProcessInformationVir"></a>6.1.5. /proc : Kernel and process information virtual filesystem</h3></div></div></div><p>The <code class="systemitem">proc</code> filesystem
|
||
is the de-facto
|
||
standard Linux method for handling process and system information,
|
||
rather than <code class="filename">/dev/kmem</code>
|
||
and other similar methods.
|
||
We strongly encourage this for the storage and retrieval of process
|
||
information as well as other kernel and memory information.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="sbinEssentialSystemBinaries"></a>6.1.6. /sbin : Essential system binaries</h3></div></div></div><p>Linux systems place commands relating to filesystem maintenance and
|
||
boot loader management into <code class="filename">/sbin</code>.
|
||
</p><p>Optional files for <code class="filename">/sbin</code>:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: bullet; "><li class="listitem" style="list-style-type: disc"><p>Static binaries:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="command"><strong>ldconfig</strong></span></p></li><li class="listitem"><p><span class="command"><strong>sln</strong></span></p></li><li class="listitem"><p><span class="command"><strong>ssync</strong></span></p></li></ul></div><p>Static <span class="command"><strong>ln</strong></span> (<span class="command"><strong>sln</strong></span>) and
|
||
static <span class="command"><strong>sync</strong></span> (<span class="command"><strong>ssync</strong></span>) are
|
||
useful when things go wrong. The primary use of
|
||
<span class="command"><strong>sln</strong></span> (to repair incorrect symlinks in
|
||
<code class="filename">/lib</code> after a poorly orchestrated upgrade) is no
|
||
longer a major concern now that the <span class="command"><strong>ldconfig</strong></span>
|
||
program (usually located in <code class="filename">/usr/sbin</code>)
|
||
exists and
|
||
can act as a guiding hand in upgrading the dynamic libraries. Static
|
||
<span class="command"><strong>sync</strong></span> is useful in some emergency situations.
|
||
Note that these need not be statically linked versions of the standard
|
||
<span class="command"><strong>ln</strong></span> and <span class="command"><strong>sync</strong></span>, but may
|
||
be.</p><p>The <span class="command"><strong>ldconfig</strong></span> binary is optional for
|
||
<code class="filename">/sbin</code> since a site may choose to run
|
||
<span class="command"><strong>ldconfig</strong></span> at boot time, rather than only when
|
||
upgrading the shared libraries. (It's not clear whether or not it is
|
||
advantageous to run <span class="command"><strong>ldconfig</strong></span> on each boot.) Even
|
||
so, some people like <span class="command"><strong>ldconfig</strong></span> around for the
|
||
following (all too common) situation:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>I've just removed <code class="filename">/lib/<file></code>.</p></li><li class="listitem"><p>I can't find out the name of the library because <span class="command"><strong>ls</strong></span> is
|
||
dynamically linked, I'm using a shell that doesn't have <span class="command"><strong>ls</strong></span>
|
||
built-in, and I don't know about using "<span class="command"><strong>echo *</strong></span>" as a
|
||
replacement.</p></li><li class="listitem"><p>I have a static <span class="command"><strong>sln</strong></span>, but I don't know what to call the link.</p></li></ol></div></li><li class="listitem" style="list-style-type: disc"><p>Miscellaneous:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="command"><strong>ctrlaltdel</strong></span></p></li><li class="listitem"><p><span class="command"><strong>kbdrate</strong></span></p></li></ul></div><p>So as to cope with the fact that some keyboards come up with
|
||
such a high repeat rate as to be unusable,
|
||
<span class="command"><strong>kbdrate</strong></span> may be installed in
|
||
<code class="filename">/sbin</code> on some systems.</p><p>Since the default action in the kernel for the Ctrl-Alt-Del key
|
||
combination is an instant hard reboot, it is generally advisable to
|
||
disable the behavior before mounting the root filesystem in read-write
|
||
mode. Some <span class="command"><strong>init</strong></span> suites are able to disable
|
||
Ctrl-Alt-Del, but others may require the
|
||
<span class="command"><strong>ctrlaltdel</strong></span> program, which may be installed in
|
||
<code class="filename">/sbin</code> on those systems.</p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="sysKernelAndSystemInformation"></a>6.1.7. /sys : Kernel and system information virtual filesystem</h3></div></div></div><p>The <code class="systemitem">sys</code> filesystem
|
||
is the location where
|
||
information about devices, drivers, and some kernel features is
|
||
exposed. Its underlying structure is determined by the particular
|
||
Linux kernel being used at the moment, and is otherwise
|
||
unspecified.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="usrincludeHeaderFilesIncludedByCP"></a>6.1.8. /usr/include : Header files included by C programs</h3></div></div></div><p>These symbolic links are required if a C or C++ compiler is
|
||
installed and only for systems not based on glibc.</p><pre class="screen"> /usr/include/asm -> /usr/src/linux/include/asm-<arch>
|
||
/usr/include/linux -> /usr/src/linux/include/linux
|
||
</pre></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="usrsrcSourceCode2"></a>6.1.9. /usr/src : Source code</h3></div></div></div><p>For systems based on
|
||
<code class="systemitem">glibc</code>,
|
||
there are no specific guidelines for
|
||
this directory. For systems based on Linux
|
||
<code class="systemitem">libc</code> revisions prior to
|
||
<code class="systemitem">glibc</code>,
|
||
the following guidelines and rationale apply:</p><p>The only source code that should be placed in a specific
|
||
location is the Linux kernel source code. It is located in
|
||
<code class="filename">/usr/src/linux</code>.</p><p>If a C or C++ compiler is installed, but the complete Linux
|
||
kernel source code is not installed, then the include files from the
|
||
kernel source code must be located in these directories:</p><pre class="screen"> /usr/src/linux/include/asm-<arch>
|
||
/usr/src/linux/include/linux
|
||
</pre><p><code class="filename"><arch></code> is the name of the system
|
||
architecture.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p><code class="filename">/usr/src/linux</code>
|
||
may be a symbolic link to a kernel source code tree.</p></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Rationale</h3><p>It is important that the kernel include files be located in
|
||
<code class="filename">/usr/src/linux</code> and not in
|
||
<code class="filename">/usr/include</code>
|
||
so there are no problems when system
|
||
administrators upgrade their kernel version for the first time.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="varspoolcronCronAndAtJobs"></a>6.1.10. /var/spool/cron : cron and at jobs</h3></div></div></div><p>This directory contains the variable data for the
|
||
<span class="command"><strong>cron</strong></span> and <span class="command"><strong>at</strong></span> programs.</p></div></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="appendix"></a>Chapter 7. Appendix</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#theFhsMailingList">7.1. The FHS mailing list</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#backgroundOfTheFhs">7.2. Background of the FHS</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#generalGuidelines">7.3. General Guidelines</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#scope">7.4. Scope</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#acknowledgments">7.5. Acknowledgments</a></span></dt><dt><span class="section"><a href="https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#contributors">7.6. Contributors</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="theFhsMailingList"></a>7.1. The FHS mailing list</h2></div></div></div><p>The FHS mailing list is located at
|
||
<code class="email"><<a class="email" href="mailto:fhs-discuss@lists.linuxfoundation.org">fhs-discuss@lists.linuxfoundation.org</a>></code>
|
||
(subscription required as a spam limitation measure). Mailing
|
||
list subscription information, archives, etc. are at
|
||
|
||
|
||
|
||
<a class="ulink" href="https://lists.linux-foundation.org/mailman/listinfo/fhs-discuss" target="_top">
|
||
https://lists.linux-foundation.org/mailman/listinfo/fhs-discuss</a>
|
||
</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="backgroundOfTheFhs"></a>7.2. Background of the FHS</h2></div></div></div><p>The process of developing a standard filesystem hierarchy began
|
||
in August 1993 with an effort to restructure the file and directory
|
||
structure of Linux. The FSSTND, a filesystem hierarchy standard
|
||
specific to the Linux operating system, was released on February 14,
|
||
1994. Subsequent revisions were released on October 9, 1994 and March
|
||
28, 1995.</p><p>In early 1995, the goal of developing a more comprehensive
|
||
version of FSSTND to address not only Linux, but other UNIX-like
|
||
systems was adopted with the help of members of the BSD development
|
||
community. As a result, a concerted effort was made to focus on
|
||
issues that were general to UNIX-like systems. In recognition of this
|
||
widening of scope, the name of the standard was changed to Filesystem
|
||
Hierarchy Standard or FHS for short.</p><p>Volunteers who have contributed extensively to this standard are
|
||
listed at the end of this document. This standard represents a
|
||
consensus view of those and other contributors.</p><p>Thanks to Network Operations at the University of California at
|
||
San Diego, and later to SourceForge, who allowed us to use their
|
||
excellent mailing list servers during earlier phases of development.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="generalGuidelines"></a>7.3. General Guidelines</h2></div></div></div><p>Here are some of the guidelines that have been used in the development
|
||
of this standard:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: bullet; "><li class="listitem" style="list-style-type: disc"><p>Solve technical problems while limiting transitional difficulties.</p></li><li class="listitem" style="list-style-type: disc"><p>Make the specification reasonably stable.</p></li><li class="listitem" style="list-style-type: disc"><p>Gain the approval of distributors, developers, and other decision-makers
|
||
in relevant development groups and encourage their participation.</p></li><li class="listitem" style="list-style-type: disc"><p>Provide a standard that is attractive to the implementors of different
|
||
UNIX-like systems.</p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="scope"></a>7.4. Scope</h2></div></div></div><p>This document specifies a standard filesystem hierarchy for FHS
|
||
filesystems by specifying the location of files and directories, and
|
||
the contents of some system files.</p><p>This standard has been designed to be used by system
|
||
integrators, package developers, and system administrators in the
|
||
construction and maintenance of FHS compliant filesystems. It is
|
||
primarily intended to be a reference and is not a tutorial on how to
|
||
manage a conforming filesystem hierarchy.</p><p>The FHS grew out of earlier work on FSSTND, a filesystem
|
||
organization standard for the Linux operating system. It builds on
|
||
FSSTND to address interoperability issues not just in the Linux
|
||
community but in a wider arena including 4.4BSD-based operating
|
||
systems. It incorporates lessons learned in the BSD world and
|
||
elsewhere about multi-architecture support and the demands of
|
||
heterogeneous networking.</p><p>Although this standard is more comprehensive than previous
|
||
attempts at filesystem hierarchy standardization, periodic updates may
|
||
become necessary as requirements change in relation to emerging
|
||
technology. It is also possible that better solutions to the problems
|
||
addressed here will be discovered so that our solutions will no longer
|
||
be the best possible solutions. Supplementary drafts may be released
|
||
in addition to periodic updates to this document. However, a specific
|
||
goal is backwards compatibility from one release of this document to
|
||
the next.</p><p>Comments related to this standard are welcome. Any comments or
|
||
suggestions for changes may be directed to the
|
||
FHS mailing list, or filed as bugs, or both.
|
||
Typographical or grammatical comments should be filed as bugs.
|
||
The bugtracker is at
|
||
|
||
|
||
|
||
<a class="ulink" href="http://bugs.linuxfoundation.org/" target="_top">http://bugs.linuxfoundation.org</a>
|
||
- use the category FHS.
|
||
</p><p>Before sending mail to the mailing list it is requested that you
|
||
first glance at the mailing list archives to avoid excessive re-discussion
|
||
of old topics.</p><p>Questions about how to interpret items in this document may
|
||
occasionally arise. If you have need for a clarification, please
|
||
contact the FHS mailing list. Since this standard represents a
|
||
consensus of many participants, it is important to make certain that
|
||
any interpretation also represents their collective opinion. For this
|
||
reason it may not be possible to provide an immediate response unless
|
||
the inquiry has been the subject of previous discussion.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="acknowledgments"></a>7.5. Acknowledgments</h2></div></div></div><p>The developers of the FHS wish to thank the developers, system
|
||
administrators, and users whose input was essential to this standard.
|
||
We wish to thank each of the contributors who helped to write,
|
||
compile, and compose this standard.</p><p>The FHS Group also wishes to thank those Linux developers who
|
||
supported the FSSTND, the predecessor to this standard. If they
|
||
hadn't demonstrated that the FSSTND was beneficial, the FHS could
|
||
never have evolved.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="contributors"></a>7.6. Contributors</h2></div></div></div><div class="informaltable"><table border="0"><colgroup><col align="center" class="c1"><col align="center" class="c2"><col align="center" class="c3"></colgroup><tbody><tr><td align="left">Brandon S. Allbery</td><td align="left">John A. Martin</td><td align="left">Mike Sangrey</td></tr><tr><td align="left">Keith Bostic</td><td align="left">Ian McCloghrie</td><td align="left">David H. Silber</td></tr><tr><td align="left">Drew Eckhardt</td><td align="left">Chris Metcalf</td><td align="left">Thomas Sippel-Dau</td></tr><tr><td align="left">Rik Faith</td><td align="left">Ian Murdock</td><td align="left">Theodore Ts'o</td></tr><tr><td align="left">Karl Goetz</td><td align="left">David C. Niemi</td><td align="left">Stephen Tweedie</td></tr><tr><td align="left">Stephen Harris</td><td align="left">Lennart Poettering</td><td align="left">Fred N. van Kempen</td></tr><tr><td align="left">Ian Jackson</td><td align="left">Daniel Quinlan</td><td align="left">Bernd Warken</td></tr><tr><td align="left">Andreas Jaeger</td><td align="left">Eric S. Raymond</td><td align="left">Mats Wichmann</td></tr><tr><td align="left"><span class="personname"><span class="firstname">Jeff</span> <span class="surname">Licquia</span></span></td><td align="left"><span class="personname"><span class="firstname">Rusty</span> <span class="surname">Russell</span></span></td><td align="left"><span class="personname"><span class="firstname">Christopher</span> <span class="surname">Yeoh</span></span></td></tr></tbody></table></div></div></div></div>
|
||
<div id="pouch-root"></div></body></html> |