Projekt

Allgemein

Profil

Aktionen

ETCkeeper » Historie » Revision 6

« Zurück | Revision 6/28 (diff) | Weiter »
Josef Braun, 02.01.2010 14:02


Versionierung von Dateien im /etc VerzeichnisOrdner
mit etckeeper

Speichert /etc in Git, Mercurial, Bzr oder Darcs

etckeeper ist ein Werkzeug, um /etc in einem Git- , Mercurial- , Bzr- oder Darcs-Depot speichern zu können. Es hängt sich in APT ein und überträgt die Änderungen in /etc, die während der Paketaktualisierung gemacht wurden. Es macht die Metadaten der Dateien ausfindig, was Versionskontrollsysteme normalerweise nicht unterstützen, dies ist allerdings wichtig für /etc, wie z. B. die Rechte von /etc/shadow. Es ist recht modular und konfigurierbar, gleichzeitig auch einfach zu benutzen, wenn Sie die Grundlagen des Arbeitens mit Versionskontrolle verstehen.

(am Beispiel einer OpenSuse Installation mit Mercurial)

Schritte zur fertigen Installation

  • die Pakete git und mercurial mit yast installieren
  • die aktuelle Version vom git repository abholen.
    Dazu in ein leeres bzw. neues Verzeichnis wechseln und aufrufen:
    md ~/src
    cd ~/src
    git clone git://git.kitenet.net/etckeeper
    
    
  • in das etckeeper Verzeichnis wechseln
    die etckeeper.conf bearbeiten und
    1. das verwendete SCM von git auf merical umstellen
    1. high-level package manager und
    2. low-level package manager umstellen

      # /etc/etckeeper.conf
      #
      # version 0.41
      #
      # The VCS to use.
      VCS="hg" 
      #VCS="git" 
      # VCS="bzr" 
      # VCS="darcs" 
      
      # Options passed to git commit when run by etckeeper.
      #GIT_COMMIT_OPTIONS="" 
      
      # Options passed to hg commit when run by etckeeper.
      #HG_COMMIT_OPTIONS="" 
      
      # Options passed to bzr commit when run by etckeeper.
      #BZR_COMMIT_OPTIONS="" 
      
      # Options passed to darcs commit when run by etckeeper.
      #DARCS_COMMIT_OPTIONS="" 
      
      # Uncomment to avoid etckeeper committing existing changes
      # to /etc automatically once per day.
      #AVOID_DAILY_AUTOCOMMITS=1
      
      # Uncomment to avoid etckeeper committing existing changes to.
      # /etc before installation. It will cancel the installation,
      # so you can commit the changes by hand.
      #AVOID_COMMIT_BEFORE_INSTALL=1
      
      # The high-level package manager that's being used.
      # (apt, pacman-g2, yum etc)
      #HIGHLEVEL_PACKAGE_MANAGER=apt
      HIGHLEVEL_PACKAGE_MANAGER=yum
      
      # The low-level package manager that's being used.
      # (dpkg, rpm, pacman-g2, etc)
      #LOWLEVEL_PACKAGE_MANAGER=dpkg
      LOWLEVEL_PACKAGE_MANAGER=rpm
      

Links:

Entwicklerseite auf http://kitenet.net/~joey/code/etckeeper/

Von Josef Braun vor fast 16 Jahren aktualisiert · 6 revisions

Redmine Appliance - Powered by TurnKey Linux