Instalace sady .NET SDK nebo .NET Runtime v Debianu

Tento článek popisuje, jak nainstalovat .NET v Debianu. Pokud verze Debianu přestane být podporována, rozhraní .NET již není s danou verzí podporováno. Tyto pokyny vám ale můžou pomoct s spouštěním .NET v těchto verzích, i když nejsou podporované.

Pokud chcete vyvíjet aplikace .NET, nainstalujte sadu SDK (která zahrnuje modul runtime). Nebo pokud potřebujete spouštět jenom aplikace, nainstalujte modul runtime. Pokud instalujete modul runtime, doporučujeme nainstalovat modul runtime ASP.NET Core, protože zahrnuje modul runtime .NET i ASP.NET Core.

Pomocí příkazů dotnet --list-sdksdotnet --list-runtimes můžete zjistit, které verze jsou nainstalovány. Další informace naleznete v tématu Jak zkontrolovat, zda je .NET již nainstalován.

Důležité

Použití správce balíčků k instalaci .NET z kanálu balíčků Microsoft podporuje pouze architekturu x64 . Kanál balíčků Microsoftu nepodporuje jiné architektury, jako je Arm.

Další informace o instalaci .NET bez správce balíčků najdete v jednom z následujících článků:

Podporované distribuce

Následující tabulka obsahuje seznam aktuálně podporovaných verzí .NET a verzí Debianu, na kterých jsou podporované. Tyto verze zůstanou podporovány, dokud verze rozhraní .NET nedosáhne konce podpory nebo verze Debianu dosáhne konce životnosti.

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

Následující verze rozhraní .NET se ❌ už nepodporují:

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

Instalace verzí Preview

Verze Preview a verze Candidate pro .NET nejsou dostupné v úložištích balíčků. Kandidáty na verze Preview a verze .NET můžete nainstalovat jedním z následujících způsobů:

Odebrání verzí Preview

Pokud ke správě instalace rozhraní .NET používáte správce balíčků, může dojít ke konfliktu, pokud jste dříve nainstalovali verzi Preview. Správce balíčků může interpretovat verzi, která není ve verzi Preview, jako starší verzi .NET. Pokud chcete nainstalovat verzi, která není ve verzi Preview, odinstalujte nejprve verze Preview. Další informace o odinstalaci rozhraní .NET naleznete v tématu Odebrání modulu runtime .NET a sady SDK.

Debian 12

Instalace pomocí APT se dá provést několika příkazy. Před instalací rozhraní .NET spusťte následující příkazy, které přidá podpisový klíč balíčku Microsoftu do seznamu důvěryhodných klíčů a přidá úložiště balíčků.

Otevřete terminál a spusťte následující příkazy:

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

Nainstalujte sadu SDK .

Sada .NET SDK umožňuje vyvíjet aplikace pomocí .NET. Pokud nainstalujete sadu .NET SDK, nemusíte instalovat odpovídající modul runtime. Pokud chcete nainstalovat sadu .NET SDK, spusťte následující příkazy:

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

Instalace modulu runtime

Modul ASP.NET Core Runtime umožňuje spouštět aplikace vytvořené pomocí .NET, které neposkytovaly modul runtime. Následující příkazy nainstalují modul runtime ASP.NET Core, což je nejkomppatibilnější modul runtime pro .NET. V terminálu spusťte následující příkazy:

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

Jako alternativu k modulu ASP.NET Core Runtime můžete nainstalovat modul runtime .NET, který nezahrnuje podporu ASP.NET Core: nahraďte aspnetcore-runtime-8.0 v předchozím příkazu dotnet-runtime-8.0:

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

Debian 11

Instalace pomocí APT se dá provést několika příkazy. Před instalací rozhraní .NET spusťte následující příkazy, které přidá podpisový klíč balíčku Microsoftu do seznamu důvěryhodných klíčů a přidá úložiště balíčků.

Otevřete terminál a spusťte následující příkazy:

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

Nainstalujte sadu SDK .

Sada .NET SDK umožňuje vyvíjet aplikace pomocí .NET. Pokud nainstalujete sadu .NET SDK, nemusíte instalovat odpovídající modul runtime. Pokud chcete nainstalovat sadu .NET SDK, spusťte následující příkazy:

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

Instalace modulu runtime

Modul ASP.NET Core Runtime umožňuje spouštět aplikace vytvořené pomocí .NET, které neposkytovaly modul runtime. Následující příkazy nainstalují modul runtime ASP.NET Core, což je nejkomppatibilnější modul runtime pro .NET. V terminálu spusťte následující příkazy:

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

Jako alternativu k modulu ASP.NET Core Runtime můžete nainstalovat modul runtime .NET, který nezahrnuje podporu ASP.NET Core: nahraďte aspnetcore-runtime-8.0 v předchozím příkazu dotnet-runtime-8.0:

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

Debian 10

Instalace pomocí APT se dá provést několika příkazy. Před instalací rozhraní .NET spusťte následující příkazy, které přidá podpisový klíč balíčku Microsoftu do seznamu důvěryhodných klíčů a přidá úložiště balíčků.

Otevřete terminál a spusťte následující příkazy:

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

Nainstalujte sadu SDK .

Sada .NET SDK umožňuje vyvíjet aplikace pomocí .NET. Pokud nainstalujete sadu .NET SDK, nemusíte instalovat odpovídající modul runtime. Pokud chcete nainstalovat sadu .NET SDK, spusťte následující příkazy:

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

Instalace modulu runtime

Modul ASP.NET Core Runtime umožňuje spouštět aplikace vytvořené pomocí .NET, které neposkytovaly modul runtime. Následující příkazy nainstalují modul runtime ASP.NET Core, což je nejkomppatibilnější modul runtime pro .NET. V terminálu spusťte následující příkazy:

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

Jako alternativu k modulu ASP.NET Core Runtime můžete nainstalovat modul runtime .NET, který nezahrnuje podporu ASP.NET Core: nahraďte aspnetcore-runtime-7.0 v předchozím příkazu dotnet-runtime-7.0:

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

Postup instalace jiných verzí

Všechny verze rozhraní .NET jsou k dispozici ke stažení na https://dotnet.microsoft.com/download/dotnetadrese , ale vyžadují ruční instalaci. Můžete zkusit použít správce balíčků k instalaci jiné verze .NET. Požadovaná verze ale nemusí být dostupná.

Balíčky přidané do informačních kanálů správce balíčků jsou pojmenovány v hackable formátu, například: {product}-{type}-{version}.

  • Produktu
    Typ produktu .NET, který se má nainstalovat. Platné možnosti jsou:

    • dotnet
    • aspnetcore
  • type
    Zvolí sadu SDK nebo modul runtime. Platné možnosti jsou:

    • sdk (k dispozici pouze pro produkt dotnet )
    • runtime
  • version
    Verze sady SDK nebo modulu runtime, která se má nainstalovat. Platné možnosti jsou jakékoli vydané verze, například:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    Je možné, že sada SDK/runtime, kterou se pokoušíte stáhnout, není pro vaši distribuci Linuxu dostupná. Seznam podporovaných distribucí najdete v tématu Instalace .NET v Linuxu.

Příklady

  • Nainstalujte modul runtime ASP.NET Core 8.0: aspnetcore-runtime-8.0
  • Nainstalujte modul runtime .NET Core 2.1: dotnet-runtime-2.1
  • Nainstalujte sadu .NET 5 SDK: dotnet-sdk-5.0
  • Nainstalujte sadu .NET Core 3.1 SDK: dotnet-sdk-3.1

Poznámka:

V distribuci Linuxu nemusí být k dispozici některý balíček.

Chybí balíček

Pokud kombinace verze balíčku nefunguje, není k dispozici. Například neexistuje sada ASP.NET Core SDK. Součástí sady .NET SDK jsou komponenty sady SDK pro ASP.NET Core. Hodnota aspnetcore-sdk-8.0 je nesprávná a měla by být dotnet-sdk-8.0. Seznam linuxových distribucí podporovaných rozhraním .NET najdete v tématu Závislosti a požadavky .NET.

Použití APT k aktualizaci .NET

Pokud je pro .NET k dispozici nová verze oprav, můžete ji jednoduše upgradovat pomocí apt pomocí následujících příkazů:

sudo apt-get update
sudo apt-get upgrade

Pokud jste od instalace .NET upgradovali distribuci Linuxu, možná budete muset překonfigurovat úložiště balíčků Microsoftu. Spuštěním pokynů k instalaci aktuální distribuční verze upgradujte na příslušné úložiště balíčků pro aktualizace .NET.

Řešení problému

Tato část obsahuje informace o běžných chybách, ke které může dojít při instalaci .NET pomocí APT.

Nepodařilo se najít balíček

Důležité

Použití správce balíčků k instalaci .NET z kanálu balíčků Microsoft podporuje pouze architekturu x64 . Kanál balíčků Microsoftu nepodporuje jiné architektury, jako je Arm.

Další informace o instalaci .NET bez správce balíčků najdete v jednom z následujících článků:

Nelze najít \ Některé balíčky nelze nainstalovat.

Pokud se zobrazí chybová zpráva podobná tomu, že nelze najít balíček {dotnet-package} nebo některé balíčky nelze nainstalovat, spusťte následující příkazy.

Následující sada příkazů obsahuje dva zástupné symboly.

  • {dotnet-package}
    Představuje balíček .NET, který instalujete, například aspnetcore-runtime-8.0. Používá se v následujícím sudo apt-get install příkazu.

Nejprve zkuste seznam balíčků vyprázdnit:

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

Pak zkuste .NET nainstalovat znovu. Pokud to nepomůže, můžete ruční instalaci spustit pomocí následujících příkazů:

Pokud používáte Debian 12 nebo novější, zkuste následující příkazy:

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

Pokud používáte verzi Debianu starší než 12, vyzkoušejte následující příkazy:

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

Načtení se nezdařilo.

Při instalaci balíčku .NET se může zobrazit chyba podobná Failed to fetch ... File has unexpected size ... Mirror sync in progress?. Tato chyba může znamenat, že se informační kanál balíčku pro .NET upgraduje s novějšími verzemi balíčků a že byste to měli zkusit později. Během upgradu by informační kanál balíčku neměl být po dobu delší než 30 minut nedostupný. Pokud se tato chyba nepřetržitě zobrazuje déle než 30 minut, zapište problém na adrese https://github.com/dotnet/core/issues.

Závislosti

Při instalaci pomocí správce balíčků se tyto knihovny nainstalují za vás. Pokud ale ručně nainstalujete .NET nebo publikujete samostatnou aplikaci, budete se muset ujistit, že jsou tyto knihovny nainstalované:

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

Pomocí příkazu je možné nainstalovat apt install závislosti. Následující fragment kódu ukazuje instalaci libc6 knihovny:

sudo apt install libc6

Pokud aplikace .NET používá sestavení System.Drawing.Common , bude potřeba nainstalovat také knihovnu libgdiplus. Vzhledem k tomu, že System.Drawing.Common se už v Linuxu nepodporuje, funguje to jenom v .NET 6 a vyžaduje nastavení System.Drawing.EnableUnixSupport přepínače konfigurace modulu runtime.

Nejnovější verzi knihovny libgdiplus můžete nainstalovat tak , že do systému přidáte úložiště Mono.

Další kroky