Filesystem Hierarchy Standard - Vev

Filesystem Hierarchy Standard

Un article de Vev.

Revision as of 4 mars 2012 à 08:32; view current revision
← Version précédente | Version suivante →
Jump to: navigation, search

The Filesystem Hierarchy Standard (FHS) defines the main directories and their contents in Linux operating systems. For the most part, it is a formalization and extension of the traditional BSD filesystem hierarchy.

The FHS is maintained by the Linux Foundation, a non-profit organization consisting of major software and hardware vendors, such as HP, Red Hat, IBM and Dell.

sourceforge.net/mailarchive/message.php?msg_id=6704992 (ANNOUNCE) FHS 2.3 Released], From: Christopher Yeoh - 2004-01-29, Email Archive: freestandards-fhs-discuss (read-only), Free Standards Group, SourceForge.net</ref>//sourceforge.net/mailarchive/message.php?msg_id=6704992 (ANNOUNCE) FHS 2.3 Released], From: Christopher Yeoh - 2004-01-29, Email Archive: freestandards-fhs-discuss (read-only), Free Standards Group, SourceForge.net</ref>

Sommaire

Overview

www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/html/Deployment_Guide/s1-filesystem-fhs.html file system structure]</ref><ref>SuSE Linux Enterprise Server Administration, Novell authorized courseware, by Jason W. Eckert, Novell; Course Technology, 2006; ISBN 1418837318, 9781418837310</ref><ref>Debian policy on FHS compliance</ref><ref>Ubuntu Linux File system Tree Overview - Community Ubuntu Documentation</ref>//www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/html/Deployment_Guide/s1-filesystem-fhs.html file system structure]</ref><ref>SuSE Linux Enterprise Server Administration, Novell authorized courseware, by Jason W. Eckert, Novell; Course Technology, 2006; ISBN 1418837318, 9781418837310</ref><ref>Debian policy on FHS compliance</ref><ref>Ubuntu Linux File system Tree Overview - Community Ubuntu Documentation</ref>

www.freebsd.org/cgi/man.cgi?query=filesystem&manpath=SunOS+4.1.3 SunOS 4.1.3 manual page for filesystem(7)], dated 10 January 1988 (from the FreeBSD Man Pages library)</ref> later Solaris filesystem(5).<ref>Modèle:Man</ref> <ref> filesystem man page - Solaris 10 11/06 Man Pages


. Retrieved on 2011-10-15. </ref>//www.freebsd.org/cgi/man.cgi?query=filesystem&manpath=SunOS+4.1.3 SunOS 4.1.3 manual page for filesystem(7)], dated 10 January 1988 (from the FreeBSD Man Pages library)</ref> later Solaris filesystem(5).<ref>Modèle:Man</ref> <ref> filesystem man page - Solaris 10 11/06 Man Pages


. Retrieved on 2011-10-15. </ref>

Modern Linux distributions include a /sys directory as a virtual filesystem (sysfs, comparable to /proc, which is a procfs), which stores and allows modification of the devices connected to the system, whereas many traditional UNIX and Unix-like operating systems use /sys as a symbolic link to the kernel source tree.Modèle:Citation needed

Some Linux systems such as GoboLinux and Syllable Server use a completely different approach from the FHS. Modèle:Clarify

History

garrett.damore.org/fsstnd/fsstnd.html The Linux Filesystem Standard], by Garrett D'Amore, Page 45-47 in Linux Journal, July 1995, Issue 15</ref>//garrett.damore.org/fsstnd/fsstnd.html The Linux Filesystem Standard], by Garrett D'Amore, Page 45-47 in Linux Journal, July 1995, Issue 15</ref>

In early 1996, 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.

Release history

Meaning
Red Old Standard/Draft; not supported
Yellow Old Standard; still supported
Green Current Standard
Blue Future Draft
Version Release Date Notes
v1.0 1994-02-14

www.ibiblio.org/pub/Linux/docs/fsstnd/old/fsstnd-1.0/</ref>//www.ibiblio.org/pub/Linux/docs/fsstnd/old/fsstnd-1.0/</ref>

v1.1 1994-10-09

www.ibiblio.org/pub/Linux/docs/fsstnd/old/fsstnd-1.0/</ref>//www.ibiblio.org/pub/Linux/docs/fsstnd/old/fsstnd-1.1/</ref>

v1.2 1995-03-28

www.ibiblio.org/pub/Linux/docs/fsstnd/old/fsstnd-1.0/</ref>//www.ibiblio.org/pub/Linux/docs/fsstnd/old/</ref>

v2.0 1997-10-26

www.pathname.com/fhs/announce-2.0.html</ref><ref>http://www.skytel.co.cr/linux/research/1997/1116/index.htm</ref><ref>http://www.ibiblio.org/pub/Linux/docs/fsstnd/</ref>//www.pathname.com/fhs/announce-2.0.html</ref><ref>http://www.skytel.co.cr/linux/research/1997/1116/index.htm</ref><ref>http://www.ibiblio.org/pub/Linux/docs/fsstnd/</ref>

v2.1 2000-04-12

www.pathname.com/fhs/announce-2.1.html</ref><ref>

v2.1 2000-04-12

www.pathname.com/fhs/announce-2.1.html</ref><ref>http://lists.debian.org/lsb-spec/2000/04/msg00005.html</ref><ref>http://cs.acadiau.ca/~jdiamond/Acadia-Linux-template-tutorial/resources/fhs-2.1.pdf</ref>//www.pathname.com/fhs/announce-2.1.html</ref><ref>http://lists.debian.org/lsb-spec/2000/04/msg00005.html</ref><ref>http://cs.acadiau.ca/~jdiamond/Acadia-Linux-template-tutorial/resources/fhs-2.1.pdf</ref>

v2.2 2001-05-23

www.pathname.com/fhs/announce-2.1.html</ref><ref>

v2.2 2001-05-23

www.pathname.com/fhs/announce-2.1.html</ref><ref>http://lists.debian.org/lsb-spec/2000/04/msg00005.html</ref><ref>http://cs.acadiau.ca/~jdiamond/Acadia-Linux-template-tutorial/resources/fhs-2.1.pdf</ref>//www.pathname.com/fhs/pub/fhs-2.2.pdf</ref>

v2.3 2004-01-29

www.pathname.com/fhs/announce-2.1.html</ref><ref>

v2.3 2004-01-29

www.pathname.com/fhs/announce-2.1.html</ref><ref>http://lists.debian.org/lsb-spec/2000/04/msg00005.html</ref><ref>http://cs.acadiau.ca/~jdiamond/Acadia-Linux-template-tutorial/resources/fhs-2.1.pdf</ref>//www.pathname.com/fhs/pub/fhs-2.3.pdf</ref>

v3.0 TBA

www.pathname.com/fhs/announce-2.1.html</ref><ref>

v3.0 TBA

www.pathname.com/fhs/announce-2.1.html</ref><ref>http://lists.debian.org/lsb-spec/2000/04/msg00005.html</ref><ref>http://cs.acadiau.ca/~jdiamond/Acadia-Linux-template-tutorial/resources/fhs-2.1.pdf</ref>//www.linuxfoundation.org/collaborate/workgroups/lsb/fhs</ref>

Directory structure

In the FHS all files and directories appear under the root directory "/", even if they are stored on different physical devices. Note however that some of these directories may or may not be present on a Unix system depending on whether certain subsystems, such as the X Window System, are installed.

The majority of these directories exist in all UNIX operating systems and are generally used in much the same way; however, the descriptions here are those used specifically for the FHS, and are not considered authoritative for platforms other than Linux.

Directory Description
/ Primary hierarchy root and root directory of the entire file system hierarchy.
/bin
Essential command binaries that need to be available in single user mode; for all users, e.g., cat, ls, cp.
/boot
Boot loader files, e.g., kernels, initrd; often a separate partition<ref>A separate partition is generally only used when bootloaders are incapable of reading the main filesystem (e.g. SILO does not recognize XFS) or other problems not easily resolvable by users.</ref>
/dev
Essential devices, e.g., /dev/null.
/etc
Host-specific system-wide configuration files

www.bitsavers.org/pdf/bellLabs/unix/PreliminaryUnixImplementationDocument_Jun72.pdf}}</ref> as this directory historically held everything that did not belong elsewhere (however, the FHS restricts /etc to static configuration files and may not contain binaries).<ref>

Directory structure

In the FHS all files and directories appear under the root directory "/", even if they are stored on different physical devices. Note however that some of these directories may or may not be present on a Unix system depending on whether certain subsystems, such as the X Window System, are installed.

The majority of these directories exist in all UNIX operating systems and are generally used in much the same way; however, the descriptions here are those used specifically for the FHS, and are not considered authoritative for platforms other than Linux.

Directory Description
/ Primary hierarchy root and root directory of the entire file system hierarchy.
/bin
Essential command binaries that need to be available in single user mode; for all users, e.g., cat, ls, cp.
/boot
Boot loader files, e.g., kernels, initrd; often a separate partition<ref>A separate partition is generally only used when bootloaders are incapable of reading the main filesystem (e.g. SILO does not recognize XFS) or other problems not easily resolvable by users.</ref>
/dev
Essential devices, e.g., /dev/null.
/etc
Host-specific system-wide configuration files

www.bitsavers.org/pdf/bellLabs/unix/PreliminaryUnixImplementationDocument_Jun72.pdf}}</ref> as this directory historically held everything that did not belong elsewhere (however, the FHS restricts /etc to static configuration files and may not contain binaries).<ref>http://www.pathname.com/fhs/pub/fhs-2.3.html#ETCHOSTSPECIFICSYSTEMCONFIGURATION</ref> Since the publication of early documentation, the directory name has been re-designated in various ways. Recent interpretations include Backronyms such as "Editable Text Configuration" or "Extended Tool Chest".<ref>Define - /etc?, Posted by Cliff, March 03 2007 - Slashdot</ref>//www.bitsavers.org/pdf/bellLabs/unix/PreliminaryUnixImplementationDocument_Jun72.pdf}}</ref> as this directory historically held everything that did not belong elsewhere (however, the FHS restricts /etc to static configuration files and may not contain binaries).<ref>http://www.pathname.com/fhs/pub/fhs-2.3.html#ETCHOSTSPECIFICSYSTEMCONFIGURATION</ref> Since the publication of early documentation, the directory name has been re-designated in various ways. Recent interpretations include Backronyms such as "Editable Text Configuration" or "Extended Tool Chest".<ref>Define - /etc?, Posted by Cliff, March 03 2007 - Slashdot</ref>

/etc/opt
Configuration files for /opt/.
/etc/X11
Configuration files for the X Window System, version 11.
/etc/sgml
Configuration files for SGML.
/etc/xml
Configuration files for XML.
/home
Users' home directories, containing saved files, personal settings, etc.; often a separate partition.
/lib
Libraries essential for the binaries in /bin/ and /sbin/.
/media
Mount points for removable media such as CD-ROMs (appeared in FHS-2.3).
/mnt
Temporarily mounted filesystems.
/opt

www.pathname.com/fhs/pub/fhs-2.3.html#OPTADDONAPPLICATIONSOFTWAREPACKAGES</ref>//www.pathname.com/fhs/pub/fhs-2.3.html#OPTADDONAPPLICATIONSOFTWAREPACKAGES</ref>

/proc
Virtual filesystem documenting kernel and process status as text files, e.g., uptime, network. In Linux, corresponds to a Procfs mount.
/root
Home directory for the root user.
/sbin
Essential system binaries, e.g., init, ip, mount.
/srv
Site-specific data which are served by the system.
/tmp
Temporary files (see also /var/tmp). Often not preserved between system reboots.
/usr

www.pathname.com/fhs/pub/fhs-2.3.html.</ref>//www.pathname.com/fhs/pub/fhs-2.3.html.</ref>

/usr/bin
Non-essential command binaries (not needed in single user mode); for all users.
/usr/include
Standard include files.
/usr/lib
Libraries for the binaries in /usr/bin/ and /usr/sbin/.
/usr/sbin
Non-essential system binaries, e.g., daemons for various network-services.
/usr/share
Architecture-independent (shared) data.
/usr/src
Source code, e.g., the kernel source code with its header files.
/usr/X11R6
X Window System, Version 11, Release 6.
/usr/local
Tertiary hierarchy for local data, specific to this host. Typically has further subdirectories, e.g., bin/, lib/, share/.<ref>Historically and strictly according to the standard, /usr/local/ is for data that must be stored on the local host (as opposed to /usr/, which may be mounted across a network). Most of the time /usr/local/ is used for installing software/data that are not part of the standard operating system distribution (in such case, /usr/ would only contain software/data that are part of the standard operating system distribution). It is possible that the FHS standard may in the future be changed to reflect this de-facto convention).</ref>
/var
Variable files—files whose content is expected to continually change during normal operation of the system—such as logs, spool files, and temporary e-mail files. Sometimes a separate partition.
/var/cache
Application cache data. Such data are locally generated as a result of time-consuming I/O or calculation. The application must be able to regenerate or restore the data. The cached files can be deleted without loss of data.
/var/lib
State information. Persistent data modified by programs as they run, e.g., databases, packaging system metadata, etc.
/var/lock
Lock files. Files keeping track of resources currently in use.
/var/log
Log files. Various logs.
/var/mail
Users' mailboxes.
/var/run
Information about the running system since last boot, e.g., currently logged-in users and running daemons.
/var/spool
Spool for tasks waiting to be processed, e.g., print queues and unread mail.
/var/spool/mail
Deprecated location for users' mailboxes.
/var/tmp
Temporary files to be preserved between reboots.

References

Modèle:Refs

External links

www.linuxfoundation.org/collaborate/workgroups/lsb/fhs Official Home of the Filesystem Hierarchy Standard (FHS)], The Linux Foundation//www.linuxfoundation.org/collaborate/workgroups/lsb/fhs Official Home of the Filesystem Hierarchy Standard (FHS)], The Linux Foundation

  • www.linuxfoundation.org/collaborate/workgroups/lsb/fhs Official Home of the Filesystem Hierarchy Standard (FHS)], The Linux Foundation//refspecs.linuxfoundation.org/fhs.shtml New homepage for specs]

www.linuxfoundation.org/collaborate/workgroups/lsb/fhs Official Home of the Filesystem Hierarchy Standard (FHS)], The Linux Foundation//objectroot.org/ objectroot] – a proposal for a new filesystem hierarchy, based on object-oriented design principles www.linuxfoundation.org/collaborate/workgroups/lsb/fhs Official Home of the Filesystem Hierarchy Standard (FHS)], The Linux Foundation//www-128.ibm.com/developerworks/linux/library/l-proc.html Fortune Cookies through the /proc Filesystem] www.linuxfoundation.org/collaborate/workgroups/lsb/fhs Official Home of the Filesystem Hierarchy Standard (FHS)], The Linux Foundation//ftp2.de.freebsd.org/pub/cLIeNUX/descriptive/DSFH.html The Dotted Standard Filename Hierarchy], yet another very different hierarchy (used in cLIeNUX) (mirror)

Modèle:Use dmy dates