存储经常更改的配置文件的首选位置


18

我的Linux服务器上有许多应用程序,它们依赖于一些配置文件。这些应用程序是相关但独立的。值得的是,目前每个应用程序在中都有自己的目录/opt。配置文件每周大约可以更改一次,但最多只能更改一次。我计划设置一个cron作业,以在每个星期日从FTP站点获取最新版本。

我还没有完全了解放置这些配置文件的最佳位置。这里有一些可能性:

  • /etc/<appsuitename>/ 这是一个配置文件,配置进入 /etc
  • /var/<appsuitename>/ 文件确实会经常更改,但永远不会由管理员(me)直接更改,仅由平台提供者更改。
  • /opt/<appsuitename>/lib/opt/<appsuitename>/common这更多是Windows的思考方式,但在这种情况下可能有意义
  • /usr/lib 可能不是,但出于完整性考虑,将其包括在内。

也许还有其他我没想到的东西?

编辑:回答@MichaelKjörling的问题:

  • 只有3个分区,/home/,和/swap/opt不是只读的。
  • 是的,如果我被公交车撞到,另一个人将不得不使用该服务器。
  • 这些应用程序是内部开发的,因此我是一个决定配置应该去哪里的人。如果不是“ meta-tag”,我可能会贴上一个最佳实践标签。
  • 最终,无论我决定什么都不重要,我都知道组织系统对系统管理员的作用要大于对操作系统内部工作的作用,但是我喜欢遵循标准约定,因为它们存在是有原因的。

Answers:


21

文件系统层次标准要求下安装一些配置文件/opt/xyz应该进入/etc/opt/xyz,其中xyz必须匹配。也就是说,安装在/ opt下需要主机特定配置文件的目录中的应用程序应在/ etc / opt下具有匹配的目录,这些配置文件将进入该目录。

/ etc(特定于主机的系统配置)的用途简述为:

/etc层次结构包含的配置文件。“配置文件”是用于控制程序操作的本地文件。它必须是静态的,并且不能是可执行的二进制文件。

当然,没有配置是完全静态的,但是在这种情况下,我将“静态”理解为大致“在没有管理员干预的情况下不会更改”。

/ etc / opt更具体,其目的表示为:

附加应用程序软件包的主机特定的配置文件必须安装在目录中/etc/opt/<subdir>,该目录<subdir>是子树的名称,该/opt软件包中的静态数据存储在该子树中。

由于要在/ opt下安装该软件,因此配置文件应进入/ etc / opt下的相应子目录或层次结构中。

当然,没有任何要求您的系统符合FHS的要求,但是这会使其他人更轻松地找到他们可能正在寻找的任何文件,因为他们知道他们可以在哪里找到它们。

由于这是关于内部开发的软件,因此我也强烈建议您使位置可配置。即使只能通过在makefile中完成的宏声明进行配置,并通过从源代码进行完全重建来实现,这仍然比在要打开配置文件的任何位置将特定位置硬编码到源代码中要好得多。


实际上已经在.properties文件中完成了。但是目前,该软件的每个版本在/opt子目录中都有自己的副本,这显然不理想,我打算对此进行更改。这个问题是关于“我应该将其更改为什么”。谢谢!
durron597 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.