Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
FILESYSTEM(7)      FreeBSD Miscellaneous Information Manual      FILESYSTEM(7)

       filesystem - file system organization


       The SunOS file system tree is organized for easy administration.
       Distinct areas within the file system tree are provided for files that
       are private to one machine, files that can be shared by multiple
       machines of a common architecture, files that can be shared by all
       machines, and home directories.  This organization allows the sharable
       files to be stored on one machine, while being accessed by many
       machines using a remote file access mechanism such as Sun's Network
       File System (NFS).  Grouping together similar files makes the file
       system tree easier to upgrade and manage.

       The file system tree consists of a root file system and a collection of
       mountable file systems.  The mount(8) program attaches mountable file
       systems to the file system tree at mount points (directory entries) in
       the root file system, or other previously mounted file systems.  Two
       file systems, / (the root) and /usr, must be mounted in order to have a
       fully functional system.  The root file system is mounted automatically
       by the kernel at boot time; the /usr file system is mounted by the
       /etc/rc.boot script, which is run as part of the booting process.

       The root file system contains files that are unique to each machine; it
       can not be shared among machines.  The root file system contains the
       following directories:

       /dev      Character and block special files.  Device files provide
                 hooks into hardware devices or operating system facilities.
                 The MAKEDEV command (see makedev(8)) builds device files in
                 the /dev directory.  Typically, device files are built to
                 match the kernel and hardware configuration of the machine.

       /etc      Various configuration files and system administration
                 databases that are machine specific.  You can think of /etc
                 as the "home directory" of a machine, defining its
                 "identity." Executable programs are no longer kept in /etc.

       /home     Mount points for home directories.  This directory may be
                 arranged so that shared user files are placed under the
                 directory /home/machine-name on machines serving as file
                 servers.  Machines may then be locally configured with mount
                 points under /home for all of the file servers of interest,
                 with the name of the mount point being the name of the file

       /mnt      A generic mount point.  This is an empty directory available
                 for temporarily mounting file systems on.

       /sbin     Executable programs that are needed in the boot process
                 before /usr is mounted.  /sbin contains only those programs
                 that are needed in order to mount the /usr file system:
                 hostname(1), ifconfig(8C), init(8), mount(8), and sh(1).
                 After /usr is mounted, the full complement of utilities are

       /tmp      Temporary files that are deleted at reboot time.

       /var      Files, such as log files, that are unique to a machine but
                 that can grow to an arbitrary ("variable") size.

       /var/adm  System logging and accounting files.

                 Backup files for vi(1) and ex(1).

                 Subdirectories for files used in printer spooling, mail
                 delivery, cron(8), at(1), etc.

       /var/tmp  Transitory files that are not deleted at reboot time.

       Because it is desirable to keep the root file system small, larger file
       systems are often mounted on /var and /tmp.

       The file system mounted on /usr contains architecture-dependent and
       architecture-independent shareable files.  The subtree rooted at
       /usr/share contains architecture-independent shareable files; the rest
       of the /usr tree contains architecture-dependent files.  By mounting a
       common remote file system, a group of machines with a common
       architecture may share a single /usr file system.  A single /usr/share
       file system can be shared by machines of any architecture.  A machine
       acting as a file server may export many different /usr file systems to
       support several different architectures and operating system releases.
       Clients usually mount /usr read-only to prevent their accidentally
       modifying any shared files.  The /usr file system contains the
       following subdirectories:

       /usr/5bin                System V executables.

       /usr/5include            System V include files.

       /usr/5lib                System V library files.

       /usr/bin                 Executable programs.  The bulk of the system
                                utilities are located here.

       /usr/dict                Dictionary databases.

       /usr/etc                 Executable system administration programs.

       /usr/games               Executable game programs and data.

       /usr/include             Include files.

       /usr/lib                 Program libraries and various architecture-
                                dependent databases.

       /usr/pub                 Various data files.

       /usr/ucb                 Executable programs descended from the
                                Berkeley Software Distribution.

       /usr/share               Subtree for architecture-independent shareable

       /usr/share/man           Subdirectories for the on-line reference
                                manual pages.

       /usr/share/lib           Architecture-independent databases.

       A machine with disks may export root file systems, swap files and /usr
       file systems to diskless or partially-disked machines, which mount
       these into the standard file system hierarchy.  The standard directory
       tree for exporting these file systems is:

       /export                  The root of the exported file system tree.

                                The exported /usr file system supporting
                                architecture-name for the current release.

                                The exported /usr file system supporting
                                architecture-name for SunOS release-name.

       /export/share            The exported common /usr/share directory tree.

       /export/root/hostname    The exported root file system for hostname.

       /export/swap/hostname    The exported swap file for hostname.

       /export/var/hostname     The exported /var directory tree for hostname.

       /export/dump/hostname    The exported dump file for hostname.

       /export/crash/hostname   The exported crash dump directory for

   Changes from Previous Releases
       The file system layout described here is quite a bit different from the
       layout employed previous to release 4.0 of SunOS.  For compatibility
       with earlier releases of SunOS, and other versions of the UNIX system,
       symbolic links are provided for various files and directories linking
       their previous names to their current locations.  The symbolic links
       provided include:

       /bin --> /usr/bin        All programs previously located in /bin are
                                now in /usr/bin.

       /lib --> /usr/lib        All files previously located in /lib are now
                                in /usr/lib.

       /usr/adm --> /var/adm    The entire /usr/adm directory has been moved
                                to /var/adm.

       /usr/spool --> /var/spool
                                The entire /usr/spool directory has been moved
                                to /var/spool.

       /usr/tmp --> /var/tmp    The /usr/tmp directory has been moved to

       /etc/termcap --> /usr/share/lib/termcap

       /usr/5lib/terminfo --> /usr/share/lib/terminfo

       /usr/lib/me --> /usr/share/lib/me

       /usr/lib/ms --> /usr/share/lib/ms

       /usr/lib/tmac --> /usr/share/lib/tmac

       /usr/man --> /usr/share/man

       The following program binaries have been moved from /etc to /usr/etc
       with symbolic links to them left in /etc: arp, clri, cron, chown,
       chroot, config, dkinfo, dmesg, dump, fastboot, fasthalt, fsck, halt,
       ifconfig, link, mkfs, mknod, mount, ncheck, newfs, pstat, rdump,
       reboot, renice, restore, rmt, rrestore, shutdown, umount, update,
       unlink, and vipw.

       In addition, some files and directories have been moved with no
       symbolic link left behind in the old location:

              Old Name            New Name

              /etc/biod           /usr/etc/biod

              /etc/fsirand        /usr/etc/fsirand

              /etc/getty          /usr/etc/getty

              /etc/in.rlogind     /usr/etc/in.rlogind

              /etc/in.routed      /usr/etc/in.routed

              /etc/in.rshd        /usr/etc/in.rshd

              /etc/inetd          /usr/etc/inetd

              /etc/init           /usr/etc/init

              /etc/nfsd           /usr/etc/nfsd

              /etc/portmap        /usr/etc/portmap

              /etc/rpc.lockd      /usr/etc/rpc.lockd

              /etc/rpc.statd      /usr/etc/rpc.statd

              /etc/ypbind         /usr/etc/ypbind


              /usr/preserve       /var/preserve

              /usr/lib/aliases    /etc/aliases

              /stand              /usr/stand

              /etc/yp             /var/yp

       Note: with this new file system organization, the approach to repairing
       a broken file system changes.  One must mount /usr before doing an
       fsck(8), for example.  If the mount point for /usr has been destroyed,
       /usr can be mounted temporarily on /mnt or /tmp.  If the root file
       system on a standalone system is so badly damaged that none of these
       mount points exist, or if /sbin/mount has been corrupted, the only way
       to repair it may be to re-install the root file system.

       at(1), ex(1), hostname(1), sh(1), vi(1), intro(4), nfs(4P), hier(7),
       fsck(8), ifconfig(8C), init(8), makedev(8), mount(8), rc(8)

                                10 January 1988                  FILESYSTEM(7)


Want to link to this manual page? Use this URL:

home | help