Skip to content

WSL2 (Windows Subsystem for Linux) Installation unter Windows und praktische Konsolenbefehle

Mit Windows 10 2004 wurde die Version 2 von Windows Subsystem for Linux (WSL 2) veröffentlicht.
Diese verbessert die Linux Variante unter Windows weiter, da nun ein echter Linux Kernel verwendet wird.

Installation WSL2

Die Installation von WSL2 ist relativ einfach zu bewerkstelligen, es reichen ein paar Befehle in der Powershell Konsole aus:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart


Danach erscheint die Meldung:

WSL 2 erfordert ein Update der Kernelkomponente. Weitere Informationen finden Sie unter https://aka.ms/wsl2kernel

Diese Installation müsst ihr manuell tätigen, um das Update abzuschließen. In Zukunft möchte Microsoft solche Updates direkt über das Windows Update ausrollen.

Zum Abschluss muss in der Konsole auf die neueste Version umgestellt werden.

wsl.exe --set-default-version 2

Ein Download von Ubuntu oder Kali Linux kann direkt über den Store erfolgen.

Ubuntu-Microsoft_Store

WSL2 Tipps

Es gibt ebenfalls die Möglichkeit Installationen unter verschiedenen WSL Versionen laufen zu lassen

wsl.exe --set-version Distributionsname 2

Infos über die installierten Distributionen lassen sich ebenfalls anzeigen

wsl.exe -l –v

  NAME            STATE           VERSION
  * kali-linux      Stopped         2
    Ubuntu-18.04    Running         2


Wer es bunter mag, der kann auch wslfetch ausführen, dieses funktioniert momentan allerdings nur bei Ubuntu Installationen.

wslfetch

wslfetch

Im Windows Explorer kann das Home Verzeichnis der installierten Systeme mit \\wsl$\ aufgerufen werden.

\\wsl$

wsl-explorerEs lassen sich ebenfalls Installationen exportieren und auf anderen Windows Installationen wieder importieren.

wsl.exe --export Linux ./export.tar

wsl.exe --import Linux Importverzeichnis ./export.tar --version 2 

Eine bestehende Installation lässt sich wie folgt löschen.

wsl.exe --unregister Linuxinstallation

Ausblick

WSL soll in Zukunft weiter ausgebaut werden und beispielsweise NVIDIA CUDA unterstützen.

Auch die Installation soll stark vereinfacht werden, so wird wohl in Zukunft ein einfaches Kommando für Installation und ein Update genügen, wie Bleeping Computer berichtet.

wsl.exe –- install
wsl.exe -- update

 

Ubuntu 20.04 LTS für Windows 10 über Microsoft Store installieren

Diese Woche wurde bekanntlich eine neue Ubuntu LTS Edition veröffentlicht.

Für manche schnelle Teststellungen ist Ubuntu unter Windows eine recht praktische Option. Nun wurde mit Zuge des neuen Ubuntu 20.04, die Windows Variante im Store veröffentlicht.

Installieren lässt sie sich auf die altbekannte Weise:

WSL über die Powershell Konsole aktivieren, Windows Store öffnen und herunterladen.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

ubuntu20.04-windowsDanach könnt ihr die Ubuntu Konsole direkt über CMD oder Powershell öffnen, dazu muss "wsl" eingegeben werden.

wsl-befehleMit dem Befehl "wsl --list" können die installierten Varianten aufgelistet werden.

Mit "setdefault" kann auf die neue Version gewechselt werden.

wsl -s Ubuntu-20.04

In Place Upgrade auf Ubuntu 20.04 LTS

Wsl unterstützt angeblich ein direktes Update auf die neue Version, dies geschieht mit "do-release-upgrade". Da aber momentan die Update Version 20.04.1 LTS noch nicht verfügbar ist, muss der Parameter "d" angehangen werden.

do-release-upgrade -d

In meiner Teststellung wollte dies nicht sofort gelingen.

Nach einer sauberen Neuinstallation mit "wsl --unregister Ubuntu-18.04" startete die Updateprozedur zumindest.

Der nächste Fehler lies nicht lange auf sich warten.

Progress: [ 61%]
Checking for services that may need to be restarted...
Checking init scripts...
Restarting services possibly affected by the upgrade:
  cron: restarting...done.
  rsync: restarting...done.
  atd: restarting...done.

Services restarted successfully.
sleep: cannot read realtime clock: Invalid argument
dpkg: error processing package libc6:amd64 (--configure):
 installed libc6:amd64 package post-installation script subprocess returned error exit status 1
Exception during pm.DoInstall():  E:Sub-process /usr/bin/dpkg returned an error code (1)

*** Send problem report to the developers?

Abhilfe schaffte hier temporär folgendes:

sudo mv /bin/sleep /bin/sleep_old 
sudo touch /bin/sleep 
sudo chmod +x /bin/sleep
sudo apt --fix-broken install
sudo apt dist-upgrade

Danach wurden allerdings weitere Fehler geworfen, die mit mehrfachen "apt dist-upgrade" gelöst werden konnten.

Schlussendlich war dies ein netter Versuch, aber praktikabel ist das direkte Upgrade nicht unbedingt.

Nun heißt es warten auf WSL2, welches in Windows 10, Version 2004 enthalten sein soll und bereits in den Startlöchern steht.

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.

 

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/