sysfs(5)

НАИМЕНОВАНИЕ
sysfs - файловая система для экспортируемых объектов ядра

ОПИСАНИЕ
Файловая система sysfs — это псевдофайловая система, предоставляющая интерфейс к структурам данных ядра (точнее, файлы и каталоги в sysfs позволяют видеть структуры kobject, определённые внутри ядра). Файлы в sysfs показывают информацию об устройствах, модулях ядра, файловых системах и других компонентах ядра.

Обычно, файловая система sysfs монтируется в /sys. Это выполняется системой автоматически, но также можно монтировать её вручную с помощью команды:

    mount -t sysfs sysfs /sys

Многие из файлов файловой системы sysfs доступны только для чтения, но есть и доступные на запись, через которые можно изменять переменные ядра. В целях сокращения избыточности для связи элементов в дереве файловой системы широко применяются символьные ссылки.

  Файлы и каталоги
В следующем списке описаны некоторые файлы и каталоги в иерархии /sys.

/sys/block
    В этом подкаталоге содержится по одной символьной ссылке на каждое блочное устройство, обнаруженное в системе. Символьные ссылки указывают на соответствующие каталоги в /sys/devices.

/sys/bus
    В этом каталоге содержится по одному подкаталогу на каждый тип шины ядра. Внутри каждого каталога есть два подкаталога:

    devices
        Этот подкаталог содержит символьные ссылки на элементы в /sys/devices, которые соответствуют устройствам, обнаруженным на этой шине.

    drivers
        Этот подкаталог содержит по одному подкаталогу на каждый драйвер устройства, загруженный для этой шины.

/sys/class
    Этот подкаталог содержит по одному слою дополнительных подкаталогов на каждый класс устройств, зарегистрированных в системе (например, терминалы, сетевые устройства, блочные устройства, графические устройства, звуковые устройства и т. д.). Внутри каждого из этих подкаталогов находятся символьные ссылки на каждое из устройств этого класса. Данные символьные ссылки указывают на элементы в каталоге /sys/devices.

/sys/class/net
    Каждый элемент этого каталога представляет собой символьную ссылку на одно из реальных или виртуальных сетевых устройств, видимых в сетевом пространстве имён процесса, обратившегося к каталогу. Эти символьные ссылки указывают на элементы в каталоге /sys/devices.

/sys/dev
    Этот каталог содержит два подкаталога — block/ и char/, соответствующие блочным и символьным устройствам в системе. Внутри каждого подкаталога находятся символьные ссылки с именами в виде основной-ID:дополнительный-ID, где значения ID соответствуют основному и дополнительному идентификаторами определённого устройства. Каждая символьная ссылка указывает на каталог sysfs для устройства. Таким образом, символьные ссылки в /sys/dev предоставляют простой способ просмотра интерфейса sysfs по идентификаторам устройств, возвращаемых вызовом stat(2) (или подобным).

    Пример сеанса оболочки с выводом /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
    В данном каталоге содержится представление в виде файловой системы для дерева устройств ядра, которое является иерархией структур device внутри ядра.

/sys/firmware
    В этом подкаталоге содержатся интерфейсы для просмотра и изменения объектов и атрибутов микропрограмм.

/sys/fs
    В этом каталоге содержатся подкаталоги для некоторых файловых систем. Здесь файловая система будет иметь подкаталог только, если она явно создаст подкаталог.

/sys/fs/cgroup
    Обычно, этот каталог используется как точка монтирования файловой системы tmpfs(5), содержащей точки монтирования для файловых систем cgroups(7).

/sys/fs/smackfs
    В каталоге содержатся файлы настройки SMACK LSM. Смотрите файл исходного кода ядра Documentation/admin-guide/LSM/Smack.rst.

/sys/hypervisor
    [Будет описано]

/sys/kernel
    В этом подкаталоге содержатся различные файлы и подкаталоги, предоставляющие информацию о работающем ядре.

/sys/kernel/cgroup/
    Файлы этого каталога описаны в cgroups(7).

/sys/kernel/debug/tracing
    Точка монтирования файловой системы tracefs, используемая свойством ядра ftrace (информацию по ftrace смотрите в файле исходного кода ядра Documentation/trace/ftrace.txt).

/sys/kernel/mm
    В этом подкаталоге содержатся различные файлы и подкаталоги, предоставляющие информацию о подсистеме ядра управления памятью.

/sys/kernel/mm/hugepages
    Этот подкаталог содержит по одному подкаталогу на каждый размер огромных страниц ядра, поддерживаемых системой. В имени подкаталога показан размер огромной страницы (например, hugepages-2048kB). Внутри каждого подкаталога содержится набор файлов, которые могут быть использованы для просмотра и (в некоторых случаях) изменения настроек, относящихся к размеру огромных страниц. Дополнительную информацию смотрите в файле исходного кода ядра Documentation/admin-guide/mm/hugetlbpage.rst.

/sys/module
    Этот подкаталог содержит по одному подкаталогу на каждый модуль, загруженный в ядро. Подкаталоги называются по имени модулей. В каждом подкаталоге могут быть следующие файлы:

    coresize
        [Будет описано]

    initsize
        [Будет описано]

    initstate
        [Будет описано]

    refcnt
        [Будет описано]

    srcversion
        [Будет описано]

    taint
        [Будет описано]

    uevent
        [Будет описано]

    version
        [Будет описано]

    В каждом подкаталоге могут быть следующие подкаталоги:

    drivers
        [Будет описано]

    holders
        [Будет описано]

    notes
        [Будет описано]

    parameters
        Этот каталог содержит по одному файлу на каждый параметр модуля; в каждом файле хранится значение соответствующего параметра. Некоторые файлы доступны на запись.

    sections
        В этих подкаталогах содержатся файла с информацией о разделах модуля. Эта информацию, в основном, используется для отладки.

    [Будет описано]

/sys/power
    [Будет описано]

СТАНДАРТЫ
Linux.

ИСТОРИЯ
Linux 2.6.0.

ПРИМЕЧАНИЯ
Данная справочная страница неполна, в ней могут быть неточности и является одной из страниц, которую требуется обновлять очень часто.

СМОТРИТЕ ТАКЖЕ
proc(5), udev(7)

P. Mochel (2005). The sysfs filesystem. Proceedings of the 2005 Ottawa Linux Symposium.

Файл исходного кода ядра Documentation/filesystems/sysfs.txt и другие различные файлы в Documentation/ABI и Documentation/*/sysfs.txt

ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) Alexander Golubev <fatzer2@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Hotellook, Nikita <zxcvbnm3230@mail.ru>, Spiros Georgaras <sng@hellug.gr>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (<debian-l10n-russian@lists.debian.org>).