update README.md
This commit is contained in:
parent
197eae5d1b
commit
54b1ce0fce
1 changed files with 37 additions and 33 deletions
70
README.md
70
README.md
|
@ -13,24 +13,48 @@ local für jedes Repo zu konfigurieren. Die globale gitconfig für den User wird
|
||||||
## Installation
|
## 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:
|
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
|
## Lokale Configuration
|
||||||
in ~/.bashrc werden vor der Zeile zum Einbinden der myshellconfig die Variablen eingefügt um damit ein hostspezifisches Verhalten zu steuern
|
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=
|
MYSHELLCONFIG\_GIT\_CHECKOUTSCRIPT\_OPTIONS=
|
||||||
Mögliche Optionen:
|
Mögliche Optionen:
|
||||||
|
|
||||||
* -h
|
* -h
|
||||||
|
* ''
|
||||||
|
|
||||||
Verwendung: Damit kann man angeben, ob ein headless Repo erzeugt wird. Ohne -h folgt das Repo origin/master
|
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\_PROTOCOL=git # git ist default
|
||||||
MYSHELLCONFIG\_GIT\_REMOTE\_PUSH\_PROTOCOL=$MYSHELLCONFIG\_GIT\_REMOTE\_PROTOCOL # MYSHELLCONFIG\_GIT\_REMOTE\_PROTOCOL ist default
|
MYSHELLCONFIG\_GIT\_REMOTE\_PUSH\_PROTOCOL=$MYSHELLCONFIG\_GIT\_REMOTE\_PROTOCOL # MYSHELLCONFIG\_GIT\_REMOTE\_PROTOCOL ist default
|
||||||
|
```
|
||||||
|
|
||||||
Mögliche Optionen:
|
Mögliche Optionen:
|
||||||
|
|
||||||
* git - (default) Gitprotokoll ist git (Auf manchen Umgebungen kann der dazu notwenidge Port gesperrt sein)
|
* 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)
|
* 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.
|
* 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
|
MYSHELLCONFIG\_VIM\_PLUGINS=https://my.git.server/public/Vim
|
||||||
|
|
||||||
## Einbinden von bashrc\_add in die bash
|
### Über ~/.bashrc manuell festlegbare Variablen und ihre Default-Werte, wenn nicht manuell gesetzt:
|
||||||
|
|
||||||
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:
|
|
||||||
MYSHELLCONFIG\_SUBPATH=.local/myshellconfig
|
MYSHELLCONFIG\_SUBPATH=.local/myshellconfig
|
||||||
MYSHELLCONFIG\_BASE="${HOME}/${MYSHELLCONFIG\_SUBPATH}"
|
MYSHELLCONFIG\_BASE="${HOME}/${MYSHELLCONFIG\_SUBPATH}"
|
||||||
MYSHELLCONFIG\_LOGDIR="${MYSHELLCONFIG\_BASE}/logs"
|
MYSHELLCONFIG\_LOGDIR="${MYSHELLCONFIG\_BASE}/logs"
|
||||||
|
@ -67,22 +77,16 @@ MYSHELLCONFIG\_GIT\_REPO\_PATH\_SSH=":public/"
|
||||||
MYSHELLCONFIG\_GIT\_REPO\_PATH\_GIT="/public/"
|
MYSHELLCONFIG\_GIT\_REPO\_PATH\_GIT="/public/"
|
||||||
|
|
||||||
|
|
||||||
# Modifizierung mit Skript
|
# Verteilen auf neuen Host/User
|
||||||
Wenn das auf mehreren Hosts ausgeführt werden muss, kann man auch das in diesem Repo in bin abgelegte Skript configserver.sh verwenden.
|
Einen neuen User auf einem anderen Host mit der selben Konfiguration versehen funktioniert folgendermaßen:
|
||||||
Am besten dieses Skript nach ${HOME}/bin kopieren und ausführbar machen.
|
|
||||||
|
|
||||||
```
|
```
|
||||||
cp bin/configserver.sh ${HOME}/bin
|
sshmyshellconfig USER@HOST
|
||||||
chmod +x ${HOME}/bin/configserver.sh
|
|
||||||
```
|
```
|
||||||
|
und dann auf dem Host einloggen
|
||||||
|
```
|
||||||
|
ssh USER@HOST
|
||||||
|
```
|
||||||
|
es können die üblichen ssh-Optionen und Parameter verwendet werden.
|
||||||
|
|
||||||
Usage:
|
|
||||||
configserver.sh [<username>@]<hostname> [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
|
|
||||||
|
|
Loading…
Reference in a new issue