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
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 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, installieren Sie compat-openssl10.

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 unter 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, erteilen Sie unbedingt die Berechtigung, dass dieses Skript als ausführbare Datei ausgeführt werden kann:

chmod +x ./dotnet-install.sh

Das Skript installiert standardmäßig die neueste LTS-SDK-Version (Long-Term Support), die derzeit .NET 8 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 8.0 installiert.

./dotnet-install.sh --channel 8.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.

Verschiedene Versionen von .NET können in denselben Ordner extrahiert werden und nebeneinander existieren.

Beispiel

Mit den folgenden Befehlen wird Bash verwendet, um die Umgebungsvariable DOTNET_ROOT auf das aktuelle Arbeitsverzeichnis gefolgt von .dotnet festzulegen. Dieses Verzeichnis wird erstellt, wenn es nicht vorhanden ist. Die Umgebungsvariable DOTNET_FILE enthält den Dateinamen der .NET-Binärversion, die Sie installieren möchten. Diese Datei wird in das Verzeichnis DOTNET_ROOT extrahiert. Sowohl das Verzeichnis DOTNET_ROOT als auch das Unterverzeichnis tools werden der Umgebungsvariablen PATH hinzugefügt.

Wichtig

Wenn Sie diese Befehle ausführen, denken Sie daran, den Wert DOTNET_FILE in den Namen der heruntergeladenen .NET-Binärdatei zu ändern.

DOTNET_FILE=dotnet-sdk-8.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

Sie können mehrere Versionen von .NET im selben Ordner installieren.

Sie können .NET auch im Startverzeichnis installieren, das durch die Variable HOME oder den Pfad ~ identifiziert wird:

export DOTNET_ROOT=$HOME/.dotnet

Überprüfen heruntergeladener Binärdateien

Überprüfen Sie nach dem Herunterladen eines Installationsprogramms, dass die Datei nicht geändert oder beschädigt wurde. Sie können die Prüfsumme auf Ihrem Computer überprüfen und sie dann mit dem auf der Downloadwebsite angegebenen Wert vergleichen.

Wenn Sie ein Installationsprogramm oder eine Binärdatei von einer offiziellen Downloadseite herunterladen, wird die Prüfsumme für die Datei angezeigt. Wählen Sie die Schaltfläche Kopieren aus, um den Prüfsummenwert in Ihre Zwischenablage zu kopieren.

The .NET download page with checksum

Verwenden Sie den Befehl sha512sum, um die Prüfsumme der heruntergeladenen Datei auszugeben. Der folgende Befehl meldet beispielsweise die Prüfsumme der Datei dotnet-sdk-8.0.100-linux-x64.tar.gz:

$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5  dotnet-sdk-8.0.100-linux-x64.tar.gz

Vergleichen Sie die Prüfsumme mit dem von der Downloadwebsite bereitgestellten Wert.

Wichtig

In diesen Beispielen wird zwar eine Linux-Datei gezeigt, diese Informationen gelten aber auch für macOS.

Verwenden einer Prüfsummendatei zum Überprüfen

Die .NET-Versionshinweise enthalten einen Link zu einer Prüfsummendatei, mit der Sie Ihre heruntergeladene Datei überprüfen können. In den folgenden Schritten wird beschrieben, wie Sie die Prüfsummendatei herunterladen und eine .NET-Installationsbinärdatei überprüfen:

  1. Die Seite mit den Versionshinweisen für .NET 8 auf GitHub unter https://github.com/dotnet/core/tree/main/release-notes/8.0 enthält einen Abschnitt mit dem Namen Releases. Die Tabelle in diesem Abschnitt enthält Links zu den Downloads und Prüfsummendateien für die einzelnen .NET 8-Versionen:

    The github release notes version table for .NET

  2. Wählen Sie den Link für die heruntergeladene .NET-Version aus. Im vorherigen Abschnitt wurde das .NET SDK 8.0.100 verwendet, das sich im Release .NET 8.0.0 befindet.

  3. Auf der Releaseseite sehen Sie die .NET Runtime- und .NET SDK-Version sowie einen Link zur Prüfsummendatei:

    The download table with checksums for .NET

  4. Kopieren Sie den Link zur Prüfsummendatei.

  5. Verwenden Sie das folgende Skript, ersetzen Sie jedoch den Link, um die entsprechende Prüfsummendatei herunterzuladen:

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Wenn sowohl die Prüfsummendatei als auch die .NET-Releasedatei in dasselbe Verzeichnis heruntergeladen wurden, verwenden Sie den Befehl sha512sum -c {file} --ignore-missing zum Überprüfen der heruntergeladenen Datei.

    Wenn die Überprüfung erfolgreich ist, wird die Datei mit dem Status OK ausgegeben:

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
    

    Wenn die Datei mit FEHLER markiert ist, ist die heruntergeladene Datei ungültig und sollte nicht verwendet werden.

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
    sha512sum: WARNING: 1 computed checksum did NOT match
    sha512sum: 8.0.0-sha.txt: no file was verified
    

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 viele verschiedene Shells verfügbar, die jeweils über ein unterschiedliche Profile verfügen. Beispiel:

  • Bash-Shell: ~/.bash_profile oder ~/.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 Ordner DOTNET_ROOT/tools enthalten:

    export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
    

Nächste Schritte