Поделиться через


Установка .NET в Linux с помощью скрипта установки или извлечения двоичных файлов

В этой статье показано, как установить пакет SDK .NET или среду выполнения .NET в Linux с помощью скрипта установки или извлечения двоичных файлов. Список дистрибутивов, поддерживающих встроенный диспетчер пакетов, см. в разделе Install .NET в Linux.

Установите пакет SDK (который включает среду выполнения), если вы хотите разрабатывать .NET приложения. Если нужно просто запустить приложения, установите среду выполнения. Если вы устанавливаете среду выполнения, мы рекомендуем установить среду выполнения ASP.NET Core runtime так как она включает как .NET, так и ASP.NET Core среды выполнения.

Используйте команды dotnet --list-sdks и dotnet --list-runtimes, чтобы узнать, какие версии установлены. Дополнительные сведения см. в разделе Как проверить, что .NET уже установлен.

выпуски .NET

Существует два типа поддерживаемых выпусков: долгосрочная поддержка (LTS) и стандартная поддержка (STS). Качество всех выпусков одинаковое. Единственное различие заключается в продолжительности поддержки. Выпуски LTS получают бесплатную поддержку и исправления в течение трех лет. Выпуски STS получают бесплатную поддержку и исправления в течение двух лет. Дополнительные сведения см. в разделе .NET Политика поддержки.

В следующей таблице перечислены сведения о состоянии поддержки каждой версии .NET (и .NET Core):

✔️ Поддерживается ❌ Вне поддержки
10 (LTS) 7
9 (STS) 6
8 (LTS) 5
3.1
3.0
2,2
2.1
2.0
1.1
1.0

Зависимости

Возможно, при установке .NET определенные зависимости могут не устанавливаться, например при установке мануально. В следующем списке описаны дистрибутивы Linux, поддерживаемые корпорацией Майкрософт и имеющие зависимости, которые могут потребоваться установить. Дополнительные сведения см. на странице распространения:

Общие сведения о зависимостях см. в разделе " Автономные приложения Linux".

Зависимости RPM

В случае, если ваш дистрибутив не был указан ранее и является дистрибутивом на базе RPM, могут потребоваться следующие зависимости:

  • glibc
  • libgcc
  • сертификаты удостоверяющего центра
  • opensl-libs
  • libstdc++
  • libicu
  • tzdata
  • krb5-libs

Зависимости DEB

Если дистрибутив не был указан ранее и основан на debian, может потребоваться следующие зависимости:

  • libc6
  • libgcc1
  • libgssapi-krb5-2
  • libicu70
  • libssl3
  • libstdc++6
  • zlib1g

Установка скриптов

Скрипты dotnet-install используются для автоматизации и неадминистраторных установок пакета SDK и среды выполнения. Скрипт можно скачать из https://dot.net/v1/dotnet-install.sh. При установке .NET таким образом необходимо установить зависимости, необходимые дистрибутиву Linux. Используйте ссылки в статье Install .NET в Linux для конкретного дистрибутива Linux.

Это важно

Для запуска скрипта требуется Bash.

Скрипт можно скачать с помощью wget:

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

Или с curl:

curl -L https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh

Перед выполнением этого скрипта убедитесь, что вы предоставьте этому скрипту разрешение на выполнение в качестве исполняемого файла:

chmod +x ./dotnet-install.sh

Скрипт по умолчанию устанавливает последнюю версию LTS SDK, которая является .NET 10. Чтобы установить последний выпуск, который может не быть версией LTS, используйте --version latest этот параметр.

./dotnet-install.sh --version latest

Чтобы установить среду выполнения .NET вместо пакета SDK, используйте параметр --runtime.

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

Можно установить определенную основную версию с параметром --channel , чтобы указать определенную версию. Следующая команда устанавливает пакет SDK .NET 9.0.

./dotnet-install.sh --channel 9.0

Дополнительные сведения см. в справочнике по скриптам dotnet-install.

Чтобы включить .NET в командной строке, см. раздел Установка переменных среды на уровне системы.

Сведения об использовании интерфейса командной строки .NET см. в статье .NET CLI.

Установка вручную

В качестве альтернативы диспетчерам пакетов можно скачать и вручную установить пакет SDK и среду выполнения. Установка вручную обычно используется в рамках непрерывного тестирования интеграции или в неподдерживаемом дистрибутиве Linux. Для разработчика или пользователя лучше использовать диспетчер пакетов.

Скачайте двоичный релиз для SDK или исполняемой среды с одного из следующих сайтов. Пакет SDK .NET включает соответствующую среду выполнения:

Извлеките скачанный файл и используйте команду export, чтобы задать DOTNET_ROOT расположение извлеченной папки, а затем убедитесь, что .NET находится в PATH. Экспорт DOTNET_ROOT делает команды .NET CLI доступными в терминале. Дополнительные сведения о переменных среды .NET см. в разделе .NET sdk и переменных среды CLI.

Различные версии .NET можно извлечь в одну и ту же папку, которая сосуществует параллельно.

Пример

Следующие команды используют Bash для задания переменной DOTNET_ROOT среды текущего рабочего каталога, за которым следует .dotnet. Этот каталог создается, если он не существует. Переменная среды DOTNET_FILE — это имя файла .NET двоичного выпуска, который требуется установить. Этот файл извлекается в DOTNET_ROOT каталог. Добавляются каталог DOTNET_ROOT и его подкаталог tools в переменную среды PATH.

Это важно

При выполнении этих команд не забудьте изменить значение DOTNET_FILE на имя загруженного двоичного файла .NET.

DOTNET_FILE=dotnet-sdk-9.0.306-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

В одной папке можно установить несколько версий .NET.

Вы также можете установить .NET в домашний каталог, определенный переменной HOME или путем ~.

export DOTNET_ROOT=$HOME/.dotnet

Сведения об использовании интерфейса командной строки .NET см. в статье .NET CLI.

Проверка скачанных двоичных файлов

После скачивания установщика или двоичного выпуска убедитесь, что файл не был изменен или поврежден. Вы можете проверить контрольную сумму на компьютере, а затем сравнить ее с тем, что было сообщено на веб-сайте скачивания.

При скачивании файла с официальной страницы скачивания контрольная сумма для файла отображается в текстовом поле. Нажмите кнопку Копировать, чтобы скопировать значение контрольной суммы в буфер обмена.

 Страница скачивания .NET с контрольной суммой

sha512sum Используйте команду для печати контрольной суммы скачаемого файла. Например, следующая команда сообщает контрольную сумму файла dotnet-sdk-9.0.306-linux-x64.tar.gz :

$ sha512sum dotnet-sdk-9.0.306-linux-x64.tar.gz
bbb6bdc3c8048e7cc189759b406257839e7d4bd6b8b1ba4bcdaeea8f92340e6855231043dd73f902130ca5357af72b810bb51a4da4d1315a2927ff85f831f1d5  dotnet-sdk-9.0.306-linux-x64.tar.gz

Сравните контрольную сумму со значением, предоставленным сайтом скачивания.

Используйте файл контрольной суммы для проверки

Заметки о выпуске .NET содержат ссылку на файл с контрольной суммой, который можно использовать для проверки скачанного файла. Ниже описано, как скачать файл контрольной суммы и валидировать двоичный файл установки .NET.

  1. Страница заметок о выпуске .NET 9 на GitHub в https://github.com/dotnet/core/tree/main/release-notes/9.0#releases содержит раздел с именем Releases. Таблица в этом разделе ссылается на файлы загрузки и контрольные суммы для каждого выпуска .NET 9. На следующем рисунке показана таблица выпуска .NET 8 в качестве ссылки:

    Таблица версий примечаний к выпуску для GitHub в .NET

  2. Выберите ссылку для версии .NET, которую вы скачали.

    В предыдущем разделе используется пакет SDK .NET 9.0.306, который находится в выпуске .NET 9.0.10.

  3. На странице выпуска вы можете увидеть версию среды выполнения .NET и версию пакета SDK для .NET, а также ссылку на файл контрольной суммы. На следующем рисунке показана таблица выпуска .NET 8 в качестве ссылки:

     Скачать таблицу с контрольными суммами для .NET

  4. Щелкните правой кнопкой мыши ссылку "Контрольная сумма " и скопируйте ее в буфер обмена.

  5. Откройте терминал.

  6. Используйте curl -O {link} для загрузки файла контрольной суммы.

    Замените ссылку в следующей команде на скопированную ссылку.

    curl -O https://builds.dotnet.microsoft.com/dotnet/checksums/9.0.10-sha.txt
    
  7. Имея файл контрольной суммы и файл релиза .NET, скачанные в тот же каталог, используйте команду sha512sum -c {file} --ignore-missing для проверки скачанных файлов.

    При прохождении проверки вы увидите файл, напечатанный с состоянием OK :

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

    Если файл помечен как FAILED, скачанный файл недействителен и не должен использоваться.

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

Настройка системных переменных среды

Если вы использовали предыдущий сценарий установки, переменные применяются только к текущему сеансу терминала. Добавьте их в конфигурацию оболочки. Существует множество различных оболочков, доступных для Linux, и каждый из них имеет другой профиль. Рассмотрим пример.

  • Оболочка Bash: ~/.bash_profile или ~/.bashrc
  • Оболочка Korn: ~/.kshrc или .profile
  • Оболочка Z: ~/.zshrc или .zprofile

Задайте следующие две переменные среды в профиле оболочки:

  • DOTNET_ROOT

    Эта переменная установлена в папку .NET, например $HOME/.dotnet:

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Эта переменная должна включать как папку, DOTNET_ROOT так и папку DOTNET_ROOT/tools :

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

Дальнейшие шаги