Wie ist das Dateisystem in gnu / linux aufgebaut?
Inhaltsverzeichnis:
- Wie ist das Dateisystem in GNU / Linux aufgebaut?
- FHS
- FHS Hauptziele
- Zugriff auf verschiedene Dateisysteme
- Dateisystemstrukturierung unter Linux nach FHS
- Berechtigungen
Sicherlich haben viele von Ihnen, wie ich, gelernt, Computer mit einer Windows-Version zu verwenden, und es ist wahrscheinlich, dass eines der ersten Dinge, mit denen sie vertraut wurden, die Verwaltung aller darin gespeicherten Informationen war Wechselmedien an den PC angeschlossen. Das heißt, um Aufgaben wie das Kopieren, Einfügen, Verschieben oder Suchen unserer Dateien auszuführen. Aus diesem Grund möchten wir Ihnen diesmal zeigen, wie das Dateisystem in Linux / GNU aufgebaut ist. Es ist sicherlich nicht notwendig, es zu 100% zu kennen, aber es wäre sehr nützlich, eine Vorstellung von der Hierarchie der Dateien zu haben.
Inhaltsverzeichnis
Wie ist das Dateisystem in GNU / Linux aufgebaut?
Linux-Systeme befinden sich in einem hierarchischen Dateibaum, ähnlich wie Unix-Systeme strukturiert sind. Am Anfang unterlag dieser hierarchische Baum von Verzeichnissen und Dateien keinem Standard, dh es gab Unterschiede zwischen einer Distribution und einer anderen. Dies motivierte eine Gruppe von Menschen, 1993 den sogenannten Dateisystem-Hierarchiestandard (FHS) oder den spanischen Dateisystem-Hierarchiestandard zu entwickeln.
FHS
Das FHS ist definiert als der Standard, der die Details der Namen, Inhalte, Speicherorte und Berechtigungen von Dateien und Verzeichnissen festlegt und bereitstellt. Mit anderen Worten, es sind die Regeln, die eine gemeinsame Strukturierung von Dateien und Verzeichnissen auf Linux-Systemen bestimmen. Diese Norm ist nichts anderes als ein Leitdokument, das von den Herstellern konsultiert und beim Erstellen einer neuen Distribution angewendet werden kann.
Es ist wichtig zu klären, dass ein Hersteller entscheiden kann, ob er es anwendet oder nicht. Der Vorteil der Integration in Ihr Linux-System besteht darin, dass Ihre Umgebung wesentlich besser mit den übrigen Linux-Distributionen kompatibel ist. Ein weiterer hervorzuhebender Punkt ist, dass der Standard eine gewisse Flexibilität zulässt, daher gibt es bestimmte Freiheiten bei der Anwendung der Regeln und von dort aus die Tatsache, dass es gewisse geringfügige Unterschiede zwischen verschiedenen Verteilungen gibt.
FHS Hauptziele
- Stellen Sie ein hierarchisches Dateisystem konsistent und einheitlich bereit. Erleichtern Sie die Entwicklung von Software, da installierte Dateien und Verzeichnisse leicht vorhergesagt und identifiziert werden können. Geben Sie dem Benutzer die Möglichkeit, den Speicherort von Dateien und Verzeichnissen auf seinem Computer vorherzusagen.
Wie wir sehen, liegt das Hauptaugenmerk der FHS auf der Erstellung von Betriebssystemen mit möglichst kompatiblen Strukturen. Dies bietet normalen Benutzern eine bessere Erfahrung, da sie die Bedeutung jedes Elements im System verstehen und es leicht finden können. Auf der anderen Seite zeigt das FHS selbst, welche Dateitypen in der Systemstruktur angezeigt werden:
Gemeinsam nutzbare und nicht gemeinsam nutzbare Dateien : Die ersteren sind Dateien, die zu einem Computer gehören, und die letzteren sind Dateien, die von verschiedenen Computern gemeinsam genutzt werden können. Zum Beispiel:
- Gemeinsam nutzbare Dateien: Der Inhalt in / var / www / html (dies ist der Standard-DocumentRoot des Apache-Webservers. Wo die Begrüßungsindex.html anfänglich gespeichert ist). Nicht gemeinsam nutzbare Dateien: Der Inhalt in / boot / grub / (Unterverzeichnis wo sich die GRUB-Bootloader-Dateien befinden).
Statische und variable Dateien: Statische Dateien erfordern die Interaktion des Systemadministrators, um ihren Status zu ändern. Und die Variablen diejenigen, die sich ohne eine solche Interaktion ändern können. Schauen wir uns ein Beispiel an, damit Sie dies besser verstehen. Wir haben die Systemprotokolldateien (Protokolle), diese sind vom Variablentyp, da sie ohne Eingreifen des Administrators ständig geändert werden, da es sich um vom Systemkern generierte Nachrichten handelt. Während die anderen Dateien, in denen vertrauliche Informationen wie Benutzerkonten, Einstellungen oder Kennwörter gespeichert sind, vom statischen Typ sind.
Schauen Sie sich Folgendes an: Linux-Befehle: Kennen und manipulieren Sie das System
Zugriff auf verschiedene Dateisysteme
Wenn wir diese Klassifizierung von Dateitypen kennen, müssen wir auch wissen, dass unter Linux alles eine Datei ist. Sowohl Hardware als auch Software werden als Textdatei gespeichert, und von dort aus entsteht das Konzept des "Ein- und Aushängens" eines Geräts. Das heißt, seine logische Struktur ist unabhängig von der Hardwarestruktur. Daher hängt es nicht davon ab, ob der Computer über 1, 3 oder 5 Festplatten verfügt, um die Laufwerke c: \, e: \ ok: \ zu erstellen.
Das gesamte Linux-System stammt aus dem Root oder Root, dargestellt durch /, und alle anderen zugänglichen Dateien im Betriebssystem befinden sich unter diesem Verzeichnis. Zum Beispiel möchten wir auf eine CD-ROM zugreifen. Dies wird als Unterverzeichnis in das System eingebunden. In diesem Unterverzeichnis befindet sich der Inhalt des Geräts, wenn es gemountet ist, und wir werden nichts anderes finden. Um die Liste der auf dem System gemounteten Geräte abzurufen, verwenden wir einfach den Befehl mount in der Konsole. Es ist wichtig, dass dieses Konzept klar ist, um zu wissen, wie Linux funktioniert.
Wie bereits erwähnt, können wir mit diesem Mechanismus auch auf Hardwaregeräte zugreifen. Diese Dateien sind jedoch binär, dh sie werden nur von Linux interpretiert. Wenn wir eine Edition erstellen, laufen wir daher Gefahr, das System instabil und sogar unbrauchbar zu machen. Kurz gesagt, der Zugriff auf sie ist keine Option, es sei denn, Sie sind sich völlig sicher, was wir tun. Jetzt wissen wir auf theoretischer Ebene, wie seine Struktur ist. Mal sehen, wie ist die Anwendung der FHS im wirklichen Leben?
Dateisystemstrukturierung unter Linux nach FHS
Verzeichnis | Beschreibung |
/. | Primäre Hierarchie , Root oder Root genannt, Hauptverzeichnis, Container des absolut gesamten Dateisystems unter Linux. |
/ bin / | Es enthält die wesentlichen Befehlsbinärdateien, sodass sie entweder für eine einzelne Sitzung oder für mehrere Benutzer verfügbar sind. Dazu gehören unter anderem ls, cp, cat, mkdir, rm |
/ boot / | Systemstart. |
/ dev / | Enthält die Zugriffe auf die Geräte. Sowohl Hardware als auch virtuell. |
/ etc / | Dies schließt die Systemkonfigurationsdateien ein. Es gab Kontroversen über die Bedeutung seines Namens, aber neuere Interpretationen bezeichnen ihn als "bearbeitbare Texteinstellungen". |
/ etc / opt / | Konfigurationsdateien der Programme im Verzeichnis / opt. |
/ etc / X11 / | Konfigurationsdateien für X Window System Version 11. |
/ etc / sgml / | SGML-Konfigurationsdateien. |
/ etc / xml / | XML-Konfigurationsdateien. |
/ home / | Enthält die Arbeitsverzeichnisse aller Benutzer mit Ausnahme des Superusers (Administrator, Root). Enthält gespeicherte Dateien, persönliche Einstellungen usw. Es wird häufig auf einer separaten Festplatte oder Partition installiert . Jeder Benutzer hat ein eigenes Verzeichnis in diesem Ordner. |
/ lib / | Alle grundlegenden gemeinsam genutzten Bibliotheken der installierten Programme befinden sich, einschließlich der vom Kernel verwendeten. |
/ Durchschnitt / | Enthält Einhängepunkte für Wechselmedien. |
/ mnt / | Es ähnelt / media, wird aber normalerweise von Benutzern verwendet. Um beispielsweise Festplatten und temporäre Partitionen zu "mounten". |
/ opt / | Enthält Informationen zu Anwendungen, die keine Konfigurationsoptionen in diesem Verzeichnis speichern, dh Benutzer teilen die Anwendung, jedoch nicht ihre Konfigurationsoptionen. |
/ proc / | Enthält Dateien, die den Kern und den Status Ihrer Prozesse zu bestimmten Zeiten dokumentieren. |
/ root / | Hauptverzeichnis des Root-Benutzers. Es ist wie das / home, aber für den System-Superuser (Administrator). |
/ sbin / | Ausführbare Dateien oder Binärdateien, die für den Betrieb unerlässlich sind, exklusive Befehle und Programme des Systemadministrators oder Benutzer, die über Berechtigungen zur Verwendung verfügen. |
/ srv / | Enthält die vom System bereitgestellten Daten. |
/ tmp / | Enthält temporäre Dateien. |
/ usr / | sekundäre Hierarchie der Benutzerdaten; Es enthält die meisten Dienstprogramme, die für mehrere Benutzer bestimmt sind, aber dennoch schreibgeschützt sind. Dieser Ordner kann sogar für andere lokale Netzwerkbenutzer freigegeben werden. |
/ usr / bin / | Nicht administrative binäre Befehle für alle Benutzer. |
/ usr / include / | Standard-Include-Dateien. |
/ usr / lib / | Satz gemeinsam genutzter Bibliotheken oder Binärdateien. Es gibt niemals zwei identische Bibliotheken auf demselben System, was die Speichernutzung optimiert und eine größere Ordnung bietet. |
/ usr / sbin / | Binärdateien, die nicht wesentlich sind; Zum Beispiel Dämonen , die mehrere Netzwerkdienste haben. |
/ usr / share / | Enthält Daten, die gemeinsam genutzt werden, jedoch unabhängig von der Architektur sind. |
/ usr / src / | Enthält die Quellcodes einiger Anwendungen. |
/ usr / X11R6 / | Verzeichnis in Bezug auf die grafische Umgebung. |
/ usr / local / | Tertiäre Hierarchie für lokale Daten, dh spezifisch für diesen Host. |
/ var / | Enthält Systemvariablendateien wie Protokolle, Datenbanken und E-Mails. |
/ var / cache / | Ähnlich wie / tmp enthält es den Cache-Speicher einiger Anwendungen. |
/ var / crash / | Enthält Informationen zu Fehlern oder Systemabstürzen. |
/ var / games / | Es ist ein Verzeichnis, das nicht unbedingt erforderlich ist und zum Speichern von Informationen zu Systemspielen dient. |
/ var / lock / | Dateien mit dem Status der verwendeten Ressourcen werden gefunden. |
/ var / log / | Protokolldateien. |
/ var / mail / | Archiv von Benutzernachrichten, ähnlichen E-Mails. |
/ var / opt / | Enthält Daten, die Variablen im Verzeichnis / opt sein können. |
/ var / run / | Zugriff auf Informationen seit dem letzten Systemstart. Zum Beispiel Benutzer, die gerade verbunden sind, oder Dämonen, die ausgeführt werden. |
/ var / spool / | Enthält Aufgaben, die auf ihre Verarbeitung warten. Zum Beispiel ungelesene E-Mails oder Druckwarteschlangen. |
/ var / spool / mail / | Speicherort von E-Mails von missbilligten Benutzern. |
/ var / tmp / | Es enthält temporäre Dateien. Der Unterschied zu / tmp besteht darin, dass es beim Neustart des Systems nicht gelöscht wird. |
Vielleicht möchten Sie lesen: Was Sie über root, su und sudo unter Linux wissen müssen
Berechtigungen
Um das Thema zu schließen, wird unter Linux sowie auf anderen Unix-Systemen eine Berechtigungsrichtlinie für die Dateien verwaltet. Was können sie dagegen tun und wer kann es tun, um den Zugriff zu kontrollieren? Berechtigungen werden durch Buchstaben gekennzeichnet und auf folgende Weise festgelegt:
- a: Berechtigung zum Lesen der Datei w: Berechtigung zum Schreiben der Datei x: Berechtigung zum Ausführen der Datei s: Berechtigung zum Ändern des Eigentümers der Datei.
Ebenso kann jede Berechtigung unter Linux angewendet werden: für Dateibesitzer die Gruppe, zu der der Eigentümer gehört, oder den Rest der Benutzer. Dadurch funktioniert dieser Sicherheitsmechanismus perfekt in Arbeitsgruppen mit unterschiedlichen Verantwortlichkeiten (Mehrbenutzer).
Apple fügt ios 10.3 das apfs-Dateisystem hinzu
APFS in iOS 10.3 verbessert die Sicherheit und bietet eine bessere Leistung beim Zugriff auf Daten auf iPhone / iPad-Geräten.
→ Undervolting: Was ist das? Wofür ist es? und wie geht das?
Undervolting oder Underclocking ist eine gute Methode, damit Ihr Prozessor oder Ihre Grafik weniger verbraucht und weniger heizt. ☝
Apple Dateisystem Dateisystem (apfs): Alle Informationen
Apple führt ein neues Dateisystem namens APFS (Apple File System) ein, das das HFS + -Dateisystem ersetzen soll