我正在尝试将配置文件夹移动到我的debian服务器并将其存储在一个看起来最合理和最合理的位置。我把所有东西都扔在家里,但现在它看起来像这样:
软件:/opt/
网络文件:/var/www
但是,我必须将我的软件配置文件夹移动到服务器上的某个位置,以便可以将它们符号链接到正确的位置。其中哪一个似乎是最适合这样做的地方:
/home/configs
/var/cfgs
还是另一个?
对不起,如果这看起来很迂腐,但是你知道他们说了什么,那里有一个地方可以放置所有东西;)
答案 0 :(得分:2)
根据FHS,我建议使用/etc
,这是放置特定于主机的系统范围配置的地方。
这假设配置是针对服务器应用程序的(而不是人类用户运行的应用程序)。
e.g。我正在运行多个zope实例,其中包含配置文件
/etc/zope/instanceA/
/etc/zope/instanceB/
/etc/zope/test/
答案 1 :(得分:1)
这是一种品味的东西......你是机器上唯一的用户吗? 如果是这样无关紧要,你可以将所有东西放在家里。
如果是服务器,则必须确保您的配置目录具有正确的访问权限 权限。所以$ HOME不合适。
还有一件事,如果它是Debian机器,请将/var/www
留在其中。这就是许多与Web相关的软件包安装的东西。如果您开始移动,那么在升级这些软件包时可能会遇到问题。
为每个软件创建用户也是一种品味......我假设这些服务用户没有登录,所以甚至没有真正的目的,甚至设置$ HOME。我甚至会将它们设置为nologin
作为安全手段,如果这些软件可以从其他计算机访问,并且您希望避免有人危及这些用户。
答案 2 :(得分:0)
系统范围的配置文件永远不应位于用户的主目录中。方式太容易破坏,或者错误地修改,不恰当地更改权限。
当您管理多个系统时,/ etc会出现问题。最佳实践:将副本保存在另一个目录中,并根据需要通过scp推送到所有适当的系统。
如果您的软件包不是由系统软件包管理器管理,那么也很困难。从源代码安装。如果您运行多个版本的软件,则会增加困难。
随着系统的数量和类型以及包和版本数量的增加,管理变得更加复杂。对于一台机器,用户很少,在/ etc中配置就可以了。
对于反例:请考虑是否自定义 foo 安装。假设这是您的发行版提供的包,但您需要一个稍微不同的版本。
在默认位置安装配置文件可能会导致它在下次系统升级时遭到破坏。 (可能与/ usr / bin中的修改版本一起)
一种常见做法是将您添加/修改的内容与系统文件树完全分开。 当我是一名练习系统管理员时,我将所有特殊内容都放在/ opt。
中/opt
/opt/bin
/opt/sbin
/opt/usr/bin
/opt/usr/sbin
/opt/man
/opt/etc
这样可以防止系统出现问题,但并不总是清楚哪些文件属于哪个包。
包含许多可执行文件和手册页的软件包可能会获得自己的目录。 Netpbm和ImageMagic,gnu utils,perl(模块)就是很好的例子。这会为目录树添加一个级别。
/opt/misc/bin #Contained anything that was one program, one man page
/opt/netpbm_2.1/bin
/opt/imagemagick_3.2/...
/opt/gnu_1.1/...
以及所有其他目录。例如/ opt / {package-version} / {bin | sbin | man | etc | var}
的完整集合This is especially true for packages where you need to keep multiple versions. e.g.
/opt/perl4.023...
/opt/perl5.8...
为大型软件包维护单独的树使得切换变得容易 - 快速退出不良更改。在大多数情况下,您将在用户的默认路径中保留符号链接以指向实际的二进制文件。例如。 / usr / bin / perl - > /opt/perl5.8/bin/perl。这里的好习惯是留下具体版本的链接。例如/ usr / bin / perl4 - > /opt/perl4.023/bin/perl
在某些地方,您有多种架构需要处理。 (我有一个地方有11个unix变种......)这可以为树添加另一个级别:
/opt/hpux/...
/opt/irix/...
/opt/sysv/...
/opt/solaris/...
通常我只在NFS文件共享上保留这种方式,并且对各个计算机进行了本地复制。
复杂层次结构的优点是易于维护。如果/ opt / apache包含所有二进制文件,手册页和配置文件,那么如果您决定更改为lighttpd,则不会因为lighttpd与apache的配置文件混淆而感到困惑。 (两者都称为httpd.conf)
这也意味着当你尝试包装并将其取下时,你不会在这里和那里留下一堆东西。
通常,您不希望应用程序的数据驻留在/ opt / application树中。
有缺点:
如果配置文件和var可以与/ opt分开,那么除了升级之外,/ opt只能读取。这可以简化备份。
这样做的一个副作用是可执行路径维护的问题。保留系统范围内的点文件(.cshrc,.tcshrc,.bashrc),这些文件会进行必要的路径更改,以便大部分用户无法了解更改。这些文件来自其默认的点文件。