Saturday, 3 March 2007

What does /etc stands for in Linux/Unix ?

There is a discussion going on over at Slashdot regarding what /etc in Linux/Unix stands for. Is it an acronym or does it stand for 'et cetera' ? While the opinion is divided, the overwhelming thought is that it stands for et cetera. That is, what ever data which doesn't belong to other directories are put into /etc. Such as the 'motd' file (which stands for "Message Of The Day"). Many of us also look at /etc as a placeholder for the configuration files of programs which we run on our system.

If you look at the Linux file hierarchy, you find the following :
  • /bin - common binaries
  • /sbin - Binaries used for system administration are placed here.
  • /boot - static files of the boot loader. Usually it contain the Linux kernel, Grub boot loader files and so on.
  • /dev - device files such as your CD drive, hard disk, and any other physical device. (In Linux/Unix, the common premise is that everything is a file).
  • /home - user home directories are found here. In unices like FreeBSD, the home directories are found in /usr/home. And in Solaris it is in /export. So quite a big difference here.
  • /lib - Essential shared libraries and kernel modules
  • /mnt - temporary mount point useful for when you insert your USB stick and it gets mounted under /mnt. Though in Ubuntu and the likes, it is usually mounted under /media.
  • /var - variable data, such as logs, news, mail spool files and so on which is constantly being modified by various programs running on your system.
  • /tmp - temporary files are placed here by default.
  • /usr - the secondary hierarchy which contain its own bin and sbin sub-directories.
  • /etc - Usually contain the configuration files for all the programs that run on your Linux/Unix system.
  • /opt - Third party application packages which does not conform to the standard Linux file hierarchy can be installed here.
  • /srv - Contains data for services provided by the system.
And of course there is the /proc directory which does not actually reside on the disk.

The file system hierarchy standard [FSHS] explains /etc as follows :
The /etc hierarchy contains configuration files. A "configuration file" is a local file used to control the operation of a program; it must be static and cannot be an executable binary.
It further goes on to say :
No binaries may be located under '/etc'. And the following directories, or symbolic links to directories are required in /etc:

opt Configuration for /opt
X11 Configuration for the X Window system (optional)
sgml Configuration for SGML (optional)
xml Configuration for XML (optional)
While this is the long and short of the matter, some believe that '/etc' is indeed an acronym and stands for "Editable Text Configuration". Oh well, the media is still not out with the verdict.

No comments:

Post a Comment