GNU/Linux >> Znalost Linux >  >> Cent OS

Porozumění systému souborů sysfs (/sys) v Linuxu

Kromě /proc jádro také exportuje informace do jiného virtuálního souborového systému zvaného sysfs. sysfs používají programy jako udev pro přístup k informacím o zařízení a ovladačích zařízení. Vytvoření sysfs pomohlo vyčistit systém souborů proc, protože většina informací o hardwaru byla přesunuta z proc do sysfs.

Souborový systém sysfs je připojen na /sys. Zobrazí se adresáře nejvyšší úrovně. Následuje stručný popis některých z těchto adresářů:

/sys/block

Tento adresář obsahuje položky pro každé blokové zařízení v systému. Symbolické odkazy ukazují na fyzické zařízení, ke kterému je zařízení mapováno ve stromu fyzických zařízení. Například atributy pro sda disky jsou umístěny v následujícím adresáři:

# ls -l /sys/block/sda/
total 0
-r--r--r-- 1 root root 4096 Mar 24 13:03 alignment_offset
lrwxrwxrwx 1 root root    0 Mar 24 13:04 bdi -> ../../../../../../../../virtual/bdi/8:0
-r--r--r-- 1 root root 4096 Mar 24 13:03 capability
-r--r--r-- 1 root root 4096 Mar 24 13:03 dev
lrwxrwxrwx 1 root root    0 Mar 24 13:04 device -> ../../../0:0:0:0
-r--r--r-- 1 root root 4096 Mar 24 13:03 discard_alignment
-r--r--r-- 1 root root 4096 Mar 24 13:03 events
-r--r--r-- 1 root root 4096 Mar 24 13:03 events_async
-rw-r--r-- 1 root root 4096 Mar 24 13:03 events_poll_msecs
-r--r--r-- 1 root root 4096 Mar 24 13:03 ext_range
drwxr-xr-x 2 root root    0 Mar 24 13:04 holders
-r--r--r-- 1 root root 4096 Mar 24 13:03 inflight
drwxr-xr-x 2 root root    0 Mar 24 13:04 integrity
drwxr-xr-x 2 root root    0 Mar 24 13:04 power
drwxr-xr-x 3 root root    0 Mar 24 13:04 queue
-r--r--r-- 1 root root 4096 Mar 24 13:03 range
-r--r--r-- 1 root root 4096 Mar 24 13:03 removable
-r--r--r-- 1 root root 4096 Mar 24 13:03 ro
-r--r--r-- 1 root root 4096 Mar 24 13:03 size
drwxr-xr-x 2 root root    0 Mar 24 13:04 slaves
-r--r--r-- 1 root root 4096 Mar 24 13:03 stat
lrwxrwxrwx 1 root root    0 Mar 24 13:04 subsystem -> ../../../../../../../../../class/block
-rw-r--r-- 1 root root 4096 Mar 24 13:03 uevent

/sys/bus

Tento adresář obsahuje podadresáře pro každý typ fyzické sběrnice podporovaný v jádře. Každý typ sběrnice má dva podadresáře:devices a řidiče . Adresář zařízení obsahuje seznam zařízení nalezených na tomto typu sběrnice. Adresář driverů obsahuje adresáře pro každý ovladač zařízení registrovaný s typem sběrnice. Parametry ovladače lze prohlížet a manipulovat s nimi. Chcete-li například zobrazit seznam ovladačů pro virtuální zařízení, zadejte:

# ls -lR /sys/bus/xen/drivers
/sys/bus/xen/drivers:
total 0
drwxr-xr-x. 2 root root 0 Mar 24 13:37 vbd
drwxr-xr-x. 2 root root 0 Mar 24 13:37 vif

/sys/bus/xen/drivers/vbd:
total 0
--w-------. 1 root root 4096 Mar 24 13:40 bind
lrwxrwxrwx. 1 root root    0 Mar 24 13:40 module -> ../../../../module/xen_blkfront
--w-------. 1 root root 4096 Mar 24 13:37 uevent
--w-------. 1 root root 4096 Mar 24 13:40 unbind
lrwxrwxrwx. 1 root root    0 Mar 24 13:40 vbd-51792 -> ../../../../devices/vbd-51792
lrwxrwxrwx. 1 root root    0 Mar 24 13:40 vbd-768 -> ../../../../devices/vbd-768

/sys/bus/xen/drivers/vif:
total 0
--w-------. 1 root root 4096 Mar 24 13:40 bind
lrwxrwxrwx. 1 root root    0 Mar 24 13:40 module -> ../../../../module/xen_netfront
--w-------. 1 root root 4096 Mar 24 13:37 uevent
--w-------. 1 root root 4096 Mar 24 13:40 unbind
lrwxrwxrwx. 1 root root    0 Mar 24 13:40 vif-0 -> ../../../../devices/vif-0

/sys/class

Tento adresář obsahuje všechny třídy zařízení registrované v jádře. Třídy zařízení popisují funkční typ zařízení. Příklady zahrnují vstupní zařízení, síťová zařízení a bloková zařízení.

/sys/devices

Tento adresář obsahuje globální hierarchii zařízení všech zařízení v systému. Tento adresář také obsahuje adresář platformy a systémový adresář. Adresář platformy obsahuje periferní zařízení specifická pro konkrétní platformu, jako jsou řadiče zařízení. Systémový adresář obsahuje neperiferní zařízení, jako jsou CPU a APIC.

/sys/firmware

Tento adresář obsahuje podadresáře s objekty a atributy firmwaru.

/sys/module

Tento adresář obsahuje podadresáře pro každý modul, který je načten do jádra, například:

# ls /sys/module/xen*
/sys/module/xen_blkfront:
coresize  drivers  holders  initsize  initstate  notes  parameters  refcnt  rhelversion  sections  srcversion  taint  uevent

/sys/module/xen_netfront:
coresize  drivers  holders  initsize  initstate  notes  parameters  refcnt  rhelversion  sections  srcversion  taint  uevent

/sys/power

Z tohoto adresáře lze ovládat stav napájení systému. Atribut disku řídí způsob, jakým se systém ukládá na disk. Atribut stavu umožňuje procesu vstoupit do stavu nízké spotřeby.

Nástroj sysctl

Obslužný program sysctl lze také použít k zobrazení nebo úpravě hodnot do zapisovatelných souborů v adresáři /proc/sys. Chcete-li zobrazit aktuální nastavení jádra, zadejte:

# sysctl -a
abi.vsyscall32 = 1
crypto.fips_enabled = 0
debug.exception-trace = 1
...

Jedná se o stejnou informaci, jakou byste viděli, kdyby byl každý ze souborů zobrazen samostatně, například:

# cat /proc/sys/abi/vsyscall32
1

Příkaz echo lze použít k přiřazení hodnot zapisovatelným souborům v /proc/sys:

# echo 1 > /proc/sys/net/ipv4/ip_forward

Následuje ekvivalentní příkaz sysctl, který okamžitě zobrazí výsledek změny:

# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

Změny provedené pomocí echo i sysctl se při restartu systému ztratí. Chcete-li zachovat vlastní nastavení, přidejte je do /etc/sysctl.conf soubor. Hodnoty přidané do tohoto souboru se projeví při každém spuštění systému.

Porozumění systému souborů /proc


Cent OS
  1. Pochopení souborového systému Btrfs ve Fedora Linux

  2. Pochopení souboru /etc/xinetd.conf v Linuxu

  3. Porozumění systému souborů /proc

  1. Pochopení souboru /etc/inittab v Linuxu

  2. Vysvětlení souboru /etc/rsyslog.conf pro konfiguraci systémového protokolování

  3. Pochopení rc skriptů v Linuxu

  1. Úvod do souboru Linux /etc/fstab

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Adresář - /sys v linuxu