在Linux中,为什么总是为配置文件的文件夹命名*.d?
说
/etc/init.d/etc/grub.d/etc/apparmor.d
在Linux中,为什么总是为配置文件的文件夹命名*.d?
说
/etc/init.d/etc/grub.d/etc/apparmor.dAnswers:
为了进一步说明Peter的答案,此.d模式可简化配置文件的添加和删除操作:对于给定的.d程序,管理员可以简单地将文件复制或删除到.d目录中,而无需进行编辑现有的配置文件。
例如,如果要向系统中添加cron作业,则可以使用自己喜欢的文本编辑器使用新的预定作业来编辑/ etc / crontab。对于单个服务器或少数服务器来说,这很好,但是如果您在数据中心/云环境中工作,请尝试在100台服务器上执行此操作。在后一种情况下,您可以使用诸如sed之类的临时文件或诸如ex之类的工具将文件原地写入,但是如果您未正确地编写命令,则存在一定的风险。确实,由于这些编辑命令中的错字,我已经看到配置文件完全被破坏了。
现在将其与将计划的作业放入文件/etc/cron.d进行比较。您只需将文件复制到其中,然后cron下次运行(通常每分钟运行一次),它将看到新文件并进行相应的源/处理。如Peter所言,如果您想滚动自己的软件包,那就太好了:/etc/cron.d文件只是软件包归档文件中已安装的另一个文件。删除软件包后,cron.d文件将被删除,您的cron不再运行。
最后,就文件的来源而言,每个具有.d目录的程序都可能具有其自己的实现,例如,覆盖顺序和配置覆盖。因此,每当您决定将文件放置在.d目录中时,请始终验证该文件是否符合您的要求,而不仅仅是假定它的工作方式与具有.d目录的另一个程序一样。