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

FreeBSD Manual Pages


home | help
FILESYSTEM(7)	       Miscellaneous Information Manual		 FILESYSTEM(7)

       filesystem - file system	organization


       The  SunOS file system tree is organized	for easy administration.  Dis-
       tinct 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	 data-
		 bases	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: host-
		 name(1),  ifconfig(8C),  init(8), mount(8), and sh(1).	 After
		 /usr is mounted, the full complement of utilities are	avail-

       /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  architec-
       ture  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	subdi-

       /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	Berke-
				ley Software Distribution.

       /usr/share		Subtree	for architecture-independent shareable

       /usr/share/man		Subdirectories	for the	on-line	reference man-
				ual 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 host-

   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 sym-
       bolic 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 sys-
       tem 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