Share via


Installera .NET SDK eller .NET Runtime på Debian

Den här artikeln beskriver hur du installerar .NET på Debian. När en Debian-version inte stöds stöds inte längre .NET med den versionen. Dessa instruktioner kan dock hjälpa dig att få .NET att köras på dessa versioner, även om det inte stöds.

Installera SDK :et (som innehåller körningen) om du vill utveckla .NET-appar. Eller om du bara behöver köra appar installerar du Runtime. Om du installerar Runtime rekommenderar vi att du installerar ASP.NET Core Runtime eftersom den innehåller både .NET- och ASP.NET Core-körningar.

Använd kommandona dotnet --list-sdks och dotnet --list-runtimes för att se vilka versioner som är installerade. Mer information finns i Så här kontrollerar du att .NET redan är installerat.

Viktigt!

Om du använder en pakethanterare för att installera .NET från Microsoft-paketflödet stöds endast x64-arkitekturen. Andra arkitekturer, till exempel Arm, stöds inte av Microsoft-paketflödet.

Mer information om hur du installerar .NET utan en pakethanterare finns i någon av följande artiklar:

Distributioner som stöds

Följande tabell är en lista över .NET-versioner som stöds för närvarande och de versioner av Debian som de stöds på. Dessa versioner stöds fortfarande tills antingen versionen av .NET når slutet av supporten eller versionen av Debian når slutet av livet.

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

Följande versioner av .NET stöds ❌ inte längre:

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

Installera förhandsversioner

Förhandsversioner och versioner av .NET är inte tillgängliga i paketlagringsplatser. Du kan installera förhandsversioner och versionskandidater för .NET på något av följande sätt:

Ta bort förhandsversioner

När du använder en pakethanterare för att hantera installationen av .NET kan det uppstå en konflikt om du tidigare har installerat en förhandsversion. Pakethanteraren kan tolka den icke-förhandsversion som en tidigare version av .NET. Om du vill installera versionen som inte är förhandsversion avinstallerar du först förhandsversionerna. Mer information om hur du avinstallerar .NET finns i Ta bort .NET Runtime och SDK.

Debian 12

Du kan installera med APT med några få kommandon. Innan du installerar .NET kör du följande kommandon för att lägga till Microsoft-paketsigneringsnyckeln i listan över betrodda nycklar och lägga till paketlagringsplatsen.

Öppna en terminal och kör följande kommandon:

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

Installera SDK:n

Med .NET SDK kan du utveckla appar med .NET. Om du installerar .NET SDK behöver du inte installera motsvarande körning. Installera .NET SDK genom att köra följande kommandon:

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

Installera körningen

Med ASP.NET Core Runtime kan du köra appar som har skapats med .NET som inte angav körningen. Följande kommandon installerar ASP.NET Core Runtime, som är den mest kompatibla körningen för .NET. Kör följande kommandon i terminalen:

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

Som ett alternativ till ASP.NET Core Runtime kan du installera .NET Runtime, som inte innehåller ASP.NET Core-stöd: ersätt aspnetcore-runtime-8.0 i föregående kommando med dotnet-runtime-8.0:

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

Debian 11

Du kan installera med APT med några få kommandon. Innan du installerar .NET kör du följande kommandon för att lägga till Microsoft-paketsigneringsnyckeln i listan över betrodda nycklar och lägga till paketlagringsplatsen.

Öppna en terminal och kör följande kommandon:

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

Installera SDK:n

Med .NET SDK kan du utveckla appar med .NET. Om du installerar .NET SDK behöver du inte installera motsvarande körning. Installera .NET SDK genom att köra följande kommandon:

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

Installera körningen

Med ASP.NET Core Runtime kan du köra appar som har skapats med .NET som inte angav körningen. Följande kommandon installerar ASP.NET Core Runtime, som är den mest kompatibla körningen för .NET. Kör följande kommandon i terminalen:

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

Som ett alternativ till ASP.NET Core Runtime kan du installera .NET Runtime, som inte innehåller ASP.NET Core-stöd: ersätt aspnetcore-runtime-8.0 i föregående kommando med dotnet-runtime-8.0:

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

Debian 10

Du kan installera med APT med några få kommandon. Innan du installerar .NET kör du följande kommandon för att lägga till Microsoft-paketsigneringsnyckeln i listan över betrodda nycklar och lägga till paketlagringsplatsen.

Öppna en terminal och kör följande kommandon:

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

Installera SDK:n

Med .NET SDK kan du utveckla appar med .NET. Om du installerar .NET SDK behöver du inte installera motsvarande körning. Installera .NET SDK genom att köra följande kommandon:

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

Installera körningen

Med ASP.NET Core Runtime kan du köra appar som har skapats med .NET som inte angav körningen. Följande kommandon installerar ASP.NET Core Runtime, som är den mest kompatibla körningen för .NET. Kör följande kommandon i terminalen:

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

Som ett alternativ till ASP.NET Core Runtime kan du installera .NET Runtime, som inte innehåller ASP.NET Core-stöd: ersätt aspnetcore-runtime-7.0 i föregående kommando med dotnet-runtime-7.0:

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

Installera andra versioner

Alla versioner av .NET är tillgängliga för nedladdning på https://dotnet.microsoft.com/download/dotnet, men kräver manuell installation. Du kan försöka använda pakethanteraren för att installera en annan version av .NET. Den begärda versionen kanske dock inte är tillgänglig.

Paketen som läggs till i pakethanterarens feeds namnges i ett hackbart format, till exempel: {product}-{type}-{version}.

  • Produkt
    Typen av .NET-produkt som ska installeras. Giltiga alternativ är:

    • dotnet
    • aspnetcore
  • typ
    Väljer SDK eller körning. Giltiga alternativ är:

    • sdk(endast tillgängligt för dotnet-produkten)
    • runtime
  • Version
    Den version av SDK eller körning som ska installeras. Giltiga alternativ är alla versioner som släpps, till exempel:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    Det är möjligt att SDK/runtime som du försöker ladda ned inte är tillgänglig för Din Linux-distribution. En lista över distributioner som stöds finns i Installera .NET på Linux.

Exempel

  • Installera ASP.NET Core 8.0-körningen: aspnetcore-runtime-8.0
  • Installera .NET Core 2.1-körningen: dotnet-runtime-2.1
  • Installera .NET 5 SDK: dotnet-sdk-5.0
  • Installera .NET Core 3.1 SDK: dotnet-sdk-3.1

Kommentar

Vissa paket kanske inte är tillgängliga i Linux-distributionen.

Paketet saknas

Om paketversionskombinationen inte fungerar är den inte tillgänglig. Det finns till exempel ingen ASP.NET Core SDK. SDK-komponenterna för ASP.NET Core ingår i .NET SDK. Värdet aspnetcore-sdk-8.0 är felaktigt och ska vara dotnet-sdk-8.0. En lista över Linux-distributioner som stöds av .NET finns i .NET-beroenden och krav.

Använda APT för att uppdatera .NET

När en ny uppdateringsversion är tillgänglig för .NET kan du bara uppgradera den via APT med följande kommandon:

sudo apt-get update
sudo apt-get upgrade

Om du har uppgraderat Linux-distributionen sedan du installerade .NET kan du behöva konfigurera om Microsoft-paketlagringsplatsen. Kör installationsanvisningarna för den aktuella distributionsversionen för att uppgradera till lämplig paketlagringsplats för .NET-uppdateringar.

Felsökning

Det här avsnittet innehåller information om vanliga fel som du kan få när du använder APT för att installera .NET.

Det går inte att hitta paketet

Viktigt!

Om du använder en pakethanterare för att installera .NET från Microsoft-paketflödet stöds endast x64-arkitekturen. Andra arkitekturer, till exempel Arm, stöds inte av Microsoft-paketflödet.

Mer information om hur du installerar .NET utan en pakethanterare finns i någon av följande artiklar:

Det gick inte att hitta \ Vissa paket kunde inte installeras

Om du får ett felmeddelande som liknar Det går inte att hitta paketet {dotnet-package} eller om det inte gick att installera vissa paket kör du följande kommandon.

Det finns två platshållare i följande uppsättning kommandon.

  • {dotnet-package}
    Detta representerar det .NET-paket som du installerar, till exempel aspnetcore-runtime-8.0. Detta används i följande sudo apt-get install kommando.

Prova först att rensa paketlistan:

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

Försök sedan att installera .NET igen. Om det inte fungerar kan du köra en manuell installation med följande kommandon:

Om du använder Debian 12 eller senare kan du prova följande kommandon:

# 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}

Om du använder en Debian-version före 12 kan du prova följande kommandon:

# 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}

Det gick inte att hämta

När du installerar .NET-paketet kan ett fel som liknar Failed to fetch ... File has unexpected size ... Mirror sync in progress?. Det här felet kan innebära att paketflödet för .NET uppgraderas med nyare paketversioner och att du bör försöka igen senare. Under en uppgradering bör paketflödet inte vara otillgängligt på mer än 30 minuter. Om du kontinuerligt får det här felet i mer än 30 minuter kan du ange ett problem på https://github.com/dotnet/core/issues.

Beroenden

När du installerar med en pakethanterare installeras dessa bibliotek åt dig. Men om du installerar .NET manuellt eller publicerar en fristående app måste du kontrollera att dessa bibliotek är installerade:

  • libc6
  • libgcc1 (för 10.x)
  • libgcc-s1 (för 11.x och 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

Beroenden kan installeras med apt install kommandot . Följande kodfragment visar hur libc6 du installerar biblioteket:

sudo apt install libc6

Om .NET-appen använder sammansättningen System.Drawing.Common måste även libgdiplus installeras. Eftersom System.Drawing.Common inte längre stöds i Linux fungerar detta bara på .NET 6 och kräver att du ställer in körningskonfigurationsväxeln System.Drawing.EnableUnixSupport .

Du kan installera en ny version av libgdiplus genom att lägga till Mono-lagringsplatsen i systemet.

Nästa steg