Raspberry Pi PowerShell Core
In diesem Tutorial zeige ich euch wie man am Raspberry Pi PowerShell Core nutzt. Neben der Information wie das funktioniert beleuchtet der Artikel auch die Frage warum man das wissen und die PowerShell nutzen sollte.
Raspberry Pi PowerShell Core
Seit einiger Zeit wildert Microsoft auch in fremden Gebieten. Ganz besonders fällt das bei der Neuimplementierung von .NET mit .NET Core auf. .NET Core ist Open Source und dazu gehört auch die PowerShell Core – eine Shell wie unter Linux beispielsweise die Bash die besonders gut mit .NET interagiert. Open Source heißt gleich auch Betriebssystem unabhängig. Sobald der Code offen ist gibt es immer wieder einen Fan von System X der das darauf implementiert. Die PowerShell Core läuft deshalb unter Windows, Linux und auch Mac OSX. Auch am Raspberry Pi?
Installation
Den Source Code findet man auf der GitHub Seite von Microsoft. Auf der Startseite findet man jeweils den Installer für das jeweilige Betriebssystem.
Für den Raspberry Pi steht ein tgz Archiv bereit, das laden wir herunter und entpacken in einen beliebigen Ordner. Von dort können wir diese dann ausführen.
sudo apt-get install libunwind8
damit sich die PowerShell starten lässt müssen wir im ersten Schritt noch eine Bibliothek installieren. Das funktioniert über den Paketmanager. Nun laden wir die aktuellste Version von PowerShell Core direkt von GitHub (in meinem Fall gerade 6.1.3), erstellen einen neuen Ordner und entpacken die Daten dort hinein.
wget https://github.com/PowerShell/PowerShell/releases/download/v6.1.3/powershell-6.1.3-linux-arm32.tar.gz mkdir ~/powershell tar -xvf ./powershell-6.1.3-linux-arm32.tar.gz -C ~/powershell
Wir können die neue Shell nun starten:
~/powershell/pwsh
In der Bash wird die PowerShell Core gestartet. Als langjähriger Linux User sieht das dann doch sehr befremdlich aus:
Erste Schritte
Weil die PowerShell nun auf jedem Betriebssystem läuft und man auch direkt über SSH remote auf eine PowerShell zugreifen kann wird es nun wichtig, dass wir das Betriebssystem abfragen können. Die Shell bietet dafür drei Variablen an die je nach System korrekt ausgefüllt sind. Am Raspberry Pi sieht das beispielsweise so aus:
Wir befinden uns also tatsächlich auf einem Linux System…wer hätte das gedacht. Auch wenn das vermutlich für die meisten offensichtlich ist, so sind diese Abfragen sehr wichtig, wenn man PowerShell Scripte schreibt die universell funktionieren sollen.
PowerShell und der Raspberry Pi
Als Linux Freak könnte man ablehnend gegenüber der neuen Strategie von Microsoft reagieren. Das ist verständlich, herrschte doch Jahrzehnte lang ein direkter Konflikt. Ich denke man sollte die aktuellen Entwicklungen aber als Chance sehen. Die PowerShell ist eine moderne Shell die dank Open Source schnellen Entwicklungszyklen unterlegen ist und sehr schnell neue Features hinzu bekommt. Sie funktioniert auf allen Betriebssystemen, man müsste deshalb nur einmal eine Shell und deren Script Syntax lernen.
Aus kommerzieller Sicht sind IoT Geräte eine wichtige Basis für Microsoft. Der Konzern hat verstanden, dass dort nicht Windows laufen muss um damit Geld zu machen. Mit der PowerShell hat man eine einfache Möglichkeit die IoT Geräte (insbesondere auch den Raspberry Pi) über den IoT Hub in den Azure Cloud zu bringen. Alternativ gibt es auch am Raspberry Pi Windows 10 – aber das ist nicht zu empfehlen.
Fazit
Meine Empfehlung ist am Raspberry Pi PowerShell Core auszuprobieren. In jedem Fall solltet ihr die PowerShell auf eurem Windows 10 Rechner mit PowerShell Core ersetzen. Nur diese wird auch weiterentwickelt. Wenn man sich mit dieser neuen Shell einmal angefreundet hat freut man sich, wenn entfernte Systeme nun nicht mehr ihre eigenen Shell Umgebungen haben und man ein und das selbe Script auf unterschiedlichsten Systemen ausführen kann.
Wie erlebt ihr die PowerShell Core am Raspberry Pi? Ist sie PowerShell für euch eine Alternative?