![是否始终需要使用 vcs 命令运行 etckeeper git 命令?](https://linux22.com/image/79747/%E6%98%AF%E5%90%A6%E5%A7%8B%E7%BB%88%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%20vcs%20%E5%91%BD%E4%BB%A4%E8%BF%90%E8%A1%8C%20etckeeper%20git%20%E5%91%BD%E4%BB%A4%EF%BC%9F.png)
我在互联网上看到了一些教程,其中人们用来etckeeper
保存服务器配置的日志,但他们git
直接使用该命令而不是通过etckeeper vcs
命令运行它。
这对我来说似乎有点危险,因为 etckeeper 是 git 命令的代理etckeeper 必须在 .etckeeper 目录中存储文件权限和元数据。运行这样的 git 命令对 .etckeeper 目录或其他相关目录的状态是否有危险?
这取决于运行哪个命令吗?为什么或者为什么不?
答案1
etckeeper vcs
只是加载/etc/etckeeper/etckeeper.conf
(可以但通常不会设置环境变量),确定存储库使用哪个 VCS 系统,并使用指定的参数调用适当的 VCS 命令。如果您知道存储库存储在 git 下,那么运行etckeeper vcs foo
或git foo
没有什么区别。
运行代替之类的命令etckeeper commit
确实git commit
会产生影响,但不一定是关键的。以 为例git commit
,所有有关权限和所有权的智能都处于挂钩状态。所做etckeeper commit
的(除了确定要使用哪个 VCS 之外)是根据 etckeeper 配置设置作者身份、默认提交所有内容(就像etckeeper commit
)git commit -a
以及传递在 etckeeper 配置中设置的额外标志。