Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1
File Hierarchy System 2.3

File Hierarchy System 2.3

Ratings: (0)|Views: 11|Likes:
Published by abhineet sharma
FHS is one of the best ways to understand how different applications communicate with Operating System. Also, it is necessary to understand File Hierarchy to be a network/system administrator. These are my notes available for free download.
FHS is one of the best ways to understand how different applications communicate with Operating System. Also, it is necessary to understand File Hierarchy to be a network/system administrator. These are my notes available for free download.

More info:

Published by: abhineet sharma on Jan 13, 2012
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





File Hierarchy System 2.3FHS
compliant file system in an OS is assumed to have UNIX like security features.
Criteria to distinguish Directories:
independent distinctions
among files:
 shareablevs. unshareable
variable vs. Static
. Files that differ in either of these respects
 should be
located in different directories—makes it easy to store files with different usagecharacteristics on different filesystems. For example, the files in user home directories areshareable whereas device lock files are not. "Static" files include binaries, libraries,documentation files and other files that do not change without system administrator intervention.
 Not all files are shareable, which is why there is local disk storage too. It is convenient if allthe files a system requires that are stored on a foreign host can be made available by
one or a few directories from the foreign host.
Earlier UNIX like filesystem hierarchies allowed both static and variable files in
 /usr and  /etc.
Static files can be stored on read-only storage for they don't change. So,
wascreated and variable files from
were moved to it; /usr could be
mounted read-only
now.As technology allowed, variables files from
was moved to
The Root Filesystem
: the purpose of this filesystem is to put those files at one place which are enough to boot, restore, recover and/or repair the system.
To boot
a system, enough must be present on the root partition to mount other filesystems. This includes utilities, configuration, boot loader information, and other essential start-up data.
 /usr, /opt,
are designed such that they
may be located onother partitions or filesystems.
To enable recovery
and/or repair of a system, utilities needed by to diagnose andreconstruct a damaged system must be present on the root filesystem.
To restore
a system, those utilities needed to restore from system backups (on floppy,tape, etc.) must be present on the root filesystem.
Size Concern:
The root filesystem isn’t always shareable between networked systems because of having files which are machine dependent eg kernel.
You may have the root filesystem on a large partition, there will be people with smaller  partitions. You may face incompatibilities with other systems using root filesystems onsmaller partitions.
A small root filesystem is less prone to corruption as the result of a system crash.
Applications must never create or require special files or subdirectories in the root directory.Other locations in the FHS hierarchy provide more than enough flexibility for any package.
If corresponding subsystem is installed,
home, root, lib<qual>
directories either must be in /or their symbolic links must.
/bin contains commands—used by both the system administrator and by users—are required
when no other filesystems are mounted (e.g. in single user mode) . Also might be used byscripts. It does not have any directories. Following files must be in it:
gzip, cpio
have been added to make restoration possible(provided / partition isintact). Conversely, if no restoration from the root partition is ever expected, then these binaries might be omitted (e.g., a ROM chip root, mounting /usr through NFS).
If restoration of a system is planned through the network, then
(along witheverything necessary to get an ftp connection) must be available on the root partition.
/boot Directory
contains everything required for the boot process
configuration files notneeded at boot time and the map installer; stores data that is used before the kernel beginsexecuting
user-mode programs—may
include saved master boot sectors and sector mapfiles.
The operating system
kernel must be located
in either / or /boot.
In case, devices in /dev will need to be manually created, /dev must contain a commandnamed MAKEDEV, which can create devices as needed. It may also contain aMAKEDEV.local for any local devices.
/etc directory
hierarchy contains configuration files. A "configuration file" is a local file used tocontrol the operation of a program; it must be static and cannot be an executable binary.
Host-specific configuration files for add-on application software packages must beinstalled within the directory
 /etc/opt/<subdir> .
 No structure is imposed on the internalarrangement of /etc/opt/<subdir>. If a configuration file must reside in a different location inorder for the package or system to function properly, it may be placed in a location other than /etc/opt/<subdir> .
location for all X11 host-specific configuration. This directory is necessary toallow local control if /usr is mounted read only.
Files with names
indicate generic configuration files. File with names
are theDTD-specific centralized catalogs, containing references to all other catalogs needed to usethe given DTD. The super catalog file catalog references all the centralized catalogs.
/lib Directory:
contains those shared library images needed to boot the system and run thecommands in the root filesystem, ie. by binaries in /bin and /sbin.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->