是否始终需要使用 vcs 命令运行 etckeeper git 命令?

是否始终需要使用 vcs 命令运行 etckeeper git 命令?

我在互联网上看到了一些教程,其中人们用来etckeeper保存服务器配置的日志,但他们git直接使用该命令而不是通过etckeeper vcs命令运行它。

这对我来说似乎有点危险,因为 etckeeper 是 git 命令的代理etckeeper 必须在 .etckeeper 目录中存储文件权限和元数据。运行这样的 git 命令对 .etckeeper 目录或其他相关目录的状态是否有危险?

这取决于运行哪个命令吗?为什么或者为什么不?

答案1

etckeeper vcs只是加载/etc/etckeeper/etckeeper.conf(可以但通常不会设置环境变量),确定存储库使用哪个 VCS 系统,并使用指定的参数调用适当的 VCS 命令。如果您知道存储库存储在 git 下,那么运行etckeeper vcs foogit foo没有什么区别。

运行代替之类的命令etckeeper commit确实git commit会产生影响,但不一定是关键的。以 为例git commit,所有有关权限和所有权的智能都处于挂钩状态。所做etckeeper commit的(除了确定要使用哪个 VCS 之外)是根据 etckeeper 配置设置作者身份、默认提交所有内容(就像etckeeper commitgit commit -a以及传递在 etckeeper 配置中设置的额外标志。

相关内容