Instalowanie platformy .NET w systemie Linux przy użyciu skryptu instalacji lub wyodrębniania plików binarnych

W tym artykule pokazano, jak zainstalować zestaw .NET SDK lub środowisko uruchomieniowe platformy .NET w systemie Linux przy użyciu skryptu instalacji lub wyodrębniając pliki binarne. Aby uzyskać listę dystrybucji, które obsługują wbudowanego menedżera pakietów, zobacz Instalowanie platformy .NET w systemie Linux.

Zainstaluj zestaw SDK (obejmujący środowisko uruchomieniowe), jeśli chcesz tworzyć aplikacje platformy .NET. Lub, jeśli potrzebujesz tylko uruchamiać aplikacje, zainstaluj środowisko uruchomieniowe. Jeśli instalujesz środowisko uruchomieniowe, zalecamy zainstalowanie środowiska uruchomieniowego ASP.NET Core, ponieważ obejmuje zarówno środowiska uruchomieniowe platformy .NET, jak i ASP.NET Core.

dotnet --list-sdks Użyj poleceń idotnet --list-runtimes, aby zobaczyć, które wersje są zainstalowane. Aby uzyskać więcej informacji, zobacz Jak sprawdzić, czy platforma .NET jest już zainstalowana.

Wersje platformy .NET

Istnieją dwa typy obsługiwanych wersji, wersje long term support (LTS) lub Standard Term Support (STS). Jakość wszystkich wydań jest taka sama. Jedyną różnicą jest długość wsparcia. Wersje LTS otrzymują bezpłatną pomoc techniczną i poprawki przez 3 lata. Wersje stS otrzymują bezpłatną pomoc techniczną i poprawki przez 18 miesięcy. Aby uzyskać więcej informacji, zobacz Zasady pomocy technicznej platformy .NET.

W poniższej tabeli wymieniono stan obsługi każdej wersji platformy .NET (i platformy .NET Core):

✔️ Obsługiwane ❌ Nieobsługiwane
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3.0
2,2
2.1
2.0
1.1
1.0

Zależności

Istnieje możliwość, że podczas instalowania platformy .NET określone zależności mogą nie być zainstalowane, na przykład podczas ręcznego instalowania. Poniższa lista zawiera szczegółowe informacje na temat dystrybucji systemu Linux obsługiwanych przez firmę Microsoft i zależności, które mogą być konieczne do zainstalowania. Aby uzyskać więcej informacji, sprawdź stronę dystrybucji:

Aby uzyskać ogólne informacje o zależnościach, zobacz Samodzielne aplikacje systemu Linux.

Zależności obr./min

Jeśli dystrybucja nie została wcześniej wymieniona i jest oparta na obr./min, może być konieczne wykonanie następujących zależności:

  • krb5-libs
  • libicu
  • openssl-libs

Jeśli docelowa wersja środowiska uruchomieniowego OpenSSL to 1.1 lub nowsza, zainstaluj program compat-openssl10.

Zależności DEB

Jeśli dystrybucja nie została wcześniej wymieniona i jest oparta na debianie, może być konieczne następujące zależności:

  • libc6
  • libgcc1
  • libgssapi-krb5-2
  • libicu67
  • libssl1.1
  • libstdc++6
  • zlib1g

Typowe zależności

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.

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

Instalacja skryptowa

Skrypty dotnet-install są używane do automatyzacji i instalacji innych niż administrator zestawu SDK i środowiska uruchomieniowego. Skrypt można pobrać z witryny https://dot.net/v1/dotnet-install.sh. Po zainstalowaniu platformy .NET w ten sposób należy zainstalować zależności wymagane przez dystrybucję systemu Linux. Użyj linków w artykule Instalowanie platformy .NET w systemie Linux dla określonej dystrybucji systemu Linux.

Ważne

Do uruchomienia skryptu jest wymagany powłoka Bash.

Skrypt można pobrać za pomocą polecenia wget:

wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh

Przed uruchomieniem tego skryptu upewnij się, że udzielono uprawnień do uruchamiania tego skryptu jako pliku wykonywalnego:

chmod +x ./dotnet-install.sh

Skrypt domyślnie instaluje najnowszą wersję zestawu SDK obsługi długoterminowej (LTS ), czyli platformę .NET 8. Aby zainstalować najnowszą wersję, która może nie być wersją (LTS), użyj parametru --version latest .

./dotnet-install.sh --version latest

Aby zainstalować środowisko uruchomieniowe platformy .NET zamiast zestawu SDK, użyj parametru --runtime .

./dotnet-install.sh --version latest --runtime aspnetcore

Możesz zainstalować określoną wersję główną z parametrem , --channel aby wskazać określoną wersję. Następujące polecenie instaluje zestaw .NET 8.0 SDK.

./dotnet-install.sh --channel 8.0

Aby uzyskać więcej informacji, zobacz dotnet-install scripts reference (Dokumentacja skryptów dotnet-install).

Aby włączyć platformę .NET w wierszu polecenia, zobacz Ustawianie zmiennych środowiskowych dla całego systemu.

Instalacja ręczna

Alternatywą dla menedżerów pakietów jest pobranie i ręczne zainstalowanie zestawu SDK i środowiska uruchomieniowego. Instalacja ręczna jest często używana w ramach ciągłego testowania integracji lub w nieobsługiwanej dystrybucji systemu Linux. W przypadku dewelopera lub użytkownika lepiej użyć menedżera pakietów.

Pobierz wersję binarną dla zestawu SDK lub środowiska uruchomieniowego z jednej z następujących witryn. Zestaw .NET SDK zawiera odpowiednie środowisko uruchomieniowe:

Wyodrębnij pobrany plik i użyj export polecenia , aby ustawić DOTNET_ROOT lokalizację wyodrębnionego folderu, a następnie upewnij się, że platforma .NET znajduje się w ścieżce . Eksportowanie DOTNET_ROOT udostępnia polecenia interfejsu wiersza polecenia platformy .NET w terminalu. Aby uzyskać więcej informacji na temat zmiennych środowiskowych platformy .NET, zobacz Zmienne środowiskowe zestawu .NET SDK i interfejsu wiersza polecenia.

Różne wersje platformy .NET można wyodrębnić do tego samego folderu, który współistnieje obok siebie.

Przykład

Następujące polecenia używają powłoki Bash, aby ustawić zmienną środowiskową DOTNET_ROOT na bieżący katalog roboczy, a następnie ..dotnet Ten katalog jest tworzony, jeśli nie istnieje. Zmienna DOTNET_FILE środowiskowa to nazwa pliku wersji binarnej platformy .NET, którą chcesz zainstalować. Ten plik jest wyodrębniany do DOTNET_ROOT katalogu. Zarówno katalog, jak DOTNET_ROOT i jego tools podkatalog są dodawane do zmiennej środowiskowej PATH .

Ważne

Jeśli uruchomisz te polecenia, pamiętaj, aby zmienić DOTNET_FILE wartość na nazwę pobranego pliku binarnego platformy .NET.

DOTNET_FILE=dotnet-sdk-8.0.100-linux-x64.tar.gz
export DOTNET_ROOT=$(pwd)/.dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools

W tym samym folderze można zainstalować więcej niż jedną wersję platformy .NET.

Możesz również zainstalować platformę .NET w katalogu głównym zidentyfikowanym przez zmienną lub ~ ścieżkęHOME:

export DOTNET_ROOT=$HOME/.dotnet

Weryfikowanie pobranych plików binarnych

Po pobraniu instalatora sprawdź, czy plik nie został zmieniony ani uszkodzony. Możesz sprawdzić sumę kontrolną na komputerze, a następnie porównać ją z raportami w witrynie internetowej pobierania.

Po pobraniu instalatora lub pliku binarnego z oficjalnej strony pobierania zostanie wyświetlona suma kontrolna pliku. Wybierz przycisk Kopiuj, aby skopiować wartość sumy kontrolnej do schowka.

The .NET download page with checksum

sha512sum Użyj polecenia , aby wyświetlić sumę kontrolną pobranego pliku. Na przykład następujące polecenie zgłasza sumę kontrolną pliku dotnet-sdk-8.0.100-linux-x64.tar.gz :

$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5  dotnet-sdk-8.0.100-linux-x64.tar.gz

Porównaj sumę kontrolną z wartością podaną przez witrynę pobierania.

Ważne

Mimo że plik systemu Linux jest pokazany w tych przykładach, te informacje są jednakowo stosowane do systemu macOS.

Sprawdzanie poprawności przy użyciu pliku sumy kontrolnej

Informacje o wersji platformy .NET zawierają link do pliku sumy kontrolnej, którego można użyć do zweryfikowania pobranego pliku. W poniższych krokach opisano sposób pobierania pliku sumy kontrolnej i weryfikowania pliku binarnego instalacji platformy .NET:

  1. Strona informacji o wersji dla platformy .NET 8 w witrynie GitHub zawiera https://github.com/dotnet/core/tree/main/release-notes/8.0 sekcję o nazwie Wydania. Tabela w tej sekcji zawiera linki do plików pobierania i sumy kontrolnej dla każdej wersji platformy .NET 8:

    The github release notes version table for .NET

  2. Wybierz link dla pobranej wersji platformy .NET. W poprzedniej sekcji użyto zestawu .NET SDK 8.0.100, który znajduje się w wersji .NET 8.0.0.

  3. Na stronie wydania zobaczysz wersję środowiska uruchomieniowego platformy .NET i zestawu .NET SDK oraz link do pliku sumy kontrolnej:

    The download table with checksums for .NET

  4. Skopiuj link do pliku sumy kontrolnej.

  5. Użyj następującego skryptu, ale zastąp link, aby pobrać odpowiedni plik sumy kontrolnej:

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. W przypadku zarówno pliku sumy kontrolnej, jak i pliku wydania platformy .NET pobranego do tego samego katalogu, użyj sha512sum -c {file} --ignore-missing polecenia , aby zweryfikować pobrany plik.

    Po pomyślnym zakończeniu walidacji zostanie wyświetlony plik wydrukowany ze stanem OK :

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
    

    Jeśli zobaczysz plik oznaczony jako NIEPOWODZENIE, pobrany plik nie jest prawidłowy i nie powinien być używany.

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
    sha512sum: WARNING: 1 computed checksum did NOT match
    sha512sum: 8.0.0-sha.txt: no file was verified
    

Ustawianie zmiennych środowiskowych dla całego systemu

Jeśli użyto poprzedniego skryptu instalacji, zmienne ustawione dotyczą tylko bieżącej sesji terminalu. Dodaj je do profilu powłoki. Istnieje wiele różnych powłok dostępnych dla systemu Linux i każdy z nich ma inny profil. Na przykład:

  • Powłoka Bash: ~/.bash_profile lub ~/.bashrc
  • Korn Shell: ~/.kshrc lub .profile
  • Powłoka Z: ~/.zshrc lub .zprofile

Ustaw następujące dwie zmienne środowiskowe w profilu powłoki:

  • DOTNET_ROOT

    Ta zmienna jest ustawiona na folder .NET, na który został zainstalowany, na przykład $HOME/.dotnet:

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Ta zmienna powinna zawierać zarówno folder, jak DOTNET_ROOTDOTNET_ROOT/tools i folder:

    export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
    

Następne kroki