À l’origine, il y en avait /binpour les programmes (essentiellement des fichiers binaires exécutables) et très bientôt /devpour les fichiers de périphérique et /libpour le code exécutable supplémentaire chargé par des programmes (bibliothèques). /usraussi est venu très tôt, d' abord pour les données utilisateur, puis comme une zone OS supplémentaire avec son propre binet libpuis mancontenant le manuel sous forme électronique. Le code source était aussi souvent fourni quelque part /usr.
Et il y avait quelques fichiers dans le système d'exploitation qui ne correspondaient à aucune des catégories existantes. Cela incluait un passwdfichier contenant les mots de passe des utilisateurs et un mtabfichier écrit par mount, ainsi que les programmes initultérieurs rcexécutés au démarrage et, avec le temps, de plus en plus de programmes destinés à être exécutés uniquement à des fins d'administration et non dans le cadre d'une utilisation normale.
(Vous pouvez parcourir certains anciens codes source Unix dans l’ arborescence Unix . Les versions antérieures à la V6 sont très fragmentaires. Vous pouvez également consulter les manuels V1 et V6 dans la bibliothèque de pages de manuels .)
Au début, il n'y avait aucune connotation selon laquelle les fichiers /etcétaient des fichiers de configuration. Au tout début, si vous vouliez personnaliser quelque chose, vous recompiliez cette partie du système. À mesure qu'Unix devenait plus puissant, il y avait de plus en plus de choses que vous pouviez faire sans recompiler. Plus on utilisait Unix, plus il y avait de choses que les gens voulaient faire et ils trouvaient le moyen de les faire sans passer par le problème de la recompilation. Si /etcremplis de plus en plus de fichiers texte que les gens ont pu et ont pu personnaliser, il est donc devenu progressivement le répertoire de configuration.
Avec la création de /sbincontenir des programmes destinés uniquement à l'administrateur système, /etcfini par ne contenir que des fichiers texte, dont beaucoup peuvent être personnalisés par l'administrateur système. Quelques fichiers (par exemple /etc/mtab, parfois /etc/resolv.conf) sont automatiquement gérés par les programmes système; il y a une lente tendance à déplacer ces fichiers /rundans le monde Linux.
Sur les systèmes Unix modernes, presque tous les fichiers de configuration du système sont présents /etc, mais tous les fichiers ne /etcsont pas nécessairement des fichiers de configuration. Les distributions Linux typiques et d'autres variantes Unix ne supportent pas très bien la modification de nombreux fichiers provenant de paquets; Au minimum, vous devrez peut-être fusionner manuellement les modifications locales lors de la mise à niveau du système.