Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:etckeeper

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:etckeeper [2012/05/05 09:34]
mhoffmann
software:etckeeper [2012/10/11 10:23] (aktuell)
Zeile 21: Zeile 21:
  
 ===== Konfiguration ===== ===== Konfiguration =====
 +
 Damit der ETCkeeper auch weiß was für ein VCS er nutzt muss ihm das in der Konfiguration mitgeteilt werden. Damit der ETCkeeper auch weiß was für ein VCS er nutzt muss ihm das in der Konfiguration mitgeteilt werden.
 Dazu wird die Konfigurationsdatei bearbeitet: Dazu wird die Konfigurationsdatei bearbeitet:
Zeile 83: Zeile 84:
  
 Nachdem diese konfiguration vorgenommen wurde arbeitet etckeeper im Hintergrund und versioniert automatisch bei der installation von Paketen. Nachdem diese konfiguration vorgenommen wurde arbeitet etckeeper im Hintergrund und versioniert automatisch bei der installation von Paketen.
 +==== Commit ====
 Bei manuellen Änderungen in der Konfiguration muss folgendermaßen vorgegangen werden um Änderungen zu versionieren:​ Bei manuellen Änderungen in der Konfiguration muss folgendermaßen vorgegangen werden um Änderungen zu versionieren:​
 <​code>​ <​code>​
-# sudo git status +# sudo etckeeper ​commit
-# sudo git commit ​-a -m "​MESSAGE"​+
 </​code>​ </​code>​
-=== Version einer Datei zurücksetzen ===+ 
 +Es öffnet sich dann ein VI-Fenster in dem eine commit Message angegeben werden **muss**! 
 +Die Zeilen mit Hashtag am Anfang dienen nur zur Information und werden nicht als Message comitted. 
 +Nach Eingabe eines **kurzen und präzisen** Kommentares drückt man ''​ESC'',​ danach ''​wq''​ und bestätigt mit ''​Enter''​. 
 + 
 +Danach erhält man auf dem Bildschirm eine ausgabe, welche Dateien committed wurden. 
 +Hat man keinen Kommentar angegeben meldet etckeeper dies.  
 +==== Version einer Datei zurücksetzen ​====
 Falls eine Datei in /etc zurückgesetzt werden kann dies einfach mit folgendem Befehl realisiert werden: Falls eine Datei in /etc zurückgesetzt werden kann dies einfach mit folgendem Befehl realisiert werden:
 +Zuerst muss im Log nachgesehen werden welche Version wieder geholt werden soll:
 <​code>​ <​code>​
-sudo git checkout --<​File>​+# git log
 </​code>​ </​code>​
 +Im Log kann man dann einsehen welche Version man haben will. Hierzu dienen die ersten Stellen des langen Hash-Codes.
  
-=== Weiterführende Links und Infos === +Zurückgesetzt wird die Version dann mit 
-Ein deutscher Artikel über ETCkeeper: [[http://​www.linux-magazin.de/​Online-Artikel/Etckeeper-stellt-Systemkonfiguration-unter-Versionskontrolle]]+<​code>​ 
 +# sudo git checkout <Die ersten paar Ziffern der alten Version> ​--<File das zurückgesetzt werden soll> 
 +</code>
  
-Offizielle Seite: [[http://​kitenet.net/​~joey/code/​etckeeper/​]]+Soll dann bspw. wieder auf die neueste Version zurückgegriffen werden, so geschieht dies mit: 
 +<​code>​ 
 +git checkout master 
 +</code
 +**Achtung:​** hierbei werden ALLE Dateien aus dem master-commit geholt und überschrieben!
  
-Offizielle Entwicklerbeschreibung ​und Tutorial: [[http://​git.kitenet.net/?​p=etckeeper.git;​a=blob_plain;​f=README;hb=27ca6c9eb668c9ab55cf65f8e620893589536c84]]+===== Entferntes GIT-Repository einrichten ​und automatischen Push einrichten ​====
 +Um eine noch bessere Datensicherheit zu erlangen macht es Sinn, das GIT-Repository auf einen entfernten Server zu pushen. 
 +Die Einrichtung hierfür ist nicht schwer. Eine Möglichkeit GIT-Repositories zu Hosten ist [[software:​gitolite|]].
  
 +==== Root SSH-Keys ====
 +Da Commit und Push des etckeepers nur mit Rootrechten möglich ist, braucht man für den SSH-Zugriff auf das entfernte GIT-Repository SSH-Keys für den Benutzer **root**:
 +  - Als **root** auf der Shell anmelden mit ''​sudo -s''​
 +  - SSH-Keys mit ''​ssh-keygen''​ erstellen
 +  - PublicKey **id_rsa.pub** aus dem Verzeichnis **/​root/​.ssh/​** kopieren.
  
 +==== Remote Repository einrichten ====
 +Im Verzeichnis **/etc** folgenden Befehl mit den entsprechenden Serverdaten ausführen (evtl. als root):
 +<​code>​
 +git remote add origin git@example.com:​my_project
 +</​code>​
 +wobei hier **git** der Nutzer des Gitbenutzers ist und **my_project** das Repository.
 +Läuft der Git-Server nicht auf Port 22 so nutzt man folgenden Befehl:
 +<​code>​
 +git remote add origin ssh://​git@example.com:​[PORT]/​my_project
 +</​code>​
  
 +==== Repository initial pushen ====
 +<​code>​
 +sudo git push -u origin master
 +</​code>​
  
 +==== Push automatisieren ====
 +In der Config des etckeepers müssen nun noch zwei neue Dateien erstellt werden:
 +  * **/​etc/​etckeeper/​commit.d/​60vcs-commit-push**
 +  * **/​etc/​etckeeper/​post-install.d/​60vcs-commit-push**
  
 +In beide Dateien fügt man folgenden Inhalt ein:
 +<​code>​
 +#!/bin/bash
 +set -e
 +
 +git push origin master
 +</​code>​
 +
 +===== Weiterführende Links und Infos =====
 +Ein deutscher Artikel über ETCkeeper: [[http://​www.linux-magazin.de/​Online-Artikel/​Etckeeper-stellt-Systemkonfiguration-unter-Versionskontrolle]]
 +
 +Offizielle Seite: [[http://​kitenet.net/​~joey/​code/​etckeeper/​]]
 +
 +Offizielle Entwicklerbeschreibung und Tutorial: [[http://​git.kitenet.net/?​p=etckeeper.git;​a=blob_plain;​f=README;​hb=27ca6c9eb668c9ab55cf65f8e620893589536c84]]
  
-  ​+{{tag>​versionsverwaltung backup }}

Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.

software/etckeeper.1336203281.txt.gz · Zuletzt geändert: 2012/10/11 10:23 (Externe Bearbeitung)