What does etc stand for?
Originally, there was /bin
for programs (essentially, executable binaries), and very soon /dev
for device files and /lib
for extra executable code loaded by programs (libraries). /usr
also came in very early, first for user data, then as an extra OS area with its own bin
and lib
and then man
containing the manual in electronic form. The source code was also often provided somewhere under /usr
.
And there were a few files in the operating system that didn't fit in any of the existing categories. This included a passwd
file containing users' passwords, and an mtab
file written by mount
, and the init
and later rc
programs executed at boot time, and over time more and more programs that were intended to be executed only for administration purpose and not as part of normal usage.
(You can browse some old Unix source code on the Unix Tree. Versions earlier than V6 are very fragmentary. You can also see V1 and V6 manuals at the Manual Page Library.)
At first, there was no connotation that files in /etc
were configuration files. In these very early days, if you wanted to customize something, you'd be recompiling that part of the system. As Unix got more powerful, there were more and more things you could do without recompiling. As Unix got used more widely, there were more and more things people wanted to do, and they found ways of doing them without going through the trouble of recompiling. So /etc
filled up with more and more text files that people could and did customize, hence it gradually became the configuration directory.
With the creation of /sbin
to contain programs intended only for the system administrator, /etc
ended up containing only text files, many of which can be customized by the system administrator. A few files (e.g. /etc/mtab
, sometimes /etc/resolv.conf
) are automatically maintained by system programs; there is a slow trend to move these files to /run
in the Linux world.
On modern unix systems, almost all system-wide configuration files are under /etc
, but not all files in /etc
are configuration files. Typical Linux distributions and other unix variants don't cope very well with modifying many of the files that come from packages; at a minimum, you may end up having to merge local modifications manually when the system is upgraded.
Define - /etc? has some good history.
You can find references to "et cetera" in old Bell Labs UNIX manuals and so on – nowadays it's used only for system configuration, but it used to be where all the stuff that didn't fit into other directories went.
It means "et cetera". In Latin literally "and the rest". And I have proof.
Edit: The original link above, dated March 3, 2007 has been archived. In it Peter H. Salus quotes an email he "just received" from Dennis Richie, co-creator of Unix, making very clear what "etc" initially stood for:
I assure you that the original contents of /etc were the "et cetera" that didn't seem to fit elsewhere. Other variants might do their own etymologies differently.
Regards,
Dennis