July 9th, 2002, 11:56 AM
RedHat Linux FileSystem
An operating system’s filesystem structure is its most basic level of organization. Almost all of the ways an operating system interacts with its users, applications, and security model are dependent upon the way it stores its files. A filesystem can be seen in terms of two different logical categories of files:
· Shareable Files vs. Unshareable Files
· Variable Files vs. Static Files
Shareable files are those that can be accessed by various hosts and unshareable files are not available to any other hosts. Variable files can change at any time without system administrator intervention and static files do not change without an action from the system administrator or an agent that the system administrator has placed in motion to accomplish that task.
The way in which the operating system and its users need to utilize the files determines the directory where those files should be placed, whether the directory is mounted read-only or read-write, and the level of access allowed on each file. The top level of this organization is crucial, as the access to the underlying directories can be restricted or security problems may manifest themselves if the top level is left disorganized or without a widely-utilized structure. The RedHat filesystem is committed to the Filesystem Hierarchy Standard (FHS), and a brief list of directories are as follows:
1. /root Directory
This directory represents the root user’s home directory.
2. /dev Directory
This directory contains filesystem entries that represent devices that are attached to the system. These files are essential for the system to function properly.
3. /etc Directory
This directory is reserved for configuration files that are local to a machine. The ‘X11’ and ‘skel’ directories should be sub-directories of ‘/etc’. The ‘X11’ directory is for configuration files such as ‘XF86Config’. The ‘skel’ directory is for skeleton user files that are used to populate the ‘/home’ directory when a user is first created.
4. /etc/sysconfig Directory
This directory stores configuration information, many scripts that run at boot time use the files in this directory.
5. /lib Directory
This directory should contain only those libraries that are needed to execute the binaries in ‘/bin’ and ‘/sbin’. These shared library images are particularly important for booting the system and executing commands within the root filesystem.
6. /mnt Directory
This directory refers to temporary mounted filesystems or remote filesystems and storage media, such as CD-ROMS.
7. /bin Directory
This directory contains common Linux user commands.
8. /sbin Directory
This directory contains executables used only by the root user. The executables in ‘/sbin’ are only used to boot and mount ‘/usr’ and perform system recovery operations.
9. /usr Directory
This directory contains files that can be shared across a whole site. The ‘/usr’ directory usually has its own partition, and it should be mountable read-only. The sub-directories under ‘/usr’ are: - ‘bin’ which contains executables, ‘doc’ contains non-FHS compliant documentation pages, ‘etc’ contains system-wide configuration files, ‘include’ contains C header files, ‘lib’ contains object files and libraries that are not designed to be directly utilized by users or shell scripts. The ‘libexec’ directory contains small helper programs called by other programs, ‘kerberos’ contains binary and other files related to Kerberos, ‘scr’ contains source codes and ‘X11R6’ contains files for the X Window System (Xfree86 on RedHat).
10. /usr/local Directory
This directory is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable amongst a group of hosts. The ‘usr/local’ directory is similar in structure to the ‘/usr’ directory.
11. /var Directory
This directory contains variable data files, which includes spool directories and files, administrative and logging data, and transient and temporary files.
12. /opt Directory
This directory provides an area for usually large, static application software packages to be stored. For packages that wish to avoid putting their files throughout the filesystem, ‘/opt’ provides a logical and predictable organizational system under that package’s directory. This gives the system administrator an easy way to determine the role of each file within a particular package.
13. /tmp Directory
This directory contains temporary files used by applications.
RedHat Filesystem Vs. Microsoft Filesystem:
· In a Microsoft filesystem, drive letters represent different storage devices but in Linux all storage devices are fit in into the filesystem hierarchy.
· Slashes, rather than backslashes are used to separate directory names in Linux. For instance, C:\Home\Chris in Microsoft filesystem would be /Home/Chris in Linux filesystem.
· Filenames always have three character suffixes in Microsoft filesystem but in Linux filesystem they have no required meaning but suffixes can be used in Linux for identification purpose.
· Every file and directory in Linux filesystem has permissions and ownership associated it but in Microsoft filesystem there were no file permissions or ownerships built-in, later releases added file and folder attributes to address this problem.
Author: FakeViri (firstname.lastname@example.org)
July 9th, 2002, 12:12 PM
Copy and paste article he took credit for
can be found here - >
all he did was change a few words added some and deleted some and took even more info from other peoples work
neg the newbie up
[shadow]i have a herd of 1337 sheep[/shadow]
Worth should be judged on quality... Not apperance... Anyone can sell you **** inside a pretty box.. The only real gift then is the box..
July 9th, 2002, 12:16 PM
<sarcasm> Oh good... another one. </sarcasm>
FakeViri, did you read the copyright article at the top of the tutorials forum?