/etc/ssl
プログラムが秘密鍵ファイルを読み取れるように、一部のファイルの権限を変更する必要があるとします。
$ cd /etc
$ chgrp ssl-cert ssl/private/key.pem
$ chmod g+r ssl/private/key.pem
$ git status
On branch master
nothing to commit, working directory clean
特定のファイル権限がコミットされるように変更されたことをetckeeperにどのように通知できますか?権限が保持されていることを知っていますが、/etc/.etckeeper
ファイルを更新する方法が見つかりません。
答え1
git
実行可能なビット情報に加えて、所有権と権限情報を独自に提供しません。解決策はetckeeper
データを使用することです。私たちが持っている文書を見てみましょう。
ほとんどのVCS(git、mercurial、bazaarを含む)はファイルメタデータのトレースが制限されているため、実行ビットは追跡できますが、他の権限や所有者情報は追跡できません。 (darcsは実行ビットも追跡しません。)したがって、ファイルメタデータは別々に保存されます。他の操作の中で、etckeeper initはファイル所有者と権限のメタデータを/ etc / .etckeeperファイルに保存するための辞書コミットフックを設定します。このメタデータは他のすべてと一緒にバージョン管理に保存され、リポジトリを再チェックアウトする必要がある場合に適用できます。
したがって、ディレクトリの所有権は維持され/etc/.etckeeper
監視されます。git
;)
etckeeper commit
問題は解決します。
規模に応じて、Salt、Ansible、Puppet、Chefなどのより複雑で便利な構成管理ツールを検討します。