Установка .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):

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

Зависимости

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

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

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

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

  • krb5-libs
  • libicu
  • openssl-libs

Если целевая среда выполнения OpenSSL версии 1.1 или более поздней, установите compat-openssl10.

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

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

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

Общие зависимости

Если приложение .NET использует сборку System.Drawing.Common , необходимо также установить libgdiplus. Так как System.Drawing.Common больше не поддерживается в Linux, это работает только в .NET 6 и требует установки System.Drawing.EnableUnixSupport параметра конфигурации среды выполнения.

Как правило, можно установить последнюю версию libgdiplus , добавив репозиторий Mono в систему.

Установка с помощью сценария

Сценарии 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

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

chmod +x ./dotnet-install.sh

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

./dotnet-install.sh --version latest

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

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

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

./dotnet-install.sh --channel 8.0

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

Сведения о включении .NET в командной строке см. в разделе "Настройка переменных среды на всей системе".

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

В качестве альтернативы диспетчерам пакетов можно скачать и вручную установить пакет 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 переменную среды добавляются PATH каталог и его tools подкаталог.

Внимание

При выполнении этих команд не забудьте изменить DOTNET_FILE значение на имя загруженного двоичного файла .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

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

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

export DOTNET_ROOT=$HOME/.dotnet

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

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

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

The .NET download page with checksum

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

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

Внимание

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

Использование файла проверка sum для проверки

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

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

    The github release notes version table for .NET

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

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

    The download table with checksums for .NET

  4. Скопируйте ссылку на файл проверка sum.

  5. Используйте следующий скрипт, но замените ссылку, чтобы скачать соответствующий файл проверка sum:

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. С проверка суммом файлом и файлом выпуска .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
    

Следующие шаги