Sdílet prostřednictvím


Přehled .NET v Ubuntu

Tento článek popisuje, jak nainstalovat .NET na Ubuntu. Počínaje Ubuntu 22.04 je většina podporovaných verzí .NET k dispozici v integrovaném kanálu Ubuntu. Úložiště balíčků Backports Ubuntu .NET obsahuje zbývající podporované verze .NET, které nejsou k dispozici v integrovaném informačním kanálu balíčků Ubuntu pro tyto verze Ubuntu. Další informace o dostupných verzích najdete v části Podporované distribuce . Kromě toho pro Ubuntu 23.10 a předchozí verze obsahuje úložiště balíčků Microsoftu všechny verze rozhraní .NET, které jsou aktuálně nebo dříve podporovány.

Upozorňující

Doporučujeme zvolit mezi ubuntu nebo microsoftovými kanály pro zdrojové balíčky .NET. Nekombinujte balíčky .NET z více úložišť balíčků, protože to vede k problémům, když se aplikace pokusí vyřešit konkrétní verzi .NET.

metoda Výhody Nevýhody
Správce balíčků
(integrované
Kanál Ubuntu)
  • K dispozici je obvykle nejnovější verze.
  • Opravy jsou k dispozici správným způsobem.
  • Jsou zahrnuty závislosti.
  • Snadné vyjmutí.
  • Dostupné verze .NET jsou podporované pro období podpory konkrétní verze Ubuntu.
  • Podpora platformy IBM System Z pro .NET 8 v Ubuntu 24.04
  • Není k dispozici pro Ubuntu 16.04, 18.04, 20.04.
  • Dostupné verze .NET se liší podle verze Ubuntu.
  • Verze Preview nejsou k dispozici.
Správce balíčků
(Backporty .NET
Kanál Ubuntu)
  • Obsahuje jakoukoli podporovanou verzi, která není obsažena v integrovaném informačním kanálu Ubuntu.
  • Opravy jsou k dispozici správným způsobem.
  • Jsou zahrnuty závislosti.
  • Snadné vyjmutí.
  • Kompatibilní s integrovaným kanálem Ubuntu.
  • Není k dispozici pro Ubuntu 16.04, 18.04, 20.04.
  • Vyžaduje registraci úložiště balíčků backportů Ubuntu .NET.
  • Verze Preview nejsou k dispozici.
Správce balíčků
(informační kanál Microsoftu)
  • Podporované verze jsou vždy dostupné.
  • Opravy jsou k dispozici správným způsobem.
  • Jsou zahrnuty závislosti.
  • Snadné vyjmutí.
  • Není k dispozici pro Ubuntu 24.04+.
  • Vyžaduje registraci úložiště balíčků Microsoftu.
  • Verze Preview nejsou k dispozici.
  • Podporuje pouze x64 Ubuntu.
Skript \ Ruční extrakce
  • Určuje, kde je .NET nainstalovaný.
  • K dispozici jsou verze Preview.
  • Ručně nainstalujte aktualizace.
  • Ručně nainstalujte závislosti.
  • Ruční vyjmutí.

Rozhodnutí o tom, jak nainstalovat .NET

Pokud vaše verze Ubuntu podporuje .NET prostřednictvím integrovaného informačního kanálu Ubuntu nebo .NET backports Ubuntu, poskytuje podpora těchto buildů .NET Canonical a buildy můžou být optimalizované pro různé úlohy. Microsoft poskytuje podporu balíčků v informačním kanálu úložiště balíčků Microsoftu.

Pomocí následujících částí určete, jak nainstalovat .NET:

Používám Ubuntu 22.04 nebo novější a potřebuji jenom .NET

Nainstalujte .NET prostřednictvím kanálu Ubuntu. Další informace najdete na následujících stránkách:

Důležité

Verze sady .NET SDK, které nabízí Canonical, jsou vždy v pásmu funkcí .1xx. Pokud chcete použít novější verzi pásma funkcí, nainstalujte sadu SDK pomocí informačního kanálu Microsoftu. Nezapomeňte si projít informace v balíčku .NET mix ups v linuxovém článku, abyste porozuměli důsledkům přepínání mezi kanály úložiště.

Pokud budete instalovat úložiště Microsoftu, abyste mohli používat jiné balíčky Microsoftu, například powershell, mdatpnebo mssql, musíte převést balíčky .NET poskytované úložištěm Microsoftu. Pokyny k vyřazení balíčků najdete v tématu Moje linuxová distribuce obsahuje balíčky .NET a chci je použít.

Používám verzi Ubuntu starší než 22.04

Postupujte podle pokynů na stránce Ubuntu specifické pro konkrétní verzi.

Další informace o podporovaných verzích .NET pro vaši verzi Ubuntu najdete v části Podporované distribuce. Pokud instalujete verzi, která není podporovaná, přečtěte si téma Registrace úložiště balíčků Microsoftu.

Používám jiné balíčky Microsoftu, například powershell, mdatpnebo mssql

Pokud vaše verze Ubuntu podporuje .NET prostřednictvím informačních kanálů Ubuntu, musíte se rozhodnout, který kanál by měl nainstalovat .NET. Oddíl Podporované distribuce obsahuje tabulku, která uvádí, které verze .NET jsou k dispozici v informačních kanálech balíčků.

Pokud chcete zdrojové balíčky .NET z informačního kanálu Ubuntu, musíte převést balíčky .NET poskytované úložištěm Microsoftu. Pokyny k vyřazení balíčků najdete v tématu Moje linuxová distribuce obsahuje balíčky .NET a chci je použít.

Chci vytvořit aplikaci .NET

Pro sadu SDK použijte stejné zdroje balíčků jako pro modul runtime. Doporučujeme nainstalovat .NET prostřednictvím informačního kanálu Ubuntu. Pokud ale chcete nainstalovat .NET z jiného zdroje (např. úložiště balíčků Microsoftu pro přístup k vyšším pásmům funkcí sady SDK), měli byste odinstalovat .NET, nakonfigurovat správce balíčků tak, aby ignoroval balíčky .NET z kanálu Ubuntu a přeinstalovali ho z jiného zdroje.

Projděte si další návrhy v části Rozhodnutí, jak nainstalovat .NET .

Chci spustit aplikaci .NET v kontejneru, cloudu nebo scénáři kontinuální integrace

Pokud vaše verze Ubuntu poskytuje požadovanou verzi .NET, nainstalujte ji z informačního kanálu Ubuntu. Jinak zaregistrujte úložiště balíčků Microsoftu a nainstalujte z tohoto úložiště .NET. Projděte si informace v části Podporované distribuce .

Pokud požadovaná verze rozhraní .NET není dostupná, zkuste použít skript dotnet-install.

Distribuce Ubuntu neobsahuje požadovanou verzi .NET nebo potřebuji verzi .NET, která není podporována.

Doporučujeme používat APT a úložiště balíčků Microsoftu. Další informace najdete v části Registrace a instalace v úložišti balíčků Microsoftu.

Chci nainstalovat verzi Preview

K instalaci .NET použijte jeden z následujících způsobů:

Nechci používat APT

Pokud chcete automatizovanou instalaci, použijte instalační skript pro Linux.

Pokud chcete mít úplnou kontrolu nad instalačním prostředím .NET, stáhněte si tarball a ručně nainstalujte .NET. Další informace naleznete v tématu Ruční instalace.

Používám procesor založený na armech

Pokud vaše verze Ubuntu poskytuje požadovanou verzi .NET, nainstalujte ji z integrovaného informačního kanálu. Projděte si informace v části Podporované distribuce .

Pokud požadovaná verze .NET není dostupná, zkuste nainstalovat .NET jedním z následujících způsobů:

Používám platformu IBM System Z

Od .NET 8 na Ubuntu 24.04 canonical podporuje .NET pro platformu IBM System Z. Canonical pracuje na rozšíření podpory na další verze .NET a Ubuntu.

Nainstalujte .NET prostřednictvím integrovaného kanálu Ubuntu. Další informace najdete na následující stránce:

Podporované distribuce

Následující tabulka obsahuje seznam aktuálně podporovaných verzí .NET a verzí Ubuntu, na kterých jsou podporované. Každý odkaz přejde na konkrétní stránku verze Ubuntu s konkrétními pokyny k instalaci .NET pro danou verzi Ubuntu.

Ubuntu Podporované verze .NET Available in
integrovaný informační kanál Ubuntu
K dispozici v
Backporty .NET
Kanál Ubuntu
K dispozici v
Informační kanál Microsoftu
24.04 (LTS) 8.0, 6.0 8.0 7.0, 6.0 Nic
23.10 8.0, 6.0 8.0, 7.0, 6.0 Nic 8.0, 7.0, 6.0
22.04 (LTS) 8.0, 6.0 8.0, 7.0, 6.0 Nic 8.0, 7.0, 6.0, 3.1
20.04 (LTS) 8.0, 6.0 Nic Nic 8.0, 7.0. 6.0, 5.0, 3.1, 2.1
18.04 (LTS) 6.0 Nic Nic 7.0. 6.0, 5.0, 3.1, 2.2, 2.1
16.04 (LTS) 6.0 Nic Nic 6.0, 5.0, 3.1, 3.0, 2.2, 2.1, 2.0

Když verze Ubuntu dosáhne konce období podpory, rozhraní .NET se už u této konkrétní verze Ubuntu nepodporuje.

Canonical podporuje verze .NET v integrovaném informačním kanálu Ubuntu po celou dobu životnosti této verze Ubuntu, a to i mimo dobu životnosti podpory poskytované Microsoftem a poskytuje podporu pro verze .NET v úložišti balíčků .NET backports, která se nevztahuje na dobu životnosti podpory poskytované Microsoftem.

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

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

Úložiště balíčků Backports ubuntu .NET

Úložiště balíčků Backports Ubuntu .NET poskytuje verze .NET, které nejsou k dispozici v integrovaném kanálu Ubuntu. Oddíl Podporované distribuce obsahuje tabulku, která uvádí, které verze .NET jsou k dispozici v informačním kanálu balíčků. Canonical udržuje balíčky obsažené v tomto úložišti balíčků a poskytuje podporu s nejlepším úsilím, která přesahuje dobu životnosti podpory poskytované Microsoftem nebo období podpory konkrétní verze Ubuntu.

Další podrobnosti najdete ve webovém zobrazení úložiště balíčků Ubuntu .NET backports.

Registrace úložiště balíčků Backports Ubuntu .NET

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

sudo add-apt-repository ppa:dotnet/backports

Tip

Nemusíte volat apt update. Příkaz add-apt-repository to ve výchozím nastavení provede.

Poznámka:

Úložiště balíčků backportů Ubuntu .NET je kompatibilní s integrovaným informačním kanálem Ubuntu. Proto není nutné nakonfigurovat správce balíčků tak, aby ignoroval balíčky .NET v integrovaném kanálu Ubuntu.

Zrušení registrace úložiště balíčků backportů Ubuntu .NET

Pokud už nechcete využívat balíčky z úložiště balíčků Backports Ubuntu .NET, můžete zrušit jeho registraci. Otevřete terminál a spusťte následující příkaz:

sudo add-apt-repository --remove ppa:dotnet/backports

Důležité

Zrušení registrace úložiště balíčků Backports Ubuntu .NET neodinstaluje žádné balíčky.

Příkaz add-apt-repository nebyl nalezen.

Nástroj add-apt-repository(1) je předinstalovaný ve většině instalací Ubuntu.

Pokud se zobrazí chybová zpráva, že add-apt-repository příkaz nebyl nalezen, musíte nainstalovat software-properties-common balíček, který tento příkaz poskytuje. Otevřete terminál a spusťte následující příkazy:

sudo apt update
sudo apt install software-properties-common

Registrace úložiště balíčků Microsoftu

Úložiště balíčků Společnosti Microsoft obsahuje všechny verze rozhraní .NET, které byly dříve nebo jsou aktuálně podporovány ve vaší verzi Ubuntu. Pokud vaše verze Ubuntu poskytuje balíčky .NET, budete muset převést balíčky Ubuntu a použít úložiště Microsoft. Pokyny k vyřazení balíčků najdete v tématu Potřebuji verzi .NET, která není součástí distribuce Linuxu.

Důležité

Úložiště balíčků Microsoftu podporuje pouze balíčky .NET, které cílí na architekturu x64 . Jiné architektury, jako je Arm, musí rozhraní .NET nainstalovat jiným způsobem, například pomocí skriptu instalačního programu nebo ruční instalací.

Verze Preview nejsou k dispozici v úložišti balíčků Microsoftu. Další informace najdete v tématu Instalace verzí Preview.

Upozornění

Ke správě všech instalací .NET doporučujeme použít pouze jedno úložiště. Pokud jste dříve nainstalovali .NET s úložištěm Ubuntu, musíte vyčistit systém balíčků .NET a nakonfigurovat APT tak, aby ignoroval informační kanály Ubuntu. Další informace o tom, jak to udělat, najdete v tématu Potřebuji verzi .NET, která není poskytována v distribuci Linuxu.

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:

# Get OS version info
source /etc/os-release

# Download Microsoft signing key and repository
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

# Install Microsoft signing key and repository
sudo dpkg -i packages-microsoft-prod.deb

# Clean up
rm packages-microsoft-prod.deb

# Update packages
sudo apt update

Tip

Předchozí skript byl napsán pro Ubuntu a nemusí fungovat, pokud používáte odvozenou distribuci, například Linux Mint. Je pravděpodobné, že $repo_version proměnná nebude mít přiřazenou správnou hodnotu, což zneplatní identifikátor URI příkazu wget . Tato proměnná se mapuje na konkrétní verzi Ubuntu, pro kterou chcete získat balíčky, například 22.04 nebo 23.10.

Můžete použít webový prohlížeč a přejít k https://packages.microsoft.com/config/ubuntu/ zobrazení, které verze Ubuntu jsou k dispozici jako $repo_version hodnota.

Instalace rozhraní .NET

Po registraci úložiště balíčků Microsoftu nebo pokud kanály Ubuntu podporují balíček .NET pro vaši verzi Ubuntu, můžete pomocí příkazu nainstalovat .NET prostřednictvím správce sudo apt install <package-name> balíčků. Nahraďte <package-name> názvem balíčku .NET, který chcete nainstalovat. Pokud například chcete nainstalovat sadu .NET SDK 8.0, použijte příkaz sudo apt install dotnet-sdk-8.0. Následující tabulka uvádí aktuálně podporované balíčky .NET:

Produkt Typ Balíček
8.0 ASP.NET Core Šablona běhového prostředí aspnetcore-runtime-8.0
8.0 .NET Šablona běhového prostředí dotnet-runtime-8.0
8.0 .NET Sada SDK dotnet-sdk-8.0
6.0 ASP.NET Core Šablona běhového prostředí aspnetcore-runtime-6.0
6.0 .NET Šablona běhového prostředí dotnet-runtime-6.0
6.0 .NET Sada SDK dotnet-sdk-6.0

Pokud chcete nainstalovat nepodporovanou verzi .NET, zkontrolujte část Podporovaná distribuce a zjistěte, jestli je tato verze .NET dostupná. Potom nahraďte verzi rozhraní .NET, kterou chcete nainstalovat. Pokud například chcete nainstalovat ASP.NET Core 8.0, použijte název aspnetcore-runtime-8.0balíčku .

Tip

Pokud nevytvořete aplikace .NET, nainstalujte modul runtime ASP.NET Core, protože zahrnuje modul runtime .NET a také podporuje aplikace ASP.NET Core.

Některé proměnné prostředí ovlivňují způsob spuštění rozhraní .NET po instalaci. Další informace najdete v tématu .NET SDK a proměnné prostředí rozhraní příkazového řádku.

Odinstalace .NET

Pokud jste .NET nainstalovali prostřednictvím správce balíčků, odinstalujte ho stejným způsobem pomocí apt-get remove příkazu:

sudo apt-get remove dotnet-sdk-6.0

Další informace naleznete v tématu Odinstalace rozhraní .NET.

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.

Použití APT k aktualizaci .NET

Pokud jste .NET nainstalovali prostřednictvím správce balíčků, můžete balíček upgradovat pomocí apt upgrade příkazu. Například následující příkazy upgraduje dotnet-sdk-8.0 balíček s nejnovější verzí:

sudo apt update
sudo apt upgrade dotnet-sdk-8.0

Tip

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

Od Ubuntu 22.04 můžete narazit na situaci, kdy se zdá, že je k dispozici pouze část .NET. Například jste nainstalovali modul runtime a sadu SDK, ale když spustíte dotnet --info jenom modul runtime, zobrazí se seznam. Tato situace může souviset s používáním dvou různých zdrojů balíčků. Integrované informační kanály balíčků Ubuntu 22.04 a Ubuntu 22.10 zahrnují některé verze .NET, ale ne všechny a možná jste také nainstalovali .NET z informačních kanálů Microsoftu. Další informace o řešení tohoto problému naleznete v tématu Řešení chyb .NET souvisejících s chybějícími soubory v Linuxu.

Problémy s APT

Tato část obsahuje informace o běžných chybách, které se můžou zobrazit 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.

Poznámka:

Tyto informace platí jenom v případě, že je rozhraní .NET nainstalováno z informačního kanálu balíčku Společnosti Microsoft.

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 Ubuntu 23.10 nebo novější, 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

# 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 Ubuntu starší než 23.10, 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, musíte pro spuštění aplikace nainstalovat tyto závislosti:

  • ca-certificates
  • libc6
  • libgcc1 (pro 16.x a 18.x)
  • libgcc-s1 (pro 20.x nebo novější)
  • libgssapi-krb5-2
  • libicu55 (pro 16.x)
  • libicu60 (pro 18.x)
  • libicu66 (pro 20.x)
  • libicu70 (pro 22.04)
  • libicu72 (pro 23.10)
  • libicu74 (pro 24.04 nebo novější)
  • liblttng-ust1 (pro 22.x nebo novější)
  • libssl1.0.0 (pro 16.x)
  • libssl1.1 (pro 18.x, 20.x)
  • libssl3 (pro 22.x nebo novější)
  • libstdc++6
  • libunwind8 (pro 22.x nebo novější)
  • zlib1g

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

sudo apt install zlib1g

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