.NET Core auf dem Raspberry Pi
Diese Anleitung zeigt wie ihr .NET Core auf dem Raspberry Pi installiert. Mit der Open Source Version von .NET können wir nun endlich System unabhängig moderne Programme schreiben – das funktioniert natürlich auch auf dem Raspberry Pi.
.NET Core auf dem Raspberry Pi
Die Open Source Entwicklung von .NET macht rasant Fortschritte, weshalb es für Linux Entwickler auch sehr interessant ist. Damit wir .NET Core Programme am Raspberry Pi entwickeln und laufen lassen können müssen wir noch die Runtime und das SDK installieren. Ich habe in dem Artikel alles zusammengefasst, dass man wissen muss.
Binarys installieren
.NET Core runtime:
Ich habe die aktuellste verfügbar stabile Version (2.2.6) installiert. Jetzt kann das natürlich schon anders aussehen, du musst vermutlich die Versionsnummer beziehungsweise den ganzen Link austauschen. Über die Kommandozeile sind folgende Kommandos auszuführen:
wget https://download.visualstudio.microsoft.com/download/pr/428aaa32-f66c-4847-b845-aa21f90504e4/1cf033db866414997140c2672bd75069/dotnet-runtime-2.2.6-linux-arm.tar.gz sudo mkdir /usr/share/dotnet export PATH=$PATH:/usr/share/dotnet/ sudo tar zxf dotnet-runtime-2.2.6-linux-arm.tar.gz -C /usr/share/dotnet/
Test:
dotnet --info
Kleiner Hinweis: die Arm64 Version funktioniert am Raspberry Pi 3 (standardmäßig) nicht und wird mit folgender Fehlermeldung quittiert:
Ohne SDK macht das auf einem Entwicklersystem natürlich keinen Sinn, weshalb wir dieses nun auch installieren.
.NET Core SDK:
Es wird die zur Runtime passende aktuelle Version installiert:
wget https://download.visualstudio.microsoft.com/download/pr/3cb1d917-19cc-4399-9a53-03bb5de223f6/be3e011601610d9fe0a4f6b1962378ea/dotnet-sdk-2.2.401-linux-arm.tar.gz sudo mkdir /usr/share/dotnet-sdk export PATH=$PATH:/usr/share/dotnet-sdk/ sudo tar zxf dotnet-sdk-2.2.401-linux-arm.tar.gz -C /usr/share/dotnet-sdk/
Test:
dotnet --info
Damit ist der Raspberry Pi 3 bereit für die .NET Core Entwicklung. In den nächsten Wochen werden dazu weitere Artikel folgen.
dotnet Pfad in PATH variable hinzufügen
Wir haben in der Anleitung den Ordner mit dem ausführbaren dotnet Befehl der PATH variable hinzugefügt. Das heißt geben wir dotnet in der Konsole ein wird der Befehl unter anderem dort gesucht. Diese Einstellung ist leider nur flüchtig, sobald wir uns neu anmelden wird dotnet nicht gefunden. Damit die Änderung permanent ist müssen wir den Befehl noch in der .bashrc Datei vom Benutzer hinzufügen:
nano /home/pi/.bashrc export PATH=$PATH:/usr/share/dotnet/ export PATH=$PATH:/usr/share/dotnet-sdk/
sieht dann so aus. Bitte Speichern nicht vergessen. Ihr könnt optional nur die Runtime oder nur das SDK verwenden, je nach dem ob ihr dort auch entwickelt.
Probleme
Ursprünglich hatte ich geplant .NET Core über den Paketmanager zu laden. Damit das geht muss in der sources.list der Pfad zum Repository von Microsoft hinzugefügt werden. Das geht für die Microsoft Quelle für Debian 9 oder 10 wie folgt:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
für Debian 9:
wget -q https://packages.microsoft.com/config/debian/10/prod.list
für Debian 10:
wget -q https://packages.microsoft.com/config/debian/10/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list sudo chown root:root/etc/apt/trusted.gpg.d/microsoft.asc.gpg sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
Danach lässt sich .NET Core über den Paketmanager theoretisch installieren:
sudo apt-get install apt-transport-https sudo apt-get update sudo apt-get install dotnet-sdk-2.2
Aktuell (Debian 10) hat man bei der Installation die Wahl zwischen den folgenden Versionen:
Unter Debian 9 hat man noch ein paar Versionen extra zur Verfügung:
An diesem Punkt kommt man nun aber zu folgendem Problem:
Paket dotnet-runtime kann nicht gefunden werden. Komisch, denn genau diese Version schlägt mir apt ja vor. Was ist falsch? Bei näherer Betrachtung der microsoft-prod.list fällt auf, dass nur arm64 Versionen unterstützt werden. Wie bereits weiter oben erwähnt läuft der 64-bit Prozessor vom Raspberry Pi 3 noch mit 32-bit, aus dem Grund findet apt auch keine passende Software. Es ist durchaus möglich, dass bei dir das am Raspberry Pi 4 oder höher ohne Probleme funktioniert. Für mich war es jedenfalls keine Lösung.
Fazit
.NET Core auf dem Raspberry Pi bringt uns ganz neue Möglichkeiten auf den portablen Linux Rechner. Anwendersoftware wird meist in .NET geschrieben und immer öfter auch auf .NET Core portiert. Diese Software ist nun auch am Raspberry Pi ausführbar. Dies stärkt Linux als Desktop Plattform und man hat endlich eine gute Alternative.