dotnet-install scripts reference (Dokumentacja skryptów dotnet-install)

Nazwisko

dotnet-install.ps1 | dotnet-install.sh — Skrypt służący do instalowania zestawu .NET SDK i środowiska uruchomieniowego udostępnionego.

Streszczenie

Windows:

dotnet-install.ps1 [-Architecture <ARCHITECTURE>] [-AzureFeed]
    [-Channel <CHANNEL>] [-DryRun] [-FeedCredential]
    [-InstallDir <DIRECTORY>] [-JSonFile <JSONFILE>]
    [-NoCdn] [-NoPath] [-ProxyAddress] [-ProxyBypassList <LIST_OF_URLS>]
    [-ProxyUseDefaultCredentials] [-Quality <QUALITY>] [-Runtime <RUNTIME>]
    [-SkipNonVersionedFiles] [-UncachedFeed] [-KeepZip] [-ZipPath <PATH>] [-Verbose]
    [-Version <VERSION>]

Get-Help ./dotnet-install.ps1

Linux/macOS:

dotnet-install.sh  [--architecture <ARCHITECTURE>] [--azure-feed]
    [--channel <CHANNEL>] [--dry-run] [--feed-credential]
    [--install-dir <DIRECTORY>] [--jsonfile <JSONFILE>]
    [--no-cdn] [--no-path] [--quality <QUALITY>]
    [--runtime <RUNTIME>] [--runtime-id <RID>]
    [--skip-non-versioned-files] [--uncached-feed] [--keep-zip] [--zip-path <PATH>] [--verbose]
    [--version <VERSION>]

dotnet-install.sh --help

Skrypt powłoki bash odczytuje również przełączniki programu PowerShell, dzięki czemu można używać przełączników programu PowerShell ze skryptem w systemach Linux/macOS.

opis

Skrypty dotnet-install wykonują instalację zestawu SDK platformy .NET, która obejmuje interfejs wiersza polecenia platformy .NET i środowisko uruchomieniowe udostępnione. Istnieją dwa skrypty:

Uwaga

Platforma .NET zbiera dane telemetryczne. Aby dowiedzieć się więcej i jak zrezygnować, zobacz Telemetria zestawu .NET SDK.

Purpose

Przeznaczenie skryptów dotyczy scenariuszy ciągłej integracji (CI), w których:

  • Zestaw SDK należy zainstalować bez interakcji z użytkownikiem i bez uprawnień administratora.

  • Instalacja zestawu SDK nie musi być utrwalana w wielu przebiegach ciągłej integracji.

    Typowa sekwencja zdarzeń:

    • Ciągła integracja jest wyzwalana.
    • Ciągła integracja instaluje zestaw SDK przy użyciu jednego z tych skryptów.
    • Ciągła integracja kończy pracę i czyści tymczasowe dane, w tym instalację zestawu SDK.

Aby skonfigurować środowisko programistyczne lub uruchamiać aplikacje, użyj instalatorów, a nie tych skryptów.

Zalecamy używanie stabilnej wersji skryptów:

Źródło skryptów znajduje się w repozytorium GitHub dotnet/install-scripts .

Zachowanie skryptu

Oba skrypty mają takie samo zachowanie. Pobierają plik ZIP/tarball ze zrzutów kompilacji interfejsu wiersza polecenia i kontynuują instalację w lokalizacji domyślnej lub w lokalizacji określonej przez -InstallDir|--install-dir.

Domyślnie skrypty instalacyjne pobierają zestaw SDK i instalują go. Jeśli chcesz uzyskać tylko środowisko uruchomieniowe udostępnione, określ -Runtime|--runtime argument .

Domyślnie skrypt dodaje lokalizację instalacji do $PATH dla bieżącej sesji. Zastąpi to domyślne zachowanie, określając -NoPath|--no-path argument. Skrypt nie ustawia zmiennej środowiskowej DOTNET_ROOT .

Ważne

Skrypt nie dodaje lokalizacji instalacji do zmiennej środowiskowej użytkownika PATH . Należy dodać ją ręcznie.

Przed uruchomieniem skryptu zainstaluj wymagane zależności.

Określoną wersję można zainstalować przy użyciu argumentu -Version|--version . Wersja musi być określona jako trzyczęściowy numer wersji, taki jak 2.1.0. Jeśli wersja nie zostanie określona, skrypt zainstaluje latest wersję.

Skrypty instalacji nie aktualizują rejestru w systemie Windows. Po prostu pobierają spakowane pliki binarne i kopiują je do folderu. Jeśli chcesz zaktualizować wartości kluczy rejestru, użyj instalatorów platformy .NET.

Opcje

  • -Architecture|--architecture <ARCHITECTURE>

    Architektura plików binarnych platformy .NET do zainstalowania. Możliwe wartości to <auto>, , amd64, x86x64armarm64, s390xi .ppc64le Wartość domyślna to <auto>, która reprezentuje obecnie uruchomioną architekturę systemu operacyjnego.

  • -AzureFeed|--azure-feed

    Tylko do użytku wewnętrznego. Umożliwia korzystanie z innego magazynu do pobierania archiwów zestawu SDK. Ten parametr jest używany tylko wtedy, gdy --no-cdn ma wartość false. Wartość domyślna to https://dotnetcli.azureedge.net/dotnet.

  • -Channel|--channel <CHANNEL>

    Określa kanał źródłowy instalacji. Możliwe wartości to:

    • STS: najnowsza wersja standardowego wsparcia terminowego.
    • LTS: najnowsza długoterminowa wersja pomocy technicznej.
    • Dwuczęściowa wersja w formacie A.B reprezentująca określoną wersję (na przykład 3.1 lub 8.0).
    • Trzyczęściowa wersja w formacie A.B.Cxx reprezentująca określoną wersję zestawu SDK (na przykład 8.0.1xx lub 8.0.2xx). Dostępne od wersji 5.0.

    version Parametr zastępuje channel parametr, gdy jest używana dowolna wersja inna niż latest jest używana.

    Domyślna wartość to LTS. Aby uzyskać więcej informacji na temat kanałów pomocy technicznej platformy .NET, zobacz stronę Zasady pomocy technicznej platformy .NET.

  • -DryRun|--dry-run

    W przypadku ustawienia skrypt nie wykona instalacji. Zamiast tego wyświetla wiersz polecenia używany do spójnego instalowania aktualnie żądanej wersji interfejsu wiersza polecenia platformy .NET. Jeśli na przykład określisz wersję latest, zostanie wyświetlony link z określoną wersją, aby można było użyć tego polecenia deterministycznie w skrycie kompilacji. Wyświetla również lokalizację pliku binarnego, jeśli wolisz go zainstalować lub pobrać samodzielnie.

  • -FeedCredential|--feed-credential

    Służy jako ciąg zapytania do dołączania do źródła danych platformy Azure. Umożliwia zmianę adresu URL na używanie kont magazynu obiektów blob innych niż publiczne.

  • --help

    Drukuje pomoc dotyczącą skryptu. Dotyczy tylko skryptu powłoki bash. W przypadku programu PowerShell użyj polecenia Get-Help ./dotnet-install.ps1.

  • -InstallDir|--install-dir <DIRECTORY>

    Określa ścieżkę instalacji. Katalog zostanie utworzony, jeśli nie istnieje. Wartość domyślna to %LocalAppData%\Microsoft\dotnet w systemie Windows i $HOME/.dotnet w systemie Linux/macOS. Pliki binarne są umieszczane bezpośrednio w tym katalogu.

  • -JSonFile|--jsonfile <JSONFILE>

    Określa ścieżkę do pliku global.json , który będzie używany do określania wersji zestawu SDK. Plik global.json musi mieć wartość .sdk:version

  • -NoCdn|--no-cdn

    Wyłącza pobieranie z usługi Azure Content Delivery Network (CDN) i korzysta bezpośrednio z niecachedowanego źródła danych.

  • -NoPath|--no-path

    W przypadku ustawienia folder instalacyjny nie zostanie wyeksportowany do ścieżki bieżącej sesji. Domyślnie skrypt modyfikuje ścieżkę, dzięki czemu interfejs wiersza polecenia platformy .NET jest dostępny natychmiast po zainstalowaniu.

  • -ProxyAddress

    W przypadku ustawienia instalator używa serwera proxy podczas wykonywania żądań internetowych. (Tylko prawidłowe dla systemu Windows).

  • -ProxyBypassList <LIST_OF_URLS>

    Jeśli ustawiono wartość z parametrem ProxyAddress, zawiera listę adresów URL rozdzielanych przecinkami, które będą pomijać serwer proxy. (Tylko prawidłowe dla systemu Windows).

  • -ProxyUseDefaultCredentials

    W przypadku ustawienia instalator używa poświadczeń bieżącego użytkownika podczas korzystania z adresu serwera proxy. (Tylko prawidłowe dla systemu Windows).

  • -Quality|--quality <QUALITY>

    Pobiera najnowszą kompilację określonej jakości w kanale. Możliwe wartości to: daily, , signedvalidated, preview, i GA. Większość użytkowników powinna używać dailycech , previewlub GA .

    Różne wartości jakości sygnalizuje różne etapy procesu wydania zainstalowanego zestawu SDK lub środowiska uruchomieniowego.

    • daily: najnowsze kompilacje zestawu SDK lub środowiska uruchomieniowego. Są one tworzone codziennie i nie są testowane. Nie są one zalecane do użytku produkcyjnego, ale często mogą być używane do testowania określonych funkcji lub poprawek natychmiast po ich scaleniu z produktem. Te kompilacje pochodzą z dotnet/installer repozytorium, więc jeśli szukasz poprawek, dotnet/sdk musisz poczekać na przepływ kodu i scalić go z zestawu SDK do Instalatora, zanim pojawi się w codziennej kompilacji.
    • signed: kompilacje podpisane przez firmę Microsoft, które nie są weryfikowane ani udostępniane publicznie. Podpisane kompilacje są kandydatami do weryfikacji, wersji zapoznawczej i ogólnie dostępnej wersji. Ten poziom jakości nie jest przeznaczony do użytku publicznego.
    • validated: Kompilacje, które miały na nich wykonane testy wewnętrzne, ale nie zostały jeszcze wydane jako wersja zapoznawcza lub ogólnie dostępna. Ten poziom jakości nie jest przeznaczony do użytku publicznego.
    • preview: miesięczne publiczne wydania następnej wersji platformy .NET przeznaczonej do użytku publicznego. Nie zaleca się używania w środowisku produkcyjnym. Ma na celu umożliwienie użytkownikom eksperymentowania i testowania nowej wersji głównej przed wydaniem.
    • GA: ostateczne stabilne wersje zestawu .NET SDK i środowiska uruchomieniowego. Przeznaczone do użytku publicznego, a także do obsługi produkcyjnej.

    Opcja --quality działa tylko w połączeniu z elementem --channel, ale nie ma zastosowania do STS kanałów i LTS i zostanie zignorowana, jeśli jeden z tych kanałów jest używany.

    W przypadku instalacji zestawu SDK użyj channel wartości, która jest w formacie lub A.B.Cxx .A.B W przypadku instalacji środowiska uruchomieniowego użyj channel formatu A.B .

    Nie używaj parametrów version i .quality Po quality określeniu skrypt określa właściwą wersję samodzielnie.

    Dostępne od wersji 5.0.

  • -Runtime|--runtime <RUNTIME>

    Instaluje tylko środowisko uruchomieniowe udostępnione, a nie cały zestaw SDK. Możliwe wartości to:

    • dotnetMicrosoft.NETCore.App: udostępnione środowisko uruchomieniowe.
    • aspnetcoreMicrosoft.AspNetCore.App: udostępnione środowisko uruchomieniowe.
    • windowsdesktop Udostępnione Microsoft.WindowsDesktop.App środowisko uruchomieniowe.
  • --os <OPERATING_SYSTEM>

    Określa system operacyjny, dla którego są instalowane narzędzia. Możliwe wartości to: osx, , linuxmacos, linux-musl, freebsd.

    Parametr jest opcjonalny i powinien być używany tylko wtedy, gdy jest wymagany do zastąpienia systemu operacyjnego wykrytego przez skrypt.

  • -SharedRuntime|--shared-runtime

    Uwaga

    Ten parametr jest przestarzały i może zostać usunięty w przyszłej wersji skryptu. Zalecaną alternatywą -Runtime|--runtime jest opcja.

    Instaluje tylko bity środowiska uruchomieniowego udostępnionego, a nie całego zestawu SDK. Ta opcja jest równoważna określeniu -Runtime|--runtime dotnetelementu .

  • -SkipNonVersionedFiles|--skip-non-versioned-files

    Pomija instalowanie plików innych niż wersje, takich jak dotnet.exe, jeśli już istnieją.

  • -UncachedFeed|--uncached-feed

    Tylko do użytku wewnętrznego. Umożliwia korzystanie z innego magazynu do pobierania archiwów zestawu SDK. Ten parametr jest używany tylko wtedy, gdy wartość --no-cdn ma wartość true.

  • -KeepZip|--keep-zip

    W przypadku ustawienia pobrane archiwum zestawu SDK jest przechowywane po instalacji.

  • -ZipPath|--zip-path <PATH>

W przypadku ustawienia pobrane archiwum zestawu SDK jest przechowywane w określonej ścieżce.

  • -Verbose|--verbose

    Wyświetla informacje diagnostyczne.

  • -Version|--version <VERSION>

    Reprezentuje określoną wersję kompilacji. Możliwe wartości to:

    • latest: najnowsza kompilacja w kanale (używana z opcją -Channel ).
    • Trzyczęściowa wersja w formacie X.Y.Z reprezentująca określoną wersję kompilacji; -Channel zastępuje opcję . Na przykład: 2.0.0-preview2-006120.

    Jeśli nie zostanie określony, -Version wartość domyślna to latest.

Przykłady

  • Zainstaluj najnowszą wersję obsługiwaną długoterminową (LTS) do lokalizacji domyślnej:

    Windows:

    ./dotnet-install.ps1 -Channel LTS
    

    macOS/Linux:

    ./dotnet-install.sh --channel LTS
    
  • Zainstaluj najnowszą wersję zapoznawcza zestawu SDK 6.0.1xx do określonej lokalizacji:

    Windows:

    ./dotnet-install.ps1 -Channel 6.0.1xx -Quality preview -InstallDir C:\cli
    

    macOS/Linux:

    ./dotnet-install.sh --channel 6.0.1xx --quality preview --install-dir ~/cli
    
  • Zainstaluj wersję środowiska uruchomieniowego udostępnionego w wersji 6.0.0:

    Windows:

    ./dotnet-install.ps1 -Runtime dotnet -Version 6.0.0
    

    macOS/Linux:

    ./dotnet-install.sh --runtime dotnet --version 6.0.0
    
  • Uzyskaj skrypt i zainstaluj wersję 6.0.2 za firmowym serwerem proxy (tylko system Windows):

    Invoke-WebRequest 'https://dot.net/v1/dotnet-install.ps1' -Proxy $env:HTTP_PROXY -ProxyUseDefaultCredentials -OutFile 'dotnet-install.ps1';
    ./dotnet-install.ps1 -InstallDir '~/.dotnet' -Version '6.0.2' -Runtime 'dotnet' -ProxyAddress $env:HTTP_PROXY -ProxyUseDefaultCredentials;
    
  • Uzyskaj skrypt i zainstaluj przykłady jednego wiersza polecenia platformy .NET:

    Windows:

    # Run a separate PowerShell process because the script calls exit, so it will end the current PowerShell session.
    &powershell -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -UseBasicParsing 'https://dot.net/v1/dotnet-install.ps1'))) <additional install-script args>"
    

    macOS/Linux:

    curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin <additional install-script args>
    

Ustawianie zmiennych środowiskowych

Ręczne instalowanie platformy .NET nie powoduje dodania zmiennych środowiskowych dla całego systemu i ogólnie działa tylko dla sesji, w której zainstalowano platformę .NET. Istnieją dwie zmienne środowiskowe, które należy ustawić dla systemu operacyjnego:

  • DOTNET_ROOT

    Ta zmienna jest ustawiona na folder .NET został zainstalowany, na przykład $HOME/.dotnet dla systemów Linux i macOS oraz $HOME\.dotnet w programie PowerShell dla systemu Windows.

  • PATH

    Ta zmienna powinna zawierać zarówno folder, jak DOTNET_ROOT i folder .dotnet/tools użytkownika. Ogólnie jest $HOME/.dotnet/tools to w systemach Linux i macOS oraz $HOME\.dotnet\tools w programie PowerShell w systemie Windows.

Napiwek

W przypadku systemów Linux i macOS użyj echo polecenia , aby ustawić zmienne w profilu powłoki, takie jak bashrc:

echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.bashrc

Odinstaluj program

Nie ma skryptu odinstalowywania. Aby uzyskać informacje na temat ręcznego odinstalowywania platformy .NET, zobacz Jak usunąć środowisko uruchomieniowe platformy .NET i zestaw SDK.

Walidacja podpisu dotnet-install.sh

Walidacja podpisu to ważna miara zabezpieczeń, która pomaga zapewnić autentyczność i integralność skryptu. Sprawdzając podpis skryptu, możesz mieć pewność, że nie został on naruszony i pochodzi z zaufanego źródła.

Oto szczegółowy przewodnik dotyczący weryfikowania autentyczności skryptu dotnet-install.sh przy użyciu grupy zasad grupy:

  1. Instalowanie gpG: GPG (GNU Privacy Guard) to bezpłatne narzędzie typu open source do szyfrowania i podpisywania danych. Można go zainstalować, postępując zgodnie z instrukcjami w witrynie internetowej grupy zasad grupy.
  2. Zaimportuj klucz publiczny: pobierz plik klucza publicznego install-scripts, a następnie zaimportuj go do klucza gpG, uruchamiając polecenie gpg --import dotnet-install.asc.
  3. Pobierz plik podpisu: plik podpisu dla naszego skryptu powłoki bash jest dostępny pod adresem https://dot.net/v1/dotnet-install.sig. Możesz go pobrać przy użyciu narzędzia takiego jak wget lub curl.
  4. Sprawdź podpis: Aby zweryfikować podpis skryptu powłoki bash, uruchom polecenie gpg --verify dotnet-install.sig dotnet-install.sh. Spowoduje to sprawdzenie podpisu dotnet-install.sh pliku względem podpisu w dotnet-install.sig pliku.
  5. Sprawdź wynik: jeśli podpis jest prawidłowy, zostanie wyświetlony komunikat zawierający Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>". Oznacza to, że skrypt nie został naruszony i może być zaufany.

Przygotowywanie środowiska

Instalowanie grupy zasad grupy i importowanie klucza publicznego jest jednorazową operacją.

sudo apt install gpg
wget https://dot.net/v1/dotnet-install.asc
gpg --import dotnet-install.asc

Po pomyślnym zakończeniu powinny zostać wyświetlone dane wyjściowe podobne do następujących:

gpg: directory '/home/<user>/.gnupg' created
gpg: keybox '/home/<user>/.gnupg/pubring.kbx' created
gpg: /home/<user>/.gnupg/trustdb.gpg: trustdb created
gpg: key B9CF1A51FC7D3ACF: public key "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Pobieranie i weryfikacja

Zaimportowany klucz umożliwia teraz pobranie skryptu i podpisu, a następnie sprawdzenie, czy skrypt jest zgodny z podpisem:

wget https://dot.net/v1/dotnet-install.sh
wget https://dot.net/v1/dotnet-install.sig
gpg --verify dotnet-install.sig dotnet-install.sh

Po pomyślnym zakończeniu powinny zostać wyświetlone dane wyjściowe podobne do następujących:

gpg: Signature made <datetime>
gpg:                using RSA key B9CF1A51FC7D3ACF
gpg: Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2B93 0AB1 228D 11D5 D7F6  B6AC B9CF 1A51 FC7D 3ACF

Ostrzeżenie oznacza, że nie ufasz kluczowi publicznemu w kluczu kluczy, ale skrypt jest nadal weryfikowany. Kod zakończenia zwrócony przez polecenie weryfikacji powinien wskazywać 0powodzenie.

Zobacz też