[Help: config Management]

From: Christian Nitschke <privat_at_nchristian.net>
Date: Wed, 20 Mar 2019 22:06:14 +0100
On 3/20/19 5:41 PM, uugrn-request_at_mailman.uugrn.org wrote:
> Um E-Mails an die Liste uugrn zu schicken, nutzen Sie bitte die
> Adresse
>
>     uugrn_at_mailman.uugrn.org
>
> Um sich via Internet von der Liste auszutragen oder in die Liste
> einzutragen:
>
>     http://mailman.uugrn.org/mailman/listinfo/uugrn
>
> Oder schicken Sie eine E-Mail mit dem Wort "help" in der Betreffzeile
> oder im Text an
>
>     uugrn-request_at_mailman.uugrn.org
>
> Sie können den Verwalter dieser Liste unter der Adresse
>
>     uugrn-owner_at_mailman.uugrn.org
>
> erreichen.
>
> Wenn Sie antworten editieren bitte Sie die Betreffzeile auf einen
> sinnvollen Inhalt der spezifischer ist als "Re: Contents of uugrn
> digest..."
>
>
> Meldungen des Tages:
>
>    1. Re: [Help: config Management] (Stefan Hagen)
>    2. Re: [Help: config Management] (Marc Haber)
>    3. Re: [Help: config Management] (Marc Haber)
>    4. Re: [Help: config Management] (Andreas Költringer)
>    5. Re: [Help: config Management] (Stefan Hagen)
>    6. Re: [Help: config Management] (Stefan Hagen)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 20 Mar 2019 15:45:35 +0100
> From: Stefan Hagen <sh+uugrn_at_codevoid.de>
> To: uugrn_at_mailman.uugrn.org
> Subject: Re: [Help: config Management]
> Message-ID: <20190320144535.GB41908_at_shell>
> Content-Type: text/plain; charset=utf-8; format=flowed
>
> Hi Christian,
>
> Christian Nitschke wrote:
>> Ich wollte mal fragen, wie Ihr eure Config Dateien handhabt.
>> was wären denn so eure Gedanken dazu?
> Ich mache das seit einigen Jahren mit git. Und zwar ohne Symlinks.
> Das ist eigentlich mega einfach, wenn man es mal gemacht hat.
>
> Lege dir ein Bare Repository an:
> $ git init --bare $HOME/.cfg
>
> Damit hast du ein Repository für dein Home. Im Verzeichnis $HOME/.cfg 
> liegen nur die Git-Verwaltungsdaten.
>
> Als nächstes legst du dir ein Alias an:
> $ alias config="git --git-dir=$HOME/.cfg/ --work-tree=$HOME"
>
> Nun solltest du "einmal" folgendes ausführen:
> $ config config --local status.showUntrackedFiles no
> (sonst würde "config status" immer alle Dateien deines Homes als 
> untracked auflisten)
>
> Ab jetzt hast du das Kommando "config" welches du ganz genauso wie git 
> benutzen kannst.
>
> $ config status / commit / pull / push ... merge, rebase, reset... :)
>
> Wenn du irgendwo in deinem Home jetzt eine Datei oder ein Verzeichnis 
> hast, welches du in deine Dotfiles aufnehmen willst, dann füge es 
> einfach hinzu:
>
> $ config add .vim
> $ config commit -m "Meine Vim Konfiguration"
> $ config push
>
> Du kannst natürlich auch ne Upstream URL setzen und das Repository auf 
> Github oder Anderso hin puschen.
>
> Wenn du es auf einer anderen Maschine Clonen willst, dann geht das so:
>
> $ git clone --bare https://...../dotfiles.git $HOME/.cfg
>
> -----
>
> Ich habe mir in meiner .kshrc (sollte auch in bash funktionieren) 
> folgende Funktionen und Aliase angelegt:
>
> # config command
> alias config='git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
>
> # I'm lazy, so just commit with some machine info
> function dotfiles_autoupdate {
>     config add -u && \
>     config commit -m "Update $(date +"%Y-%m-%d %H:%M") $(uname -s)/$(uname -m)" && \
>     config push
> }
>
> # please give me my dotfiles...
> function dotfiles_init {
>     git --no-replace-objects clone --bare \
>         git_at_codevoid.de:dotfiles.git $HOME/.cfg
>     config config --local status.showUntrackedFiles no
>     config checkout -f
> }
>
> -----
>
> Alles gibt's natürlich in meinen Dotfiles:
> https://codevoid.de/?q=/1/git/dotfiles/files.gph
>
> Erfahrungswerte (eigentlich generell zu git):
>
> # Aufassen mit config add <verzeichnis>
>
> Sagen wir du hast .vim deinem Git-Repository hinzugefügt. Später fügst 
> du ein neues Plugin ein - z.B. .vim/bundle/vim-fugitive dann wird das 
> von git nicht automatisch aufgepickt. Das muss mit "config add" 
> hinzugefügt werden. Als Tippfauler Mensch ist man verleitet dann einfach 
> nochmal "config add .vim" zu tippen. Das führt dann unter Umständen 
> dazu, dass viel zu viel hinzugefügt wird. (undo files, swapfiles, 
> passwörter...). Oder im Falle von .mutt z.B. der komplette header cache 
> ;)
>
> # Keine Passwörter committen
>
> Klingt logisch, ist manchmal aber gar nicht so einfach. Viele Programme 
> erlauben es Passwörter aus Konfigurationsdateien raus zuhalten indem sie 
> Programme wie "pass" (password-store) oder gpg rufen können um sich ein 
> passwort abzuholen. Wenn das nicht möglich ist, dann commite ich eine 
> Datei namens .configfile.sample mit "****" statt Passwort. Das ist aber 
> nur mein persönlicher Workaround.
>
> # Mit pull mit --rebase, stash kennen lernen
>
> Man ändert ja doch immer mal wieder was auf nem nicht-aktuellen branch. 
> Daher empfehle ich eigentlich generell:
> $ config pull --rebase # statt config pull
>
> Wenn noch nicht committete Änderungen "rumhängen":
> $ config stash
> $ config pull --rebase
> $ config stash apply
>
> *Ich* bin mit meiner Lösung _sehr_ zufrieden.
>
> Viele Grüße,
> Stefan
>
> PS: Schnell getippt - bitte mit Autokorrektur lesen :)
>
awsome! werde das gleich ausprobieren!!! Tausend dank für die Mühe die
du dir gemacht hast! Ich muss meinen Mailman mal anderst einstelllen,
ich hab die erste mail heute bekommen und schon gedacht niemand
antwortet darauf.

> Message: 3 Date: Wed, 20 Mar 2019 16:05:48 +0100 From: Marc Haber
> <mh+uugrn_at_zugschlus.de> To: uugrn_at_mailman.uugrn.org Subject: Re:
> [Help: config Management] Message-ID:
> <20190320150548.GF3206_at_torres.zugschlus.de> Content-Type: text/plain;
> charset=utf-8 On Mon, Mar 18, 2019 at 02:18:40AM +0100, Christian
> Nitschke wrote:
>> Ich wollte mal fragen, wie Ihr eure Config Dateien handhabt.
> Meine Du die zum System (also in /etc) oder die zum Account (also in ~)?
>
> Grüße
> Marc
>
> --
> -----------------------------------------------------------------------------
> Marc Haber | "I don't trust Computers. They | Mailadresse im Header
> Leimen, Germany | lose things." Winona Ryder | Fon: *49 6224 1600402
> Nordisch by Nature | How to make an American Quilt | Fax: *49 6224
> 1600421

das kommt ganz drauf an, auf dem desktop und laptop ~/ auf dem server
wiederrum kann es ja auch nicht schaden eine Versionskontrolle zu haben,
daher auch /etc. Dafür gäbe es dann 2 verschiedene git repos


> Message: 6 Date: Wed, 20 Mar 2019 17:41:11 +0100 From: Stefan Hagen
> <sh+uugrn_at_codevoid.de> To: uugrn_at_mailman.uugrn.org Subject: Re: [Help:
> config Management] Message-ID: <20190320164110.GD41908_at_shell>
> Content-Type: text/plain; charset="utf-8"; Format="flowed" Andreas
> Költringer wrote:
>> was ist mit config Dateien die in /etc liegen.
> Das ist eine ganz andere Baustelle. In /etc schreibt das System selbst
> bei jedem Update rum. Das will man nicht unbedingt detailiert tracken.
> Zudem ist /etc deutlich weniger homogen als Konfigurationsdateien im
> $HOME.
>
> Dafür ist /etc klein und lässt sich damit komplett sichern.
>
> Wenn du /etc im git haben willst: Etckeeper installieren und fertig.
> https://help.ubuntu.com/lts/serverguide/etckeeper.html
>
> Etckeeper kümmert sich um alles und updated das etc-git immer wenn sich 
> was geändert hat. Es hängt sich in apt rein und sichert immer wenn du 
> was installierst.
>
> Früher hatte ich etckeeper auf fast allen Rechnern. Inzwischen 
> wurde das durch ein einfaches Backup Script abgelöst. Allerdings nur auf 
> Servern.
>
> Was ich mir von /etc an relevanten configs halten will kopiere ich mir 
> nach $HOME/.etc und das steckt dann auch im dotfiles.git. Auf
> Desktop-Rechnern sichere ich /etc ansonsten gar nicht.
>
> Viele Grüße,
> Stefan
wäre es dann nicht besser die dateien in etc nach $HOME/.etc zu symlinken



-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/

Received on 20.03.2019

This archive was generated by hypermail 2.3.0 : 20.03.2019 CET