Skip to content

Cheat.sh - Linux und Programmiersprachen Cheatsheet für die Kommandozeile

Das klassische Cheatsheet besteht meistens aus einer Sammlung von Befehlen oder Hilfestellungen, die auf einer DIN A4 Seite zusammengefasst werden.
Solche Spickzettel können auf dem Rechner als PDF abgelegt werden oder im Büro ausgedruckt einen Platz an der Wand finden.

Cheat.sh

Cheat.sh geht hier einen anderen Weg und holt den Nutzer da ab wo er ist, auf der Kommandozeile.

Mit dem Tool können via curl einfache Hilfestellungen zu Kommandozeilenbefehlen, Programmiersprachen oder Datenbanken abgerufen werden.
Anders als beispielsweise die man pages, stellt cheat.sh einfache Beispiele zur gesuchten Abfrage dar.

cheatsheet

Zur Nutzung muss das Tool nicht zwingend installiert werden, eine Verbindung zum Internet reicht völlig aus.

Einen Linux Befehl abrufen, hier am Beispiel von tar.

curl cheat.sh/tar

# tar
# Archiving utility.
# Often combined with a compression method, such as gzip or bzip.
# More information: <https://www.gnu.org/software/tar>.

# Create an archive from files:
tar cf target.tar file1 file2 file3

# Create a gzipped archive:
tar czf target.tar.gz file1 file2 file3

# Extract a (compressed) archive into the current directory:
tar xf source.tar[.gz|.bz2|.xz]

# Extract an archive into a target directory:
tar xf source.tar -C directory

# Create a compressed archive, using archive suffix to determine the compression program:
tar caf target.tar.xz file1 file2 file3

# List the contents of a tar file:
tar tvf source.tar

# Extract files matching a pattern:
tar xf source.tar --wildcards "*.html"


Nach einem bestimmten Begriff suchen, am Beispiel von Docker.

curl cheat.sh/~docker


Eine Programmiersprache lernen, in diesem Fall Python.

curl cheat.sh/python/:learn

Übersicht

curl cheat.sh

cheatsh

Die Github Seite des Projektes verrät mehr über den riesen Umfang des Cheatsheet.

Installation von Cheat.sh (global)

Natürlich lässt sich das Tool auch direkt auf dem System installieren bzw. hosten (dazu wird allerdings Docker benötigt).

Der Dienst cheat.sh hat einen eigenen Kommandozeilen-Client (cht.sh), der im Vergleich zur direkten Abfrage mit curl mehrere nützliche Funktionen bietet:

  • Spezieller Shell-Modus mit persistentem Abfragekontext und Readline-Unterstützung
  • Abfrage der Historie
  • Integration der Zwischenablage
  • Unterstützung der Tabulatorvervollständigung für Shells (bash, fish, zsh)
  • Stealth-Modus

Eine Installation ist schnell erledigt.

sudo apt install rlwrap
curl https://cht.sh/:cht.sh | sudo tee /usr/local/bin/cht.sh
sudo chmod +x /usr/local/bin/cht.sh

Nach einer Installation kann cht.sh anstatt curl verwendet werden und es ergeben sich die oben erwähnten Möglichkeiten.

cht.sh-shell

Einbindungen in den Editor

Cheat.sh unterstützt momentan die Einbindung in die Editoren wie Emacs, Sublime, Vim und Visual Studio Code.

Eine Anleitung findet ihr ebenfalls auf Github.

Cheat.sh und Windows

Sogar Windows wird von dem kleinen Tool bedient. Dazu ist eine Exe notwendig, die ihr hier findet.

Fazit

Perfektes Tool für das schnelle Nachschlagen eines Befehls, ohne das Terminal verlassen zu müssen.

Das Cheatsheet ist sicher nicht neu und besteht bereits seit 2017, allerdings hat sich seither viel getan.

Cheat.sh unterstützt ca. 1000 Linux Befehle und 56 Programmiersprachen.

Kali Linux Tools unter Ubuntu 16.04 LTS , 18.04 LTS nutzen

Um Kali Linux Tools nutzen zu können muss nicht zwingend eine Kali Linux Installation vorliegen.
Das Python Script Katoolin erlaubt es die ca. 300 Kali Anwendungen unter Debian basierten Distributionen zu verwenden.

Kali Linux Tools unter Ubuntu mit Katoolin

Die Installation ist denkbar einfach. Die Verwendung der Tools ist analog zu Kali Linux.

apt-get install git python

git clone https://github.com/LionSec/katoolin.git && cp katoolin/katoolin.py /usr/bin/katoolin

chmod +x  /usr/bin/katoolin

sudo katoolin

Danach stehen euch über ein Textmenü verschiedene Installation zur Verfügung. Hier können entweder alle Tools installiert oder einzelne herausgepickt werden.

katoolin
Hier am Beispiel aircrack-ng:

katoolin-aircrackngUm bei der Navigation wieder in das Hauptmenü zu gelangen muss "back" eingegeben werden. Beenden lässt sich Katoolin mit Strg+C.

Nutzer von Desktopsystemen können unter Punkt 4. ebenfalls ein extra Menü für die Toolsammlung installieren.


Fazit

Durch Katoolin wird die Installation vieler Tools stark vereinfacht, zusätzlich bleibt dem Nutzer das Aufsetzen einer anderen Distribution erspart.

 

Lösung: Firefox Fehler- sec_error_ocsp_future_response

Hin und wieder tauchen im Firefox "komische" Fehlermeldungen beim Aufrufen von Webseiten auf.

Da es durch die Zeitumstellung gerade ganz gut passt, gehe ich heute auf folgende Browser Fehlermeldung ein:

Secure Connection Failed

An error occurred during a connection to xyz.com. The OCSP response is not yet valid (contains a date in the future) Error code: SEC_ERROR_OCSP_FUTURE_RESPONSE

    The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
    Please contact the website owners to inform them of this problem. Alternatively, use the command found in the help menu to report this broken site.


Fehler: Gesicherte Verbindung fehlgeschlagen

Ein Fehler ist während einer Verbindung mit xyz.com aufgetreten. Die OCSP-Antwort ist noch nicht gültig (enthält ein Datum in der Zukunft). (Fehlercode: sec_error_ocsp_future_response)

     Die Website kann nicht angezeigt werden, da die Authentizität der erhaltenen Daten nicht verifiziert werden konnte.
     Kontaktieren Sie bitte den Inhaber der Website, um ihn über dieses Problem zu informieren.

 

Lösung sec_error_ocsp_future_response

Der Browser zeigt diesen Fehler beim Aufrufen einer Seite im Netz an, weil schlicht und einfach das Datum oder die Uhrzeit des Systems nicht stimmen.

Dies lässt sich bekanntermaßen einfach beheben.

Ein Aufrufen und Anpassen der Windows Zeit Einstellungen kann mit Start --> Ausführen --> ms-settings:dateandtime erfolgen.

Unter Ubuntu reicht ein sudo date --set="2019-10-27 19:35:59.990" auf der Konsole aus. Allerdings sollte hier ebenfalls an die BIOS Uhrzeit gedacht werden sudo hwclock --systohc.

Sec-error-ocsp-future-responseHelfen die richtigen Systemeinstellungen nicht dauerhaft, kann die BIOS Batterie eine Ursache sein und muss getauscht werden.

Es soll vorkommen, dass Zeiteinstellungen im System nicht angepasst werden dürfen.

Um Webseiten im Firefox dennoch aufrufen zu können, kann das bemängelte OCSP temporär abgeschaltet werden. Doch was ist das eigentlich?

OCSP Stapling

Die Wikipedia schreibt dazu:

Online Certificate Status Protocol stapling, formell bekannt als die TLS-Zertifikatsstatusabfrage-Erweiterung, ist ein alternativer Ansatz zum Online Certificate Status Protocol (OCSP) um den Gültigkeitsstatus von digitalen Zertifikaten nach X.509 zu prüfen.Es ermöglicht dem Zertifizierten, die Aufgabe der Zertifikatsvalidierung zu übernehmen, indem er eine von der Zertifizierungsstelle signierte OCSP-Antwort mit Zeitstempel an den ursprünglichen TLS-Handshake anhängt („stapling“). Dieses Verfahren verringert den Kommunikationsaufwand zwischen Clients und Zertifizierungsstellen deutlich.

OCSP Stapling im Firefox deaktivieren

Der oben erwähnte OCSP Aufruf kann im Firefox deaktiviert werden.

  1. Mozilla Firefox öffnen.
  2. In der Adressleiste about:config eingeben und Enter drücken.
  3. Nach security.ssl.enable_ocsp_stapling suchen.
  4. Den Wert auf false setzen.

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.