Rob*_*nSt 1 etc directory-structure
在构建将存储配置文件目录的新软件时,/etc
该目录应该命名software_name.d
还是仅命名software_name
?
我似乎找不到关于这个主题的好的风格指南。Debian 是我想到的主要发行版,但欢迎提供更通用的风格指南或指南。
“官方”指导优于个人意见。
.d
目录的典型用途是保存多个配置文件(通常共享一个公共文件扩展名,例如*.conf
),然后将它们合并或组合以生成单个逻辑配置。这种机制通常相当于将多个配置文件连接起来形成一个配置文件的机制。
应用程序通常演变为使用.d
目录,以便更好地使用 Linux 软件包 (deb/rpm) 和包管理器。甲.d
目录是朝向由分布使用软件包的更好,因为然后包可以简单地“滴”的独立文件到一个目录(它是一种天然的操作中,当包管理/包含的文件),而不是必须编辑共享配置文件添加一个节以插入该特定包。(在早期的 Linux 发行版中,您会看到软件包正是这样做的,通过安装后和卸载前脚本编辑现有配置文件。)
/etc/software_name
当应用程序出于不同目的使用多个配置文件(甚至可能使用不同的文件格式,例如 JSON、ini 文件等)时,命名配置目录的使用更为常见。在这种情况下,您可能希望使用一个目录将同一应用程序的所有配置文件分组,但如果您不希望其他软件包(或系统管理员)希望通过将新文件“放入”目录来扩展配置,那么您将不会使用.d
目录。
一些系统最终实际上同时使用了两者。例如,yum
(Red Hat 包管理器)有自己的配置文件,但它也有.d
自己的 repos 目录 ( /etc/yum.repos.d
.) 我相信apt
也是类似的,所以如果你在 Debian 上,你可以看看那个。您可以看到设置是有道理的,因为您可能希望通过将新文件“放入”一个.d
目录(来自您推送的包,或通过配置管理系统)来管理添加/删除存储库,而无需修改现有的(这可能正在从操作系统发行版本身获取更新。)