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

 

VirtualBox to VMware - OVF/OVA Image erstellen und in VMware importieren

Für den Umzug eines virtuellen Systems von VirtualBox zu VMware oder anderen virtuellen Hosts wurde das Format OVF/OVA (Open Virtualization Format) eingeführt.
Dieses ermöglicht den Export/Import von virtuellen Maschinen auf verschiedene Systeme.

So leicht sich dieser Vorgang erscheinen mag, so viele Hürden kann dieser in der Praxis haben.

Ich möchte heute Schritt für Schritt die Konvertierung eines Oracle VirtualBox OVA Images zu einer VMware OVF Vorlage durchgehen. (Als Beispiel könnte der neulich erwähnte Web Security Dojo genommen werden, welches ebenfalls im OVA Format vorliegt).


OVA Image erstellen und in VMware/vSphere (ESXi) importieren

virtualbox-ova-export

Appliance exportieren

Zunächst muss von einer bestehenden virtuellen Maschine in VirtualBox ein OVA Image erstellt werden.

Nachdem im Menü "Appliance exportieren" gewählt wurde, gilt es die ersten Dinge zu beachten:

  • Als OVA Version sollte Version 1.0 gewählt werden
  • Auch sollte der Haken bei "Schreibe Manifest Datei" gesetzt werden

virtualbox-ova-export

Danach ist auf der Festplatte eine "Dateiname.ova" vorhanden.

Image konvertieren

Bevor nun der Import in VMware gestartet werden kann, sollte die Datei konvertiert werden. Dafür stellt VMware die Open Virtualization Format Tools bereit.
Zum Herunterladen dieser Tools ist ein Account notwendig, darum habe ich mich um einen anderen Weg bemüht.

Ein einfacherer Weg ist es die OVA Datei mit 7Zip oder WinZip zu entpacken.

Danach sind im Ordner eine *.vmdk, eine *.mf und eine *.ovf enthalten. Letztere, also die "Dateiname.ovf", könnte nun mit VMware importiert werden "OCF Vorlage bereitstellen".

ova-entpacken

Image importieren

Oft kommt es jedoch beim ersten Import zu Fehlermeldungen, da in OVF Datei Einträge vorhanden sind, mit denen VMware so seine Probleme hat.

Diese Fehler lassen sich mit etwas Handarbeit beheben.

ova-import-error-ovf

Der Fehler "Nicht unterstützte Hardwarefamilie 'virtualbox-2.2" lässt sich durch editieren der "Dateiname.ovf" behehen.  (Als Editor kann hier Notepad++ oä. genommen werden).

Sobald die Datei geöffnet ist kann mit Strg+F nach dem Wert "virtualbox" gesucht oder gleich die Zeile (29) aufgerufen werden.

<vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType>

Diese wird ab ESXi 5.x ersetzt durch:

<vssd:VirtualSystemType>vmx-08</vssd:VirtualSystemType>

Ein weiterer Fehler der aufreten kann ist: "Keine Unterstützung für Gerätetyp 20".

ova-import-error

Auch hier kann eine Lösung mit Hilfe der OVF gefunden werden.

Suche

<Item>
<rasd:Address>0</rasd:Address>
<rasd:Caption>sataController0</rasd:Caption>
<rasd:Description>SATA Controller</rasd:Description>
<rasd:ElementName>sataController0</rasd:ElementName>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:ResourceSubType>AHCI</rasd:ResourceSubType>
<rasd:ResourceType>20</rasd:ResourceType>
</Item>

Ersetze mit

<Item>
<rasd:Address>0</rasd:Address>
<rasd:Caption>SCSIController</rasd:Caption>
<rasd:Description>SCSI Controller</rasd:Description>
<rasd:ElementName>SCSIController</rasd:ElementName>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>
<rasd:ResourceType>6</rasd:ResourceType>
</Item>

Ein letzter Fehler, der sich bei meinem Test bemerkbar machte, konnte behoben werden, indem der Bereich einfach ignoriert wurde. (Zeile 83)

Suche

     <Item>
        <rasd:AddressOnParent>3</rasd:AddressOnParent>
        <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
        <rasd:Caption>sound</rasd:Caption>
        <rasd:Description>Sound Card</rasd:Description>
        <rasd:ElementName>sound</rasd:ElementName>
        <rasd:InstanceID>7</rasd:InstanceID>
        <rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType>
        <rasd:ResourceType>35</rasd:ResourceType>
      </Item>

Da es sich nur um das Soundmodul handelt, kann dieses erst einmal ignoriert werden.

      <Item ovf:required="false">
        <rasd:AddressOnParent>3</rasd:AddressOnParent>
        <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
        <rasd:Caption>sound</rasd:Caption>
        <rasd:Description>Sound Card</rasd:Description>
        <rasd:ElementName>sound</rasd:ElementName>
        <rasd:InstanceID>7</rasd:InstanceID>
        <rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType>
        <rasd:ResourceType>35</rasd:ResourceType>
      </Item>

Nun sollte einen Import über "OVF-Vorlage bereitstellen" Nichts mehr im Wege stehen.


Alternativ möchte ich hier die Konvertierung mit Hilfe des OVFTools über die Kommandozeile ausführen

Konvertierung mit den OVFTools

Diese müssen wie oben bereits erwähnt zunächst heruntergeladen und installiert werden.

OVFTools

Danach genügt es den unten beschriebenen Befehle auszuführen.

C:\Program Files\VMware\VMware OVF Tool\ovftool.exeovftool.exe --lax "C:\Pfad\zum\Image\Dateiname.ova" "C:\Pfad\zum\Image\Dateiname.ovf"


Troubleshooting

Damit auch wirklich keine Hürde bestehen bleibt, hier noch ein paar weitere Tipps

Fehlermeldung

Error:
 - Line 2: Incorrect namespace 'http://schemas.dmtf.org/ovf/envelope/2' found.
Completed with errors

Lösung: Die richtige OVA Version (1.0) beim Exportieren wählen.

Fehlermeldung

Capacity of uploaded disk is larger than requested

Lösung: In der OVF Datei nach "<DiskSection> </DiskSection>" suchen und die Festplattenkapazität anpassen.

9 praktische Keytool Befehle - Zertifikatsmanagement unter Java

Das leidige Thema Zertifikate hatte ich auf dem Blog nun schon öfters, vielleicht erinnert ihr euch ja noch an das selbstsignierte Tomcat Zertifikat.

Damals wurde anders als bei der klassischen Variante mit Apache/OpenSSL auf Keytool zurückgegriffen. Sozusagen das Pendant unter Java.

Heut möchte ich euch ein paar weitere praktische Befehle dazu zeigen. Zunächst muss das Keytool aber gefunden werden.

Unter Windows befindet es sich meist im Bin-Ordner der Java Installation, beispielsweise "C:\Program Files\Java\jre7\bin"

Unter Linux genügt ein einfaches "whereis keytool", um den gewünschten Pfad, beispielsweise "/usr/bin/keytool" zu finden.

9 praktische Keytool Befehle

Einen Keystore und ein Schlüsselpaar erzeugen

keytool -genkey -alias domain -keyalg RSA -keystore keystore -keysize 2048

Eine Zertifikatsanfrage erstellen

keytool -certreq -alias domain -keystore keystore -file anfrage.csr

Ein signiertes Zertifikat in den Keystore importieren

keytool -import -trustcacerts -alias domain -file domain.crt -keystore keystorefile

Ein vorhandenes Zertifikat exportieren

keytool -export -alias meincert -file meinexportiertescert.crt -keystore keystorefile

Ein selbstsigniertes Zertifikat erstellen

keytool -genkey -keyalg RSA -alias selfsigned -validity 3600 -keysize 2048

Ein Vorhandenes Zertifikat auslesen 

keytool -printcert -v -file meincert.crt

Welche Zertifikate befinden sich im Keystore?

keytool -list -v -keystore keystore

Liste die vertraulichen CAs auf

keytool -list -keystore /opt/data/cacerts

Lösche ein Zertifikat aus dem Keystore

keytool -delete -alias domain -keystore keystore

 

 

Windows DHCP Server Einstellungen exportieren und importieren

Nach einem Serverausfall hatte ich gestern das Problem das ein DHCP Server (verteilt IP Adressen an die einzelnen PCs) ausgefallen war. Um bei einem Ersatzserver die alten Adresspools nicht wieder von Hand eintragen zu müssen, gibt es einen einfachen Befehl, der jegliche Einstellungen exportiert und sie danach auf einem Ersatzserver importiert.
Zu Hilfe nimmt man sich das Programm "netsh" (Network Shell). Dieses ist in Windows integriert und eigentlich dazu gedacht lokale Netzwerkeinstellungen zu konfigurieren. Folgende Befehle führt man nun einfach in der Eingabeaufforderung "cmd" des jeweiligen Windows Servers aus.

Ausgangsserver Export

netsh dhcp server export c:\temp\dhcp.txt all

Zielserver Import

netsh dhcp server import c:\temp\dhcp.txt all

DHCP