かべぎわブログ

技術的なことについてかけたらいいな…

etckeeperをつかって/etcを管理してみる

etckeeperという/etc配下のファイルを管理するツールを使ってみたいと思います。

etckeeperとは?

こんなかんじのツールです。

  • /etc配下を自動で管理してくれる
  • Gitで管理できる
  • yumコマンドが実行されると自動でコミットしてくれる
  • 日付が変わると(cron.daily)自動でコミットしてくれる

etckeeperのインストール

yumでインストールします。
epelリポジトリでないとインストールできないかもしれないです。

$ sudo yum install etckeeper

Gitリポジトリの作成

etckeeperを利用するためにまずGitリポジトリを作成します。
以下コマンドを実行することで/etc配下にGitリポジトリが作成されます。

$ sudo etckeeper init

initial commitする

Gitリポジトリの作成が完了したら最初に空コミットします。

$ sudo etckeeper commit "initial commit"

こうすることでetckeeperが自動で動いてくれるようになります。

実際に動いているところを見てみる

実際にetckeeperが動いているところを見てみたいと思います。

yum installを実行してみる

yum installでてきとーになにかをインストールしてみたいと思います。

$ sudo yum install httpd

Commitされたか確認する

Commitされたかどうか確認してみます。
以下のコマンドでログを見ることができます。

$ sudo etckeeper vcs log

commit 3f5a1ffa6cafc93b5fe980c23d561a48cbd9d531 (HEAD -> master)
Author: takakabe <kabegiwa@example-mail.com>
Date:   Sat Mar 17 14:39:53 2018 +0000

    committing changes in /etc after yum run
    
    Package changes:
    +0:apr-1.4.8-3.amzn2.1.x86_64
    +0:apr-util-1.5.2-6.amzn2.x86_64
    +0:httpd-2.4.6-67.amzn2.6.1.x86_64
    +0:httpd-tools-2.4.6-67.amzn2.6.1.x86_64
    +0:mailcap-2.1.41-2.amzn2.noarch

commit b32fd5894057c4363d8a25e0c67e8a673b3251a5
Author: takakabe <kabegiwa@example-mail.com>
Date:   Sat Mar 17 14:39:52 2018 +0000

    saving uncommitted changes in /etc prior to yum run

commit fc9a16fc8ad7404e6a28b21cf3d438882507e674
Author: takakabe <kabegiwa@example-mail.com>
Date:   Sat Mar 17 14:25:27 2018 +0000

    initial commit

無事Commitされていました!

おわりに

etckeeperをつかえば設定間違って大惨事。バックアップなぞ存在しない。
みたいなことはなくなりそうです。

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識