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


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

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

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

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

Выпуски .NET

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

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

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

Зависимости

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

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

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

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

  • krb5-libs
  • libicu
  • opensl-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. Используйте ссылки в статье "Установка .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

Скрипт по умолчанию используется для установки последней долгосрочной версии пакета SDK (LTS), которая является .NET 8. Чтобы установить последний выпуск, который может не быть версией 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 CLI, см. обзор .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.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

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

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

export DOTNET_ROOT=$HOME/.dotnet

Чтобы узнать, как использовать .NET CLI, см. обзор .NET CLI.

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

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

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

Страница загрузки .NET с контрольной суммой

sha512sum Используйте команду для печати контрольной суммы скачаемого файла. Например, следующая команда сообщает контрольную сумму файла 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

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

Это важно

Несмотря на то, что файл Linux показан в этих примерах, эта информация одинаково применяется к macOS.

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

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

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

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

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

    Предыдущий раздел использовал пакет SDK для .NET 8.0.100, который находится в выпуске .NET 8.0.0.

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

    Таблица загрузок с контрольными суммами для .NET

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

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

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

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

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

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

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

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

    $ 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
    

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

Если вы использовали предыдущий сценарий установки, переменные применяются только к текущему сеансу терминала. Добавьте их в конфигурацию оболочки. Существует множество различных оболочков, доступных для 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
    

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