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ů Ubuntu .NET backports obsahuje zbývající podporované verze .NET. Další informace o dostupných verzích najdete v části Podporované distribuce .
Canonical převzal publikování .NET v Ubuntu. Od Ubuntu 22.04 už Microsoft distribuuje .NET pro Ubuntu do úložiště balíčků Microsoftu.
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) |
|
|
Správce balíčků (Backporty .NET Kanál Ubuntu) |
|
|
Správce balíčků (informační kanál Microsoftu) |
|
|
Skript \ Ruční extrakce |
|
|
Důležité informace o upgradu Ubuntu
Upgradujete Ubuntu na verzi 22.04 nebo novější? Nejprve zvažte odinstalaci .NET.
Pokud jste k instalaci .NET z úložiště balíčků Microsoftu použili správce balíčků, budete mít po upgradu Ubuntu problém se kombinací balíčků. Teď, když Canonical publikuje .NET do informačních kanálů balíčků pro Ubuntu 22.04 (a novější verze), správce balíčků nebude vědět o dříve nainstalované verzi .NET. Balíčky nelze upgradovat na nejnovější .NET. Nejprve je odinstalujte a pak je znovu nainstalujte z [úložiště balíčků Ubuntu].
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
- Používám verzi Ubuntu starší než 22.04
-
Používám jiné balíčky Microsoftu, například
powershell
,mdatp
nebomssql
- Chci vytvořit aplikaci .NET
- Chci spustit aplikaci .NET v kontejneru, cloudu nebo scénáři kontinuální integrace
- Distribuce Ubuntu neobsahuje požadovanou verzi .NET nebo potřebuji verzi .NET, která není podporována.
- Chci nainstalovat verzi Preview
- Nechci používat APT
- Používám procesor založený na armech
- Používám platformu IBM System Z
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:
- Nainstalujte .NET na Ubuntu 24.10.
- Nainstalujte .NET na Ubuntu 24.04.
- Nainstalujte .NET na Ubuntu 22.04.
Důležité
Pokud používáte sadu .NET 8 SDK a Ubuntu 22.04, mějte na vědomí, že verze sady SDK nabízené 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
, mdatp
nebo 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
, mdatp
nebo 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.10 | 9.0, 8.0 | 9.0, 8.0 | Nic | Nic |
24.04 (LTS) | 9.0, 8.0 | 8.0 | 9.0, 7.0, 6.0 | Nic |
22.04 (LTS) | 9.0, 8.0 | 8.0, 7.0, 6.0 | 9.0 | 8.0, 7.0, 6.0, 3.1 |
20.04 (LTS) | 9.0, 8.0 | Nic | Nic | 8.0, 7.0. 6.0, 5.0, 3.1, 2.1 |
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 6
- .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
Důležité
To platí jenom pro verze Ubuntu starší než 24.04. Od Ubuntu 24.04 už Microsoft nepublikuje balíčky do úložiště balíčků Microsoftu. K určení nejlepšího způsobu instalace .NET použijte tabulku podporovaných distribucí.
Ú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 which adds the $ID and $VERSION_ID variables
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 $ID
proměnné $VERSION_ID
nebudou přiřazeny správné hodnoty, což zneplatní identifikátor URI příkazu wget
. Odpovídá $ID
distribuci (např ubuntu
. ), zatímco $VERSION_ID
mapuje na konkrétní verzi Ubuntu, pro kterou chcete získat balíčky, například 22.04 nebo 23.10.
Například na Ubuntu 22.04 $ID
by byl ubuntu
a $VERSION_ID
byl by 22.04
. Adresa URL by vypadala takto: https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb
.
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
Nainstalujte .NET prostřednictvím správce balíčků pomocí sudo apt install <package-name>
příkazu. Nahraďte <package-name>
názvem balíčku .NET, který chcete nainstalovat. Pokud například chcete nainstalovat sadu .NET SDK 9.0, použijte příkaz sudo apt install dotnet-sdk-9.0
. Následující tabulka uvádí aktuálně podporované balíčky .NET (které se můžou lišit podle vaší verze Ubuntu):
Produkt | Typ | Balíček | |
---|---|---|---|
9.0 | ASP.NET Core | Šablona běhového prostředí | aspnetcore-runtime-9.0 |
9.0 | .NET | Šablona běhového prostředí | dotnet-runtime-9.0 |
9.0 | .NET | Sada SDK | dotnet-sdk-9.0 |
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 |
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-9.0
balíček s nejnovější verzí:
sudo apt update
sudo apt upgrade dotnet-sdk-9.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říkladaspnetcore-runtime-8.0
. Používá se v následujícímsudo 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:
# Get OS version info which adds the $ID and $VERSION_ID variables
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 , musí být nainstalována knihovna libgdiplus . Další informace naleznete v tématu System.Drawing.Common podporován pouze ve Windows.
Nejnovější verzi knihovny libgdiplus můžete nainstalovat tak , že do systému přidáte úložiště Mono.