仮想ファイル・システムおよびシステム構成について
procfs:/procにマウントされ、主にプロセスおよびハードウェアに関連するカーネル・データ構造へのインタフェースを提供します。sysfs:/sysにマウントされ、デバイス、カーネル・モジュール、ファイル・システムおよびその他のカーネル・コンポーネントに関する情報を提供します。
これらの仮想ファイル・システムは、オペレーティング・システムの稼働中にシステム構成を監視および調整できるように、実行中のカーネルを制御およびレポートするために使用されます。
カーネル仮想ファイル・システムの収集には含まれていませんが、/etc/sysconfigシステム構成ファイル・パスは、システムのブート時に読み取られる多くのコア・システム構成変数へのインタフェースを提供するため、重要です。
この章で説明するように、システム設定の構成方法に関するハンズオン・チュートリアルについては、「Oracle Linuxのシステム構成ファイルおよびカーネル・チューニング可能パラメータの確認」も参照してください。
/etc/sysconfigファイルについて
/etc/sysconfigディレクトリには、ブート後にシステムの構成を制御するいくつかのファイルが含まれています。 このディレクトリの内容は、システムにインストールしたパッケージによって異なります。 /etc/sysconfigディレクトリは、システム構成を制御するsystemdおよび関連コンポーネント(Network Managerなど)で使用される多数の構成ファイルの単一ビューを主に提供します。 Oracle Linuxの新しいリリースでは、systemdおよび他の構成ユニットによって構成がより適切に処理されるため、このディレクトリ内の構成ファイルの数は減少しています。 systemdの詳細は、『Oracle Linux 9: systemdでのシステムの管理』 を参照してください。
/etc/sysconfigディレクトリには、次のようなファイルが含まれます:
-
atd -
atdデーモンに対して追加のコマンドライン引数を指定します。 -
crond -
ブート時に引数を
crondデーモンに渡します。 -
chronyd -
ブート時にNTPサービスに使用される
chronydデーモンに引数を渡します。 -
firewalld -
起動時に引数をファイアウォール・デーモン(
firewalld)に渡します。 -
named -
ブート時に引数を名前サービス・デーモンに渡します。
namedデーモンは、Berkeley Internet Name Domain (BIND)ディストリビューションに含まれるドメイン・ネーム・システム(DNS)サーバーです。 このサーバーは、ネットワーク上でホスト名をIPアドレスに関連付ける表を保持します。 -
samba -
ブート時に引数を
smbd、nmbdおよびwinbinddデーモンに渡して、Windowsクライアントのファイル共有接続、NetBIOS-over-IPネーミング・サービス、およびドメイン・コントローラへの接続管理をサポートします。 -
selinux -
システム上でSELinuxの状態を制御します。 このファイルは
/etc/selinux/configへのシンボリック・リンクです。詳細は、『Oracle Linux: SELinuxの管理』を参照してください。
-
snapper -
snapperユーティリティによってコンテンツをスナップショットとして記録できる、btrfsファイル・システムおよびシン・プロビジョニングされたLVMボリュームのリストを定義します。詳細については、「Oracle Linux 9: ファイル・システム管理の実行」を参照してください。
-
sysstat -
sarなど、システム・アクティビティのデータ・コレクタ・ユーティリティのロギング・パラメータを構成します。
/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プロセスに対応します。
仮想ファイルを調査するには、次の例に示すように、cat、lessおよびviewなどのコマンドを使用します:
cat /proc/cpuinfoprocessor : 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
... 判読できないコンテンツを含むファイルには、lspci、free、topおよびsysctlなどのユーティリティを使用して情報にアクセスできます。 たとえば、lspciコマンドは、システム上のPCIデバイスをリストします:
sudo lspci00: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 9: udevでのシステム・デバイスの管理』を参照してください。
ノート:
/sysではカーネル・データ構造体と制御ポイントが公開されているので、ディレクトリが祖先ディレクトリにリンクしている状態の循環参照がディレクトリに含まれている可能性があります。 したがって、/sysで使用されるfindコマンドは停止しない可能性があります。
/sysにあるディレクトリの詳細は、「sysfsディレクトリ・リファレンス」を参照してください。