Linuxカーネルは、ルートファイルシステムから直接どの設定ファイルを探しますか?

Linuxカーネルは、ルートファイルシステムから直接どの設定ファイルを探しますか?

/ etcには多くの設定ファイルがあります。これらのうちのいくつかはSambaのようなインストールされたアプリケーションで使用されていますが、カーネルが直接見つける設定はありますか?パスワード、グループ、ホスト名など?それでは、その中でカーネルで直接使用されるものは何ですか?

答え1

なし:カーネルは設定ファイルを直接読み取らない。さまざまなツールが設定ファイルを読み取り、それをカーネルに設定します(例えば sysctl)カーネル自体ではありません。

答え2

Linuxカーネルとその役割についてのいくつかの単語です。

カーネル自体は実際には何もしません。冗談じゃない。ロードすると、ハードウェアの初期化を試みてから、ルートファイル/sbin/initシステム(マウントされたファイルシステム/)で実行を試み、それがすべてです。しかし、注意することがあります。

カーネル自体は、アプリケーションが使用するAPI(ユーザー空間呼び出しをハードウェアが処理できるように変換する)を提供する大規模なアルゴリズムの集まりです。そのアプリケーションがそのAPIを直接使用しない場合でも、次のブローカーを通過します。 glibc(C言語API)またはMesa(OpenGL、Vulkan API)。

警告は前述した。

カーネルは、iptables、nftablesなどを介してネットワークパケットを処理するように指示されますが、カーネルは、これらのパケットを生成せずに外部からパケットを受信したり、送信を要求したアプリケーションを実行した結果としてパケットを送信します。 1つの小さな例外はpingです。これはカーネルが機能しているように見えますが、pingが機能するには、ユーザースペースがカーネルにネットワークを設定する方法を指示する必要があります。カーネルが起動すると、ネットワークプロトコルはまったくありません。

答え3

@Stephen Kittはすでに良い回答を提供していますが、ファイルがどのユーティリティ/パッケージに属しているかを知りたい場合は、次のように試すことができます。

Debianベースのdebパッケージ:

find /etc/ -type f -exec dpkg -S {} \;

RedHatベースのRPMソフトウェアパッケージ:

find /etc/ -type f exec rpm -qf {} \;

このコマンドは、/etc/ディレクトリ内のすべてのファイルを検索し、各ファイルが属するパッケージに対してクエリを実行します。カーネル(またはlinux-image)パッケージの結果は表示されません。

関連情報