282 lines
6.1 KiB
Plaintext
282 lines
6.1 KiB
Plaintext
|
||
From: abc@banjo.concert.net (Alan B Clegg)
|
||
Newsgroups: alt.os.linux
|
||
Subject: Linux File System Document Revision 1.0
|
||
Date: 9 Mar 92 14:33:45 GMT
|
||
Organization: Concert Network -- Internet Operations Group
|
||
|
||
Before I get a flamefull response, let me tell everyone that this document has
|
||
been through several revisions, and is currently at a point that has pleased
|
||
most people. Please note that it is a *GUIDELINE* and is not *REQUIRED*, but
|
||
if most people follow the guidelines, we all get along a lot better.
|
||
|
||
If you have comments/questions about this document, and you are not on the
|
||
linux-standards mailing list, I would ask that you join the list. The request
|
||
address is: linux-standards-request@banjo.concert.net. Please try to keep
|
||
debate off the news group, and on the mailing list.
|
||
|
||
For those of you on the linux-standards list, the verticle bars in column one
|
||
represent the only changes from draft 2.
|
||
|
||
==== SNIP HERE ====
|
||
|
||
The following is being submitted by Alan Clegg [abc@concert.net] on behalf
|
||
of the Linux-Standards list as the standard for directory file structure
|
||
under Linux.
|
||
|
||
Revision 1.0
|
||
|
||
Complete implementation of this file structure is completely voluntary,
|
||
and will not be enforced, but will be recommended. This specification
|
||
is released as guidelines for people porting and writing software for
|
||
the Linux Operating System to allow easy software installation, upgrade, and
|
||
tailoring on already installed systems.
|
||
|
||
Root Directory:
|
||
|
||
Files:
|
||
{none defined by spec}
|
||
|
||
Directories:
|
||
bin dev etc home lib mnt usr
|
||
|
||
Rationale:
|
||
The root directory should not be cluttered with files or
|
||
directories, and should contain no user programs.
|
||
|
||
/bin Directory:
|
||
|
||
Files:
|
||
sh init mount umount dd cat ls fsck {and as needed}
|
||
|
||
Directories:
|
||
{none defined by spec}
|
||
|
||
Rationale:
|
||
The /bin directory should contain programs that are vital
|
||
to the restoration of other file systems in the case of
|
||
a corrupting crash. No executable in /bin should require
|
||
any other file system to be mounted to execute correctly.
|
||
|
||
/dev Directory:
|
||
|
||
Files:
|
||
{device files}
|
||
|
||
Directories:
|
||
{none define by spec}
|
||
|
||
Rationale:
|
||
Standard UNIX device files. This directory should contain
|
||
device entries for all devices that are supported in the
|
||
standard kernel, even if the hardware device does not exist
|
||
on the system.
|
||
|
||
/etc Directory:
|
||
|
||
Files:
|
||
mtab passwd rc ttytab {and as needed}
|
||
|
||
Directories:
|
||
{none defined by spec}
|
||
|
||
Rationale:
|
||
Standard location of files required during system boot. Files
|
||
in this directory are usually system specific. Most will
|
||
| require human intervention during system upgrade. /etc will
|
||
| also contain administrative binaries that should not be in
|
||
| the normal users PATH.
|
||
|
||
/home Directory:
|
||
|
||
Files:
|
||
NONE
|
||
|
||
Directories:
|
||
{one per user excepting root}
|
||
|
||
Rationale:
|
||
Standard location of users home directories. Will most likely
|
||
be a mounted file system once the system is up. root's home
|
||
directory should be /.
|
||
|
||
/lib Directory:
|
||
|
||
Files:
|
||
{libraries required for system initialization}
|
||
|
||
Directories:
|
||
{none defined by spec}
|
||
|
||
Rationale:
|
||
To keep the size of the root partition small (if separate from
|
||
/usr), the files in this directory should only be ones required
|
||
by files in the root partition.
|
||
|
||
/mnt Directory:
|
||
|
||
Files:
|
||
NONE
|
||
|
||
Directories:
|
||
NONE
|
||
|
||
Rationale:
|
||
Standard mount point for external (transient) file systems.
|
||
Must be available for sub-system installation. Should remain
|
||
as an empty directory.
|
||
|
||
/tmp Directory:
|
||
|
||
Files:
|
||
NONE
|
||
|
||
Directories:
|
||
NONE
|
||
|
||
Rationale:
|
||
Temporary file space available for general program use. May
|
||
become a mounted partition upon system boot.
|
||
|
||
/usr Directory:
|
||
|
||
Files:
|
||
{none defined by spec}
|
||
|
||
Directories:
|
||
adm bin spool local lib etc man include src tmp
|
||
|
||
Rationale:
|
||
/usr is the mount point for the second major (after root)
|
||
hierarchy of file structure and is discussed in the next
|
||
section.
|
||
|
||
/usr/adm Directory:
|
||
|
||
Files:
|
||
{none defined in spec}
|
||
|
||
Directories:
|
||
{none defined in spec}
|
||
|
||
Rationale:
|
||
Location of log files and accounting information.
|
||
|
||
/usr/bin Directory:
|
||
|
||
Files:
|
||
{all executable files from standard distribution not contined
|
||
in /bin}
|
||
|
||
Directories:
|
||
{none defined in spec}
|
||
|
||
Rationale:
|
||
contains 'drop-in' executables that are considered to be
|
||
standard to the UNIX system. These files should NOT be
|
||
Linux specific, but should have the same function as their
|
||
UNIX equivalents.
|
||
|
||
/usr/etc Directory:
|
||
|
||
Files:
|
||
{none defined in spec}
|
||
|
||
Directories:
|
||
{none defined in spec}
|
||
|
||
Rationale:
|
||
contains configuration files for any files in /usr/bin. helps
|
||
to keep /etc clean and small.
|
||
|
||
/usr/spool Directory:
|
||
|
||
Files:
|
||
{none defined in spec}
|
||
|
||
Directories:
|
||
uucp mail
|
||
|
||
Rationale:
|
||
containes spool files for mail, printing, uucp transfer, etc.
|
||
May be a mount point for another volume.
|
||
|
||
/usr/local Directory:
|
||
|
||
Files:
|
||
NONE
|
||
|
||
Directories:
|
||
bin lib etc man src
|
||
|
||
Rationale:
|
||
contains files local to the specific system. will not be
|
||
modified by upgrade process.
|
||
|
||
/usr/lib Directory:
|
||
|
||
Files:
|
||
libc.a crt0.s {and as needed}
|
||
|
||
Directories:
|
||
{none defined in spec}
|
||
|
||
Rationale:
|
||
location for library files required for multi-user system
|
||
operation. This is the directory where program libraries
|
||
| should reside. /usr/lib will also contain binaries required
|
||
| to support programs residing in /usr/bin.
|
||
|
||
/usr/man Directory:
|
||
|
||
Files:
|
||
NONE
|
||
|
||
Directories:
|
||
man1 man2 man3 man4 man5 man6 man7 man8
|
||
|
||
Rationale:
|
||
Contains manual pages for programs that are standard with
|
||
Linux.
|
||
|
||
/usr/include Directory:
|
||
|
||
Files:
|
||
{programmers include files}
|
||
|
||
Directories:
|
||
{as needed}
|
||
|
||
Rationale:
|
||
Standard place for system include files.
|
||
|
||
/usr/src Directory:
|
||
|
||
Files:
|
||
NONE
|
||
|
||
Directories:
|
||
bin lib linux usr.bin usr.lib
|
||
|
||
Rationale:
|
||
Contains source code for all applications in the release.
|
||
/usr/src/linux contains directories required for kernel builds.
|
||
|
||
/usr/tmp Directory:
|
||
|
||
Files:
|
||
NONE
|
||
|
||
|
||
Directories:
|
||
NONE
|
||
|
||
Rationale:
|
||
Used as additional scratch space for programs. If /tmp is
|
||
a mounted file system, /usr/tmp may be a symbolic link to
|
||
/tmp.
|
||
|
||
--
|
||
abc@concert.net Alan Clegg - Network Programmer
|
||
KD4JML (just my luck!) MCNC -- Center for Communications
|
||
|