WikiDer > Dateisystemhierarchie-Standard

Filesystem Hierarchy Standard

Das Dateisystemhierarchie-Standard (FHS) definiert a offener Standard für die Verzeichnis-Struktur vor dem UNIX-ähnlichBetriebssysteme. Das Standardisierung der Verzeichnisstruktur ist unter anderem wichtig für Software-Entwicklung und Paketverwaltung auf Plattformen mit einem Unix-ähnlichen Dateisystem. Daher ist die von used verwendete Verzeichnisstruktur BSD und Linux verwendet werden, finden Sie im Filesystem Hierarchy Standard.

Für die Systemadministration auf einer Unix-ähnlichen Plattform, wie z pc jetzt sofort Linux-Desktop, Einsicht in die Grundprinzipien und den Aufbau der FHS erforderlich. Die FHS ist Teil der Linux-Standardbasis und wird auf der Grundlage der IEEE 1003.n POSIX-Norm. Die FHS wird betreut von Die Linux Foundation.

Typisches Linux-Stammverzeichnis

Vorwort

Wie 'Festplatteninhalt', der Inhalt eines Computersystems, für den Benutzer sichtbar wird, ist bei "MS-DOS-Systemen" und "Unix-ähnlichen Systemen" sehr unterschiedlich. Auf einem Windows-Rechner sieht man Laufwerksbuchstaben (Laufwerksbuchstaben), C:, D: usw. gefolgt von Pfadnamen (Pfadnamen) wie C:WINDOWSSYSTEM32, das mit dem Namen einer Datei endet, zum Beispiel NOTEPAD.EXE.Wenn ein Laufwerk wie a Festplatte oder USB Stick hinzugefügt wird, erscheint ein neuer Laufwerksbuchstabe.

Ein festes System kann auf einem 'Linux-ähnlichen' System gesehen werden. Die Spitze des 'Baums', die oberste Hierarchie ist immer a Schrägstrich ohne Zugabe, egal wie viele Steine ​​in den 'Baum' fallen Verzeichnis's sind /bin, /dev, /home, /lib und so weiter, auf alle POSIXSysteme finden Sie diese Struktur.Diese Struktur dient praktischen Zwecken, jedes Verzeichnis hat eine Funktion. Die etablierten Vereinbarungen über diese Darstellung von Verzeichnissen und Dateien sind das, worum es bei FHS geht.

Geschichte

Der Filesystem Hierarchy Standard wurde auf Initiative des initiative Dateisystemhierarchie Standardgruppe. Bevor die ersten Versionen des Filesystem Hierarchy Standards erstellt wurden, gab es bereits eine Reihe von Konventionen zur Klassifizierung von Dateien Unix-Dateisysteme.[1][2] Vor der Ankunft von Paketmanager Softwareinstallation und -verwaltung auf Unix-Plattformen erfolgte oft manuell und Ad-hoc-Basis hingerichtet.

  • Am 14. Februar 1994 wurde FSSTND v1.0[3] veröffentlicht, wonach der 1.1[4] und 1,2[5] Versionen folgten.
  • Am 26. Oktober 1997 wurde die FHS v2.0[6] veröffentlicht.
  • Am 4. Dezember 2000 wurde FHS v2.1[7] veröffentlicht, mehr als ein halbes Jahr später folgte die Version 2.2.[8]
  • Am 29. Januar 2004 wurde die FHS v2.3 werd[9] veröffentlicht.
  • Am 3. Juni 2015 wurde die FHS v3.0 veröffentlicht.[10]

Dateieigenschaften

Die Dateien im Dateisystem werden in Abhängigkeit von ihrer Funktion und ihren Eigenschaften innerhalb eines gut organisierten Systems klassifiziert. Einige Eigenschaften der Verzeichnisse und Dateien sind in den Tabellen farblich gekennzeichnet.

Statisch vs. Variable

FarbcodeEigenschaften
Statisch
Der Inhalt eines statischen Ordners oder Verzeichnisses wird normalerweise während der Systeminstallation im Verzeichnis abgelegt. Auf den Inhalt eines statischen Verzeichnisses kann in der Regel nur vom Benutzer zugegriffen werden Systemadministrator, der Benutzer mit dem Namen 'Wurzel' kann beim Installieren, Aktualisieren oder Aktualisieren von Software geändert werden.
Variable
Ein variabler Ordner oder ein Verzeichnis dient zum Speichern temporärer und variabler Daten und Dateien. Die variablen Dateiverzeichnisse werden normalerweise benannt var oder tmp.
Um ein System zu optimieren, werden variable Verzeichnisse manchmal als separate, schnell zugängliche bezeichnet Partitionen auf einen Festplatte erstellt. Während der Format für diese variablen Verzeichnisse können die am schnellsten erreichbaren Zylinder einer Festplatte reserviert werden.

Wesentlich vs. Optional

FarbcodeEigenschaften
Wesentlich
Diese statischen Verzeichnisse enthalten wesentliche Teile des Systems, die u. a. beim Hochfahren und Arbeiten im System benötigt werden Einzelbenutzermodus.
Optional
Optionale Verzeichnisse müssen nicht in einem Dateisystem vorhanden sein, das dem FHS-Standard entspricht. Diese Verzeichnisse werden innerhalb des FHS definiert, um ihre Speicherorte innerhalb des Dateisystems zu reservieren und ihre Namen aufzuzeichnen. Der Inhalt eines optionalen Verzeichnisses kann entweder statisch oder variabel sein.

Dateien teilen

Im Filesystem Hierarchy Standard sind alle Dateien und Verzeichnisse (Ordner) unter dem Wurzelverzeichnis "/". Dies ist auch dann der Fall, wenn sich die Dateien an einem anderen physischen Ort (einem anderen Computer) befinden, z Netzwerkdateisystem. Dateien können mit anderen Hosts über Netzwerke geteilt werden, wenn sie eine Reihe von Bedingungen erfüllen. Architekturunabhängig Dateien können normalerweise zwischen verschiedenen Hosts geteilt werden, während Konfigurationsdateien im Allgemeinen nicht geteilt werden können. Einige Beispiele sind in der folgenden Tabelle aufgeführt.

TeilbarNicht teilbar
Statisch
/usr/share/man
/opt
/Boot
/usw
Variable
/var/mail
/var/spool/news
/var/run
/var/lock

Es gibt keine allgemeine Regel, nach der in allen Fällen zwischen gemeinsam nutzbaren und nicht gemeinsam nutzbaren Dateien unterschieden werden kann. Manchmal kann Architekturabhängigkeit eine Einschränkung darstellen. Als Ergebnis kann eine Datei mit einem Host mit derselben Architektur gemeinsam genutzt werden, während diese Datei möglicherweise nicht mit einem Host mit einer anderen Architektur gemeinsam genutzt werden kann.

Sekundäre und tertiäre Hierarchien

Neben der primären Hierarchie an der Wurzel des Dateisystems existieren im FHS sekundäre und tertiäre Hierarchien. Die sekundären und tertiären Hierarchien sind normalerweise Spiegelungen der primären Hierarchie. Die sekundäre und tertiäre Hierarchie enthalten Dateisysteme mit einer besonderen Funktion in Bezug auf die Dateien in der primären Hierarchie. Sekundäre und tertiäre Hierarchien finden Sie in /opt, /usr, /usr/local, /var und /var/opt.

Dateisystem

Die folgenden Beschreibungen gelten für die FHS-2.3-Spezifikation[9] herausgegeben von der Linux Foundation. Die Beschreibungen in den folgenden Tabellen sind für andere Versionen oder andere Implementierungen des FHS möglicherweise nicht korrekt.

/

Das Schrägstrich, /, gibt dem Wurzelverzeichnis des Dateisystems auf dem Gastgeber Auf.

VerzeichnisBeschreibung, Funktionen und Anforderungen
/
Dies ist das Wurzelverzeichnis für das ganze Dateisystem.
  • Benutzer dürfen keine Verzeichnisse oder Dateien im Stammverzeichnis erstellen.
/Behälter
Wesentlich Befehlszeilebinär's von allen Benutzern verwendet und in Einzelbenutzermodus verwendet werden, wie z montieren, Katze, ls und cp.
  • Es sind keine Unterverzeichnisse erlaubt in /Behälter Aussehen.
  • Die (harte oder symbolische Verknüpfung zum) Bourne-SchaleSch muss in der sein /BehälterVerzeichnis.
/Boot
Dateien für die Bootloader und der Anlaufen des Systems, wie z. B. Datendateien für RODEN oder LILO und drin.
  • Das Kerne muss rein / oder in /Boot Stand.
/das V
Gerätedateien zur Datenübertragung über Peripheriegeräte, wie Tastaturen (tty), Festplatten (hda oder sda) und das leere "Vakuum" und Null-Geräte/dev/null und /dev/zero.
  • Im /das V muss (einen Link zu) ein Programm haben MAKEDEV mit denen Gerätedateien erstellt werden können.
/usw
Gastgeber-Spezifisch Konfigurationsdateien für das ganze System.
  • Unter dem /uswHierarchie sollte keine Binärdateien enthalten.
  • Im Allgemeinen in /usw viele kleine Konfigurationsdateien gespeichert.
/etc/opt
Enthält Verzeichnisse mit Konfigurationsdateien für die Anwendungen in /opt.
/etc/sgml
Konfigurationsdateien für SGML.
/etc/X11
Konfigurationsdateien für die X Window-System, Ausgabe 11.
  • In diesem Verzeichnis a Xconfig-, ein XF86Config- oder ein XmodmapDatei.
  • Unterverzeichnisse können unter anderem Konfigurationsdateien enthalten für: xinit, xdm und Fenstermanager Stand.
/etc/xml
Konfigurationsdateien für XML.
/Zuhause
Verzeichnis mit den Home-Verzeichnisse des Benutzer, das Dateien und persönliche Konfigurationsdateien speichert.
/lib
Bibliothek's mit Objektcode für Kernelmodule und Fahrer und der binärist in /Behälter/ und /sbin/.
  • Unentbehrlicher Objektcode zum Booten des Systems und zum Laden und Ausführen von Programmen.
  • Die (Links zum) libc.so-Bibliotheken und die links/Lader ld.so muss sich in diesem Verzeichnis befinden.
  • Die (Link zum) C-Präprozessor brauche den namen /lib/cpp haben.
/lib
Bibliotheken mit Objektcode für ein bestimmtes Rechnerarchitektur wie lib32 oder lib64 für 32- und 64-Bit Prozessoren.
/Medien
Mount-Punkte vor dem Wechseldatenträger wie CD-ROMs, USB-Sticks, usw.
/mnt
Temporärer Mountpunkt für ein Dateisystem.
/opt
Verzeichnisse für optional Add-ons und andere Softwarepakete.
  • Die Unterverzeichnisse in /opt muss der Name eines Softwarepakets sein (Paket) oder ein Lieferant (Anbieter) tragen, wie /opt/<Paket> und /opt/<Anbieter>. Das Anbieter muss ein sein LANANA Anmeldung haben.
  • Die Verzeichnisse mit den Namen /opt/bin, /opt/doc, /opt/include, /opt/info, /opt/lib und /opt/man sind der Systemadministration vorbehalten.
  • Für die spezifischen Dateien für Add-ons, Unterverzeichnisse wie /opt/<Paket>/bin und /opt/<Paket>> Mann erstellt werden.
  • Konfigurationsdateien und Variablendateien sollten in Hierarchien wie /etc/opt/<Paket> oder /var/opt/<Paket> untergebracht werden.
/proc
Ein virtuelles oder Pseudo-Dateisystem, das als Schnittstelle für den Datenaustausch zwischen Kernel und Anwendungen.
  • Durch /proc können Anwendungen Datenstrukturen können mit dem Kernel ausgetauscht werden, unter anderem mit Informationen über den Zustand von Prozesse und die Verwendung der Erinnerung.
/Wurzel
Heimatverzeichnis der Root-Benutzer.
/sbin
Wesentlich System-Binärdateien vor dem nur root-Systemadministration, Konfiguration, Booten und Initialisierung, wie z drin, ip und fdisk.
  • Im /sbin muss (ein Link zu) schließen Stand.
/srv
Standortspezifische Daten, die von Diensten auf dem System bereitgestellt werden, wie z ftp und Lebenslauf, wird geliefert.
/tmp
Temporäre Dateien (siehe auch /var/tmp). Diese Daten bleiben häufig zwischen Neustarts nicht bestehen. /tmp ist oft in der Größe begrenzt, wenn es vom Systemspeicher bereitgestellt wird.
/usr
Wurzel des sekundäre Hierarchie für Programme und schreibgeschützte Benutzerdaten.
  • Enthält die meisten (Multi-)Benutzerdienstprogramme und Anwendungen.
/var
Wurzel des sekundär /var Hierarchie mit Dateien zum Speichern von Daten, die sich während einer Sitzung häufig ändern, wie Protokoll- und Spooldateien und temporäre E-Mail-Dateien.

/usr

Das /usrVerzeichnis ist das zweitgrößte Verzeichnis im Dateisystem. Die Abkürzung steht für „unix system resources“ und hat nichts mit „user“ zu tun. Es ist ein gemeinsames Verzeichnis für alle Benutzer des Systems und enthält nur schreibgeschützt-Daten. Das bedeutet, dass die /usrVerzeichnis kann mit mehreren Hosts mit einem FHS-kompatiblen Dateisystem geteilt werden. Hostspezifische Daten oder veränderbare Daten sollten an anderer Stelle gespeichert werden.

VerzeichnisBeschreibung, Funktionen und Anforderungen
/usr
Wurzel der sekundären /usr-Hierarchie.
Um Kompatibilität mit älteren Konfigurationen zu erreichen, beinhaltet /usr oft die folgenden symbolischen Links:
/usr/spool -> /var/spool
/usr/tmp -> /var/tmp
/usr/spool/locks -> /var/lock
/usr/bin
Binärdateien und Befehle von allen Benutzern geteilt, wie z Python-, perl- und tclDolmetscher.
/usr/games
Spiele und Lernsoftware.
/usr/include
Standard Header-Dateien für allgemeine Anwendungen.
/usr/lib
Bibliotheken mit Objektcode für Programmierung, Anwendersoftware und Binärdateien im /usr/bin/ und /usr/sbin/.
/usr/lib
Bibliotheken mit Objektcode für ein bestimmtes Rechnerarchitektur wie lib32 oder lib64 für 32- und 64-Bit Prozessoren.
/usr/local
Das tertiäre /usr/local Hierarchie für lokale Daten, spezifisch für diesen Host.
  • Die Dateien im /usr/localVerzeichnis sind für die Verwendung auf dem lokalen Host vorgesehen, damit /usr/local sollte nicht in ein Netzwerk eingebunden werden.
/usr/sbin
Nicht wesentliche Systembinärdateien, wie z Dämonen für verschiedene Netzwerkdienste.
/usr/share
Das tertiäre /usr/share Hierarchie mit architekturunabhängig gemeinsam nutzbare Dateien, wie Dokumentationsdateien.
/usr/src
Quellcode, wie den Kernel-Quellcode mit Header-Dateien.
/usr/X11R6
X Window-System, Version 11, Version 6.
wenn /usr/X11R6 existiert, müssen folgende Links erstellt werden:
/usr/bin/X11 -> /usr/X11R6/bin
/usr/lib/X11 -> /usr/X11R6/lib/X11
/usr/include/X11 -> /usr/X11R6/include/X11

/usr/local

Tertiäre Hierarchie für lokale, nicht teilbar Daten und Dateien, die für diesen Host spezifisch sind.

VerzeichnisBeschreibung, Funktionen und Anforderungen
/usr/local
Das /usr/local/Das Verzeichnis ist für die Verwendung auf dem lokalen Host vorgesehen und sollte daher nicht in einem Netzwerk gemountet werden.
/usr/local/bin
Lokale Binärdateien
/usr/local/etc
Hostspezifische Systemkonfigurationsdateien für lokale Binärdateien.
Mai als Link: /usr/local/etc -> /etc/local
/usr/local/games
Lokale Binärdateien für Spiele und Lernsoftware
/usr/local/include
Lokale Header
/usr/local/lib
Binäre Bibliothek.
/usr/local/lib
Muss umgesetzt werden als /lib oder /usr/lib existiert.
/usr/local/man
Lokale Handbuchseiten
/usr/local/sbin
Binärdateien des lokalen Systems
/usr/local/share
Lokal freigegebene Dateien
/usr/local/src
Quellcode

/usr/share

Die tertiäre Hierarchie für teilbar Daten und Dateien, auf die verschiedene Hosts in einem Netzwerk zugreifen können.

VerzeichnisBeschreibung, Funktionen und Anforderungen
/usr/share
Die Architektur- unabhängige gemeinsame Datendateien wie Dokumentation.
/usr/share/dict
Glossare.
/usr/share/doc
Dokumentation.
/usr/share/games
Statische Daten für Spiele.
/usr/share/info
GNU Info-Systemverzeichnisse.
/usr/share/locale
Gebietsschema (lokale) Informationen.
/usr/share/man
Handbuch MannSeiten.
/usr/share/misc
Sonstiges.
/usr/share/nls
Support-Kataloge in der Sprache des Benutzers.
/usr/share/sgml
Freigegebene SGML-Dateien.
/usr/share/termininfo
Verzeichnisse für die Termininfo-Datenbank.
/usr/share/tmac
troff-Makros, die nicht mit grotf geliefert werden.
/usr/share/xml
Freigegebene XML-Dateien.
/usr/share/zoneinfo
Informationen zur Zeitzone.

/var

/var enthält variable Datendateien. Dazu gehören Spool-Verzeichnisse und Protokolldateien sowie temporäre Dateien.

  • Einige Teile von /var können nicht zwischen verschiedenen Hosts geteilt werden, wie z /var/log, /var/lock und /var/run.
  • Andere Dateien können geteilt werden, insbesondere die Dateien in /var/mail, /var/cache/man, /var/cache/fonts und /var/spool/news.
VerzeichnisBeschreibung, Funktionen und Anforderungen
/var
Wurzel der sekundären /var-Hierarchie.
  • Benutzeranwendungen sollten keine Dateien im Stammverzeichnis der /varVerzeichnis erstellen.
/var/konto
Die aktuell aktiven Protokolle mit Prozessdaten.
/var/cache
Platz für die Aufbewahrung von Cache-Daten im Softwarebereich. Die Daten werden lokal in zeitaufwendigen IOOperationen oder Berechnungen.
/var/crash
Speicherplatz zum Speichern von Crash-Dump-Daten.
/var/spiele
Platz zum Speichern temporärer Daten aus Spielen.
/var/lib
Hierarchie mit persistenten Informationen über den Zustand des Systems wie:
  • Daten, die sich während der Programmausführung ändern;
  • Datenbanken, Verpackungssystemdaten usw.
/var/lock
Dateien sperren. Dateien, die verfolgen, welche Ressourcen und Dateien verwendet werden.
/var/log
Diverse Logfiles.
/var/mail
Briefkasten von Benutzern.
/var/opt
Variable Daten der Pakete in /opt sollte aufbewahrt werden in /var/opt/, wahr <subdir> der Name des Unterverzeichnisses in /opt Hier werden die statischen Daten eines Add-On-Softwarepakets gespeichert
/var/run
Informationen zum System seit dem letzten Booten, z. B. Informationen zu aktuell angemeldeten Benutzern und aktiven Dämonen.
/var/spule
Spool-Aufträge, die auf die Verarbeitung warten, z. B. eine Druckwarteschlange und ungelesene E-Mails.
/var/tmp
Temporäre Dateien, die zwischen aufeinanderfolgenden Neustarts aufbewahrt werden sollten.
/var/yp
Datenbank des Netzwerkinformationsdienstes (NIS).

Siehe auch

Verweise

  1. HIER(7) FreeBSD Handbuch für sonstige Informationen
  2. FILESYSTEM(7) FreeBSD Man Pages-Bibliothek
  3. FSSTND v1.0. ibiblio.org. Zugegriffen unter 22. Mai 2013.
  4. FSSTND v1.1. ibiblio.org. Zugegriffen unter 22. Mai 2013.
  5. FSSTND v1.2. ibiblio.org. Zugegriffen unter 22. Mai 2013.
  6. FHS v2.0
  7. Quinlan, Daniel, Dateisystemhierarchie-Standard – Version 2.1, Dateisystemhierarchie-Standardgruppe. Acadia Linux-Tutorials. Zugegriffen unter 22. Mai 2013.
  8. FHS v2.2 bei pathname.com
  9. einbFHS-2.3 Spezifikationen
  10. FHS-bezogene Spezifikationen. refspecs.linuxfoundation.org. Zugegriffen unter 14. August 2020.

Externe Links