Skip to content

PostgreSQL 12 und pgAdmin 4 unter Ubuntu installieren oder aktualisieren

Nach gut einem Jahr wurde vor wenigen Tagen die Version 12 der Datenbanklösung PostgreSQL veröffentlicht.

Das Release steht im Zeichen der Performance und bietet beispielsweise mit REINDEX CONCURRENTLY nun eine Möglichkeit Indizes im laufenden Betrieb ohne Einbußen zu erneuern.

Weitere Änderungen sind im Changelog zu finden. Dort finden sich zusätzlich Anweisungen, welche für die ein oder andere Migration relevant sein dürften.

postgres_logo

PostgreSQL 12 unter Ubuntu installieren

Bei der Aktualisierung der vorhandenen Version hat sich nicht allzu viel getan. Der Vorgang ist analog zu Version 11.
 

sudo sh -c  'echo "deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt update

sudo apt install postgresql-11

Nun kann überprüft werden, ob das System korrekt funktioniert. Dazu wird in die Postgres Console gewechselt.

sudo -u postgres psql

postgres=# \conninfo
You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432".

postgresql12


PostgreSQL 11 auf PostgreSQL 12 aktualisieren

Nachdem die neueste Version installiert wurde, kann die alte im folgenden migriert werden.

Unbedingt eine Sicherung der vorhandenen Datenbanken machen.

pg_dumpall > /temp/sicherung

Noch einmal die Installationsinfos anzeigen lassen.

sudo pg_lsclusters

Ver Cluster Port Status Owner    Data directory              Log file
11  main    5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log

Sollte eine neue Version bereits installiert sein, muss diese zunächst gestoppt werden.

sudo pg_dropcluster 12 main --stop

Danach das alte Cluster migrieren.

sudo pg_upgradecluster 11 main

Sollte der Vorgang erfolgreich gewesen sein, kann das alte Cluster entfernt werden.

sudo pg_dropcluster 11 main


pgAdmin_4

pgAdmin 4 für PostgreSQL 12 installieren

Für viele bietet sich zur Verwaltung eine grafische Oberfläche an, hier kann der Quasistandard pgAdmin genutzt werden.

Das Tool hat sich in den letzten Jahren gut entwickelt und viele Kinderkrankheiten überwunden.

Das benötigte Repository ist durch die vorhergehende PostgreSQL Installation bereits vorhanden.

sudo apt install pgadmin4 pgadmin4-apache2

Das erste Paket installiert das Tool an sich, das zweite installiert das Webinterface dazu. Bei der Installation werden Mailadresse und Passwort abgefragt, dies wird später für den Login benötigt.

Die fertige Installation kann über den Browser aufgerufen werden.


http://localhost/pgadmin4/

 

GIMP wie Photoshop aussehen lassen

Im Bereich der digitalen Bildbearbeitung ist GIMP im FOSS Gebiet für viele das Tool der Wahl.
GIMP was für "GNU Image Manipulation Program" steht ist somit auf vielen privaten Rechnern als freies Bildbearbeitungsprogramm installiert.

Allerdings arbeiten viele beruflich mit Photoshop oder sind von Tutorials und Co die Adobe Oberfläche gewöhnt.
Glücklicherweise ist Gimp hier sehr flexibel und kann schnell auf einen anderen Look umgestellt werden.

GIMP Photoshop Theme installieren

Windows

1. GIMP beenden
2. CMD starten
3. cd C:\Users\x\AppData\Roaming\GIMP\
4. ren 2.10 2.10.backup
5. git clone https://github.com/BenShoeman/gimp-photoshop-profile
6. In den Einstellungen die Themes mit SegoeUI auswählen


Linux

1. GIMP beenden
2. Terminal starten
3. cd /.config/GIMP/
4. mv ~/.config/GIMP/2.10 ~/.config/GIMP/2.10.backup
5. git clone https://github.com/BenShoeman/gimp-photoshop-profile

Alternativ wurde ich auf Github noch auf anderer Seite fündig, allerdings ist das Repository schon 4 Jahre alt. Ausprobieren lässt es sich dennoch.

git clone --depth=1 https://github.com/doctormo/GimpPs.git .gimp-2.10

Vorher

gimp-dark-theme

Nachher

gimp-dark-Photoshop

Tastaturbefehle

Aussehen ist nicht alles, auch Tastaturbefehle sind vielen wichtig. Darum kann man diese ebenfalls herunterladen. Ich konnte die Funktionalität leider nicht überprüfen.

  1. Keybinds herunterladen http://epierce.freeshell.org/gimp/ps-menurc
  2. Unter Windows die Datei "C:\Users\name\AppData\Roaming\GIMP\2.10\menurc" ersetzen
  3. Unter Linux die Datei "~/.config/GIMP/2.10/menurc" ersetzen

Fazit

Letztendlich ist es Geschmackssache, ob und wie eine andere Oberfläche das Arbeiten vereinfacht. Ich werde bei der originalen GIMP Oberfläche bleiben und verbuche die Photoshop Oberfläche unter abgeschlossene Experimente.

Installation einer aktuellen Go Version auf Ubuntu

Go ist eine Open-Source Programmiersprache, welche von Google 2009 entwickelt wurde. Die Sprache ist bei vielen Anwendungen beliebt, darunter Docker oder Kubernetes. 

Nun ist eine neue Version 1.13 erschienen, welche neben Sicherheitsfeatures in den Standardeinstellungen auf TLS 1.3 setzt.
Module welche von den Go Servern geladen werden, sind nun durch eine Checksummenprüfung abgesichert.

Weitere Neuerungen verrät das Changelog

Doch wie kommt Go überhaupt auf das eigene System?

golang

Installation von Golang auf Ubuntu

Als erstes möchte ich die manuelle Installation betrachten.

Auf der Downloadseite muss zunächst nach der offiziellen Version gesucht werden.

wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz

Nach dem Download sollte der Hashwert überprüft werden.

sha256sum go1.13.linux-amd64.tar.gz

    68a2297eb099d1a76097905a2ce334e3155004ec08cdea85f24527be3c48e856  go1.13.linux-amd64.tar.gz

Danach folgt das Entpacken, wobei ihr beim Pfad natürlich auch einen anderen verwenden könnt.

sudo tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz

Nun den PATH anpassen und folgende Zeile unten anfügen.

sudo nano $HOME/.profile

    export PATH=$PATH:/usr/local/go/bin

Die neue PATH Variablen laden.

source ~/.profile

go-installation

Nun kann der finale Test erfolgen, wenn alles klappt solltet ihr folgendes Ergebnis sehen.

go

Go is a tool for managing Go source code.

Usage:

        go command [arguments]

The commands are:

        build       compile packages and dependencies
        clean       remove object files and cached files
        doc         show documentation for package or symbol
        env         print Go environment information
        bug         start a bug report
        fix         update packages to use new APIs
        fmt         gofmt (reformat) package sources
        generate    generate Go files by processing source
        get         download and install packages and dependencies
        install     compile and install packages and dependencies
        list        list packages
        run         compile and run Go program
        test        test packages
        tool        run specified go tool
        version     print Go version
        vet         report likely mistakes in packages

Use "go help [command]" for more information about a command.

 

Installation von Go via apt auf Ubuntu

Golang kann unter Ubuntu ebenfalls über den Paketmanager installiert werden. Dazu muss zunächst ein extra Repository hinzugefügt werden.

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go

Jetzt könnt ihr euch mit Go austoben.

Im Netz findet ihr jede Menge Beispiele was damit möglich ist.
Zum Beispiel hier oder hier.

 

Ein eigenes Programm ist schnell geschrieben, dazu einfach folgende Schritte ausführen.

Ein neues Verzeichnis anlegen und eine erste Datei anlegen.

mkdir -p /home/user/hello
nano /home/user/hello/helloworld.go


        package main

        import "fmt"

             func main() {
                  fmt.Printf("Hello Go World \n")
             }

Datei builden und ausführen.

cd /home/user/hello

go build
./hello

    Hello Go World

Praktischerweise gibt es eine Online Spielwiese, die zum Probieren einlädt.

Es muss somit zunächst nicht zwingend auf der Kommandozeile gearbeitet werden.

The_Go_Playground

PS. Natürlich kann Golang auch über die vorhandenen Ubuntu Pakete mit sudo apt install golang installiert werden, allerdings erhaltet ihr hier nicht die aktuellste Version.

 

Mozilla SSL Configuration Generator - Neue Version unterstützt Postfix, PostgreSQL, MySQL, Oracle und Caddy

Es ist lange her, als ich das erste Mal über den Mozilla SSL Configuration Generator geschrieben hatte (ganze 4 Jahre um genau zu sein).

Bereits damals hatte ich mir gewünscht, dass auch Server wie Postfix unterstützt werden. Dieser Wunsch wurde nun erfüllt, denn es gab ein umfangreiches Update  ( thx @ aprilmpls )

mozilla-logo

Mozilla SSL Configuration Generator

Wie der Überschrift bereits entnommen werden konnte, sind neben den üblichen Verdächtigen nun auch weitere Systeme dabei. Folgende SSL/TLS Sicherheitseinstellungen können nun via Generator erstellt werden:

  • Apache
  • Nginx
  • Lighthttpd
  • HAProxy
  • AWS Elastic Load Balancer
  • Caddy
  • MySQL
  • Oracle HTTP Server
  • Postfix
  • PostgreSQL 

Die einzelnen Kategorien modern, intermediate und old haben Beschreibungen erhalten und erschließen sich dem Laien somit etwas besser. So wird bei der modernen Variante explizit TLS 1.3 erwähnt und die nicht vorhandene Abwärtskompatibilität beschrieben.

Die Versionsauswahl bei Server oder SSL kann weiterhin händisch eingegeben werden. 

Mozilla_SSL_Configuration_Generator

Zusätzliche Optionen wie HSTS oder OCSP Stapling sind in den Standardeinstellungen aktiv. Hier muss nichts angepasst werden, da der Generator alte Server Versionen erkennt und die Optionen automatisch nicht in der generierten Datei auflistet (SSLUseStapling On).

Bei Konfigurationen für Mail- oder Datenbankserver sind diese Auswahlmöglichkeiten ohnehin ausgegraut.

Generator generiert

Die neu generierten Konfigurationen haben dazugelernt. So wird bei der Apache oder Nginx Konfiguration automatisch der HTTP zu HTTPS Rewrite mit aufgeführt. Auch werden das Erstelldatum, so wie die benötigten Module als Kommentar aufgeführt, was für viele sicherlich eine zusätzliche Hilfe darstellt.

Bei der Postfix wird keine TLS Verschlüsselung erzwungen, hier wird immer ein "Verschlüsselung wenn möglich" vorgeschlagen.

Unterstützung

Bereits beim älteren Generator wurden die unterstützten Browser aufgelistet. Diese wurden um Android und Edge ergänzt.

Fazit

Die neue Version des Mozilla SSL Configuration Generator hat im Vergleich zum Vorgänger viele kleine Verbesserungen erhalten, siehe der Kopierbutton am Ende der Konfigurationsdateien. Die Unterstützung für Postfix, PostgreSQL und Co erweitert die Breite ungemein. Mit der Unterstützung für TLS 1.3 wird das Tool auch in Zukunft praktisch sein. Sei es als Orientierung oder Beispiel für eigene Serverkonfigurationen.

https://ssl-config.mozilla.org

HowTo - Einen eigenen SuperTuxKart Server im LAN aufsetzen und gegen Freunde zocken

Vor kurzem wurde eine neue SuperTuxKart Version veröffentlicht.

Wie schon aus der Beta bekannt war, bringt diese neue Version neben diversen Verbesserungen eine Netzwerkunterstützung mit.

Daneben sorgen ca. 20 Rennstrecken und verschiedene Spielmodi für Abwechslung. Der Funracer ist natürlich OpenSource und so hat jeder die Möglichkeit seinen eigenen Server zu betreiben.

Alle Infos findet ihr in den Release Notes.

SuperTuxKart1
Genau diese Netzwerkunterstützung will ich im Folgenden näher anschauen, denn für einen eigenen Server reicht bereits ein RaspberryPi aus.


Eigenen SuperTuxKart Server fürs LAN bauen

Als Basis dient ein Ubuntu 16.04 LTS oder ein Raspbian System, der Vorgang ist jeweils gleich.

Zunächst müssen ein paar Pakete installiert werden, damit der Build auch gelingt.

sudo apt-get install build-essential cmake libbluetooth-dev \
libcurl4-openssl-dev libenet-dev libfreetype6-dev libfribidi-dev \
libgl1-mesa-dev libglew-dev libjpeg-dev libogg-dev libopenal-dev libpng-dev \
libssl-dev libvorbis-dev libxrandr-dev libx11-dev nettle-dev pkg-config zlib1g-dev git subversion

Als nächstes werden die Installationsdateien auf das lokale System geladen.

cd /opt
sudo mkdir stk-code
sudo mkdir stk-asset
git clone https://github.com/supertuxkart/stk-code stk-code
svn co https://svn.code.sf.net/p/supertuxkart/code/stk-assets stk-assets

Der letzte Schritt kann etwas Zeit benötigen, da mehrere 100MB geladen werden müssen.

cd stk-code
sudo mkdir cmake_build
cd cmake_build/
sudo cmake .. -DSERVER_ONLY=ON
sudo make -j$(nproc)

Nun heißt es etwas warten, denn je nach CPU Leistung, kann dies etwas dauern...

stk-server

Schwups ist der fertige Server erstellt, ihr könnt ihn nun bereits ausprobieren oder systemweit mit sudo make install installieren.

Danach findet ihr den installierten Server unter /usr/local/bin/supertuxkart.


In unserem Fall starten wir den Server testweise direkt.

cd bin/

./supertuxkart --lan-server=test --network-console

stk-server-start

[info   ] GrandPrixManager: Loading Grand Prix files from ../../data/grandprix/
[info   ] GrandPrixManager: Loading Grand Prix files from /home/xyz/.local/share/supertuxkart/grandprix/
Fri Apr 26 20:25:41 2019 [info   ] STKHost: Host initialized.
Fri Apr 26 20:25:41 2019 [info   ] STKHost: Server port is 2759
Fri Apr 26 20:25:41 2019 [info   ] main: Creating a LAN server 'test'.
Fri Apr 26 20:25:41 2019 [info   ] ServerLobby: Reset server to initial state.
Fri Apr 26 20:25:41 2019 [info   ] ProtocolManager: A 11ServerLobby protocol has been started.
Fri Apr 26 20:25:41 2019 [info   ] STKHost: Listening has been started.

Nun solltet ihr darauf achten, dass der Port 2759 im lokalen Netz erreichbar ist und Firewalls diesen nicht blockieren.

Ebenfalls ist es wichtig lokal einen Servernamen beim Start anzugeben, da der Server sonst nicht startet.

Zusätzlich wird unter /opt/stk-code/.config/supertuxkart/config-0.10/server_config.xml beim ersten Start eine Konfigurationsdatei angelegt, dort können weitere Einstellungen gesetzt werden.

Für unseren Server muss hier Nichts weiter angepasst werden.

Alternativ könnt ihr eure eigene Konfigurationsdatei beim Start auch gleich mitgeben

supertuxkart --server-config=your_config.xml --network-console

Ob der Server läuft lässt sich mit einem einfachen netstat -lnp oder via ss -ln herausfinden (Artikel).

SuperTuxKart auf eigenen Server spielen

Um auf dem eigenen Server gegeneinander zu spielen, müsst ihr euch zunächst das Spiel installieren, dieses findet ihr hier.


Nach dem Start müssen folgende Schritte durchgeführt werden, um auf den eigenen Server zu gelangen,

stk-server-gui

stk-server-lan

stk-server-findstk-server-test-srv

Alternativ kann auch ein Server direkt aus dem Programm heraus erstellt werden und somit quasi mit jedem PC. Ein kleiner RapsberryPi ist allerdings um einiges praktischer.

Sollte ein STK Server übers Internet erreichbar sein, muss zusätzlich ein STK Account angelegt werden. Dieser Account muss beim Serverstart angegeben werden. Weitere Tipps finden sich hier.

supertuxkart --init-user --login=your_registered_name --password=your_password

Viel Spaß