Re: [Help: config Management]

From: Andreas Költringer <akoeltringer_at_posteo.co>
Date: Wed, 20 Mar 2019 16:38:42 +0100
Hi,

was ist mit config Dateien die in /etc liegen?

VG
Andreas


Am 20. März 2019 15:45:35 MEZ schrieb Stefan Hagen <sh+uugrn_at_codevoid.de>:
>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 :)
>
>-- 
>Stefan Hagen | (gopher|https)://codevoid.de(/gpg)
>CBD3 C468 64B4 6517 E8FB B90F B6BC 2EC5 52BE 43BA
>-- 
>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/

--
Andreas Költringer
akoeltringer_at_posteo.co

-- 
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