[nycbug-talk] why /var?

Isaac Levy ike
Sat Feb 19 21:13:09 EST 2005


For the record on this thread, a client's RedHat system,

--
Linux huck 2.4.21-4.ELsmp #1 SMP Fri Oct 3 17:52:56 EDT 2003 i686 i686 
i386 GNU/Linux
HIER(7)                    Linux Programmer???s Manual                  
  HIER(7)



NAME
        hier - Description of the file system hierarchy

DESCRIPTION
        A typical Linux system has, among others, the following 
directories:

        /      This  is  the  root  directory.   This  is  where the 
whole tree
               starts.

        /bin   This directory contains executable programs which are 
needed  in
               single user mode and to bring the system up or repair it.

        /boot  Contains  static files for the boot loader.  This 
directory only
               holds the files which are needed during the boot  
process.   The
               map  installer  and  configuration  files should go to 
/sbin and
               /etc.

        /dev   Special or device files, which refer to physical  
devices.   See
               mknod(1).

        /dos   If both MS-DOS and Linux are run on one computer, this is 
a typ-
               ical place to mount a DOS file system.

        /etc   Contains configuration files which are  local  to  the  
machine.
               Some larger software packages, like X11, can have their 
own sub-
               directories below /etc.  Site-wide configuration  files  
may  be
               placed  here  or  in  /usr/etc.   Nevertheless,  programs 
should
               always look for these files in /etc and you may have  
links  for
               these files to /usr/etc.

        /etc/opt
               Host-specific   configuration   files  for  add-on  
applications
               installed in /opt.

        /etc/sgml
               This directory contains the configuration files for SGML 
and XML
               (optional).

        /etc/skel
               When  a  new  user account is created, files from this 
directory
               are usually copied into the user???s home directory.

        /etc/X11
               Configuration files for the X11 window system (optional).

        /home  On machines with home directories for users, these  are  
usually
               beneath  this directory, directly or not.  The structure 
of this
               directory depends on local administration decisions.

        /lib   This directory should hold those shared libraries that 
are  nec-
               essary  to  boot  the system and to run the commands in 
the root
               filesystem.

        /mnt   This directory contains mount  points  for  temporarily  
mounted
               filesystems

        /opt   This  directory  should  contain  add-on  packages  that 
contain
               static files.

        /proc  This is a mount point for the proc  filesystem,  which  
provides
               information  about  running  processes  and  the  kernel. 
   This
               pseudo-file system is described in more detail in proc(5).

        /root  This directory is usually the home directory for the  
root  user
               (optional).

        /sbin  Like /bin, this directory holds commands needed to boot 
the sys-
               tem, but which are usually not executed by normal users.

        /tmp   This directory contains temporary files  which  may  be  
deleted
               with no notice, such as by a regular job or at system 
boot up.

        /usr   This directory is usually mounted from a separate 
partition.  It
               should hold only sharable, read-only data, so  that  it  
can  be
               mounted by various machines running Linux.

        /usr/X11R6
               The X-Window system, version 11 release 6 (optional).

        /usr/X11R6/bin
               Binaries which belong to the X-Windows system; often, 
there is a
               symbolic link from the more traditional /usr/bin/X11 to 
here.

        /usr/X11R6/lib
               Data files associated with the X-Windows system.

        /usr/X11R6/lib/X11
               These contain miscellaneous files needed to run X;  
Often, there
               is a symbolic link from /usr/lib/X11 to this directory.

        /usr/X11R6/include/X11
               Contains  include  files needed for compiling programs 
using the
               X11 window  system.   Often,  there  is  a  symbolic  
link  from
               /usr/include/X11 to this directory.

        /usr/bin
               This  is  the  primary  directory for executable 
programs.  Most
               programs executed by normal users which are not needed 
for boot-
               ing  or  for  repairing  the  system and which are not 
installed
               locally should be placed in this directory.

        /usr/bin/X11
               is the traditional place to look for X11 executables; on  
Linux,
               it usually is a symbolic link to /usr/X11R6/bin.

        /usr/dict
               Replaced by /usr/share/dict.

        /usr/doc
               Replaced by /usr/share/doc.

        /usr/etc
               Site-wide  configuration  files  to  be  shared  between 
several
               machines may be stored in  this  directory.   However,  
commands
               should  always  reference  those files using the /etc 
directory.
               Links from files in /etc should point to the  appropriate 
  files
               in /usr/etc.

        /usr/games
               Binaries for games and educational programs (optional).

        /usr/include
               Include files for the C compiler.

        /usr/include/X11
               Include files for the C compiler and the X-Windows 
system.  This
               is usually a symbolic link to /usr/X11R6/include/X11.

        /usr/include/asm
               Include files which declare some assembler functions.  
This used
               to be a symbolic link to /usr/src/linux/include/asm.

        /usr/include/linux
               This  contains  information which may change from system 
release
               to  system  release  and  used  to  be  a   symbolic   
link   to
               /usr/src/linux/include/linux to get at operating system 
specific
               information.

               (Note that one should have include files there  that  
work  cor-
               rectly  with  the current libc and in user space. 
However, Linux
               kernel source is not designed to be used with user 
programs  and
               does  not know anything about the libc you are using. It 
is very
               likely that things will break if you  let  
/usr/include/asm  and
               /usr/include/linux point at a random kernel tree. Debian 
systems
               don???t do this and use headers from a known good kernel  
version,
               provided in the libc*-dev package.)

        /usr/include/g++
               Include files to use with the GNU C++ compiler.

        /usr/lib
               Object  libraries,  including  dynamic libraries, plus 
some exe-
               cutables which usually are not invoked directly.   More  
compli-
               cated programs may have whole subdirectories there.

        /usr/lib/X11
               The  usual  place for data files associated with X 
programs, and
               configuration files for the X system itself.  On Linux, 
it  usu-
               ally is a symbolic link to /usr/X11R6/lib/X11.

        /usr/lib/gcc-lib
               contains  executables  and include files for the GNU C 
compiler,
               gcc(1).

        /usr/lib/groff
               Files for the GNU groff document formatting system.

        /usr/lib/uucp
               Files for uucp(1).

        /usr/local
               This is where programs which are local to the site 
typically go.

        /usr/local/bin
               Binaries for programs local to the site.

        /usr/local/doc
               Local documentation.

        /usr/local/etc
               Configuration  files associated with locally installed 
programs.

        /usr/local/games
               Binaries for locally installed games.

        /usr/local/lib
               Files associated with locally installed programs.

        /usr/local/include
               Header files for the local C compiler.

        /usr/local/info
               Info pages associated with locally installed programs.

        /usr/local/man
               Man pages associated with locally installed programs.

        /usr/local/sbin
               Locally installed programs for system administration.

        /usr/local/share
               Local application data that can be shared among different 
archi-
               tectures of the same OS.

        /usr/local/src
               Source code for locally installed software.

        /usr/man
               Replaced by /usr/share/man.

        /usr/sbin
               This  directory contains program binaries for system 
administra-
               tion which are not essential for the boot process, for  
mounting
               /usr, or for system repair.

        /usr/share
               This directory contains subdirectories with specific 
application
               data, that can be shared among different  architectures  
of  the
               same  OS.   Often  one  finds  stuff  here  that used to 
live in
               /usr/doc or /usr/lib or /usr/man.

        /usr/share/dict
               Contains the word lists used by spell checkers.

        /usr/share/doc
               Documentation about installed programs.

        /usr/share/games
               Static data files for games in /usr/games.

        /usr/share/info
               Info pages go here.

        /usr/share/locale
               Locale information goes here.

        /usr/share/man
               Manpages go here in subdirectories according  to  the  
man  page
               sections.

        /usr/share/man/<locale>/man[1-9]
               These  directories  contain manual pages for the specific 
locale
               in source code form. Systems which use  a  unique  
language  and
               code set for all manual pages may omit the <locale> 
substring.

        /usr/share/misc
               Miscellaneous  data that can be shared among different 
architec-
               tures of the same OS.

        /usr/share/nls
               The message catalogs for native language support go here.

        /usr/share/sgml
               Files for SGML and XML.

        /usr/share/terminfo
               The datebase for terminfo.

        /usr/share/tmac
               Troff macros that are not distributed with groff.

        /usr/share/zoneinfo
               Files for timezone information.

        /usr/src
               Source files for different parts of the  system,  
included  with
               some  packages for reference purposes. Don???t work here 
with your
               own projects, as files below /usr  should  be  read-only  
except
               when installing software.

        /usr/src/linux
               This was the traditional place for the kernel source.  
Some dis-
               tributions put here the source for the default kernel 
they ship.
               You should probably use another directory when building 
your own
               kernel.

        /usr/tmp
               Obsolete. This should be a  link  to  /var/tmp.   This  
link  is
               present only for compatibility reasons and shouldn???t be 
used.

        /var   This  directory contains files which may change in size, 
such as
               spool and log files.

        /var/adm
               This directory is superseded by /var/log and should  be  
a  sym-
               bolic link to /var/log.

        /var/backups
               Reserved for historical reasons.

        /var/cache
               Data cached for programs.

        /var/catman/cat[1-9] or /var/cache/man/cat[1-9]
               These directories contain preformatted manual pages 
according to
               their man page section. (The use of preformatted manual 
pages is
               deprecated.)

        /var/cron
               Reserved for historical reasons.

        /var/lib
               Variable state information for programs.

        /var/local
               Variable data for /usr/local.

        /var/lock
               Lock  files are placed in this directory.  The naming 
convention
               for device lock files is LCK..<device>  where  <device>  
is  the
               device???s name in the filesystem.  The format used is 
that of HDU
               UUCP lock files, i.e. lock files contain  a  PID  as  a  
10-byte
               ASCII decimal number, followed by a newline character.

        /var/log
               Miscellaneous log files.

        /var/opt
               Variable data for /opt.

        /var/mail
               Users??? mailboxes. Replaces /var/spool/mail.

        /var/msgs
               Reserved for historical reasons.

        /var/preserve
               Reserved for historical reasons.

        /var/run
               Run-time  variable files, like files holding process 
identifiers
               (PIDs) and logged user information (utmp).  Files in this 
direc-
               tory are usually cleared when the system boots.

        /var/spool
               Spooled (or queued) files for various programs.

        /var/spool/at
               Spooled jobs for at(1).

        /var/spool/cron
               Spooled jobs for cron(1).

        /var/spool/lpd
               Spooled files for printing.

        /var/spool/mail
               Replaced by /var/mail.

        /var/spool/mqueue
               Queued outgoing mail.

        /var/spool/news
               Spool directory for news.

        /var/spool/rwho
               Spooled files for rwhod(8).

        /var/spool/smail
               Spooled files for the smail(1) mail delivery program.

        /var/spool/uucp
               Spooled files for uucp(1).

        /var/tmp
               Like  /tmp,  this  directory holds temporary files stored 
for an
               unspecified duration.

        /var/yp
               Database files for NIS.

CONFORMS TO
        The  Filesystem  Hierarchy  Standard,  Version  2.2   
<http://www.path-
        name.com/fhs/>

BUGS
        This  list  is not exhaustive; different systems may be 
configured dif-
        ferently.

SEE ALSO
        find(1), ln(1), mount(1), proc(5), The Filesystem Hierarchy 
Standard



Linux                             2001-09-07                           
HIER(7)





More information about the talk mailing list