up | Inhaltsverzeichniss | Kommentar

Manual page for FILESYSTEM(7)

filesystem - file system organization

SYNOPSIS

/
/usr

DESCRIPTION

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 server.
/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 available.
/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.
/var/preserve
Backup files for vi.1 and ex.1
/var/spool
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 files.
/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.
/export/exec/architecture-name
The exported /usr file system supporting architecture-name for the current release.
/export/exec/architecture-name.release-name
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 hostname.

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 /var/tmp.

/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/lib/sendmail.cf
/etc/sendmail.cf
/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.

SEE ALSO

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


index | Inhaltsverzeichniss | Kommentar

Created by unroff & hp-tools. © somebody (See intro for details). All Rights Reserved. Last modified 11/5/97