Was ist der beabsichtigte Zweck von Linux- / Unix-Verzeichnissen auf oberster Ebene und was sollten sie enthalten?

5611
therobyouknow

Mögliches Duplizieren:
Linux-Dateisystem

Wie der Titel besagt, was ist der beabsichtigte Zweck von Linux- / Unix-Verzeichnissen auf höchster Ebene und was sollten sie enthalten? Welche Bedeutung haben ihre Namen? zB / var / etc / opt / usr

Gibt es eine definitive Anleitung, die für alle Flavors / Flavors / Releases / Distributionen von Unix und Linux gilt?

Es scheint mir willkürlich zu sein, was der Zweck dieser Verzeichnisse / Ordner ist und was in sie gehen soll.

Was hatten die Entwickler / Ersteller von Unix- und Linux-Varianten für das Design und die Benennung im Sinn?

Der Grund, warum ich frage, ist nicht die akademische Diskussion, sondern das bessere Verständnis des Systems zur Förderung von:

  • effizientere, sauberere, präzise, ​​wiederholbare Wartung und Verbesserungen
  • Schnellere und effizientere Problembehandlung
  • schnellere und effizientere Verwaltung von Installationen
  • Bestimmte Dateien schneller suchen
  • Schreiben Sie plattform- und vertriebsunabhängige Anwendungen, die an den richtigen Speicherorten installiert werden und beispielsweise auf einer Linux-Distribution ausgeführt werden können

Ich hätte auch gerne Antworten auf die Unterverzeichnisse von diesen, zB / usr / lib / usr / local / / var / lib etc ... bitte.

Ich weiß, dass es andere Faktoren gibt, die die oben genannten Punkte beeinflussen können, aber ich suche hier nur nach Antworten auf meine Frage.

Danke im Voraus.

6
Duplikat (Original enthält schöne Bilder in den Antworten): http://superuser.com/questions/548/linux-file-system quack quixote vor 14 Jahren 1
Danke ~ quack die Diagramme sind großartig. Ich hoffe, ich habe anderen geholfen, indem ich dieselbe Frage auf eine andere Weise gestellt habe, um ihre Suche zu erleichtern. Hat Ihren Kommentar angehoben. therobyouknow vor 14 Jahren 0
Ich würde also hoffen, dass wir diese Frage aus diesem Grund behalten und nicht entfernen können. Hat Ihren Kommentar angehoben. Vielen Dank. therobyouknow vor 14 Jahren 0

3 Antworten auf die Frage

9
camh

Was Sie suchen, ist der Filesystem Hierarchy Standard . Antworten auf alle Fragen finden Sie in der FHS.

In Bezug auf das Schreiben von Anwendungen, die einer Linux-Distribution entsprechen, möchten Sie möglicherweise auch die XDG-Basisverzeichnisspezifikation betrachten . Es ist mehr Desktop / Benutzerorientiert.

Vielen Dank. Hat Ihren Kommentar angehoben. Danke auch für das XDG-Item - das beantwortet meine Frage mehr. therobyouknow vor 14 Jahren 0
Ich akzeptiere dies als Antwort, da es Ratschläge ("XDG") zum Schreiben von Anwendungen für Linux-Distributionen enthält. Aber ich sollte sagen, alle Antworten hier sind großartig und hilfreich und danke für die schnelle Antwort. Ich bin ~ quack dafür dankbar, dass Sie das freundliche Diagramm in dem Kommentar unter der Frage (http://superuser.com/questions/548/linux-file-system) erwähnt haben therobyouknow vor 14 Jahren 0
5
David Spillett

Der Filesystem Hierarchy Standard ist hier wahrscheinlich die beste Referenz (siehe Wikipedia-Eintrag und Volltext in verschiedenen Formaten ), wie vom LSB empfohlen . Obwohl keine Distribution, die ich kenne, vollständig zum Standard passt, sind die meisten eng beieinander, daher ist sie eine gute Referenz für die Entscheidung über Ihre eigene "Best Practice".

3
artifex

Es gibt eine Standardstruktur namens Filesystems Hierarchy Standard (FHS). Einige Linux-Darsteller halten sich daran, andere nicht.

In einfachen Worten, wenn es um / usr und / var geht, können Sie sagen, dass / usr vom Benutzer installierte Dateien sind, die sich nicht ändern, und / var für Dateien, die sich ändern (Spool, formatierte Dokumentation). Auf diese Weise können Sie beispielsweise / usr über ein Netzwerk einbinden und über mehrere Computer verfügen, die sich die "statischen" / usr / teilen und über ein lokales / var für Dateien verfügen, die "dynamisch" sind.

Zitate aus dem Linux-Systemadministrator-Handbuch: http://tldp.org/LDP/sag/html/dir-tree-overview.html

/ usr / lib

Ändern der Datendateien für Programme und Subsysteme, einschließlich einiger Konfigurationsdateien für die gesamte Site. Der Name lib stammt aus der Bibliothek. Ursprüngliche Bibliotheken von Programmierunterprogrammen wurden in / usr / lib gespeichert.

/ usr / local

Der Ort für lokal installierte Software und andere Dateien. Distributionen dürfen hier nichts installieren. Es ist ausschließlich für die Verwendung durch den lokalen Administrator reserviert. Auf diese Weise kann er absolut sicher sein, dass keine Aktualisierungen oder Upgrades seiner Distribution jegliche zusätzliche Software überschreiben, die er lokal installiert hat.

/ var / lib

Dateien, die sich ändern, während das System normal läuft.

Weitere Informationen finden Sie unter http://tldp.org/LDP/sag/html/dir-tree-overview.html, wenn andere Verzeichnisse vorhanden sind, die Sie wissen möchten.

s / benutzer installiert abgelegt / benutzerinstallierte Dateien /, s / macht nicht / nicht /. Könnten Sie der FHS selbst einen Link hinzufügen? Ich würde keine Verbindung zu SAG herstellen, außer für einen tiefen Hintergrund - es wurde zuletzt um 2003 aktualisiert, also ist es jetzt eine Antike. James Polley vor 14 Jahren 0
Ich stimme der Antike zu. Ich denke jedoch, dass die Punkte und die Beschreibung der Verzeichnisse gültig und beschreibend sind. Vielen Dank für die Rechtschreibfehler und Grammatikzeiger. artifex vor 14 Jahren 0
Kein Problem :) Der Hintergrund von SAG und älteren Guides ist definitiv interessant - ohne dass Sie nie verstehen würden, warum wir zum Beispiel mit / opt und / srv gelandet sind - aber es ist die FHS, die schnelle Antworten auf den aktuellen Stand gibt Verwendungszweck. James Polley vor 14 Jahren 0