|
|
(34 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| '''topic''' - Kurzbeschreibung
| | #WEITERLEITUNG [[Filesystem Hierarchy Standard]] |
| | |
| == Beschreibung ==
| |
| ; Hierarchische Struktur
| |
| * Lange Zeit hat jedes Unix-Derivat seine eigenen Vorstellungen vom Aufbau seiner Dateiverwaltung mitgebracht, aber unterdessen ist man sich mehr oder weniger einig geworden und erarbeitete den Filesystem Hierarchie Standard, der wichtige Strukturen definiert.
| |
| * Die meisten Distributionen folgen diesen Richtlinien, wobei Abweichungen oft durch unterschiedliche Auslegung des Standards begründet werden.
| |
| * Neben der Beschreibung der vorgesehenen Verwendung jedes Verzeichnisses, werden auch konkrete Kommandos genannt, die mindestens in diesen Verzeichnissen vorhanden sein müssen. Des Weiteren finden systemspezifische Vorgaben und optionale Komponenten Erwähnung.
| |
| * Sobald der Kernel aktiv ist, lädt er als Erstes das Root-Filesystem, in dem alle für die Aufgaben des Kernels notwendigen Programme und Konfigurationsdateien angesiedelt sein müssen.
| |
| | |
| Zu den Programmen gehören
| |
| * Dienstprogramme zum Prüfen und Reparieren des Dateisystems
| |
| * Programme zum Sichern der Systemdaten und zur Installation neuer Systemteile
| |
| * Eventuell wichtige Netzwerkprogramme
| |
| | |
| | |
| * Als Benutzer werden Sie alle Daten als Dateien auf einem Datenträger (meist einer Festplatte) speichern. (Texte, Einstellungen, Programme usw.)
| |
| * Um auf diese Daten zugreifen zu können, werden Sie mit einem Namen und weiteren Eigenschaften in einem Ablagesystem geordnet.
| |
| * Ein Dateisystem ist ein Ordnungsschema für Dateien. Dateien werden in Verzeichnissen zusammengefasst. Verzeichnisse sind also Behälter für Dateien.
| |
| * Ein Verzeichnis kann sowohl Dateien als auch weitere Verzeichnisse enthalten. Verzeichnisse werden so hierarchisch unter dem Wurzelverzeichnis (''root-directory'') angeordnet.
| |
| | |
| ; Unterschiede zu Windows
| |
| | |
| {| class="wikitable sortable options"
| |
| |-
| |
| ! Option !! Beschreibung
| |
| |-
| |
| | Laufwerksbuchstaben || Das Root-Verzeichnis wird durch den Slash ('''/''') repräsentiert und hat keinen weiteren Namen.
| |
| |-
| |
| | Slash (/) und Backslash (\) || Der Slash ('''/''') wird als Trennzeichen bei der Angabe von Dateipfaden benutzt.
| |
| |}
| |
| | |
| ; Beispiel
| |
| Eine Datei die sich in Ihrem Home-Verzeichnis befindet, kann folgende Ortsangabe haben:
| |
| /home/user/text
| |
| | |
| Sie möchten mit dem Befehl '''cat''' eine Datei anzeigen, die sich auf einer cdrom befindet
| |
| cat·/cdrom/text
| |
| | |
| == Übersicht ==
| |
| * Nach der Installation von Linux befinden sich eine ganze Reihe von Systemverzeichnissen auf Ihrer Festplatte.
| |
| * Jedes dieser Verzeichnisse hat eine genau festgelegte Aufgabe. In der folgenden Grafik ist ein Ausschnitt aus der Verzeichnisstruktur eines UNIX-Systems abgebildet.
| |
| * Diese bei allen UNIX-Systemen ähnliche Struktur wird als File System Hierarchie-Standart bezeichnet. Alle UNIX-Dialekte müssen sich daran messen lassen, wie eng sie sich an diesen Standard halten.
| |
| * Man spricht hier bildlich von einem (umgedrehten) Baum, dessen Wurzel das Stammverzeichnis ('''/''') ist.
| |
| * Das Stammverzeichnis (root) ist also das Vaterverzeichnis für die darunter liegenden Kind-Verzeichnisse ('''bin, dev, etc''' ...).
| |
| * Die Kind-Verzeichnisse '''user, pub, ftp''' und '''www''' haben '''home''' als Vater-Verzeichnis. Genau wie bei einem Familienstammbaum kann zwar ein Vater mehrere Kinder haben, ein Kind jedoch immer nur einen Vater.
| |
| * Da Unix ein Multi-User-Betriebssystem ist, wird auf eine strikte Trennung von System-, Programm- und Benutzerdaten geachtet.
| |
| | |
| === Die wichtigsten Systemverzeichnissen ===
| |
| {|class="wikitable sortable"
| |
| |-
| |
| ! | Verzeichnis
| |
| ! | Beschreibung / Funktion
| |
| |-
| |
| | | '''/'''
| |
| | | Hier sollte keine Dateien liegen
| |
| |-
| |
| | | '''/bin'''
| |
| | | Systemverwaltungsprogramme für alle Benutzer
| |
| |-
| |
| | | '''/boot'''
| |
| | | Dateien des Bootmanagers und des Kernels
| |
| |-
| |
| | | '''/dev'''
| |
| | | Gerätedateien
| |
| |-
| |
| | | '''/etc'''
| |
| | | Systemweite Konfigurationsdateien
| |
| |-
| |
| | | '''/home'''
| |
| | | Login-Verzeichnisse der Benutzer
| |
| |-
| |
| | | '''/lib'''
| |
| | | Shared Libraries des Basissystems
| |
| |-
| |
| | | '''/lost+found'''
| |
| | | Dateien, die beim Plattencheck anfallen
| |
| |-
| |
| | | '''/media'''
| |
| | | Mountpoint für Wechseldatenträger
| |
| |-
| |
| | | '''/mnt'''
| |
| | | Mountpoint für vorübergehende Mount-Vorgänge
| |
| |-
| |
| | | '''/opt'''
| |
| | | Optionale Erweiterungspakete (in Unterverzeichnissen)
| |
| |-
| |
| | | '''/proc'''
| |
| | | Abbild von Kernel-Daten
| |
| |-
| |
| | | '''/root'''
| |
| | | Home-Verzeichnis des Superusers (root)
| |
| |-
| |
| | | '''/sbin'''
| |
| | | Programme zur Systemadministration
| |
| |-
| |
| | | '''/tmp'''
| |
| | | Temporäre Dateien
| |
| |-
| |
| | | '''/usr'''
| |
| | | Zweites Hauptverzeichnis für Programme (Unix System Resources)
| |
| |-
| |
| |}
| |
| | |
| === Verzeichnisse in der Wurzel ===
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''/bin'''
| |
| | | Die wichtigsten Benutzer-Kommandos, um mit dem System arbeiten zu können
| |
| |-
| |
| | | '''/boot'''
| |
| | | Hier findet man die statischen Dateien des Bootmanagers und die Kernel.
| |
| |-
| |
| || '''/dev'''
| |
| ||
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | colspan="2" | Devices), die die gesamte Hardware beschreiben (Festplatte, Floppy, RAM...), sowie einige Devices mit speziellen Aufgaben. Drei Informationen sind für jedes Device relevant:
| |
| | |
| brw-rw-rw- 1 root disk 2, 0 Nov 8 20:48 /dev/fd0
| |
| | |
| '''Art des Zugriffs'''
| |
| * Blockorientiert (b) - gepufferter Zugriff, zum Beispiel
| |
| Festplatten
| |
| * Zeichenorientiert (c) - ungepufferter Zugriff, zum Beispiel
| |
| Bildschirm, Drucker
| |
| | |
| brw-rw-rw- 1 root disk 2, 0 Nov 8 20:48 /dev/fd0
| |
| | |
| '''Hauptgerätenummer (major device number)'''
| |
| * Nummer des zu verwendenden Treibers
| |
| * Unter jeder Nummer existiert je ein Treiber für zeichen- und blockorientierte Geräte (zum Beispiel Nummer 2 für Terminals (c) und Floppys (b))
| |
| * Beschreibung vergebener Nummern unter '''/usr/src/Documentation/devices.txt'''
| |
| brw-rw-rw- 1 root disk 2, 0 Nov 8 20:48 /dev/fd0
| |
| | |
| '''Nebengerätenummer (minor device number):'''
| |
| * Nummer der zuständigen Routine in einem Treiber Dient zum Beispiel zur Unterscheidung der Diskettenformate im Floppytreiber, für ein zweites CD-ROM usw.
| |
| | |
| Ein etwas ungewöhnliches Device ist '''/dev/null''', der Mülleimer von Unix. Möchte man zum Beispiel bei der Suche nach Dateien Fehlermeldungen (permission denied) vermeiden, hilft Folgendes
| |
| find / -name "*" 2> /dev/null
| |
| | |
| Den Mechanismus erläutert der Abschnitt Ein/Ausgabe-Umleitung
| |
| |-
| |
| | colspan="2" | '''Wichtige Gerätedateien sind'''
| |
| |-
| |
| | | '''cdrom'''
| |
| | | Link auf eine entsprechende Datei (zum Beispiel cdu535)
| |
| |-
| |
| | | '''cua*'''
| |
| | | Serielle Schnittstellen (ausgehende Verbindungen)
| |
| |-
| |
| | | '''fd*'''
| |
| | | Diskettenlaufwerke
| |
| |-
| |
| | | '''hd*'''
| |
| | | IDE-Festplatten
| |
| |-
| |
| | | '''kmem'''
| |
| | | Speicherauszug (core)
| |
| |-
| |
| | | '''lp'''
| |
| | | Parallele Schnittstellen
| |
| |-
| |
| | | '''mouse'''
| |
| | | Link auf die entsprechende Datei
| |
| |-
| |
| | | '''port'''
| |
| | | IO-Ports
| |
| |-
| |
| | | '''sd*'''
| |
| | | SCSI-Festplatten
| |
| |-
| |
| | | '''tty'''
| |
| | | Terminalkonsolen
| |
| |-
| |
| | | '''ttys*'''
| |
| | | Serielle Schnittstellen (eingehende Verbindungen)
| |
| |-
| |
| |}
| |
| | |
| |-
| |
| | | '''/etc'''
| |
| | | Enthält alle lokalen Konfigurationsdateien (Tastatur, X, Netzwerk...)
| |
| |-
| |
| | | '''/home'''
| |
| | | Alle Heimatverzeichnisse der Nutzer findet man hier. Nach dem Login landet jeder Benutzer (i.d.R.) in seinem Home. Heimatverzeichnisse können vom Systemverwalter auch an anderer Stelle angesiedelt werden
| |
| |-
| |
| | | '''/lib'''
| |
| | | Die beim Systemstart benötigten Bibliotheken
| |
| | |
| Kernelmodule in eigenem Unterverzeichnis
| |
| |-
| |
| | | '''/mnt'''
| |
| | | Mountpunkt für temporäre Partitionen
| |
| |-
| |
| | | '''/opt'''
| |
| | | Software, die nicht zum üblichen Installationsumfang von Unix-Systemen gehören, werden oft unter diesem Zweig installiert. So werden nahezu alle kommerziellen Softwarepakete hier eingerichtet; auch die Programme zur KDE befinden sich hier
| |
| |-
| |
| | | '''/root'''
| |
| | | Heimatverzeichnis des Administrators. In realen Unix Installationen werden die Heimatverzeichnisse aller Nutzer oft auf einem Server gehalten. Bei einem Ausfall eines solchen Servers sollte aber zumindest Root in der Lage sein, vernünftig mit dem System zu arbeiten
| |
| |-
| |
| | | '''/sbin'''
| |
| | | Wichtige System-Programme (beim Booten benötigt; Ausführung erfordert Root-Rechte)
| |
| |-
| |
| | | '''/tmp'''
| |
| | | Temporäre Dateien können hier abgelegt werden, jeder Nutzer ist dazu berechtigt.
| |
| |-
| |
| | | '''/usr'''
| |
| | | Zweite Hierarchie
| |
| |-
| |
| | | '''/var'''
| |
| | | Variable Daten
| |
| |-
| |
| |}
| |
| | |
| Der Filesystem Hierarchie Standard bezeichnet die Verzeichnisse unter /usr als "zweite Hierarchie".
| |
| | |
| === Die zweite Verzeichnishierarchie - /usr ===
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''/usr/X11R6'''
| |
| | | X Window System (Version 11, Release 6)
| |
| |-
| |
| | | '''/usr/X386'''
| |
| | | X Window System (Version 11, Release 5 auf x86er)
| |
| |-
| |
| | | '''/usr/bin'''
| |
| | | Die meisten Nutzerprogramme
| |
| |-
| |
| | | '''/usr/games'''
| |
| | | Spiele und Lernprogramme
| |
| |-
| |
| | | '''/usr/include'''
| |
| | | Headerdateien für C-Programme
| |
| |-
| |
| | | '''/usr/lib'''
| |
| | | Allgemeine Bibliotheken (außer X11)
| |
| |-
| |
| | | '''/usr/local'''
| |
| | | Lokale Hierarchie. Hier hat der Administrator die Möglichkeit, Nicht-Standard-Pakete einzuspielen.
| |
| |-
| |
| | | '''/usr/sbin'''
| |
| | | (weniger wichtige) Systemprogramme
| |
| |-
| |
| | | '''/usr/share'''
| |
| | | Architektur-abhängige Dateien
| |
| |-
| |
| | | '''/usr/src'''
| |
| | | Quelldateien zu den Paketen
| |
| |-
| |
| |}
| |
| '''Links unter /usr'''
| |
| | |
| Einige (symbolische) Links sind ebenso vorgeschrieben:
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''/usr/spool'''
| |
| | | Link auf '''/var/spool'''
| |
| |-
| |
| | | '''/usr/tmp'''
| |
| | | Link auf '''/var/tmp'''
| |
| |-
| |
| | | '''/usr/spool/lock'''
| |
| | | Link auf '''/var/lock'''
| |
| |-
| |
| |}
| |
| | |
| * Es gibt eine Menge Daten, die permanenter Veränderung unterliegen oder nur kurze Zeit existieren.
| |
| * Protokollierungen fallen ebenso in diese Kategorie, wie auch Mails, zu druckende Dateien, News, ...
| |
| * Insbesondere auf Servern sollte dem Verzeichnis '''/var''' eine eigene Partition gegönnt werden.
| |
| | |
| === Variable Daten - /var ===
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''/var/account'''
| |
| | | Prozessnutzungsprotokoll (falls unterstützt)
| |
| |-
| |
| | | '''/var/cache'''
| |
| | | Zwischenspeicher von Programmen
| |
| |-
| |
| | | '''/var/crash'''
| |
| | | Speicherauszug bei Systemabsturz (falls unterstützt)
| |
| |-
| |
| | | '''/var/games'''
| |
| | | Variable Spieledaten
| |
| |-
| |
| | | '''/var/lock'''
| |
| | | Sperren (Dateien, Geräte, etc)
| |
| |-
| |
| | | '''/var/log'''
| |
| | | Protokolle über Systemvorgänge
| |
| |-
| |
| | | '''/var/mail'''
| |
| | | Mailboxen der Nutzer
| |
| |-
| |
| | | '''/var/opt'''
| |
| | | Variable Daten der optionalen Programme
| |
| |-
| |
| | | '''/var/run'''
| |
| | | Dateien zu laufenden Prozessen
| |
| |-
| |
| | | '''/var/spool'''
| |
| | | Von Anwendungen gespoolte Daten
| |
| |-
| |
| | | '''/var/state'''
| |
| | | Variable Status Informationen
| |
| |-
| |
| | | '''/var/tmp'''
| |
| | | Temporäre Dateien, die zwischen Reboots erhalten bleiben
| |
| |-
| |
| | | '''/var/yp'''
| |
| | | Dateien des Network Information Systems
| |
| |-
| |
| |}
| |
| | |
| === Linux-Besonderheiten ===
| |
| Speziell für Linux-Systeme definiert der Standard Weiteres:
| |
| | |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''Allgemein'''
| |
| | | '''Der Name des Standard-Kernels ist vmlinux oder vmlinuz '''
| |
| |-
| |
| | | '''/dev'''
| |
| | | Enthält nur die im Dokument ''Linux Allocated Devices'' beschriebenen Links (sonst wie oben)
| |
| |-
| |
| | | '''/proc'''
| |
| | | Enthält Kernel- und Prozessinformationen in einem virtuellen Dateisystem
| |
| |-
| |
| | | '''/sbin '''
| |
| | | Enthält zusätzlich Routinen zum ext2-Dateisystem und lilo
| |
| |-
| |
| | | '''/usr/src'''
| |
| | | Enthält zusätzlich die Kernelquellen
| |
| |-
| |
| |}
| |
| | |
| === Prozessdateisystem - /proc ===
| |
| # [[/proc - Prozessdateisystem]] | |
| | |
| == Anwendung ==
| |
| === Pfadangaben ===
| |
| '''Pfadangaben''' beschreiben den Weg zu einer Datei entlang der Dateisystemhierarchie
| |
| | |
| ==== Absolute Pfadangaben ====
| |
| * Absoluter Pfad bedeutet, dass Sie den ganzen Pfad vom Hauptverzeichnis aus angeben, egal in welchem Verzeichnis Sie sich selbst gerade befinden.
| |
| * Ein Verzeichniswechsel mit einer absoluten Pfadangabe beginnt immer mit einem Slash.
| |
| * Sie müssen also bei einem Verzeichniswechsel mit einer absoluten Pfadangabe Ihre eigene Position nie berücksichtigen.
| |
| | |
| '''Beispiel'''
| |
| | |
| ~ $ '''cd /var'''
| |
| /var $
| |
| | |
| ==== Relative Pfadangaben ====
| |
| * Bei einem Verzeichniswechsel mit relativer Pfadangabe bewegen Sie sich relativ zum aktuellen Verzeichnis fort.
| |
| * Eine relative Pfadangabe beginnt deshalb nie mit einem Slash.
| |
| | |
| '''Beispiel'''
| |
| | |
| Es wurde hier relativ zum /var-Verzeichnis in das /var/log-Verzeichnis gewechselt.
| |
| /var # '''cd log'''
| |
| /var/log #
| |
| | |
| [[Kategorie:Linux/Dateisystem]]
| |
| | |
| | |
| === Zugriff auf Datenträger ===
| |
| siehe [[mount]]
| |
| | |
| === Arbeiten im Dateisystem ===
| |
| siehe [[Linux/Dateisystem:Grundlagen]]
| |
| | |
| === Fehlerbehebung ===
| |
| | |
| == Konfiguration ==
| |
| === Dateien ===
| |
| == Anhang ==
| |
| === Siehe auch ===
| |
| ==== Unterseiten ====
| |
| {{Special:PrefixIndex/{{BASEPAGENAME}}}}
| |
| ==== Sicherheit ====
| |
| ==== Dokumentation ====
| |
| ===== RFC =====
| |
| ===== Man-Pages =====
| |
| ===== Info-Pages =====
| |
| ==== Links ====
| |
| ===== Einzelnachweise =====
| |
| <references />
| |
| ===== Projekt =====
| |
| ===== Weblinks =====
| |
| <noinclude>
| |
| === Testfragen ===
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 1''
| |
| <div class="mw-collapsible-content">'''Antwort1'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 2''
| |
| <div class="mw-collapsible-content">'''Antwort2'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 3''
| |
| <div class="mw-collapsible-content">'''Antwort3'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 4''
| |
| <div class="mw-collapsible-content">'''Antwort4'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 5''
| |
| <div class="mw-collapsible-content">'''Antwort5'''</div>
| |
| </div>
| |
| | |
| [[Kategorie:Linux/Dateisystem]]
| |
| | |
| </noinclude>
| |