Linux 中的后缀 .d 是什么意思?

Linux 中的后缀 .d 是什么意思?

我正在配置 apache,默认情况下我有目录/etc/httpd/conf/etc/httpd/conf.d。有什么区别?

您还可以在许多其他目录中看到后缀,如/etc/init.d,,/etc/cron.d等等......

答案1

“d” 代表目录,此类目录是配置文件的集合,这些配置文件通常是包含在主配置文件中的片段。目的是将配置问题划分开来,以提高可维护性。

/etc/httpd/conf当你有vs这样的区别时/etc/httpd/conf.d,通常是/etc/httpd/conf包含各种不同类型的配置文件,而一个.d目录包含相同配置文件类型的多个实例(例如“要加载的模块”、“要启用的站点”等),管理员可以根据需要添加和删除。

答案2

这种目录命名约定存在的主要驱动力是为了更轻松地管理配置文件的包。无论是 rpm、deb 还是其他什么,将文件放入目录以便自动将其包含在程序配置中,而不是尝试编辑全局配置文件,这要容易得多(也可能更安全)。

logrotate 就是一个很好的例子。在目录中/etc/logrotate.d几乎每个你安装的应用程序都有配置文件,用于保存登录信息/var/日志。有些被集中到 syslog 配置中,因为几乎每个系统都有 messages、wtmp 和 lastlog 文件。但是,如果您在系统上安装了 Apache,则需要一种简单的方法来自动添加用于轮换 Apache 日志的配置,因此它只会在/etc/logrotate.d并且 logrotate 被配置为包含该目录中的文件。每个文件都归守护进程的包所有,如果您删除该包,它将删除该文件。它基本上是一种模块化配置文件的方法。请注意,这需要程序支持,它不是系统自动为您执行的操作。通常执行此操作的程序都有一个名为的配置指令包括指定该目录在文件系统上的位置。

logrotate.d甚至可能是该公约在初始化文件rc.d初始化脚本的目录。

相关内容