From 54b1ce0fce10be128b6591720d6d2765f03307ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakobus=20Sch=C3=BCrz?= Date: Wed, 15 Jan 2020 10:44:28 +0100 Subject: [PATCH] update README.md --- README.md | 70 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 1c313ab..f2e8b3a 100644 --- a/README.md +++ b/README.md @@ -13,24 +13,48 @@ local für jedes Repo zu konfigurieren. Die globale gitconfig für den User wird ## Installation Damit auf einem neuen Server meine persönlichen Alias und Bash-Promt, wie auch verschiedene andere Befehle (vim in sudo mit der vimrc des Benutzers) zur Verfügung stehen, muss als erstes nach dem ersten Login folgendes ausgeführt werden: -Download von github +Clone von github ``` -curl -o bashrc\_add "https://raw.githubusercontent.com/xundeenergie/myshellconfig/master/bashrc\_add" +git clone https://github.com/xundeenergie/myshellconfig.git ~/.local/myshellconfig ``` -oder Download von git.schuerz.at + +~/.bashrc ist am Ende um folgende Zeilen zu ergänzen ``` -curl -o bashrc\_add "https://git.schuerz.at/?p=myshellconfig.git;a=blob\_plain;f=bashrc\_add;hb=HEAD" +#MYSHELLCONFIG-start +if [ -e ~/.local/myshellconfig/bashrc_add ]; then + . ~/.local/myshellconfig/bashrc_add; +else + if [ -f ~/bashrc_add ] ;then + . ~/bashrc_add; + fi; +fi +#MYSHELLCONFIG-end ``` +Ausloggen und neu Einloggen. ## Lokale Configuration in ~/.bashrc werden vor der Zeile zum Einbinden der myshellconfig die Variablen eingefügt um damit ein hostspezifisches Verhalten zu steuern MYSHELLCONFIG\_GIT\_CHECKOUTSCRIPT\_OPTIONS= Mögliche Optionen: + * -h + * '' + Verwendung: Damit kann man angeben, ob ein headless Repo erzeugt wird. Ohne -h folgt das Repo origin/master +Default ist die Option "-h". Soll ein normales Repo (nicht headless) verwendet werden, so MUSS die Variable so gesetzt werden + +``` +MYSHELLCONFIG_GIT_CHECKOUTSCRIPT_OPTIONS="" +``` + +### Git Protokolle für push und pull +``` MYSHELLCONFIG\_GIT\_REMOTE\_PROTOCOL=git # git ist default MYSHELLCONFIG\_GIT\_REMOTE\_PUSH\_PROTOCOL=$MYSHELLCONFIG\_GIT\_REMOTE\_PROTOCOL # MYSHELLCONFIG\_GIT\_REMOTE\_PROTOCOL ist default +``` + Mögliche Optionen: + * git - (default) Gitprotokoll ist git (Auf manchen Umgebungen kann der dazu notwenidge Port gesperrt sein) * http - wenn git nicht möglich ist, kann das http/https Protokoll verwendet werden. (ist langsamer als git, jedoch ist fast überall Port 80 oder 440 freigeschaltet) * ssh - Wenn auch schreibend auf das Repo zugegriffen werden soll, so muss Privatekey, Pubkey (und wenn konfiguriert Certifikate mit den notwendigen Principals) vorhanden sein, dann kann das ssh-Prodokoll verwendet werden. @@ -39,21 +63,7 @@ Vim Plugins werden prinzipiell von github.com bezogen. Für spezielle Anwendungs MYSHELLCONFIG\_VIM\_PLUGINS=https://my.git.server/public/Vim -## Einbinden von bashrc\_add in die bash - -Die Default .bashrc muss am Ende um folgende Zeilen ergänzt werden: -``` -vi .bashrc - -# User specific aliases and function -[ -f bashrc\_add ] && . bashrc\_add -``` -damit diese heruntergeladene Datei beim nächsten Login oder aufruf von bash gesourced wird. -Diese Datei clont dieses Repo nach $HOME oder pullt es, wenn das Repo schon vorhanden ist. - -Damit ist auch schon alles erledigt - -# Über ~/.bashrc manuell festlegbare Variablen und ihre Default-Werte, wenn nicht manuell gesetzt: +### Über ~/.bashrc manuell festlegbare Variablen und ihre Default-Werte, wenn nicht manuell gesetzt: MYSHELLCONFIG\_SUBPATH=.local/myshellconfig MYSHELLCONFIG\_BASE="${HOME}/${MYSHELLCONFIG\_SUBPATH}" MYSHELLCONFIG\_LOGDIR="${MYSHELLCONFIG\_BASE}/logs" @@ -67,22 +77,16 @@ MYSHELLCONFIG\_GIT\_REPO\_PATH\_SSH=":public/" MYSHELLCONFIG\_GIT\_REPO\_PATH\_GIT="/public/" -# Modifizierung mit Skript -Wenn das auf mehreren Hosts ausgeführt werden muss, kann man auch das in diesem Repo in bin abgelegte Skript configserver.sh verwenden. -Am besten dieses Skript nach ${HOME}/bin kopieren und ausführbar machen. +# Verteilen auf neuen Host/User +Einen neuen User auf einem anderen Host mit der selben Konfiguration versehen funktioniert folgendermaßen: ``` -cp bin/configserver.sh ${HOME}/bin -chmod +x ${HOME}/bin/configserver.sh +sshmyshellconfig USER@HOST ``` +und dann auf dem Host einloggen +``` +ssh USER@HOST +``` +es können die üblichen ssh-Optionen und Parameter verwendet werden. -Usage: -configserver.sh [@] [port] [ssh-options] -ein Hostname muss angegeben werden -Wenn kein Username angegeben wird, fragt das Skript nach einem Username. Ist der Username leer, bricht das Programm ab. - -Wenn kein Port angegeben wird, wird der Standardport 22 verwendet. - -Weitere ssh-Optionen sind wie in der Notation für ssh anzugeben. - z.B.: -i /path/to/private.key -o https://git.ebcont.com/jakobus.schuerz/server-config.git