/ 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)パッケージの結果は表示されません。