sysfs

SYSFS(5)        Ð ÑководÑÑво пÑогÑаммиÑÑа Linux        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/vm/hugetlbpage.txt.

       /sys/module
              ÐÑÐ¾Ñ Ð¿Ð¾Ð´ÐºÐ°Ñалог ÑодеÑÐ¶Ð¸Ñ Ð¿Ð¾ одномÑ
              подкаÑÐ°Ð»Ð¾Ð³Ñ Ð½Ð° каждÑй модÑлÑ,
              загÑÑженнÑй в ÑдÑо. ÐодкаÑалоги
              назÑваÑÑÑÑ Ð¿Ð¾ имени модÑлей. Ркаждом
              подкаÑалоге могÑÑ Ð±ÑÑÑ ÑледÑÑÑие ÑайлÑ:

              coresize
                     [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

              initsize
                     [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

              initstate
                     [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

              refcnt [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

              srcversion
                     [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

              taint  [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

              uevent [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

              version
                     [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

              Ркаждом подкаÑалоге могÑÑ Ð±ÑÑÑ
              ÑледÑÑÑие подкаÑалоги:

              drivers
                     [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

              holders
                     [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

              notes  [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

              parameters
                     ÐÑÐ¾Ñ ÐºÐ°Ñалог ÑодеÑÐ¶Ð¸Ñ Ð¿Ð¾ одномÑ
                     ÑÐ°Ð¹Ð»Ñ Ð½Ð° каждÑй паÑамеÑÑ Ð¼Ð¾Ð´ÑлÑ; в
                     каждом Ñайле ÑÑаниÑÑÑ Ð·Ð½Ð°Ñение
                     ÑооÑвеÑÑÑвÑÑÑего паÑамеÑÑа. ÐекоÑоÑÑе
                     ÑÐ°Ð¹Ð»Ñ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ð½Ð° запиÑÑ.

              sections
                     Ð ÑÑÐ¸Ñ Ð¿Ð¾Ð´ÐºÐ°ÑÐ°Ð»Ð¾Ð³Ð°Ñ ÑодеÑжаÑÑÑ Ñайла
                     Ñ Ð¸Ð½ÑоÑмаÑией о ÑÐ°Ð·Ð´ÐµÐ»Ð°Ñ Ð¼Ð¾Ð´ÑлÑ. ÐÑа
                     инÑоÑмаÑиÑ, в оÑновном, иÑполÑзÑеÑÑÑ
                     Ð´Ð»Ñ Ð¾Ñладки.

              [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

       /sys/power
              [ÐÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñано]

ÐÐРСÐÐ
       Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема sysfs впеÑвÑе поÑвилаÑÑ Ð² Linux
       2.6.0.

СÐÐТÐÐТСТÐÐРСТÐÐÐÐРТÐÐ
       Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема sysfs еÑÑÑ ÑолÑко в Linux.

ÐÐÐÐЧÐÐÐЯ
       ÐÐ°Ð½Ð½Ð°Ñ ÑпÑавоÑÐ½Ð°Ñ ÑÑÑаниÑа неполна, в ней
       могÑÑ Ð±ÑÑÑ Ð½ÐµÑоÑноÑÑи и ÑвлÑеÑÑÑ Ð¾Ð´Ð½Ð¾Ð¹ из
       ÑÑÑаниÑ, коÑоÑÑÑ ÑÑебÑеÑÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑÑ Ð¾ÑÐµÐ½Ñ ÑаÑÑо.

СÐÐТРÐТРТÐÐÐÐ
       proc(5), udev(7)

       P. Mochel. (2005).  Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема sysfs.
       ÐÑедÑÑавлен на ÑимпозиÑме Linux в ÐÑÑаве в 2005
       годÑ.

       Файл иÑÑодного кода ÑдÑа
       Documentation/filesystems/sysfs.txt и дÑÑгие ÑазлиÑнÑе
       ÑÐ°Ð¹Ð»Ñ Ð² Documentation/ABI и Documentation/*/sysfs.txt



Linux                             2017-11-26                          SYSFS(5)