我想弄清楚为什么etckeeper提交,我在重启时遇到了问题(多亏了这个好东西,已经解决了)。
我玩了 etckeeper,git checkout some_commit_sha
快速看了一下然后git checkout master
。
看来我的文件权限/etc
在这些操作之后被破坏了。包括在内的所有文件ssh_host_rsa_key passwd-, shadow-
都是rw-r--r--
。我不知道 Git 不保存文件权限。
现在我已修复所有问题(我希望我没有遗漏任何东西)。
获取早期状态/etc
、查看周围并返回到具有正确文件权限的主控的正确方法是什么?
答案1
根据文档(见下文),你必须运行
etckeeper init
在签出任何文件后将其恢复权限。git 不能直接存储文件权限,因此它由 etckeeper 处理,并且您需要在签出后再次运行 init 以恢复它们。
文档部分,
您可以使用任何您喜欢的 git 命令,但请记住,如果您签出不同的分支或旧版本,git 将直接在系统的 /etc 上运行。如果您决定签出分支或标签,请确保再次运行“etckeeper init”,以获取任何元数据更改:
git checkout april_first_joke_etc
etckeeper 初始化