我注意到一些配置文件有一个前缀。例如在我的里面
/etc/php5/cli/conf.d
:
05-opcache.ini
10-pdo.ini
20-curl.ini
- ...
有人能解释一下吗?我正在考虑一些与文件权限或列表顺序有关的事情。
谢谢!
答案1
这用于多个 conf 文件环境,通常是appli.conf.d
目录。
包含的顺序取决于字母顺序。
00
01
因此,如果在...中加上符号,.conf
则文件将按照您决定的顺序进行处理。
我认为其他符号不会被拒绝。但这可能取决于使用它们的软件。
因此,包含的顺序将是:
00-httpd.conf
01-cgi.conf
02-personnal.conf
但也可能是:
fipscheck.conf
nss-softokn-prelink.conf
答案2
这与包含顺序(列表顺序)有关。
配置片段将一次迭代一次,以生成应用程序的完整配置选项集。
通过在每个文件名的开头添加数字,它允许 shell 脚本(和其他类型的程序)轻松获取目录列表,然后按照您想要的顺序处理脚本。
其他一些例子:
/etc/apt/apt.conf.d/
/etc/systcl.d/
/etc/rc*.d/
/etc/fonts/conf.avail/
/etc/fonts/conf.d/
/etc/udev/rules.d/
对于某些守护进程,文件权限和/或文件扩展名也可能决定该文件是否被包含。
答案3
请参阅man run-parts
其中部分内容:
NAME
run-parts - run scripts or programs in a directory
SYNOPSIS
run-parts [--test] [--verbose] [--report] [--lsbsysinit] [--regex=RE] [--umask=umask] [--arg=argument] [--exit-on-error] [--help] [--version] [--list]
[--reverse] [--] DIRECTORY
run-parts -V
DESCRIPTION
run-parts runs all the executable files named within constraints described below, found in directory directory. Other files and directories are silently
ignored.