Wofür steht etc?


187

Wofür steht der Ordner "etc" im Stammverzeichnis? Ich denke, dass mir das hilft, mich daran zu erinnern, wo sich bestimmte Dateien befinden.

Update : Könnte für andere nützlich sein, der Ordner wird als Referenz für "Hostspezifische Konfigurationsdateien" verwendet .


32
Ein Backronym, das ich eher mag, ist "Edit To Configure" , aber es gibt keinen Verlauf, der darauf hindeutet, dass dies eine "echte" Bedeutung ist.
dmckee

8
Meine Vermutung wäre Geschichte. Niemand dachte wirklich "Hey, wir werden eine Menge systemweiter Konfigurationsdaten haben!" und so hat noch niemand ein verzeichnis dafür angelegt. Aber natürlich gab es das, und alle haben es /etchineingeschoben, weil es keinen anderen Ort gab, an dem man es hätte ausdrücken können. Poof! De facto Standard. Sie wissen, dass dies /usrursprünglich der Ort war, an dem sich Benutzer-Home-Verzeichnisse befanden?
Omnifarious

4
Es ist auch (ein wenig) interessant festzustellen, dass ältere Versionen von Solaris und HP-UX (und möglicherweise auch andere, die ich vergessen habe) tatsächlich Binärdateien enthielten /etc.
James O'Gorman

1
Bis vor kurzem haben * BSDs noch Benutzer-Home-Verzeichnisse in / usr / home abgelegt.
Michel-Slm

1
In den alten Tagen hielt / etc auch Binärdateien. Ich glaube, die meisten von ihnen sind nach / sbin gewandert
Thorbjørn Ravn Andersen

Antworten:


123

Definiere - / etc? hat eine gute Geschichte.

Sie finden Verweise auf "et cetera" in alten Bell Labs-UNIX-Handbüchern und so weiter - heutzutage wird es nur für die Systemkonfiguration verwendet, aber es war immer dort, wo all die Dinge, die nicht in andere Verzeichnisse passten, abgelegt wurden.


2
"alte Bell Labs UNIX-Handbücher" wo?
Pacerier

163

Ursprünglich gab es /binProgramme (im Wesentlichen ausführbare Binärdateien) und sehr bald /devGerätedateien und /libzusätzlichen ausführbaren Code, der von Programmen (Bibliotheken) geladen wurde. /usrauch kam sehr früh, zunächst für Benutzerdaten, dann als zusätzlichen OS - Bereich mit einer eigenen binund libdann mandas Handbuch in elektronischer Form enthält. Der Quellcode wurde auch oft irgendwo darunter bereitgestellt /usr.

Das Betriebssystem enthielt einige Dateien, die keiner der vorhandenen Kategorien entsprachen. Dazu gehörten eine passwdDatei mit den Kennwörtern der Benutzer und eine mtabDatei, die von erstellt wurde mount, sowie die initund neuere rcProgramme, die beim Booten ausgeführt wurden, und im Laufe der Zeit immer mehr Programme, die nur zu Verwaltungszwecken und nicht im Rahmen der normalen Verwendung ausgeführt werden sollten.

(Sie können alten Unix-Quellcode in der Unix-Struktur durchsuchen . Frühere Versionen als V6 sind sehr fragmentarisch. Handbücher zu V1 und V6 finden Sie auch in der Manual Page Library .)

Zuerst gab es keine Konnotation, dass Dateien in /etcKonfigurationsdateien waren. Wenn Sie in diesen frühen Tagen etwas anpassen wollten, würden Sie diesen Teil des Systems neu kompilieren. Als Unix leistungsfähiger wurde, gab es immer mehr Dinge, die Sie tun konnten, ohne neu zu kompilieren. Mit zunehmender Verbreitung von Unix gab es immer mehr Dinge, die die Leute tun wollten, und sie fanden Möglichkeiten, sie zu tun, ohne sich die Mühe zu machen, sie neu zu kompilieren. Es war so /etcvoll mit immer mehr Textdateien, dass die Leute sie anpassen konnten und es wurde allmählich zum Konfigurationsverzeichnis.

Bei der Erstellung von /sbinProgrammen, die nur für den Systemadministrator bestimmt sind, /etcwurden nur Textdateien erstellt, von denen viele vom Systemadministrator angepasst werden können. Einige Dateien (z. B. /etc/mtabmanchmal /etc/resolv.conf) werden automatisch von Systemprogrammen verwaltet. Es gibt /runin der Linux-Welt einen langsamen Trend, diese Dateien zu verschieben .

Auf modernen Unix-Systemen befinden sich fast alle systemweiten Konfigurationsdateien unter /etc, aber nicht alle Dateien in /etcsind Konfigurationsdateien. Typische Linux-Distributionen und andere Unix-Varianten kommen mit dem Ändern vieler Dateien, die aus Paketen stammen, nicht gut zurecht. Zumindest müssen Sie möglicherweise lokale Änderungen manuell zusammenführen, wenn das System aktualisiert wird.


1
Das Problem der Dateimodifikation wird langsam gelöst, indem Programme mehrere Konfigurationsdateien aus einem Verzeichnis lesen. Einige davon werden mit dem Paket geliefert, andere von Benutzern. Diejenigen, die ausgeliefert werden, können möglicherweise entfernt werden, sollten jedoch nicht vom Benutzer geändert werden. Fantastische und informative Antwort BTW.
Omnifarious

In einigen UNIX-Betriebssystemen finden Sie Symlinks in / etc, die auf Befehle in / bin verweisen.
DarkHeart

@ Gilles, Wo ist die Quelle für "Ursprünglich gab es ..."
Pacerier

1
@Pacerier Erinnerungen an den Quellcode, Binärdateien in Emulatoren, Dokumentationen und Forschungsarbeiten (hauptsächlich von Thompson und Ritchie). Ich habe keine Referenzen. Wenn Sie möchten, können Sie diese gerne aufspüren.
Gilles

47

Es bedeutet "und so weiter". Im Lateinischen wörtlich "und der Rest". Und ich habe Beweise .

Edit: In einem archivierten Beitrag vom 4. März 2007 zitiert Peter H. Salus eine E-Mail, die er "gerade erhalten" hat, von Dennis Richie , dem Mitentwickler von Unix, und macht deutlich, wofür "etc" ursprünglich stand:

Ich versichere Ihnen, dass der ursprüngliche Inhalt von / etc das "Et Cetera" war, das anscheinend nicht an eine andere Stelle passte. Andere Varianten können ihre eigenen Etymologien anders machen.

Grüße,
Dennis


8
Für diejenigen, die nicht wissen, wer Peter Salus ist: amazon.com/Quarter-Century-UNIX-Peter-Salus/dp/0201547775
Warren Young

20

Der Wikipedia-Standardartikel zur Dateisystemhierarchie bietet eine Erklärung dazu.

Hostspezifische systemweite Konfigurationsdateien Die Bedeutung des Namens selbst wurde kontrovers diskutiert. In früheren Versionen des UNIX-Implementierungsdokuments von Bell Labs wird / etc als etcetera-Verzeichnis bezeichnet, da dieses Verzeichnis in der Vergangenheit alles enthielt, was nicht anderswo hingehörte (die FHS beschränkt / etc jedoch auf statische Konfigurationsdateien und enthält möglicherweise keine Binärdateien) ). Seit der Veröffentlichung der frühen Dokumentation wurde der Verzeichnisname auf verschiedene Weise neu benannt. Zu den neueren Interpretationen gehören Backronyms wie "Editable Text Configuration" oder "Extended Tool Chest".

Quelle: http://en.wikipedia.org/wiki//etc#Directory_structure


6

Zu Beginn von UNIX war es sowohl notwendig als auch praktisch, Sachen kurze Namen zu geben. Daher wurden alle Systemverzeichnisse auf drei Buchstaben beschränkt und sind Abkürzungen. Diese Namen sind auf modernen Linux-Systemen immer noch vorhanden. (dh usr-user, var-variable, lib-library). etckommt von 'et cetera', aber ich habe auf mehreren Seiten gesehen, dass ein Backronym erwähnt wird, das die etcderzeitige Funktion darstellt: "editierbare Textkonfiguration", aber auch dies ist nur eine moderne Anpassung, um besser darzustellen, was sich dort befindet.


3

Ich dachte, es bedeutete nur "und so weiter" wie in "etc ..." auf einer Liste.

Dieses Produkt hilft Haustieren wie Hunden, Katzen, etc ...


1
Ich habe das auch gedacht, aber es ergibt für mich keinen Sinn. Warum sollte ein Standard-Root-Linux-Ordner usw. heißen? Aber vielleicht ist das der Fall ...
David Tang

4
Nur den verarmten Kategoriesystemen fehlt eine Kategorie "Verschiedenes". Unix ist groß genug, um einen "sonstigen" Ordner zu benötigen. Sie haben nur einen anderen Namen gewählt, das ist alles.
Warren Young

3

Ich habe immer angenommen, dass es sich um ein anderes Verzeichnis handelt, wie "etc = alles andere, was wir nicht weiter kategorisieren wollen"; Ich persönlich verwende einen solchen Ordner auch in meinem Home-Verzeichnis (nicht etc, sondern "oars" = "(etwas anderes)").



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.