Institut für Informationsanarchistik

Postgres installieren

# Erst mal einfach installieren...
# Bei debianbasierten Kisten (Ubuntu, Mint oder eben direkt Debian)

aptitude install postgresql

# Dann einschalten, wie man sich verbinden darf, hier für Version 9.6:

vi /etc/postgresql/9.6/main/pg_hba.conf

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# rfc 1918 IP - das lokale Netz darf sich verbinden. sha256 wär mir lieber als md5, 
# aber da bin ich auch grad mal nicht so pingelig
host    all             all             192.168.X.0/24         md5

# und in der Hauptconfigdatei

vi /etc/postgresql/9.6/main/postgresql.conf

# setzt du bitte vernünftige IPs ein, sonst nix Netzwerkzugriff.

listen_addresses = 'localhost, 192.168.X.Y'

# oder einfach _alle_ Adressen, die die Kiste hat:
listen_addresses = '*'

# ein beherztes 

service postgresql restart
# schaltet die Änderungen aktiv. Jetzt legen wir noch einen Datenbankuser an,
# der nicht postgres ist, dazu machen wir als root

su - postgres

# Als root deshalb, weil der DB-Master "postgres" keine eigene Shell hat - 
# was ich gerne mal änder, das spart einem Gefrickel.
# Die nächsten Kommandos gehen auf das Konto von postgres, klaro.

createuser -P donaldtrump

# Jetzt noch 'ne nette Testdatenbank "trumpelteer" initialisieren, Owner Onkel Dagobert ;) -->
createdb  -O donaldtrump trumpelteer

# mit psql haben wir eine supercoole Shell für die DB, da geht z.B. sowas:
# hier werden nochmal eben die Permissions gesetzt:

postgres@laptop:~$ psql trumpelteer
psql (9.6.10)
Type "help" for help.

trumpelteer=# grant all on DATABASE trumpelteer to donaldtrump ;
GRANT
trumpelteer=# \q
postgres@laptop:~$

# Key, User Postgres hat Feierabend, den Rest macht dann 
# donaldtrump, dazu checkst du als normaler User dich in die DB ein mit:

user@laptop:~$ psql -U donaldtrump  -h localhost trumpelteer
Password for user donaldtrump:
psql (9.6.10)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
trumpelteer=>

# etc, jetzt kannste deine Tables anlegen usw. psql ist eine echte Luxusshell,
# benutze die <TAB>-Taste und du wirst sehen. Das geht auch grafisch mit
# pgadmin3, aber das Teil ist zum Einstieg und für unerfahrene User echt zu "phat".
# Der Defaultinstall ist sehr ressourcensparsam eingestellt. Wenn du 50000000
# oder mehr Datensätze hast, kannst du die DB gewaltig tunen. max_connections ist
# meist mit 100 viel zu viel, spar die allozierten Ressourcen und mach da 30 von
# oder was immer realistisch ist. Oder lass drin, wenn du viele gleichzeitige
# Zugriffe erwartest :


max_connections = 100
# Andere Parameter kannst du hochdrehen, wenn die DB zu langsam erscheint...*hüstel*
shared_buffers = 256MB                  # min 128kB
                                        # (change requires restart)
temp_buffers = 64MB                     # min 800kB
                                        # (change requires restart)
work_mem = 64MB                         # min 64kB
maintenance_work_mem = 128MB            # min 1MB
max_stack_depth = 6MB                   # min 100kB

# Da geht noch einiges. Mit den gezeigten Parametern ist die DB auf
# jeden Fall im grünen  Bereich für die meisten Angelegenheiten. 
# Einen Produktivserver für 'ne internationale Schraubenfabrik mit 40000 
# Angestellten würde ich allerdings RAM-mässig evtl. doch noch etwas aufbohren.

Have fun!

Zsh und oh-my-zsh

Ein fröhlicher Spieltrieb ist äusserst förderlich für die folgenden Infos.
Der folgende Tip ist nichts für dich, wenn du eine tiefe Angst vor Computern
 oder mit textlichen Inhalten Probleme hast.

####
Das Terminal eines Unixsystems ist nach wie vor der Fahrersitz eines 400 kw
Treckers, gelle? Nundenn, die staubigen Zeiten von SCO, SunOS und Co mit ihren
holperigen Shells sind lang vorbei, unter Linux nimmt man per Default die Bash,
da geht schon einiges. Aaaaaber...da kann man locker was drauflegen. Schaut
euch mal die Zsh und die geniale Konfigurationssammlung "oh-my.zsh" an, ihr
werdet nach zwei Stunden des Rumprobierens nichts Anderes mehr wollen. Extra
interessant ist sie für Leute, die mehrere Rechner in Betrieb haben oder
gelegentlich Software entwickeln, aber auch verspielte Senioren werden ihren
Spass haben ;)

Guxdu:
https://ohmyz.sh/
Die Installation ist voll easy, ey.
Kurzanleitung für Debian und auf Debian basierende Linuxe, wie Mint, Ubuntu:

# Erstmal root werden, z.B. so:

sudo su -     # Dein Password eingeben

# dann installierst du grundlegende Software - falls die nicht schon drauf ist:
# ssh nur, wenn du irgendwie mit mehreren Linuxrechnern zu tun hast

apt install git rsync ssh zsh vim wget

# Nachdem du das gemacht hast, gibst du "exit" ein oder, für Faule wie mich,
# drückst <STRG-d> Als normaler Benutzer machst du jetzt:

chsh

# Du wirst in einem schlichten Dialog nach deinem Passwort gefragt, dann nach
# der neuen Shell, da gibst du ein: /bin/zsh Wenn das ne Meckermeldung gab,
# hast du dein Passwort falsch eingegeben. Ganz bestimmt.
# Ok - jetzt kommt noch der krasse Hammer. oh-my-zsh ist eine Pluginsammlung
# für die zsh, die es einfach in sich hat. Die ziehen wir uns direkt von den
# Freaks, die das betreuen:

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

# Fertig. Das nächste Terminal, das du aufklappst, wird wirken wie ne Tasse arabischer Mokka am Morgen.
# Guck dir die Datei '~/.zshrc' an und spiel rum. 

local ret_status="%(?:%{$fg_bold[green]%}:%{$fg_bold[red]%})"
PROMPT='${ret_status}%(?: ॐ : ${?})%{$fg[cyan]%}${USER}@${HOST}:%~%{$reset_color%}→$(git_prompt_info) '
# Das gibt etwa folgenden Prompt, natürlich mit intelligenter Pfadangabe und Anzeige des Returnwerts des letzten Kommandos:
# ॐ wn@magma:~→

# Benutze die <TAB>-Taste! Zsh ist was für Tipfaule.