Installieren von .NET unter Linux mithilfe eines Installationsskripts oder durch Extrahieren von Binärdateien
In diesem Artikel wird erläutert, wie Sie das .NET SDK oder die .NET-Runtime unter Linux mithilfe des Installationsskripts oder durch Extrahieren der Binärdateien installieren. Eine Liste der Distributionen, die den integrierten Paket-Manager unterstützen, finden Sie unter Installieren von .NET unter Linux.
Installieren Sie das SDK (das die Runtime enthält), wenn Sie .NET Core-Apps entwickeln möchten. Wenn Sie Apps nur ausführen möchten, installieren Sie die Runtime. Wenn Sie die Runtime installieren, wird die Installation der ASP.NET Core-Runtime empfohlen, da diese sowohl .NET- als auch ASP.NET Core-Runtimes umfasst.
Überprüfen Sie mithilfe der Befehle dotnet --list-sdks
und dotnet --list-runtimes
, welche Versionen installiert sind. Weitere Informationen finden Sie unter Überprüfen, ob .NET Core bereits installiert ist.
.NET-Releases
Es gibt zwei Arten von unterstützten Releases: LTS (Long Term Support) oder STS (Standard Term Support). Die Qualität aller Releases ist gleich. Der einzige Unterschied ist die Dauer des Supports. LTS-Releases erhalten für 3 Jahre kostenlosen Support und Patches. STS-Releases erhalten für 18 Monate kostenlosen Support und Patches. Weitere Informationen finden Sie in der .NET-Supportrichtlinie.
Die folgende Tabelle enthält den Unterstützungsstatus jeder Version von .NET (und .NET Core):
✔️ Unterstützt | ❌ Nicht unterstützt |
---|---|
7 (STS) | 5 |
6 (LTS) | 3.1 |
3.0 | |
2.2 | |
2.1 | |
2.0 | |
1.1 | |
1.0 |
Abhängigkeiten
Es ist möglich, dass bei der Installation von .NET bestimmte Abhängigkeiten möglicherweise nicht installiert werden, z. B. wenn Sie manuell installieren. In der folgenden Liste werden die von Microsoft unterstützten Linux-Distributionen mit Abhängigkeiten erläutert, die Sie möglicherweise installieren müssen. Weitere Informationen finden Sie auf der Seite zur Distribution:
Weitere Informationen zu den Abhängigkeiten finden Sie unter Self-contained Linux apps (Eigenständige Linux-Apps).
RPM-Abhängigkeiten
Wenn Ihre Distribution zuvor nicht aufgelistet wurde und auf RPM basiert, benötigen Sie möglicherweise die folgenden Abhängigkeiten:
- krb5-libs
- libicu
- openssl-libs
Wenn die OpenSSL-Version der Zielruntime-Umgebung 1.1 oder neuer ist, müssen Sie compat-openssl10 installieren.
DEB-Abhängigkeiten
Wenn Ihre Distribution zuvor nicht aufgelistet wurde und auf Debian basiert, benötigen Sie möglicherweise die folgenden Abhängigkeiten:
- libc6
- libgcc1
- libgssapi-krb5-2
- libicu67
- libssl1.1
- libstdc++6
- zlib1g
Allgemeine Abhängigkeiten
Wenn die .NET-App die System.Drawing.Common-Assembly verwendet, muss libgdiplus ebenfalls installiert werden. Da System.Drawing.Common unter Linux nicht mehr unterstützt wird, funktioniert dies nur unter .NET 6 und erfordert das Festlegen der System.Drawing.EnableUnixSupport
-Laufzeitkonfigurationsoption.
Sie können in der Regel eine neuere Version von libgdiplus installieren, indem Sie Ihrem System das Mono-Repository hinzufügen.
Per Skript gesteuerte Installation
Die dotnet-install-Skripts werden für die Automatisierung sowie für Installationen von SDK und Runtime durch Benutzer ohne Administratorrechte verwendet. Sie können das Skript von https://dot.net/v1/dotnet-install.sh herunterladen. Wenn .NET auf diese Weise installiert wird, müssen Sie die für Ihre Linux-Distribution erforderlichen Abhängigkeiten installieren. Verwenden Sie die Links im Artikel Installieren von .NET unter Linux für Ihre spezielle Linux-Distribution.
Wichtig
Bash ist für die Ausführung des Skripts erforderlich.
Sie können das Skript mit wget
herunterladen:
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
Bevor Sie dieses Skript ausführen, müssen Sie die Berechtigung erteilen, dass dieses Skript als ausführbare Datei ausgeführt werden kann:
sudo chmod +x ./dotnet-install.sh
Das Skript installiert standardmäßig die neueste LTS-SDK-Version (Long-Term Support), die derzeit .NET 6 entspricht. Verwenden Sie den --version latest
-Parameter, um das neueste Release zu installieren, bei dem es sich möglicherweise nicht um eine LTS-Version handelt.
./dotnet-install.sh --version latest
Geben Sie den Parameter --runtime
an, um die .NET-Runtime anstelle des SDK zu installieren.
./dotnet-install.sh --version latest --runtime aspnetcore
Sie können eine bestimmte Hauptversion mit dem --channel
-Parameter installieren, um die bestimmte Version anzugeben. Mit dem folgenden Befehl wird .NET SDK 7.0 installiert.
./dotnet-install.sh --channel 7.0
Weitere Informationen finden Sie in der Referenz zu dotnet-install-Skripts.
Informationen zum Aktivieren von .NET über die Befehlszeile finden Sie unter Systemweites Festlegen von Umgebungsvariablen.
Manuelle Installation
Als Alternative zu den Paket-Managern können Sie das SDK und die Runtime herunterladen und manuell installieren. Die manuelle Installation wird in der Regel im Rahmen von Continuous Integration-Tests oder unter nicht unterstützten Linux-Distributionen durchgeführt. Für Entwickler oder Benutzer ist die Verwendung eines Paket-Managers besser geeignet.
Laden Sie entweder für das SDK oder die Runtime eine binäre Version von einer der folgenden Websites herunter. Das .NET SDK enthält die entsprechende Runtime:
Extrahieren Sie die heruntergeladene Datei, und führen Sie den Befehl export
aus, um DOTNET_ROOT
auf den Speicherort des extrahierten Ordners festzulegen. Stellen Sie anschließend sicher, dass sich .NET in PATH befindet. Durch den Export von DOTNET_ROOT
werden die .NET CLI-Befehle im Terminal verfügbar. Weitere Informationen zu .NET-Umgebungsvariablen finden Sie unter .NET SDK- und CLI-Umgebungsvariablen.
Alternativ können nach dem Herunterladen der .NET-Binärdatei die folgenden Befehle aus dem Verzeichnis ausgeführt werden, in dem die Datei gespeichert wird, um die Runtime zu extrahieren. Wenn Sie die folgenden Befehle ausführen, sind die .NET CLI-Befehle im Terminal verfügbar und die erforderlichen Umgebungsvariablen werden festgelegt. Denken Sie daran, den DOTNET_FILE
-Wert in den Namen der heruntergeladenen Binärdatei zu ändern:
DOTNET_FILE=dotnet-sdk-7.0.100-linux-x64.tar.gz
export DOTNET_ROOT=$(pwd)/.dotnet
mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
Der vorherige Ansatz des Installationsskripts ermöglicht es, verschiedene Versionen an unterschiedlichen Speicherorten zu installieren, sodass Sie explizit auswählen können, welche Version von welcher App verwendet werden soll.
Systemweites Festlegen von Umgebungsvariablen
Wenn Sie das vorherige Installationsskript verwendet haben, gelten die festgelegten Variablen nur für Ihre aktuelle Terminalsitzung. Fügen Sie sie Ihrem Shellprofil hinzu. Für Linux sind verschiedene Shells verfügbar, die jeweils über ein anderes Profil verfügen. Zum Beispiel:
- Bash-Shell: ~/.bash_profile, ~/.bashrc
- Korn-Shell: ~/.kshrc oder .profile
- Z-Shell: ~/.kshrc oder .profile
Legen Sie die folgenden beiden Umgebungsvariablen in Ihrem Shellprofil fest:
DOTNET_ROOT
Diese Variable ist auf den Ordner festgelegt, in dem .NET installiert wurde (z. B.
$HOME/.dotnet
):export DOTNET_ROOT=$HOME/.dotnet
PATH
Diese Variable sollte sowohl den Ordner
DOTNET_ROOT
als auch den .dotnet/tools-Ordner der Benutzer*innen enthalten.export PATH=$PATH:$HOME/.dotnet:$HOME/.dotnet/tools