Installieren des .NET SDK oder der .NET-Runtime unter Debian

In diesem Artikel wird beschrieben, wie Sie .NET unter Debian installieren. Wenn für eine Debian-Version kein Support mehr angeboten wird, wird .NET mit dieser Version nicht mehr unterstützt. Diese Anweisungen können Ihnen jedoch helfen, .NET in diesen Versionen auszuführen, auch wenn kein Unterstützung dafür geboten wird.

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.

Wichtig

Bei Verwendung eines Paket-Managers zum Installieren von .NET aus dem Microsoft-Paketfeed wird nur die x64-Architektur unterstützt. Andere Architekturen, z. B. Arm, werden vom Microsoft-Paketfeed nicht unterstützt.

Weitere Informationen zur Installation von .NET ohne Paket-Manager finden Sie in einem der folgenden Artikel:

Unterstützte Distributionen

Die folgende Tabelle enthält die derzeit unterstützten .NET-Releases und Versionen von Debian, unter denen sie unterstützt werden. Diese Versionen werden weiterhin unterstützt, bis entweder die Version von .NET das Ende des Supports oder die Version von Debian das Ende ihrer Lebensdauer erreicht.

Debian .NET
12 8, 7, 6
11 8, 7, 6
10 7, 6

Die folgenden Versionen von .NET ❌ werden nicht mehr unterstützt:

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Installieren von Vorschauversionen

Vorschau- und Release Candidate-Versionen von .NET sind in Paketrepositorys nicht verfügbar. Sie können Vorschauversionen und Release Candidates von .NET auf eine der folgenden Arten installieren:

Entfernen von Vorschauversionen

Wenn Sie Ihre .NET-Installation mit einem Paket-Manager verwalten, tritt möglicherweise ein Konflikt auf, wenn Sie zuvor eine Vorschauversion installiert haben. Der Paket-Manager kann die Nichtvorschauversion als frühere Version von .NET interpretieren. Für die Installation der Nichtvorschauversion müssen Sie zunächst die Vorschauversionen deinstallieren. Weitere Informationen zur Deinstallation von .NET finden Sie unter Entfernen der .NET-Runtime und des SDK.

Debian 12

Die Installation mit APT kann mit einigen wenigen Befehlen erfolgen. Bevor Sie .NET installieren, führen Sie die folgenden Befehle aus, um den Microsoft-Paketsignaturschlüssel zu Ihrer Liste vertrauenswürdiger Schlüssel und das Paketrepository hinzuzufügen.

Öffnen Sie ein Terminal, und führen Sie die folgenden Befehle aus:

wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Installieren des SDKs

Das .NET SDK ermöglicht Ihnen die Entwicklung von Apps mit .NET. Wenn Sie das .NET SDK installieren, müssen Sie die entsprechende Runtime nicht installieren. Führen Sie die folgenden Befehle aus, um das .NET SDK zu installieren:

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

Installieren der Runtime

Die ASP.NET Core-Runtime ermöglicht Ihnen die Ausführung von Apps, die mit .NET erstellt wurden und die Runtime nicht enthalten. Durch die folgenden Befehle wird die ASP.NET Core-Runtime installiert, d. h. die Runtime für .NET mit der höchsten Kompatibilität. Führen Sie in Ihrem Terminal die folgenden Befehle aus:

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-8.0

Als Alternative zur ASP.NET Core-Runtime können Sie die .NET-Runtime installieren, die keine ASP.NET Core-Unterstützung bietet: Ersetzen Sie dazu im vorangegangenen Befehl aspnetcore-runtime-8.0 durch dotnet-runtime-8.0:

sudo apt-get install -y dotnet-runtime-8.0

Debian 11

Die Installation mit APT kann mit einigen wenigen Befehlen erfolgen. Bevor Sie .NET installieren, führen Sie die folgenden Befehle aus, um den Microsoft-Paketsignaturschlüssel zu Ihrer Liste vertrauenswürdiger Schlüssel und das Paketrepository hinzuzufügen.

Öffnen Sie ein Terminal, und führen Sie die folgenden Befehle aus:

wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Installieren des SDKs

Das .NET SDK ermöglicht Ihnen die Entwicklung von Apps mit .NET. Wenn Sie das .NET SDK installieren, müssen Sie die entsprechende Runtime nicht installieren. Führen Sie die folgenden Befehle aus, um das .NET SDK zu installieren:

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

Installieren der Runtime

Die ASP.NET Core-Runtime ermöglicht Ihnen die Ausführung von Apps, die mit .NET erstellt wurden und die Runtime nicht enthalten. Durch die folgenden Befehle wird die ASP.NET Core-Runtime installiert, d. h. die Runtime für .NET mit der höchsten Kompatibilität. Führen Sie in Ihrem Terminal die folgenden Befehle aus:

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-8.0

Als Alternative zur ASP.NET Core-Runtime können Sie die .NET-Runtime installieren, die keine ASP.NET Core-Unterstützung bietet: Ersetzen Sie dazu im vorangegangenen Befehl aspnetcore-runtime-8.0 durch dotnet-runtime-8.0:

sudo apt-get install -y dotnet-runtime-8.0

Debian 10

Die Installation mit APT kann mit einigen wenigen Befehlen erfolgen. Bevor Sie .NET installieren, führen Sie die folgenden Befehle aus, um den Microsoft-Paketsignaturschlüssel zu Ihrer Liste vertrauenswürdiger Schlüssel und das Paketrepository hinzuzufügen.

Öffnen Sie ein Terminal, und führen Sie die folgenden Befehle aus:

wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Installieren des SDKs

Das .NET SDK ermöglicht Ihnen die Entwicklung von Apps mit .NET. Wenn Sie das .NET SDK installieren, müssen Sie die entsprechende Runtime nicht installieren. Führen Sie die folgenden Befehle aus, um das .NET SDK zu installieren:

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-7.0

Installieren der Runtime

Die ASP.NET Core-Runtime ermöglicht Ihnen die Ausführung von Apps, die mit .NET erstellt wurden und die Runtime nicht enthalten. Durch die folgenden Befehle wird die ASP.NET Core-Runtime installiert, d. h. die Runtime für .NET mit der höchsten Kompatibilität. Führen Sie in Ihrem Terminal die folgenden Befehle aus:

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-7.0

Als Alternative zur ASP.NET Core-Runtime können Sie die .NET-Runtime installieren, die keine ASP.NET Core-Unterstützung bietet: Ersetzen Sie dazu im vorangegangenen Befehl aspnetcore-runtime-7.0 durch dotnet-runtime-7.0:

sudo apt-get install -y dotnet-runtime-7.0

Installieren anderer Versionen

Alle Versionen von .NET stehen unter https://dotnet.microsoft.com/download/dotnet zum Download zur Verfügung, erfordern jedoch manuelle Installation. Sie können versuchen, den Paket-Manager zu verwenden, um eine andere Version von .NET zu installieren. Die angeforderte Version ist jedoch möglicherweise nicht verfügbar.

Die Pakete, die Paket-Manager-Feeds hinzugefügt werden, werden in einem Format benannt, das gehackt werden kann: {product}-{type}-{version}.

  • product
    Der Typ des zu installierenden .NET-Produkts. Folgende Optionen sind gültig:

    • dotnet
    • aspnetcore
  • type
    Wählt das SDK oder die Runtime aus. Folgende Optionen sind gültig:

    • sdk(nur für das dotnet-Produkt verfügbar)
    • runtime
  • Version
    Die Version des zu installierenden SDK oder der zu installierenden Runtime. Gültige Optionen sind alle veröffentlichte Versionen, wie z. B.:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    Es ist möglich, dass das SDK bzw. die Runtime, das/die Sie herunterladen möchten, für Ihre Linux-Distribution nicht verfügbar ist. Eine Liste der unterstützten Distributionen finden Sie unter Installieren von .NET unter Linux.

Beispiele

  • Installieren der ASP.NET Core 8.0-Runtime: aspnetcore-runtime-8.0
  • Installieren der .NET Core 2.1-Runtime: dotnet-runtime-2.1
  • Installieren des .NET 5 SDK: dotnet-sdk-5.0
  • Installieren des .NET Core 3.1 SDK: dotnet-sdk-3.1

Hinweis

Einige Pakete sind möglicherweise nicht in Ihrer Linux-Distribution verfügbar.

Fehlendes Paket

Wenn die Kombination aus Paket und Version nicht funktioniert, ist sie nicht verfügbar. Es gibt z. B. kein ASP.NET Core SDK. Die SDK-Komponenten für ASP.NET Core sind im .NET SDK enthalten. Der Wert aspnetcore-sdk-8.0 ist falsch und sollte dotnet-sdk-8.0 lauten. Eine Liste der von .NET unterstützten Linux-Distributionen finden Sie unter .NET-Abhängigkeiten und -Anforderungen.

Verwenden von APT zum Aktualisieren von .NET

Wenn ein neues Patchrelease für .NET verfügbar ist, können Sie dieses einfach über APT mit den folgenden Befehlen aktualisieren:

sudo apt-get update
sudo apt-get upgrade

Wenn Sie Ihre Linux-Distribution seit der Installation von .NET aktualisiert haben, müssen Sie möglicherweise das Microsoft-Paket-Repository neu konfigurieren. Führen Sie die Installationsanweisungen für Ihre aktuelle Distributionsversion aus, um ein Upgrade auf das entsprechende Paket-Repository für .NET-Updates durchführen zu können.

Problembehandlung

Dieser Abschnitt enthält Informationen zu häufigen Fehlern, die bei der Installation von .NET mit APT auftreten können.

Paket konnte nicht gefunden werden

Wichtig

Bei Verwendung eines Paket-Managers zum Installieren von .NET aus dem Microsoft-Paketfeed wird nur die x64-Architektur unterstützt. Andere Architekturen, z. B. Arm, werden vom Microsoft-Paketfeed nicht unterstützt.

Weitere Informationen zur Installation von .NET ohne Paket-Manager finden Sie in einem der folgenden Artikel:

Das Paket kann nicht gefunden werden \ Die Pakete konnten nicht installiert werden

Wenn eine Fehlermeldung wie Unable to locate package {dotnet-package} (Das Paket {dotnet-package} konnte nicht gefunden werden) oder Some packages could not be installed (Einige Pakete konnten nicht installiert werden) angezeigt wird, führen Sie die folgenden Befehle aus.

Die folgende Befehlsgruppe enthält zwei Platzhalter.

  • {dotnet-package}
    Dieser steht für das .NET-Paket, das Sie installieren, z. B. aspnetcore-runtime-8.0. Dies wird im folgenden Befehl sudo apt-get install verwendet.

Versuchen Sie zunächst, die Paketliste zu löschen:

sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update

Versuchen Sie dann, .NET noch mal zu installieren. Wenn dies nicht funktioniert, können Sie mithilfe der folgenden Befehle eine manuelle Installation ausführen:

Wenn Sie Debian 12 oder höher verwenden, probieren Sie die folgenden Befehle aus:

# Define the OS version, name, and codename
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Move the key to the appropriate place
sudo mv microsoft.asc.gpg $(cat /etc/apt/sources.list.d/microsoft-prod.list | grep -oP "(?<=signed-by=).*(?=\])")

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Wenn Sie eine Debian-Version vor 12 verwenden, probieren Sie die folgenden Befehle aus:

# Define the OS version, name, and codename
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Set ownership
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Fehler beim Abrufen

Beim Installieren des .NET-Pakets wird möglicherweise ein Fehler wie Failed to fetch ... File has unexpected size ... Mirror sync in progress? angezeigt. Diese kann bedeuten, dass der Paketfeed für .NET mit neueren Paketversionen aktualisiert wird und Sie den Vorgang zu einem späteren Zeitpunkt wiederholen sollten. Während eines Upgrades darf der Paketfeed maximal 30 Minuten nicht verfügbar sein. Wenn dieser Fehler länger als 30 Minuten auftritt, melden Sie ein Issue auf https://github.com/dotnet/core/issues.

Abhängigkeiten

Wenn die Installation mit einem Paket-Manager erfolgt, werden diese Bibliotheken für Sie installiert. Wenn Sie jedoch .NET manuell installieren oder eine eigenständige Anwendung veröffentlichen, müssen Sie sicherstellen, dass diese Bibliotheken installiert sind:

  • libc6
  • libgcc1 (für 10.x)
  • libgcc-s1 (für 11.x und 12.x)
  • libgssapi-krb5-2
  • libicu63 (für 10.x)
  • libicu67 (für 11.x)
  • libicu72 (für 12.x)
  • libssl1.1
  • libstdc++6
  • zlib1g

Abhängigkeiten können mit dem Befehl apt install installiert werden Der folgende Codeschnipsel veranschaulicht die Installation der libc6-Bibliothek:

sudo apt install libc6

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 eine neuere Version von libgdiplus installieren, indem Sie Ihrem System das Mono-Repository hinzufügen.

Nächste Schritte