ptiza_v_nebe Asked: 2023-01-22 07:46:33 +0800 CST2023-01-22 07:46:33 +0800 CST 2023-01-22 07:46:33 +0800 CST linux内核直接在根文件系统中查找哪些配置文件? 772 /etc下有很多配置文件。其中一些被已安装的应用程序使用,如 samba,但是是否有内核直接查找的 confs?例如密码、组、主机名等等?如果是这样,它们中的哪些是直接用于内核的? linux 3 个回答 Voted Stephen Kitt 2023-01-22T08:17:56+08:002023-01-22T08:17:56+08:00 None:内核不直接读取任何配置文件。各种工具读取配置文件并在内核中进行设置(例如 sysctl),但内核本身不会。 Best Answer Artem S. Tashkinov 2023-01-22T10:09:07+08:002023-01-22T10:09:07+08:00 关于 Linux 内核及其作用的几句话。 内核本身实际上什么都不做。我不是在开玩笑。当你加载它时,它会尝试初始化你的硬件,然后它会尝试/sbin/init从根文件系统(安装在/的东西)执行,仅此而已。不过有一个警告。 内核本身是大量算法,它们为应用程序提供 API(将用户空间调用转换为硬件知道如何处理的东西),即使这些应用程序不直接使用这些 API,它们通过中间人,例如 glibc(C 语言 API)或 Mesa(OpenGL、Vulkan API)。 说到前面的警告。 可以指示内核通过例如 iptables、nftables 来处理网络数据包,但随后内核不会生成这些数据包,它要么从外部接收它们,要么由于运行的应用程序请求发送它们而发送它们。一个小的例外是 ping ,它有点像内核正在工作,但为了使 ping 工作,用户空间必须指示内核如何配置网络。当内核启动时,根本没有网络协议。 nobody 2023-01-22T08:28:10+08:002023-01-22T08:28:10+08:00 @Stephen Kitt 已经提供了一个很好的答案,但是如果您想知道该文件属于哪个实用程序/包,您可以尝试这样的事情。 基于 deb 包的 Debian: find /etc/ -type f -exec dpkg -S {} \; 基于 RedHat 的 RPM 包: find /etc/ -type f exec rpm -qf {} \; 命令将查找 /etc/ 目录中的所有文件,并对文件所属的包的每个文件运行查询。您将看到内核(或 linux-image)包没有结果。
None:内核不直接读取任何配置文件。各种工具读取配置文件并在内核中进行设置(例如
sysctl
),但内核本身不会。关于 Linux 内核及其作用的几句话。
内核本身实际上什么都不做。我不是在开玩笑。当你加载它时,它会尝试初始化你的硬件,然后它会尝试
/sbin/init
从根文件系统(安装在/
的东西)执行,仅此而已。不过有一个警告。内核本身是大量算法,它们为应用程序提供 API(将用户空间调用转换为硬件知道如何处理的东西),即使这些应用程序不直接使用这些 API,它们通过中间人,例如 glibc(C 语言 API)或 Mesa(OpenGL、Vulkan API)。
说到前面的警告。
可以指示内核通过例如 iptables、nftables 来处理网络数据包,但随后内核不会生成这些数据包,它要么从外部接收它们,要么由于运行的应用程序请求发送它们而发送它们。一个小的例外是 ping ,它有点像内核正在工作,但为了使 ping 工作,用户空间必须指示内核如何配置网络。当内核启动时,根本没有网络协议。
@Stephen Kitt 已经提供了一个很好的答案,但是如果您想知道该文件属于哪个实用程序/包,您可以尝试这样的事情。
基于 deb 包的 Debian:
基于 RedHat 的 RPM 包:
命令将查找 /etc/ 目录中的所有文件,并对文件所属的包的每个文件运行查询。您将看到内核(或 linux-image)包没有结果。