Linux内核直接在根文件系统中查找哪些配置文件?

Linux内核直接在根文件系统中查找哪些配置文件?

/etc 中有很多配置文件。其中一些是由已安装的应用程序(如 samba)使用的,但是是否有内核直接查找的配置?例如密码、组、主机名等?如果是的话,其中哪些直接用于内核?

答案1

None:内核不直接读取任何配置文件。各种工具读取配置文件并在内核中进行设置(例如 sysctl)但内核本身没有。

答案2

关于 Linux 内核及其作用的几句话。

内核本身实际上什么也不做。我不是在开玩笑。当您加载它时,它会尝试初始化您的硬件,然后尝试/sbin/init从根文件系统(安装在 的文件系统/)执行,就是这样。但有一个警告。

内核本身是大量的算法,它们提供 API(将用户空间调用转换为硬件知道如何处理的东西)供应用程序使用,即使这些应用程序不直接使用这些 API,它们也通过中间人,例如 glibc(C 语言 API)或 Mesa(OpenGL、Vulkan API)。

前面谈到了警告。

可以指示内核通过 iptables、nftables 等来处理网络数据包,但内核不会生成这些数据包,它要么从外部接收它们,要么由于运行请求发送它们的应用程序而发送它们。一个小例外是 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)包没有结果。

相关内容