sysfs(5)

BEZEICHNUNG
sysfs - Ein Dateisystem zum Export von Kernelobjekten

BESCHREIBUNG
Das Dateisystem sysfs ist ein Pseudo-Dateisystem, das eine Schnittstelle zu Kerneldatenstrukturen bereitstellt. (Genauer gesagt, die Dateien und Verzeichnisse in sysfs sind eine Darstellung der Kernel-intern definierten kobject-Strukturen.) Die Dateien unter sysfs stellen Informationen über Geräte, Kernelmodule, Dateisysteme und andere Kernelkomponenten bereit.

Das Dateisystem sysfs wird normalerweise unter /sys eingehängt. Typischerweise wird es durch das System automatisch eingehängt, kann aber auch mit folgendem Befehl manuell eingehängt werden:

    mount -t sysfs sysfs /sys

Viele Dateien im sysfs-Dateisystem sind schreibgeschützt, aber einige Dateien sind schreibbar, wodurch Kernel-Variablen geändert werden können. Um Redundanzen zu vermeiden, werden intensiv symbolische Links verwandt, um Einträge über den Dateisystembaum hinweg zu verbinden.

  Dateien und Verzeichnisse
Die folgende Liste beschreibt einige der Dateien und Verzeichnisse unter der /sys-Hierarchie.

/sys/block
    Dieses Unterverzeichnis enthält einen symbolischen Link für jedes Blockgerät, das vom System erkannt wurde. Die symbolischen Links zeigen auf entsprechende Verzeichnisse unter /sys/devices.

/sys/bus
    Dieses Verzeichnis enthält ein Unterverzeichnis für jeden der Bustypen im Kernel. Innerhalb dieser Verzeichnisse gibt es zwei Unterverzeichnisse:

    devices
        Dieses Unterverzeichnis enthält symbolische Links auf Einträge in /sys/devices, die auf diesem Bus erkannten Geräten entsprechen.

    drivers
        Dieses Unterverzeichnis enthält ein Unterverzeichnis für jedes Gerät, das auf dem Bus geladen ist.

/sys/class
    Dieses Unterverzeichnis enthält eine einzige Ebene von weiteren Unterverzeichnissen für jede der Geräteklassen, die auf dem System registriert wurden (z.B. Terminals, Netzwerkgeräte, Blockgeräte, Graphikgeräte, Audiogeräte und so weiter). Innerhalb jedes dieser Unterverzeichnisse sind symbolische Links für jedes Gerät in dieser Klasse. Die symbolischen Links beziehen sich auf Einträge in dem Verzeichnis /sys/devices.

/sys/class/net
    Jeder der Einträge in diesem Verzeichnis ist ein symbolischer Link, der eines der echten oder virtuellen Netzwerkgeräte darstellt, die im Netzwerknamensraum des Prozesses sichtbar sind, der auf das Verzeichnis zugreift. Jeder dieser symbolischen Links bezieht sich auf Einträge im Verzeichnis /sys/devices.

/sys/dev
    Diese Verzeichnis enthält zwei Unterverzeichnisse block/ und char/, die den Block- bzw. zeichenorientierten Geräten im System entsprechen. Innerhalb jedes dieser Unterverzeichnisse sind symbolische Links mit Namen der Form Major-Nummer:Minor-Nummer, wobei die Nummernwerte den Major- und Minor-Nummern eines bestimmten Gerätes entsprechen. Jeder symbolische Link zeigt auf ein sysfs-Verzeichnis für ein Gerät. Die symbolischen Links innerhalb /sys/dev stellen daher eine einfache Art dar, um die sysfs-Schnitstelle mittels Gerätenummern, die von einem Aufruf von stat(2) (oder ähnlich) stammen, nachzuschlagen.

    Die folgende Shell-Sitzung zeigt ein Beispiel aus /sys/dev:

        $ stat -c "%t %T" /dev/null;
        1 3
        $ readlink /sys/dev/char/1\:3;
        ../../devices/virtual/mem/null
        $ ls -Fd /sys/devices/virtual/mem/null;
        /sys/devices/virtual/mem/null/
        $ ls -d1 /sys/devices/virtual/mem/null/*;
        /sys/devices/virtual/mem/null/dev
        /sys/devices/virtual/mem/null/power/
        /sys/devices/virtual/mem/null/subsystem@
        /sys/devices/virtual/mem/null/uevent

/sys/devices
    Dies ist ein Verzeichnis, das eine Dateisystemdarstellung des Kernel-Gerätebaums enthält, der eine Hierarchie von device-Strukturen innerhalb des Kernels ist.

/sys/firmware
    Dieses Unterverzeichnis enthält Schnittstellen zum Betrachten und Verändern von Firmware-spezifischen Objekten und Attributen.

/sys/fs
    Dieses Verzeichnis enthält Unterverzeichnisse für einige Dateisysteme. Ein Dateisystem wird hier nur über ein Unterverzeichnis verfügen, falls explizit beschlossen wurde, das Unterverzeichnis zu erstellen.

/sys/fs/cgroup
    Dieses Verzeichnis wird herkömmlich als Einhängepunkt für ein tmpfs(5)-Dateisystem verwandt, dass Einhängepunkte für cgroups(7)-Dateisysteme enthält.

/sys/fs/smackfs
    Das Verzeichnis enthält Konfigurationsdateien für SMACK LSM. Informationen hierzu finden Sie in der Kernelquelldatei Documentation/admin-guide/LSM/Smack.rst.

/sys/hypervisor
    [Muss noch dokumentiert werden]

/sys/kernel
    Dieses Unterverzeichnis enthält verschiedene Dateien und Verzeichnisse, die Informationen über den laufenden Kernel bereitstellen.

/sys/kernel/cgroup/
    Informationen zu Dateien in diesem Verzeichnis finden Sie in cgroups(7).

/sys/kernel/debug/tracing
    Einhängepunkt für das tracefs-Dateisystem, das von der ftrace-Einrichtung des Kernels verwandt wird. (Informationen zu ftrace finden Sie in der Kernelquelldatei Documentation/trace/ftrace.rst.)

/sys/kernel/mm
    Dieses Unterverzeichnis enthält verschiedene Dateien und Unterverzeichnisse, die Informationen über das Speicherverwaltungs-Subsystem des Kernels bereitstellen.

/sys/kernel/mm/hugepages
    Dieses Unterverzeichnis enthält ein Unterverzeichnis für jede der großen Speicherseiten, die das System unterstützt. Der Name des Unterverzeichnisses zeigt die Größe der großen Speicherseiten an (z.B. hugepages-2048kB). Innerhalb jedes dieser Unterverzeichnisse befindet sich eine Reihe von Dateien, die zum Betrachten und (in einigen Fällen) zum Ändern von Einstellungen im Zusammenhang mit dieser Größe der großen Seiten verwandt werden können. Weitere Informationen finden Sie in der Kernelquelldatei Documentation/admin-guide/mm/hugetlbpage.rst.

/sys/module
    Dieses Unterverzeichnis enthält ein Unterverzeichnis für jedes in den Kernel geladene Modul. Der Name jedes Verzeichnisses ist der Name des Moduls. In jedem der Unterverzeichnisse können sich die folgenden Dateien befinden:

    coresize
        [Muss noch dokumentiert werden]

    initsize
        [Muss noch dokumentiert werden]

    initstate
        [Muss noch dokumentiert werden]

    refcnt
        [Muss noch dokumentiert werden]

    srcversion
        [Muss noch dokumentiert werden]

    taint
        [Muss noch dokumentiert werden]

    uevent
        [Muss noch dokumentiert werden]

    version
        [Muss noch dokumentiert werden]

    In jedem der Unterverzeichnisse können die folgenden Unterverzeichnisse sein:

    drivers
        [Muss noch dokumentiert werden]

    holders
        [Muss noch dokumentiert werden]

    notes
        [Muss noch dokumentiert werden]

    parameters
        Dieses Verzeichnis enthält eine Datei für jeden Modulparameter, wobei jede Datei den Wert des entsprechenden Parameters enthält. Einige dieser Dateien sind schreibbar, wodurch die Parameter geändert werden können.

    sections
        Dieses Unterverzeichnis enthält Dateien mit Informationen über Modulabschnitte. Diese Informationen werden hauptsächlich zur Fehlersuche verwandt.

    [Muss noch dokumentiert werden]

/sys/power
    [Muss noch dokumentiert werden]

STANDARDS
Linux.

GESCHICHTE
Linux 2.6.0.

ANMERKUNGEN
Diese Handbuchseite ist unvollständig, möglicherweise ungenau und gehört zu den Dingen, die häufig aktualisiert werden müssen.

SIEHE AUCH
proc(5), udev(7)

P. Mochel (2005). The sysfs filesystem. Tagungsband des Ottawa Linux Symposium 2005.

Die Kernelquelldatei Documentation/filesystems/sysfs.rst und verschiedene andere Dateien in Documentation/ABI und Documentation/*/sysfs.rst.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.