配置道德(美观):/etc 与 $HOME

配置道德(美观):/etc 与 $HOME

好吧,这可能不是一个非常具体的问题,并且可能会受到品味的影响,但我正在努力解决这个问题,所以就这样吧。

我有一台电脑。这台电脑上有linux(感谢上帝)。具体来说是 Arch Linux(使用awesomewm)。我是这台计算机上的单一用户。

至于良好实践,我设置了两个用户:普通root用户和日常使用romeovs用户。这样我只在需要时使用权限(sudo例如使用)。

多年来,我一直在改进我的软件套件,在这台计算机上添加了一堆应用程序。尤其:vimgitmpcmuttcalcurseufw, ...

现在的问题是:我应该使用这些应用程序的哪些配置文件?所有这些都提供/etc基于 - 的全球的配置文件,影响全部用户,以及当地的 ~/.config(或者,遗憾的是,~/)配置选项。

我一直使用本地配置设置,因为这感觉更自然。但随着我对电脑越来越熟悉,我觉得这有点缺乏优雅。这种方法的反对是:

  • 切换到root用户时的差异,即使使用sudo(例如,使用时vim

  • 并不总是有效,例如,当从 arch linuxDEAMONS 阵列加载守护进程时,它们由用户运行root,因此不会获取本地用户配置。

  • 主要$HOME目录混乱。遗憾的是,很少有应用程序遵循$XDG_CONFIG_HOME哲学。

好处是:

  • rootstuff 是本地的,这更多地体现在和之间的权限划分romeovs

  • 快速轻松地访问文件。无需sudo编辑它们。

  • 更容易git跟踪配置文件。

  • 不知何故感觉更安全:用户可以搞砸事情,而不会弄乱机器的全局设置。

  • 它更能证明“a-package-update-may-overwite-my-config”

让我们具体说一下:

在单用户计算机上分割配置的事实上的标准是什么,特别是对于系统维护人员(单用户)?

答案1

有一天,您要更换计算机,或者向其他人(例如家庭成员)提供您计算机上的帐户。

  • 如果您想在下一台计算机上保留设置,请将其放在您的主目录中。
  • 如果其他人可能想要不同的设置,请将其放在您的主目录中。
  • 如果设置依赖于计算机而不依赖于用户,则将其放入 中/etc

您反对将配置文件放在主目录中的论点实际上站不住脚:

  • sudo保留HOME环境变量(除非您告诉它不要这样做)。因此,您的程序将继续从您的主目录读取其设置。
  • 守护进程不应该读取您的个人设置。守护进程通常通过 中的文件进行配置/etc,而不是通过环境变量或主目录中的文件进行配置。
  • $HOME应该有很多点文件。这就是为什么ls不显示它们。

相关内容