仮想ファイル・システムおよびシステム構成について

システムがブート・プロセスを完了すると、仮想ファイル・システムは実行中のカーネルと、システム上で使用可能なプロセスおよびハードウェアへのインタフェースを提供します。次の2つの仮想ファイル・システムを使用できます:
  • procfs: /procにマウントされ、主にプロセスおよびハードウェアに関連するカーネル・データ構造へのインタフェースを提供します。
  • sysfs: /sysにマウントされ、デバイス、カーネル・モジュール、ファイル・システムおよびその他のカーネル・コンポーネントに関する情報を提供します。

これらの仮想ファイル・システムは、オペレーティング・システムの稼働中にシステム構成を監視および調整できるように、実行中のカーネルを制御およびレポートするために使用されます。

カーネル仮想ファイル・システムの収集には含まれていませんが、/etc/sysconfigシステム構成ファイル・パスは、システムのブート時に読み取られる多くのコア・システム構成変数へのインタフェースを提供するため、重要です。

この章の説明に従ってシステム設定を構成する方法に関するハンズオン・チュートリアルについては、Oracle Linuxでのシステム設定の構成も参照してください。

/etc/sysconfigファイルについて

/etc/sysconfigディレクトリには、ブート後にシステムの構成を制御するいくつかのファイルが含まれています。このディレクトリの内容は、システムにインストールしたパッケージによって異なります。/etc/sysconfigディレクトリは、システム構成を制御するsystemdおよび関連コンポーネント(Network Managerなど)で使用される多数の構成ファイルの単一ビューを主に提供します。Oracle Linuxの新しいリリースでは、systemdおよび他の構成ユニットによって構成がより適切に処理されるため、このディレクトリ内の構成ファイルの数は減少しています。systemdの詳細は、『Oracle Linux 8: systemdでのシステムの管理』を参照してください。

/etc/sysconfigディレクトリには、次のようなファイルが含まれます:

atd

atdデーモンに対して追加のコマンドライン引数を指定します。

autofs

デバイスを自動的にマウントしたり、自動マウンタの操作を制御するためのカスタム・オプションを定義します。

crond

ブート時に引数をcrondデーモンに渡します。

chronyd

ブート時にNTPサービスに使用されるchronydデーモンに引数を渡します。

firewalld

起動時に引数をファイアウォール・デーモン(firewalld)に渡します。

grub

GRUB 2ブート・ローダーのデフォルト設定を指定します。このファイルは/etc/default/grubへのシンボリック・リンクです。詳細は、「GRUB 2ブート・ローダーについて」を参照してください。

named

ブート時に引数を名前サービス・デーモンに渡します。namedデーモンは、Berkeley Internet Name Domain (BIND)ディストリビューションに含まれるドメイン・ネーム・システム(DNS)サーバーです。このサーバーは、ネットワーク上でホスト名をIPアドレスに関連付ける表を保持します。

samba

ブート時に引数をsmbdnmbdおよびwinbinddデーモンに渡して、Windowsクライアントのファイル共有接続、NetBIOS-over-IPネーミング・サービス、およびドメイン・コントローラへの接続管理をサポートします。

selinux

システム上でSELinuxの状態を制御します。このファイルは/etc/selinux/configへのシンボリック・リンクです。

詳細は、『Oracle Linux: SELinuxの管理』を参照してください。

snapper

snapperユーティリティによってコンテンツをスナップショットとして記録できる、btrfsファイル・システムおよびシン・プロビジョニングされたLVMボリュームのリストを定義します。

詳細は、『Oracle Linux 8: ローカル・ファイル・システムの管理』 を参照してください。

sysstat

sarなど、システム・アクティビティのデータ・コレクタ・ユーティリティのロギング・パラメータを構成します。

詳細は、/usr/share/doc/initscripts*/sysconfig.txtを参照してください。

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

/procディレクトリ階層内のファイルには、システム・ハードウェアおよびシステムで実行中のプロセスに関する情報が含まれています。カーネルの構成を変更するには、書込み権限が設定されている特定のファイルに書き込みます。

/procディレクトリの下のファイルは、基礎となるデータ構造およびシステム情報のビューを表示するために、要求に応じてカーネルによって作成される仮想ファイルです。このように、/procは仮想ファイル・システムの1つの例です。ほとんどの仮想ファイルはサイズが0バイトとしてリストされますが、表示すると、大量の情報が含まれています。

/proc/interrupts/proc/meminfo/proc/mounts/proc/partitionsなどの仮想ファイルでは、システムのハードウェアのビューが提供されます。その他のファイル(/proc/filesystems/proc/sysの下のファイルなど)は、システムの構成に関する情報を提供し、必要に応じて構成を変更できます。

関連トピックに関する情報が含まれるファイルは、仮想ディレクトリにグループ化されます。システムで実行されているプロセスごとに、/procディレクトリに別のディレクトリが存在します。ディレクトリの名前は、数値のプロセスIDに対応します。たとえば、/proc/1は、PIDが1のsystemdプロセスに対応します。

仮想ファイルを調査するには、次の例に示すように、catlessおよびviewなどのコマンドを使用します:

cat /proc/cpuinfo
processor         : 0
vendor_id         : GenuineIntel
cpu family        : 6
model             : 42
model name        : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
stepping          : 7
cpu MHz           : 2393.714
cache size        : 6144 KB
physical id       : 0
siblings          : 2
core id           : 0
cpu cores         : 2
apicid            : 0
initial apicid    : 0
fpu               : yes
fpu_exception     : yes
cpuid level       : 5
wp                : yes
...

判読できないコンテンツを含むファイルには、lspcifreetopおよびsysctlなどのユーティリティを使用して情報にアクセスできます。たとえば、lspciコマンドは、システム上のPCIデバイスをリストします:

sudo lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0b.0 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode]
        (rev 02)
...

/procで使用可能な様々なディレクトリの詳細は、「procfsディレクトリ・リファレンス」を参照してください。/proc/sysでカーネル・パラメータを表示および変更してシステム・ランタイム動作を制御する方法の詳細は、「実行時のカーネル・パラメータの管理」を参照してください。

/sys仮想ファイル・システムについて

カーネルは、/procファイル・システムに加えて/sys仮想ファイル・システム(sysfs)にも情報をエクスポートします。動的デバイス・マネージャ(udev)などのプログラムでは、/sysを使用してデバイスやデバイス・ドライバ情報にアクセスします。デバイス管理の詳細は、『Oracle Linux 8: udevでのシステム・デバイスの管理』を参照してください。

ノート:

/sysではカーネル・データ構造体と制御ポイントが公開されているので、ディレクトリが祖先ディレクトリにリンクしている状態の循環参照がディレクトリに含まれている可能性があります。したがって、/sysで使用されるfindコマンドは停止しない可能性があります。

/sysにあるディレクトリの詳細は、「sysfsディレクトリ・リファレンス」を参照してください。