Ich lese / höre ständig, /etc
was für Systemkonfigurationsdateien gilt. Kann mir jemand erklären / eine Vorstellung davon geben, warum diese Skripte, die verschiedene Programme starten / stoppen / neu starten, normalerweise /etc
anstelle von /var
oder in /usr
ähnlicher Form vorliegen?
filesystems
directory-structure
Adam Thompson
quelle
quelle
Antworten:
Schon früh (sowohl historisch als auch beim Booten ...) war dies
/etc
ein Teil von/
(dem ersten gemounteten Dateisystem), während/usr
es nicht war (bis die Festplatten groß wurden)./var
Enthält temporäre Daten, während diese Skripte nicht temporär sind.Es ist nicht so einfach, aber es begann so und es gibt wenig Grund, das gesamte Verzeichnislayout zu überarbeiten.
quelle
/etc
irgendwann tatsächlich ausführbare Binärdateien . Zumindestinit.d
handelt es sich meistens um Skripte auf modernen Systemen. Es ist aber immer noch nicht möglich,/etc
readonly gemountet zu haben ./etc
möglicherweise nicht- konfigurierte Inhalte entfernt werden ./tmp
hält temporäre Daten./var
hält variable DatenStartskripte sind eigentlich ein wichtiger Bestandteil der Systemkonfiguration.
Auch wenn der Startvorgang viel weniger angepasst ist als vor 15 bis 30 Jahren und der größte Teil der Startkonfiguration automatisiert wurde, sind alle administrativen Optionen, die die Startreihenfolge bestimmen, immer noch vorhanden
/etc
.Dies ist eine sehr zentralisierte Möglichkeit, die Systemkonfiguration zu verwalten und zu sichern. Auf den meisten Systemen ist ein Backup
/etc
ausreichend, um eine Neuinstallation des gesamten Systems zu ermöglichen. Sie führen einfach eine vollständige Neuinstallation mit den erforderlichen Programmen durch und stellen Ihre/etc
Sicherung wieder her.quelle
M. Dickey und M. Pelletier haben sich beide in die Räumlichkeiten der Frage eingekauft. Aber die Prämissen sind falsch.
Wenn Sie gelesen haben, dass
/etc
es sich um Systemkonfigurationsdateien handelt, haben Sie etwas gelesen, das nicht das vollständige Bild für Sie darstellt. Schau dir den Namen an. Es ist "et cetera". Die Leute haben irgendwann einmal alles in die Spüle gesteckt./etc/rc
Früher wurde (und wird auf manchen Systemen immer noch) das Programm ausgeführt, um alles zu starten./etc/init
an einer Stelle (in XENIX war zum Beispiel lange vor dem Start noch eine Idee)./etc/profile
,,/etc/zprofile
und der Rest sind definitiv Skripte./etc/netstart
ist ein Programm; wie ist FreeBSD/etc/ipfw.rules
./etc/rc.suspend
und/etc/rc.resume
; und in der Tat/etc/rc.sendmail
,/etc/rc.bsdextended
und/etc/rc.firewall
.Wenn Sie gelesen haben, dass "Skripte, die verschiedene Programme starten / stoppen / neu starten, normalerweise
/etc
anstelle von/var
oder/usr
oder ähnlichem" sind, haben Sie etwas anderes gelesen, das nicht das vollständige Bild für Sie darstellt./usr/local/etc/rc.d/
Verzeichnis für Nicht-Betriebssystem-rc
Skripte vor.rc
Skripte für alle möglichen Dinge leben dort und nicht darunter/etc
./var/sv
,/var/service
und ähnliche Orte. (Mein nosh-Toolset enthält beispielsweise fast tausend Service-Bundles/var/sv
. Die einzigen Service-Bundles, die eingehen/etc/service-bundles
, sind die zuvor benötigten 60 bis 70/usr
, einschließlich der Dienste, die bereitgestellt und/usr
bei Bedarf überprüft werden.)/etc/systemd
ist einiges drin/run/systemd
, einiges drin , einiges drin/usr/lib/systemd
und ( obwohl es aus unanwendbaren Gründen nicht dokumentiert ist ) einiges drin/usr/local/lib/systemd
. Auch hier ist der Großteil der "Dinge zum Starten / Stoppen von Diensten" unter/usr
und nicht unter zu finden/etc
.quelle
Sie sollten den Dateisystem-Hierarchie-Standard überprüfen . Es wird (im Detail) genau erklären, warum dies so ist, aber es enthält auch Informationen zu vielen anderen Pfaden, auf die Sie neugierig sein könnten.
quelle
Digital UNIX platzierte die Skripte sehr vernünftig unter dem
/sbin/init.d
Verzeichnis. Und auch HP-UX, laut Rosetta Stone .quelle