À l’origine, il y en avait /bin
pour les programmes (essentiellement des fichiers binaires exécutables) et très bientôt /dev
pour les fichiers de périphérique et /lib
pour le code exécutable supplémentaire chargé par des programmes (bibliothèques). /usr
aussi est venu très tôt, d' abord pour les données utilisateur, puis comme une zone OS supplémentaire avec son propre bin
et lib
puis man
contenant 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 passwd
fichier contenant les mots de passe des utilisateurs et un mtab
fichier écrit par mount
, ainsi que les programmes init
ultérieurs rc
exé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 /etc
remplis 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 /sbin
contenir des programmes destinés uniquement à l'administrateur système, /etc
fini 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 /run
dans 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 /etc
sont 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.