table of contents
- bookworm-backports 1:4.24.0-2~bpo12+1
- testing 1:4.24.0-2
- unstable 1:4.24.0-2
sysfs(5) | File Formats Manual | 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:
- /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:
- 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]
WERSJE¶
System plików sysfs pojawił się pierwotnie w Linuksie 2.6.0.
STANDARDY¶
System plików sysfs jest typowo linuksowy.
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¶
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¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: 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 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.
30 października 2022 r. | Linux man-pages 6.03 |