• Etckeeper i mamy porządek w configach

    dodany przez Przemysław Sikora

    Z czasem ilość usług instalowanych w naszych środowiskach serwerowych rośnie i to w zastraszającym tempie. Podobnie jest z plikami konfiguracyjnymi. Łatwo jest się wtedy pogubić, szczególnie jeśli dokonujemy wielu modyfikacji, eksperymentujemy. Gorzej bywa jak po wprowadzeniu zmian, coś przestaje działać, a my nie pamiętamy co zmieniliśmy. W takich przypadkach może pomóc nam etckeeper, czyli narzędzie oparte na gicie, które będzie w sposób automatycznie np. raz dziennie commitować wszelkie zmiana w plikach w obrębie danego katalogu (zakładając, że /etc zgodnie z nazwą) oraz przy każdej instalacji/deinstalacji jakiegoś pakietu. Przystąpmy więc do instalacji i konfiguracji. Zakładam, że macie skonfigurowane repozytorium EPEL.

    yum install etckeeper

    To tyle z instalacji 🙂

    adduser etckeeper

    Zakładamy sobie użytkownika np. etckeeper.

    su etckeeper

    Robimy “su” na niego

    cd /GIT/configi

    Wchodzimy do katalogu w którym chcemy trzymać repozytoria gita z naszymi plikami konfiguracyjnymi

    git init --bare nazwa-naszego-serwera/public.git

    Inicjalizujemy repozytorium. Poniżej oczekiwany efekt powyższego polecenia

    Initialized empty Git repository in /GIT/configi/nazwa-naszego-serwera/public.git/

    Teraz czas na konfigurację komputera klienckiego, ale wpierw instalacja etckeeper-a

    yum install etckeeper

    następnie

    cd /etc
    etckeeper init

    Initialized empty Git repository in /etc/.git/
    Następnie generujemy parę kluczy ssh – oczywiście jeśli ich nie mamy/

    ssh-keygen
    cat .ssh/id_rsa.pub

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnWGebr3ouMJkhsz0Ew5kHk9Nop7xQhelZXhrv1tB0IZXMv7ChOJdky7AkPMf+qELHWQcw9QacAwBqqSh6d0OBAaoiUHZgB17wpUFS0AzhK6PJ4SUsg1SD62uezJ6VHt6NJZiE5/4InZO6KeNHisWaV5c1T3Ht3GZpLVsQCS/9E89lw2AYeiY3lNNkQuo4pCiA6rYdBl6k5bVQLvIfPlXkLbrl+O1Aylb+k2nJIPKypypPxXhKkxu54jUtOC+8a9jCAhM34i1wIxeSUYbORSgShU1kzLAZc4Q50lMlLSjvd2Rbc2DTJOENSBO8gLRqtxayTAcIWDir5XrYLNrKqB3T root@centos.localdomain
    Kopiujemy klucz i wklejamy na naszym serwerze gita (etckeeper-a) do pliku “/home/etckeeper/.ssh/authorized_keys”. Następnie konfigurujemy repozytorium dla naszego /etc.

    cd /etc
    git remote add origin etckeeper@adres-naszego-server-git.pl:/GIT/configi/nazwa-naszego-serwera/public.git/

    Nie możemy zapomnieć o dodanie do pliku “/etc/.gitignore” pliku z hasłami systemowymi.

    vim /etc/.gitignore

    i dopisujemy
    shadow
    Następnie odpalamy pierwszego commita i pusha 🙂

    etckeeper commit "init our configuration server"
    git push --set-upstream origin master

    Efekt poniżej:
    To etckeeper@git.specadmin.net:/GIT/configi/nazwa-naszego-serwera/public.git/
    * [new branch] master -> master
    Branch master set up to track remote branch master from origin.

    Na koniec edytujemy configa etckeeper-a na stacji klienckiej:

    vim /etc/etckeeper/etckeeper.conf

    i dodajemy opcję “origin” dla “PUSH_REMOTE”
    PUSH_REMOTE="origin"
    W podanym pliku możemy dokonać wielu modyfikacji związanych z archiwizowaniem naszych plików konfiguracyjnych, w tym wyłączenie dziennych autocommitów.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony