Omówienie platformy .NET w systemie Ubuntu

W tym artykule opisano sposób instalowania platformy .NET w systemie Ubuntu. Począwszy od systemu Ubuntu 22.04, większość obsługiwanych wersji platformy .NET jest dostępna we wbudowanym kanale informacyjnym ubuntu. Repozytorium pakietów backports platformy Ubuntu .NET zawiera pozostałe obsługiwane wersje platformy .NET, które nie są dostępne we wbudowanym kanale informacyjnym pakietu Ubuntu dla tych wersji systemu Ubuntu. Aby uzyskać więcej informacji na temat dostępnych wersji, zobacz sekcję Obsługiwane dystrybucje . Ponadto w przypadku systemu Ubuntu 23.10 i poprzednich wersji repozytorium pakietów firmy Microsoft zawiera każdą wersję platformy .NET, która jest obecnie lub była wcześniej obsługiwana.

Ostrzeżenie

Zaleca się wybranie między źródłami danych Ubuntu lub Microsoft do źródłowych pakietów platformy .NET. Nie mieszaj pakietów .NET z wielu repozytoriów pakietów, ponieważ prowadzi to do problemów, gdy aplikacje próbują rozwiązać określoną wersję platformy .NET.

Method Plusy Minusy
Menedżer pakietów
(wbudowane)
Kanał informacyjny ubuntu)
  • Zazwyczaj jest dostępna najnowsza wersja.
  • Poprawki są dostępne w odpowiedni sposób.
  • Uwzględniane są zależności.
  • Łatwe usuwanie.
  • Dostępne wersje platformy .NET są obsługiwane w okresie pomocy technicznej dla określonej wersji systemu Ubuntu.
  • Obsługa platformy IBM System Z dla platformy .NET 8 w systemie Ubuntu 24.04.
  • Niedostępne dla systemu Ubuntu 16.04, 18.04, 20.04.
  • Dostępne wersje platformy .NET różnią się w zależności od wersji systemu Ubuntu.
  • Wersje zapoznawcza nie są dostępne.
Menedżer pakietów
(Backporty platformy .NET
Kanał informacyjny ubuntu)
  • Zawiera dowolną obsługiwaną wersję, która nie jest zawarta we wbudowanym kanale informacyjnym systemu Ubuntu.
  • Poprawki są dostępne w odpowiedni sposób.
  • Uwzględniane są zależności.
  • Łatwe usuwanie.
  • Zgodny z wbudowanym kanałem informacyjnym ubuntu.
  • Niedostępne dla systemu Ubuntu 16.04, 18.04, 20.04.
  • Wymaga zarejestrowania repozytorium pakietów backports platformy .NET systemu Ubuntu.
  • Wersje zapoznawcza nie są dostępne.
Menedżer pakietów
(Kanał informacyjny firmy Microsoft)
  • Obsługiwane wersje są zawsze dostępne.
  • Poprawki są dostępne w odpowiedni sposób.
  • Uwzględniane są zależności.
  • Łatwe usuwanie.
  • Niedostępne dla systemu Ubuntu 24.04+.
  • Wymaga zarejestrowania repozytorium pakietów firmy Microsoft.
  • Wersje zapoznawcza nie są dostępne.
  • Obsługuje tylko system ubuntu x64.
Skrypt \ wyodrębnianie ręczne
  • Określ, gdzie jest zainstalowana platforma .NET.
  • Dostępne są wersje zapoznawcza.
  • Ręczne instalowanie aktualizacji.
  • Ręcznie zainstaluj zależności.
  • Ręczne usuwanie.

Wybieranie sposobu instalowania platformy .NET

Jeśli twoja wersja systemu Ubuntu obsługuje platformę .NET za pośrednictwem wbudowanego lub .NET backports kanału informacyjnego Ubuntu, obsługa tych kompilacji platformy .NET jest zapewniana przez firmę Canonical, a kompilacje mogą być zoptymalizowane pod kątem różnych obciążeń. Firma Microsoft zapewnia obsługę pakietów w kanale informacyjnym repozytorium pakietów firmy Microsoft.

Skorzystaj z poniższych sekcji, aby określić, jak należy zainstalować platformę .NET:

Używam systemu Ubuntu 22.04 lub nowszego i potrzebuję tylko platformy .NET

Zainstaluj platformę .NET za pośrednictwem kanału informacyjnego systemu Ubuntu. Aby uzyskać więcej informacji, zobacz następujące strony:

Ważne

Wersje zestawu .NET SDK oferowane przez firmę Canonical są zawsze w pasmie funkcji .1xx. Jeśli chcesz użyć nowszej wersji pasma funkcji, użyj kanału informacyjnego firmy Microsoft, aby zainstalować zestaw SDK. Zapoznaj się z informacjami w artykule dotyczącym łączenia pakietów platformy .NET w systemie Linux , aby zrozumieć implikacje przełączania się między kanałami informacyjnymi repozytorium.

Jeśli zamierzasz zainstalować repozytorium firmy Microsoft w celu korzystania z innych pakietów firmy Microsoft, takich jak powershell, mdatplub mssql, należy zderiorytizować pakiety .NET dostarczone przez repozytorium firmy Microsoft. Aby uzyskać instrukcje dotyczące sposobu depriorytyzacji pakietów, zobacz Moja dystrybucja systemu Linux udostępnia pakiety .NET i chcę ich używać.

Używam wersji systemu Ubuntu wcześniejszej niż 22.04

Skorzystaj z instrukcji na stronie ubuntu specyficznej dla wersji.

Zapoznaj się z sekcją Obsługiwane dystrybucje , aby uzyskać więcej informacji na temat obsługiwanych wersji platformy .NET dla używanej wersji systemu Ubuntu. Jeśli instalujesz wersję, która nie jest obsługiwana, zobacz Rejestrowanie repozytorium pakietów firmy Microsoft.

Używam innych pakietów firmy Microsoft, takich jak powershell, mdatplub mssql

Jeśli wersja systemu Ubuntu obsługuje platformę .NET za pośrednictwem kanałów informacyjnych systemu Ubuntu, musisz zdecydować, który kanał informacyjny powinien zainstalować platformę .NET. Sekcja Obsługiwane dystrybucje zawiera tabelę zawierającą listę wersji platformy .NET dostępnych w kanałach informacyjnych pakietów.

Jeśli chcesz użyć źródła pakietów platformy .NET z kanału informacyjnego systemu Ubuntu, należy wycofać pakiety platformy .NET dostarczone przez repozytorium firmy Microsoft. Aby uzyskać instrukcje dotyczące sposobu depriorytyzacji pakietów, zobacz Moja dystrybucja systemu Linux udostępnia pakiety .NET i chcę ich używać.

Chcę utworzyć aplikację platformy .NET

Użyj tych samych źródeł pakietów dla zestawu SDK, które są używane w środowisku uruchomieniowym. Zaleca się zainstalowanie platformy .NET za pośrednictwem kanału informacyjnego systemu Ubuntu. Jeśli jednak chcesz zainstalować platformę .NET z innego źródła (np. repozytorium pakietów firmy Microsoft w celu uzyskania dostępu do wyższych pasm funkcji zestawu SDK), należy odinstalować platformę .NET, skonfigurować menedżera pakietów, aby zignorować pakiety .NET ze źródła danych systemu Ubuntu i ponownie zainstalować je z innego źródła.

Zapoznaj się z innymi sugestiami w sekcji Wybieranie sposobu instalowania platformy .NET .

Chcę uruchomić aplikację .NET w scenariuszu kontenera, chmury lub ciągłej integracji

Jeśli wersja systemu Ubuntu udostępnia wymaganą wersję platformy .NET, zainstaluj ją z kanału informacyjnego systemu Ubuntu. W przeciwnym razie zarejestruj repozytorium pakietów firmy Microsoft i zainstaluj platformę .NET z tego repozytorium. Przejrzyj informacje w sekcji Obsługiwane dystrybucje .

Jeśli odpowiednia wersja platformy .NET jest niedostępna, spróbuj użyć skryptu dotnet-install.

Moja dystrybucja systemu Ubuntu nie obejmuje żądanej wersji platformy .NET lub potrzebuję wersji platformy .NET, która nie jest obsługiwana

Zalecamy użycie narzędzia APT i repozytorium pakietów firmy Microsoft. Aby uzyskać więcej informacji, zobacz sekcję Rejestrowanie i instalowanie w repozytorium pakietów firmy Microsoft.

Chcę zainstalować wersję zapoznawcza

Użyj jednego z następujących sposobów instalowania platformy .NET:

Nie chcę używać apt

Jeśli chcesz zainstalować automatyczną instalację, użyj skryptu instalacji systemu Linux.

Jeśli chcesz mieć pełną kontrolę nad środowiskiem instalacji platformy .NET, pobierz tarball i ręcznie zainstaluj platformę .NET. Aby uzyskać więcej informacji, zobacz Instalacja ręczna.

Używam procesora CPU opartego na usłudze Arm

Jeśli wersja systemu Ubuntu udostępnia wymaganą wersję platformy .NET, zainstaluj ją z wbudowanego źródła danych. Przejrzyj informacje w sekcji Obsługiwane dystrybucje .

Jeśli odpowiednia wersja platformy .NET jest niedostępna, spróbuj użyć jednego z następujących sposobów instalowania platformy .NET:

Używam platformy IBM System Z

Począwszy od platformy .NET 8 w systemie Ubuntu 24.04, aplikacja Canonical obsługuje platformę .NET dla platformy IBM System Z. Firma Canonical pracuje nad rozszerzeniem obsługi na inne wersje platform .NET i Ubuntu.

Zainstaluj platformę .NET za pomocą wbudowanego kanału informacyjnego systemu Ubuntu. Aby uzyskać więcej informacji, zobacz następującą stronę:

Obsługiwane dystrybucje

Poniższa tabela zawiera listę obecnie obsługiwanych wersji platformy .NET i obsługiwanych wersji systemu Ubuntu. Każdy link przechodzi do określonej strony wersji systemu Ubuntu z określonymi instrukcjami dotyczącymi sposobu instalowania platformy .NET dla tej wersji systemu Ubuntu.

Ubuntu Obsługiwane wersje platformy .NET Dostępne w
wbudowany kanał informacyjny systemu Ubuntu
Dostępne w programie
Backporty platformy .NET
Kanał informacyjny systemu Ubuntu
Dostępne w programie
Kanał informacyjny firmy Microsoft
24.04 (LTS) 8.0, 7.0, 6.0 8.0 7.0, 6.0 Brak
23.10 8.0, 7.0, 6.0 8.0, 7.0, 6.0 Brak 8.0, 7.0, 6.0
22.04 (LTS) 8.0, 7.0, 6.0 8.0, 7.0, 6.0 Brak 8.0, 7.0, 6.0, 3.1
20.04 (LTS) 8.0, 7.0, 6.0 Brak Brak 8.0, 7.0. 6.0, 5.0, 3.1, 2.1
18.04 (LTS) 7.0, 6.0 Brak Brak 7.0. 6.0, 5.0, 3.1, 2.2, 2.1
16.04 (LTS) 6.0 Brak Brak 6.0, 5.0, 3.1, 3.0, 2.2, 2.1, 2.0

Gdy wersja systemu Ubuntu osiągnie koniec okresu pomocy technicznej, platforma .NET nie jest już obsługiwana w tej konkretnej wersji systemu Ubuntu.

Aplikacja Canonical obsługuje wersje platformy .NET w wbudowanym kanale informacyjnym ubuntu przez cały okres istnienia tej wersji systemu Ubuntu, nawet poza okresem istnienia pomocy technicznej zapewnianej przez firmę Microsoft i zapewnia najlepszą obsługę wersji platformy .NET w repozytorium pakietów backports platformy .NET, które nie wykracza poza okres wsparcia zapewnianego przez firmę Microsoft.

Następujące wersje platformy .NET nie są ❌ już obsługiwane:

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

Repozytorium pakietów backports platformy Ubuntu .NET

Repozytorium pakietów backports platformy Ubuntu .NET udostępnia wersje platformy .NET, które nie są dostępne we wbudowanym kanale informacyjnym systemu Ubuntu. Sekcja Obsługiwane dystrybucje zawiera tabelę zawierającą listę wersji platformy .NET dostępnych w kanale informacyjnym pakietów. Firma Canonical obsługuje pakiety zawarte w tym repozytorium pakietów i zapewnia najlepszą pomoc techniczną, która nie wykracza poza okres wsparcia zapewnianego przez firmę Microsoft ani okres wsparcia dla określonej wersji systemu Ubuntu.

Aby uzyskać więcej informacji, zobacz widok internetowy repozytorium pakietów backports platformy Ubuntu .NET.

Rejestrowanie repozytorium pakietów backports platformy Ubuntu .NET

Otwórz terminal i uruchom następujące polecenie:

sudo add-apt-repository ppa:dotnet/backports

Napiwek

Nie trzeba wywoływać metody apt update. Polecenie add-apt-repository wykonuje to domyślnie.

Uwaga

Repozytorium pakietów backports platformy Ubuntu .NET jest zgodne z wbudowanym źródłem danych systemu Ubuntu. W związku z tym nie trzeba konfigurować menedżera pakietów tak, aby ignorował pakiety .NET we wbudowanym kanale informacyjnym systemu Ubuntu.

Wyrejestrowywanie repozytorium pakietów backports platformy .NET z systemem Ubuntu

Jeśli nie chcesz już korzystać z pakietów z repozytorium pakietów backports platformy Ubuntu .NET, możesz go wyrejestrować. Otwórz terminal i uruchom następujące polecenie:

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

Ważne

Wyrejestrowywanie repozytorium pakietów backports platformy .NET systemu Ubuntu nie powoduje odinstalowania żadnych pakietów.

Nie znaleziono polecenia add-apt-repository

Narzędzie add-apt-repository(1) jest wstępnie zainstalowane w większości instalacji systemu Ubuntu.

Jeśli zostanie wyświetlony komunikat o błędzie informujący add-apt-repository , że polecenie nie zostało znalezione, musisz zainstalować software-properties-common pakiet, który udostępnia to polecenie. Otwórz terminal i uruchom następujące polecenia:

sudo apt update
sudo apt install software-properties-common

Rejestrowanie repozytorium pakietów firmy Microsoft

Repozytorium pakietów firmy Microsoft zawiera wszystkie wersje platformy .NET, które były wcześniej lub są obecnie obsługiwane w używanej wersji systemu Ubuntu. Jeśli twoja wersja systemu Ubuntu udostępnia pakiety platformy .NET, konieczne będzie wycofanie pakietów systemu Ubuntu i użycie repozytorium Firmy Microsoft. Aby uzyskać instrukcje dotyczące sposobu depriorytyzacji pakietów, zobacz Potrzebuję wersji platformy .NET, która nie jest dostarczana przez dystrybucję systemu Linux.

Ważne

Repozytorium pakietów firmy Microsoft obsługuje tylko pakiety .NET przeznaczone dla architektury x64 . Inne architektury, takie jak Arm, muszą zainstalować platformę .NET w inny sposób, na przykład za pomocą skryptu instalatora lub przez instalację ręczną.

Wersje zapoznawcza niedostępne w repozytorium pakietów firmy Microsoft. Aby uzyskać więcej informacji, zobacz Instalowanie wersji zapoznawczych.

Uwaga

Zalecamy używanie tylko jednego repozytorium do zarządzania wszystkimi instalacjami platformy .NET. Jeśli wcześniej zainstalowano platformę .NET z repozytorium Ubuntu, należy wyczyścić system pakietów .NET i skonfigurować narzędzie APT w celu ignorowania kanałów informacyjnych systemu Ubuntu. Aby uzyskać więcej informacji o tym, jak to zrobić, zobacz Potrzebuję wersji platformy .NET, która nie jest dostarczana przez dystrybucję systemu Linux.

Instalowanie za pomocą narzędzia APT można wykonać za pomocą kilku poleceń. Przed zainstalowaniem platformy .NET uruchom następujące polecenia, aby dodać klucz podpisywania pakietów firmy Microsoft do listy zaufanych kluczy i dodać repozytorium pakietów.

Otwórz terminal i uruchom następujące polecenia:

# 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

Napiwek

Poprzedni skrypt został napisany dla systemu Ubuntu i może nie działać, jeśli używasz dystrybucji pochodnej, takiej jak Linux Mint. Prawdopodobnie zmienna nie zostanie przypisana poprawnej wartości, co spowoduje, że $repo_version identyfikator URI wget polecenia będzie nieprawidłowy. Ta zmienna mapuje na określoną wersję systemu Ubuntu, dla której chcesz pobrać pakiety, takie jak 22.04 lub 23.10.

Możesz użyć przeglądarki internetowej i przejść, aby zobaczyć https://packages.microsoft.com/config/ubuntu/ , które wersje systemu Ubuntu są dostępne do użycia jako $repo_version wartość.

Instalowanie platformy .NET

Po zarejestrowaniu repozytorium pakietów firmy Microsoft lub jeśli kanały informacyjne systemu Ubuntu obsługują pakiet .NET dla używanej wersji systemu Ubuntu, możesz zainstalować platformę .NET za pomocą menedżera pakietów za sudo apt install <package-name> pomocą polecenia . Zastąp <package-name> ciąg nazwą pakietu .NET, który chcesz zainstalować. Aby na przykład zainstalować zestaw .NET SDK 8.0, użyj polecenia sudo apt install dotnet-sdk-8.0. W poniższej tabeli wymieniono obecnie obsługiwane pakiety .NET:

Rezultat Typ Pakiet
8.0 ASP.NET Core Środowisko uruchomieniowe aspnetcore-runtime-8.0
8.0 .NET Środowisko uruchomieniowe dotnet-runtime-8.0
8.0 .NET SDK dotnet-sdk-8.0
7.0 ASP.NET Core Środowisko uruchomieniowe aspnetcore-runtime-7.0
7.0 .NET Środowisko uruchomieniowe dotnet-runtime-7.0
7.0 .NET SDK dotnet-sdk-7.0
6.0 ASP.NET Core Środowisko uruchomieniowe aspnetcore-runtime-6.0
6.0 .NET Środowisko uruchomieniowe dotnet-runtime-6.0
6.0 .NET SDK dotnet-sdk-6.0

Jeśli chcesz zainstalować nieobsługiwaną wersję platformy .NET, zapoznaj się z sekcją Obsługiwane dystrybucje, aby sprawdzić, czy ta wersja platformy .NET jest dostępna. Następnie zastąp wersję platformy .NET, którą chcesz zainstalować. Aby na przykład zainstalować ASP.NET Core 8.0, użyj nazwy aspnetcore-runtime-8.0pakietu .

Napiwek

Jeśli nie tworzysz aplikacji platformy .NET, zainstaluj środowisko uruchomieniowe platformy ASP.NET Core, ponieważ zawiera środowisko uruchomieniowe platformy .NET, a także obsługuje aplikacje ASP.NET Core.

Niektóre zmienne środowiskowe wpływają na sposób uruchamiania platformy .NET po jej zainstalowaniu. Aby uzyskać więcej informacji, zobacz Zmienne środowiskowe zestawu .NET SDK i interfejsu wiersza polecenia.

Odinstalowywanie platformy .NET

Jeśli platforma .NET została zainstalowana za pośrednictwem menedżera pakietów, odinstaluj ją w taki sam sposób, jak za apt-get remove pomocą polecenia :

sudo apt-get remove dotnet-sdk-6.0

Aby uzyskać więcej informacji, zobacz Odinstalowywanie platformy .NET.

Instalowanie wersji zapoznawczych

Wersje wersji zapoznawczej i wersji platformy .NET nie są dostępne w repozytoriach pakietów. Możesz zainstalować wersje zapoznawcze i kandydatów do wydania platformy .NET w jeden z następujących sposobów:

Usuwanie wersji zapoznawczych

W przypadku korzystania z menedżera pakietów do zarządzania instalacją platformy .NET może wystąpić konflikt, jeśli wcześniej zainstalowano wersję zapoznawcza. Menedżer pakietów może interpretować wydanie inne niż wersja zapoznawcza jako starszą wersję platformy .NET. Aby zainstalować wersję inną niż wersja zapoznawcza, najpierw odinstaluj wersje zapoznawcza. Aby uzyskać więcej informacji na temat odinstalowywania platformy .NET, zobacz Jak usunąć środowisko uruchomieniowe platformy .NET i zestaw SDK.

Aktualizowanie platformy .NET przy użyciu narzędzia APT

Jeśli platforma .NET została zainstalowana za pośrednictwem menedżera pakietów, możesz uaktualnić pakiet za apt upgrade pomocą polecenia . Na przykład następujące polecenia uaktualniają dotnet-sdk-7.0 pakiet przy użyciu najnowszej wersji:

sudo apt update
sudo apt upgrade dotnet-sdk-7.0

Napiwek

Jeśli dystrybucja systemu Linux została uaktualniona od momentu zainstalowania platformy .NET, może być konieczne ponowne skonfigurowanie repozytorium pakietów firmy Microsoft. Uruchom instrukcje instalacji dla bieżącej wersji dystrybucji, aby uaktualnić do odpowiedniego repozytorium pakietów dla aktualizacji platformy .NET.

Rozwiązywanie problemów

Począwszy od systemu Ubuntu 22.04, może wystąpić sytuacja, w której wydaje się, że jest dostępny tylko kawałek platformy .NET. Na przykład środowisko uruchomieniowe i zestaw SDK zostały zainstalowane, ale po uruchomieniu dotnet --info tylko środowisko uruchomieniowe zostanie wyświetlone. Taka sytuacja może być związana z używaniem dwóch różnych źródeł pakietów. Wbudowane kanały informacyjne pakietów Ubuntu 22.04 i Ubuntu 22.10 obejmują niektóre wersje platformy .NET, ale nie wszystkie i być może również zainstalowano platformę .NET z kanałów informacyjnych firmy Microsoft. Aby uzyskać więcej informacji na temat rozwiązywania tego problemu, zobacz Rozwiązywanie problemów z błędami platformy .NET związanymi z brakującymi plikami w systemie Linux.

Problemy z apt

Ta sekcja zawiera informacje na temat typowych błędów, które mogą wystąpić podczas używania narzędzia APT do zainstalowania platformy .NET.

Nie można odnaleźć pakietu

Ważne

Używanie menedżera pakietów do instalowania platformy .NET z kanału informacyjnego pakietów firmy Microsoft obsługuje tylko architekturę x64. Inne architektury, takie jak Arm, nie są obsługiwane przez źródło danych pakietów firmy Microsoft.

Aby uzyskać więcej informacji na temat instalowania platformy .NET bez menedżera pakietów, zobacz jeden z następujących artykułów:

Nie można zlokalizować \ Nie można zainstalować niektórych pakietów

Uwaga

Te informacje mają zastosowanie tylko wtedy, gdy platforma .NET jest zainstalowana z kanału informacyjnego pakietów firmy Microsoft.

Jeśli zostanie wyświetlony komunikat o błędzie podobny do Nie można zlokalizować pakietu {dotnet-package} lub nie można zainstalować niektórych pakietów, uruchom następujące polecenia.

W poniższym zestawie poleceń znajdują się dwa symbole zastępcze.

  • {dotnet-package}
    Reprezentuje instalowany pakiet .NET, na przykład aspnetcore-runtime-8.0. Jest to używane w poniższym sudo apt-get install poleceniu.

Najpierw spróbuj przeczyścić listę pakietów:

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

Następnie spróbuj ponownie zainstalować platformę .NET. Jeśli to nie zadziała, możesz uruchomić ręczną instalację przy użyciu następujących poleceń:

Jeśli używasz systemu Ubuntu 23.10 lub nowszego, wypróbuj następujące polecenia:

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

Jeśli używasz wersji systemu Ubuntu wcześniejszej niż 23.10, spróbuj wykonać następujące polecenia:

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

Nie można pobrać

Podczas instalowania pakietu .NET może zostać wyświetlony błąd podobny do Failed to fetch ... File has unexpected size ... Mirror sync in progress?. Ten błąd może oznaczać, że kanał informacyjny pakietu dla platformy .NET jest uaktualniany przy użyciu nowszych wersji pakietów i należy ponowić próbę później. Podczas uaktualniania kanał informacyjny pakietu nie powinien być niedostępny przez ponad 30 minut. Jeśli ten błąd jest stale wyświetlany przez ponad 30 minut, zgłoś problem pod adresem https://github.com/dotnet/core/issues.

Zależności

Podczas instalowania za pomocą menedżera pakietów te biblioteki są instalowane. Jeśli jednak ręcznie zainstalujesz platformę .NET lub opublikujesz samodzielną aplikację, musisz zainstalować te zależności, aby uruchomić aplikację:

  • certyfikaty ca
  • libc6
  • libgcc1 (dla 16.x i 18.x)
  • libgcc-s1 (dla wersji 20.x lub nowszej)
  • libgssapi-krb5-2
  • libicu55 (dla 16.x)
  • libicu60 (dla 18.x)
  • libicu66 (dla 20.x)
  • libicu70 (dla 22.04)
  • libicu72 (dla 23,10)
  • libicu74 (dla wersji 24.04 lub nowszej)
  • liblttng-ust1 (dla wersji 22.x lub nowszej)
  • libssl1.0.0 (dla 16.x)
  • libssl1.1 (dla 18.x, 20.x)
  • libssl3 (dla wersji 22.x lub nowszej)
  • libstdc++6
  • libunwind8 (dla wersji 22.x lub nowszej)
  • zlib1g

Zależności można zainstalować za apt install pomocą polecenia . Poniższy fragment kodu przedstawia instalowanie zlib1g biblioteki:

sudo apt install zlib1g

Jeśli aplikacja .NET używa zestawu System.Drawing.Common , konieczne będzie również zainstalowanie biblioteki libgdiplus. Ponieważ system.Drawing.Common nie jest już obsługiwany w systemie Linux, działa to tylko na platformie .NET 6 i wymaga ustawienia przełącznika System.Drawing.EnableUnixSupport konfiguracji środowiska uruchomieniowego.

Najnowszą wersję biblioteki libgdiplus można zainstalować, dodając repozytorium Mono do systemu.

Następne kroki