2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

etckeeper を Amazon Linux 2 にインストール & 設定する

Last updated at Posted at 2022-01-03

サーバーの設定ファイル (/etc) の中を git 管理してくれる、etckeeper が便利すぎて仕方ないので、自分が管理しているサーバーは全部入れています。

サーバー admin な人も config ファイルを編集すると、***.conf.20220103 とかコピーファイルを作成している人を見かけますが、etckeeper で git 管理しましょう。

インストール

root でログイン

sudo su -

epel レポジトリをインストール

amazon-linux-extras enable epel

インストール

yum install etckeeper

あとは、git とほぼ同じです。

etckeeper を init

etckeeper init

最初のコミットを行う

etckeeper commit -m "initial commit"

これであとは、1日に1回、自動的に差分をコミットしてくれます。

使い方

初期インストールで、1日に1回 daily commit をしてくれるので、基本的に放っておいてOKです。

他の管理者の人が設定を変更しても翌日深夜にコミットしてくれるので、どういう変更をしたのか、その変更前はなんなのかなどがわかります。

yum コマンドにも hook してくれるので、yum コマンド前と後の config の変更も残してくれるので、すごく便利。

基本何もしなくてもサーバーの設定変更履歴を残してくれます!

何か git コメントを残しておきたい場合

何か特別な設定変更をして、git の履歴にコメントを残しておきたいのみ、日時自動コミットの前に git commit します。

sudo etckeeper commit -m "なんかメッセージ"

tar で etc や .git ディレクトリを保存して DL してみる

僕が一番使っているのがこの手です。

ホームディレクトりに sudo な tar コマンドを打って、/etc ディレクトリと `/.*/`ディレクトリの中を圧縮 & DL し、 SourceTree などの git 閲覧ソフトで確認します。

cd
sudo tar -cvzpf etc_$(date +%Y%m%d%H%M%S).tar.gz -C /etc/ ./
# home フォルダにtar ファイルが保存されます。
# 作成した tar をローカルに DL して確認

リモートに push

サーバーにログインするのが面倒な人は プライベートレポジトリ にレポジトリを push することも可能です。

サーバーキーなども含まれるため、絶対にプライベートレポジトリにプッシュしましょう。

root ユーザーの公開鍵を生成

sudo su -
ssh-keygen -t rsa -b 4096 -C root@mexample.com
cat cat /root/.ssh/id_rsa.pub
# 公開鍵をコピーして、プライベートレポジトリの SSH 鍵として登録

リモートレポジトリ origin を追加

コンプライアンスの関係で、デフォルトのブランチ名が、master から main にかわりつつあるので、git のバージョンでどちらになっているかを確認して行いましょう。

プライベートレポジトリ URL は git@examplecom:/example-git とします。

# origin のリモートレポジトリを追加
git remote add origin main git@examplecom:/example-git
# リモートレポジトリに最初のコミットを追加
git push origin master

etckeeper の config を編集

さきほどは origin というリモートレポジトリを追加しました。
違う名前で追加したのなら変えてください。

etckeeper の config の PUSH_REMOTE 設定にリモートの名前を追加することで、etckeeper commit するときに自動的にリモートに push してくれるようになります。

vi /etc/etckeeper/etckeeper.conf
PUSH_REMOTE=""

PUSH_REMOTE="origin"

失敗しないコツ

1. セキュリティに気をつけよう

何度も繰り返しますが、サーバーの設定が入っているので、プライベートレポジトリのみに push しましょう。

2. git reset しない

絶対に git reset などはしない。
あくまでも変更履歴を記録するために行います。

間違って git reset しちゃって、SSHD の設定を変更したりしたら大変な目に遭ってしまいます。

3. 複数台管理をしない or するんだったらめっちゃ気をつけよう

あまりおすすめしないですが冗長化構成のサーバーの config を記録するのであれば、かなり気をつけましょう。間違えてサーバー署名を書き換えたりするとダメになります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?