sourcejedi.etckeeper
sourcejedi.etckeeper
etckeeperをインストールします。 /etcの内容をバージョン管理システムで追跡します。
現在の /etc
の内容はGitリポジトリに記録されています。 Etckeeperは、毎日新しいコミットをリポジトリに作成し、パッケージマネージャーによってファイルが作成または変更された時にもコミットを行います(サポートされている場合)。
ステータス
この特定の役割は、既存のシステムで機能するように作成されました。以下の状況でも動作することが確認されています。
- etckeeperがすでにインストールされているかどうか
- etckeeperリポジトリが存在するかどうか
- etckeeperリポジトリが存在するが、コミットがない場合
Ansibleの--check
モードがサポートされています。
etckeeperが完全にインストールされていない場合にチェックモードを実行すると、プレイは失敗します。この動作は予想されており、いくつかのタスクが前のタスクに依存する複雑な役割です。この動作を実現するために注意を払っており、チェックモードが特定のタイプのタスクをスキップせずに、誤解を招く報告「changed=0」を出さないようにしています。
要件
Fedora、CentOS、Debian、Ubuntu 16.04以上で正常に使用されています。ほとんどのLinuxディストリビューションには、この役割で正常に動作するetckeeperパッケージが用意されていると思います。
CentOSでは、etckeeperパッケージを提供するためにEPELリポジトリが追加されます。
古いバージョンのUbuntuは動作しません。なぜなら、そのパッケージ変更によりデフォルトのバックエンドがbzr
に変更されたからです。etckeeperはこれを推奨していません - バックエンドはgit
であるべきです。ユーザーが別のバックエンドを強く好まない限り。この役割は特にgit
用に実装されています(以下参照)。代替案については最小限のプルリクエストを受け入れるかもしれません。
依存関係
user.email
はGitリポジトリ用に自動的に設定されます。これはGitによって必要とされ、古いバージョンのetckeeperは場合によってはこの値を提供しないことがあります。私はどの値が使用されるかを変更するための役割変数を含めませんでした。しかし、user.email
がすでに設定されている場合(例: /root/.gitconfig
に)、このステップはスキップされます。使用される値が気になる場合は、事前に/root/.gitconfig
が設定されていることを確認してください。(または、私に問題やプルリクエストを送って、役割変数を必要とする理由を説明してください)。
ライセンス
この役割はGPLv3ライセンスです。問題がある場合は、問題を開いてください。
ansible-galaxy install sourcejedi.etckeeper