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.

 

Logfile Navigator (lnav) - Ein Lichtblick bei der grauen Logsuche

Zu den häufigen Aufgaben eines Sysadmins gehört sicherlich die Suche nach der Nadel im Heuhaufen besser bekannt als Logfiles.
Seien es System Logs, Mail Logs oder Firewall Logs, meist gilt es eine Fehlermeldung zu finden oder andere Unstimmigkeiten zu entdecken.
Standardwerkzeuge sind da meist tail -f oder tailf, grep, cat, less und wie sie alle heißen. 

Logfile Navigator (lnav)

Einen weitaus einfacheren Umgang bietet lnav. Dank des Tools kann schnell mit Hilfe von Syntax Highlighting durch Massen an Log Files navigiert werden.
Tastaturbefehle ermöglichen zusätzlichen Komfort, aber zunächst muss das Tool installiert werden, da es nicht zu den vorinstallierten Paketen eines Servers gehört.

#Debian
sudo apt install lnav


#CentOS
sudo yum install lnav


#SuSE
sudo zypper install lnav

The_Log_File_Navigator

Nach der Installation lässt sich das Logfile Navigator einfach öffnen.

lnav

oder

journalctl -f | lnav

Der lnav Befehl öffnen standardmäßig Syslog (/var/log/syslog) .

Wer archivierte Logs einbinden möchte, der setzt hinter den gewünschten Pfad noch einen Stern.

lnav /var/log/mail.log*

Der Navigator unterstützt nahezu jedes Logformat und erlaubt nebenbei die Einbindung eigener Formate. Wie dies funktioniert ist hier beschrieben.

Natürlich lassen sich Logfiles auch kombinieren.

lnav /var/log/mail.log /var/log/syslog

Die Log Navigation

Neben der Einbindung der Log Archive hat lnav den großen Vorteil, dass es Hotkeys unterstützt.

Hiervon gibt es ebenfalls eine schöne Übersicht, allerdings möchte ich die "besten" hier sofort aufzeigen:

24 Stunden vor oder zurück

d oder Shift + d

Suche und Navigation

/gesuchter Begriff

Nächster Suchtreffer

n oder Shift + n 

Warnungen suchen

w oder Shift + w

Fehlermeldungen suchen

e oder Shift + e

(rot hervorgehoben)

lnav-history

Logzusammenfassung (Histogramm anzeigen)

Diese bietet einen guten Überblick über mögliche Fehlermeldungen und deren Häufigkeit.

i oder verlassen mit Shift + i

Innerhalb der Zusammenfassung kann ebenfalls zwischen den Zeiteinheiten navigiert werden

z oder Shift + z

Pretty Print View

Sollte der Überblick fehlen und eine etwas andere Aufteilung notwendig sein, bietet sich dieser Modus an.

p  oder Shift + p

Beenden

q

lnav-pretty


Fazit

Um die Suche nach Warnings und Errors zu verbessern setzt lnav an den richtigen Stellen die richtigen Funktionen und verkürzt damit den Weg zum Ziel ungemein.
Lediglich das Syntax Highlighting (blau auf schwarz) ist manchmal etwas unglücklich.

Download

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