GNU/Linux >> Linux の 問題 >  >> Cent OS

Linux の sysfs ファイル システム (/sys) について

/proc に加えて、カーネルは sysfs と呼ばれる別の仮想ファイル システムにも情報をエクスポートします。 sysfs は、udev などのプログラムがデバイスおよびデバイス ドライバ情報にアクセスするために使用します。多くのハードウェア情報が proc から sysfs に移動されたため、sysfs の作成は proc ファイル システムのクリーンアップに役立ちました。

sysfs ファイル システムは /sys にマウントされます。最上位のディレクトリが表示されます。以下は、これらのディレクトリのいくつかの簡単な説明です:

/sys/ブロック

このディレクトリには、システム内の各ブロック デバイスのエントリが含まれています。シンボリック リンクは、物理デバイス ツリーでデバイスがマップされる物理デバイスを指します。たとえば、sda の属性 ディスクは次のディレクトリにあります:

# 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/バス

このディレクトリには、カーネルでサポートされている各物理バス タイプのサブディレクトリが含まれています。各バス タイプには、devices という 2 つのサブディレクトリがあります。 とドライバー .デバイス ディレクトリには、そのタイプのバスで検出されたデバイスが一覧表示されます。 drivers ディレクトリには、バス タイプに登録されている各デバイス ドライバのディレクトリが含まれています。ドライバーのパラメーターを表示および操作できます。たとえば、仮想デバイスのドライバーを一覧表示するには、次のように入力します。

# 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/クラス

このディレクトリには、カーネルに登録されているすべてのデバイス クラスが含まれています。デバイス クラスは、デバイスの機能タイプを記述します。例としては、入力デバイス、ネットワーク デバイス、ブロック デバイスなどがあります。

/sys/デバイス

このディレクトリには、システム上のすべてのデバイスのグローバル デバイス階層が含まれています。このディレクトリには、プラットフォーム ディレクトリとシステム ディレクトリも含まれています。プラットフォーム ディレクトリには、デバイス コントローラなど、特定のプラットフォームに固有の周辺機器が含まれています。システム ディレクトリには、CPU や APIC などの非周辺機器が含まれています。

/sys/ファームウェア

このディレクトリには、ファームウェア オブジェクトと属性を含むサブディレクトリが含まれています。

/sys/モジュール

このディレクトリには、カーネルにロードされる各モジュールのサブディレクトリが含まれます。例:

# 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/電源

システムの電源状態は、このディレクトリから制御できます。ディスク属性は、システムがディスクにサスペンドする方法を制御します。 state 属性により、プロセスは低電力状態に入ることができます。

sysctl ユーティリティ

sysctl ユーティリティを使用して、/proc/sys ディレクトリ内の書き込み可能なファイルの値を表示または変更することもできます。現在のカーネル設定を表示するには、次のように入力します:

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

これは、各ファイルを個別に表示した場合と同じ情報です。たとえば:

# cat /proc/sys/abi/vsyscall32
1

echo コマンドを使用して、/proc/sys 内の書き込み可能なファイルに値を割り当てることができます:

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

同等の sysctl コマンドが続き、変更の結果がすぐに表示されます:

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

echo と sysctl の両方を使用して行った変更は、システムを再起動すると失われます。カスタム設定を保持するには、それらを /etc/sysctl.conf に追加します ファイル。このファイルに追加された値は、システムが起動するたびに有効になります。

/proc ファイル システムについて


Cent OS
  1. FedoraLinuxのBtrfsファイルシステムを理解する

  2. Linux の /etc/inittab ファイルについて

  3. システム ログを構成するための /etc/rsyslog.conf ファイルについて

  1. Linux の /etc/skel ディレクトリについて

  2. Linux の /etc/profile 構成ファイルについて

  3. ディレクトリ - Linux では /sys

  1. Linux / etc/fstabファイルの紹介

  2. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  3. Linux の /etc/xinetd.conf ファイルについて