我一直在与一个曾经将所有应用程序和HTTP服务(如
Apache或
Tomcat)安装到’/ srv’目录的团队合作.我怀疑主要是为了尽可能地将已安装的服务与操作系统分开.对于我自己的项目,我保留了这种做法.然而,随着时间的推移越来越多看起来这可能不是一个好主意:它阻止你使用
distribution特定的软件包(他们在该团队中的声誉很差,所以大多数都是自定义安装),我注意到了在尝试使用已经可用的厨师烹饪书时,我遇到了一些麻烦.
最近我很想转而使用特定于发行版的软件包,而不是尝试构建适合该目录结构的自定义安装.我想知道是否有任何我可能会忽略的东西.是否有任何充分的理由将所有内容放入’/ srv’目录或任何不使用分发特定包的正当理由?
解决方法
安装第三方软件的FHS兼容路径不是/ srv,而是/ opt.
检查 here和 here.
检查 here和 here.
关于是否使用预编译包,您有两种选择:
>如果您信任供应商有关安全更新和错误修正的信息,请使用它们.我愿意,他们肯定比你的公司有更多的人力和资源来完成这项任务.您可以继续使用操作系统默认存储库和打包基础结构.您可以使用供应商提供的任何版本(以及向后移植的修复程序).
>不要使用它们,并修补你自制的安装every time a new vulnerability是made public.你需要维护你的私人存储库(好吧,你也可以每次手动安装所有东西).您可以使用该软件的更新版本.
如果您只需要维护5-10台机器,那么将所有内容放在/ opt下是可行的,但是如果你维持一个超过几百个的农场,你就会做错了吗?
在我看来,专业的方法是使用供应商提供的预编译包,除非有令人信服的理由不这样做.