在我看来,Linux 系统经常在一个目录中加载(有时会合并)多个文本配置文件,以便为守护进程、应用程序、服务等构建聚合配置结构。
/linux/etc/apt/apt.conf.d
例如,读取 in或 in 中的所有配置文件/etc/init.d/
并将其应用于配置。
这种聚合配置文件的方法所使用的模式的名称是什么? (我正在寻找系统架构中用于这种方法的术语。)
我只是有兴趣了解更多有关它及其优点和缺点的信息。
答案1
我不确定这种设计模式是否有一个众所周知的官方名称,但是插入配置文件和放入配置目录是我见过用来描述它的术语。如果配置文件语法有包括可以使用通配符的指令,即使根本不修改相关程序也可以实现它。
简而言之,它允许软件包和/或自动化工具根据需要放入单独的配置片段,而不是尝试以编程方式修改单个配置文件,从而实现自动化管理。它还允许按用途对设置进行分组,从而使人类系统管理员受益。
请注意,/etc/init.d
并不完全遵循此模式,而是一种众所周知的、更复杂的模式,称为SysVinit 启动/关闭脚本: 中的脚本/etc/init.d
并非简单地全部合并到启动过程中,而是有单独的符号链接目录(/etc/rc.d/rc[0-6].d/
),用于确定将调用哪些脚本以及以何种顺序调用。一些更现代的实现会根据...中脚本开头的特殊格式注释自动生成和管理这些目录中的符号链接,/etc/init.d/
但这是后来的扩展,而不是 SysVinit 启动/关闭脚本模式的原始部分。