さまざまなLinuxディストリビューションでは、構成ファイルの内容はどのように解析されますか?

さまざまなLinuxディストリビューションでは、構成ファイルの内容はどのように解析されますか?

さまざまなLinuxディストリビューションは、同じ構成パラメータをさまざまなファイルに保存します。たとえば、IPv4アドレスDebian ウィズ/etc/network/interfacesファイルに保存Fedora 20/etc/sysconfig/network-scripts/ifcfg-eth0ファイルに保存されます。また、これらの構成ファイルの構文も異なります。ディストリビューションはこれらのファイルをどのように解析しますか?また、構成ファイルの内容はユーザースペースユーティリティと同様の方法で解析されますか?ipそれとも、ifconfig実際にカーネルを構成するいくつかの低レベルのシステムコールがありますか?

答え1

カーネルは設定ファイルを読みません。通常、カーネルはファイルシステムへのアクセスを防ぎます。いくつかの例外とバリアントがありますが、主にカーネルはその場所でプログラムを起動します。/sbin/init起動すると、ユーザープロセスに代わってファイルシステムにのみアクセスします。

ネットワーク構成ファイル(他の種類の構成ファイルと同様)はアプリケーションから読み取られます。ネットワーク構成ファイルの場合、これらのアプリケーションは、以下を介してファイルを読み取り、構成を適用するスクリプトのコレクションに付属するバイナリです。システムコール。 Linuxのネットワーク構成、システムコールは主にioctl呼ぶソケット(これを理解する必要はありません)。

Linux(およびそれ以前のUnix)の歴史では、一部の構成は誰もが実行する方法に同意したため、標準となりました。これは(普遍的ではありませんが)ユーザーの場合に主に当てはまります(/etc/passwdNSスイッチ)とファイルシステム(fstab)。一方、ネットワーク構成は依然として非常に多様です。 Red Hatから派生したディストリビューションはそれを維持します/etc/sysconfig/network。 Debianから派生したディストリビューションはそれを維持します/etc/network/interfaces

Debian を例にすると、/etc/network/interfaces次のように解決されます。ifup/etc/init.d/networkingネットワーク設定を担当する初期化スクリプトから呼び出されるプログラムで、それ自体init

関連情報