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