sysfs(5)

NAZWA
sysfs - system plików do eksportowania obiektów jądra

OPIS
System plików sysfs jest pseudosystemem plików, który zapewnia interfejs do struktur danych jądra (precyzyjniej: pliki i katalogi w sysfs dają wgląd w struktury kobject, zdefiniowane wewnętrznie w jądrze). Pliki w sysfs udostępniają informacje o urządzeniach, modułach jądra, systemach plików i innych składowych jądra.

System plików sysfs jest najczęściej montowany jako /sys. Zwykle jest to dokonywane automatycznie przez system, ale można go zamontować również ręcznie, za pomocą polecenia takiego jak:

    mount -t sysfs sysfs /sys

Wiele z plików w systemie plików sysfs jest tylko do odczytu, lecz niektóre są zapisywalne, co umożliwia zmianę zmiennych jądra. Aby uniknąć dublowania, do łączenia wpisów w systemie plików używa się wielu dowiązań symbolicznych.

  Pliki i katalogi
Poniższa lista opisuje niektóre z plików i katalogów znajdujących się w hierarchii /sys.

/sys/block
    Podkatalog zawierający po jednym dowiązaniu symbolicznym dla każdego urządzenia blokowego, które zostało odkryte w systemie. Dowiązania symboliczne wskazują na odpowiadające katalogi w katalogu /sys/devices.

/sys/bus
    Katalog zawiera po jednym podkatalogu dla każdego typu magistrali w jądrze. W każdym z nich, znajdują się dwa podkatalogi:

    devices
        Podkatalog zawierający dowiązania symboliczne do wpisów w /sys/devices, odpowiadającym urządzeniom odkrytym na tej magistrali.

    drivers
        Podkatalog zawierający po jednym podkatalogu dla każdego sterownika urządzenia załadowanego do tej magistrali.

/sys/class
    Podkatalog zawiera po jednym poziomie dalszych podkatalogów, na każdą klasę urządzeń, którą zarejestrowano w systemie (np. terminale, urządzenia sieciowe, urządzenia blokowe, urządzenia graficzne, urządzenia dźwiękowe itd.). Wewnątrz każdego z tych podkatalogów znajdują się dowiązania symboliczne do każdego z urządzeń danej klasy. Dowiązania prowadzą do wpisów w katalogu /sys/devices.

/sys/class/net
    Każdy z wpisów w tym katalogu jest dowiązaniem symbolicznym reprezentującym rzeczywiste lub wirtualne urządzenie sieciowe, które jest widoczne w przestrzeni nazw sieci procesu, uzyskującego dostęp do katalogu. Każde z dowiązań prowadzi do wpisów w katalogu /sys/devices.

/sys/dev
    Katalog zawiera dwa podkatalogi: block/ i char/ odnoszące się, odpowiednio, do urządzeń blokowych oraz znakowych w systemie. Wewnątrz każdego z podkatalogów są dowiązania symboliczne z nazwami w postaci numer-główny:numer-poboczny, które odpowiadają numerowi głównemu i pobocznemu danego urządzenia. Każde z dowiązań wskazuje na katalog sysfs urządzenia. Dowiązania symboliczne w /sys/dev dają zatem łatwy wgląd w interfejs sysfs, za pomocą numerów urządzeń zwracanych przez wywołanie stat(2) (lub podobne).

    Poniższa powłoka sesji pokazuje przykład z katalogu /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
    Katalog zawiera drzewo urządzeń jądra, czyli hierarchię sktruktur device w jądrze, reprezentowaną w postaci systemu plików.

/sys/firmware
    Podkatalog zawiera interfejsy do przeglądania i zmiany obiektów oraz atrybutów związanych z oprogramowaniem układowym.

/sys/fs
    Katalog zawiera podkatalogi niektórych systemów plików. System plików będzie miał tu podkatalog tylko, jeśli wyraźnie zdecyduje, że chce go utworzyć.

/sys/fs/cgroup
    Katalog konwencjonalnie używany jako punkt montowania systemu plików tmpfs(5), zawierającego punkty montowań systemów plików cgroups(7).

/sys/fs/smackfs
    Katalog zawiera pliki konfiguracyjne SMACK LSM. Więcej informacji w pliku Documentation/admin-guide/LSM/Smack.rst, w źródłach jądra.

/sys/hypervisor
    [do udokumentowania]

/sys/kernel
    Podkatalog zawiera różne pliki i podkatalogi dostarczające informacji o działającym jądrze.

/sys/kernel/cgroup/
    Informacje o plikach w tym katalogu zawarto w podręczniku cgroups(7).

/sys/kernel/debug/tracing
    Punkt montowania dla systemu plików tracefs, używanego przez mechanizm jądra ftrace (więcej informacji o ftrace znajduje się w pliku Documentation/trace/ftrace.txt w źródłach jądra).

/sys/kernel/mm
    Podkatalog zawiera różne pliki i podkatalogi udostępniające informacje o podsystemie zarządzania pamięcią jądra.

/sys/kernel/mm/hugepages
    Podkatalog zawiera po jednym podkatalogu, dla każdego rozmiaru dużych stron, które obsługuje system. Nazwa danego podkatalogu wskazuje rozmiar dużej strony (np. hugepages-2048kB). Wewnątrz każdego z tych podkatalogów znajduje się zbiór plików, które mogą służyć do przeglądania i (czasem) zmiany ustawień związanych z danym rozmiarem dużych stron. Więcej informacji w pliku Documentation/admin-guide/mm/hugetlbpage.rst w źródłach jądra.

/sys/module
    Podkatalog zawiera po jednym podkatalogu, dla każdego modułu załadowego do jądra. Nazwa danego podkatalogu jest nazwą modułu. W każdym z tych podkatalogów, mogą istnieć następujące pliki:

    coresize
        [do udokumentowania]

    initsize
        [do udokumentowania]

    initstate
        [do udokumentowania]

    refcnt
        [do udokumentowania]

    srcversion
        [do udokumentowania]

    taint
        [do udokumentowania]

    uevent
        [do udokumentowania]

    version
        [do udokumentowania]

    W każdym z tych podkatalogów, mogą istnieć następujące podkatalogi:

    drivers
        [do udokumentowania]

    holders
        [do udokumentowania]

    notes
        [do udokumentowania]

    parameters
        Katalog zawiera po jednym pliku dla każdego parametru modułu, przy czym każdy plik zawiera wartość danego parametru. Niektóre z plików są dostępne do zapisu, pozwalając na modyfikację wartości.

    sections
        Podkatalog zawiera informacje o sekcjach modułów. Służą głównie do debugowania.

    [Do udokumentowania]

/sys/power
    [do udokumentowania]

STANDARDY
Linux.

HISTORIA
Linux 2.6.0.

UWAGI
Ta strona podręcznika jest niekompletna, prawdopodobnie niedokładna i należy do tych, które powinny być bardzo często poprawiane.

ZOBACZ TAKŻE
proc(5), udev(7)

P. Mochel. (2005). The sysfs filesystem. Sprawozdanie z 2005 Ottawa Linux Symposium.

Plik Documentation/filesystems/sysfs.txt w źródłach jądra i różne inne pliki w Documentation/ABI i Documentation/*/sysfs.txt

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.