Установка пакета SDK для .NET или среды выполнения .NET в RHEL и CentOS Stream

Внимание

.NET 8 выпущен 14 ноября 2023 года. Может потребоваться время, чтобы пакеты отображались в веб-каналах диспетчера пакетов.

.NET поддерживается в операционной системе Red Hat Enterprise Linux (RHEL). В этой статье описывается установка .NET в RHEL и CentOS Stream.

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

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

Регистрация подписки Red Hat

Чтобы установить .NET из Red Hat в RHEL, сначала нужно зарегистрироваться с помощью диспетчера подписки Red Hat. Если это еще не сделано в вашей системе либо вы точно не уверены, ознакомьтесь с документацией по продукту Red Hat для .NET.

Внимание

Это не относится к Потоку CentOS.

Поддерживаемые дистрибутивы

В следующей таблице приведен список поддерживаемых в настоящее время выпусков .NET в RHEL и CentOS Stream. Эти версии остаются поддерживаемыми до тех пор, пока версия .NET не будет завершена или дистрибутив Linux больше не поддерживается.

Распределение .NET
RHEL 9 (9.1) 8, 7, 6
RHEL 8 (8.7) 8, 7, 6
RHEL 7 6
CentOS Stream 9 8, 7, 6
CentOS Stream 8 8, 7, 6

Следующие версии .NET больше не поддерживаются (❌).

  • .NET 5
  • .NET Core 3.1.
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0;

Установка предварительных версий

Предварительные версии и выпуски версии .NET недоступны в репозиториях пакетов. Предварительные версии и кандидаты .NET можно установить одним из следующих способов:

Удалите предварительные версии

При использовании диспетчера пакетов для управления установкой .NET вы можете столкнуться с конфликтом, если ранее вы установили предварительную версию. Диспетчер пакетов может интерпретировать выпуск, не являющийся предварительной версией, в качестве более ранней версии .NET. Чтобы установить выпуск, не относящийся к предварительной версии, сначала удалите предварительные версии. Дополнительные сведения об удалении .NET см. в разделе Удаление среды выполнения .NET и пакета SDK.

RHEL 9

.NET входит в репозитории AppStream для RHEL 9.

Внимание

.NET 8 выпущен 14 ноября 2023 года. Может потребоваться время, чтобы пакеты отображались в веб-каналах диспетчера пакетов.

Установка пакета SDK

Пакет SDK для .NET позволяет разрабатывать приложения с помощью .NET. При установке пакета SDK для .NET не нужно устанавливать соответствующую среду выполнения. Чтобы установить пакет SDK для .NET, выполните приведенную ниже команду.

sudo dnf install dotnet-sdk-8.0

Установка среды выполнения

Среда выполнения ASP.NET Core позволяет запускать приложения, созданные с помощью версии .NET без поддержки среды выполнения. Следующая команда устанавливает ASP.NET Core Runtime, которая является самой совместимой средой выполнения для .NET. В терминале выполните приведенную ниже команду.

sudo dnf install aspnetcore-runtime-8.0

В качестве альтернативы среде выполнения ASP.NET Core вы можете установить среду выполнения .NET без поддержки ASP.NET Core. Для этого в приведенной выше команде замените aspnetcore-runtime-8.0 на dotnet-runtime-8.0.

sudo dnf install dotnet-runtime-8.0

RHEL 8

Платформа .NET включена в репозитории AppStream для RHEL 8.

Внимание

.NET 8 выпущен 14 ноября 2023 года. Может потребоваться время, чтобы пакеты отображались в веб-каналах диспетчера пакетов.

Установка пакета SDK

Пакет SDK для .NET позволяет разрабатывать приложения с помощью .NET. При установке пакета SDK для .NET не нужно устанавливать соответствующую среду выполнения. Чтобы установить пакет SDK для .NET, выполните приведенную ниже команду.

sudo dnf install dotnet-sdk-8.0

Установка среды выполнения

Среда выполнения ASP.NET Core позволяет запускать приложения, созданные с помощью версии .NET без поддержки среды выполнения. Следующая команда устанавливает ASP.NET Core Runtime, которая является самой совместимой средой выполнения для .NET. В терминале выполните приведенную ниже команду.

sudo dnf install aspnetcore-runtime-8.0

В качестве альтернативы среде выполнения ASP.NET Core вы можете установить среду выполнения .NET без поддержки ASP.NET Core. Для этого в приведенной выше команде замените aspnetcore-runtime-8.0 на dotnet-runtime-8.0.

sudo dnf install dotnet-runtime-8.0

RHEL 7 ❌ .NET 8

.NET 8 несовместим с RHEL 7 и не работает.

RHEL 7 ❌ .NET 7

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

RHEL 7 ✔️ .NET 6

Следующая команда устанавливает пакет scl-utils:

sudo yum install scl-utils

Установка пакета SDK

Пакет SDK для .NET позволяет разрабатывать приложения с помощью .NET. При установке пакета SDK для .NET не нужно устанавливать соответствующую среду выполнения. Чтобы установить пакет SDK для .NET, выполните следующие команды.

subscription-manager repos --enable=rhel-7-server-dotnet-rpms
yum install rh-dotnet60 -y
scl enable rh-dotnet60 bash

В Red Hat не рекомендуется активировать rh-dotnet60 на постоянной основе, так как это может повлиять на другие программы. Если вы хотите активировать rh-dotnet на постоянной основе, добавьте следующую строку в файл ~/.bashrc.

source scl_source enable rh-dotnet60

Установка среды выполнения

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

subscription-manager repos --enable=rhel-7-server-dotnet-rpms
yum install rh-dotnet60-aspnetcore-runtime-6.0 -y
scl enable rh-dotnet60 bash

В Red Hat не рекомендуется активировать rh-dotnet60 на постоянной основе, так как это может повлиять на другие программы. Если вы хотите активировать rh-dotnet60 на постоянной основе, добавьте следующую строку в файл ~/.bashrc.

source scl_source enable rh-dotnet60

В качестве альтернативы ASP.NET Core Runtime можно установить среду выполнения .NET, которая не включает поддержку ASP.NET Core: замените rh-dotnet60-aspnetcore-runtime-6.0 в предыдущей команде на rh-dotnet60-dotnet-runtime-6.0.

CentOS Stream 9 ✔️

.NET входит в репозитории AppStream для CentOS Stream 9.

Установка пакета SDK

Пакет SDK для .NET позволяет разрабатывать приложения с помощью .NET. При установке пакета SDK для .NET не нужно устанавливать соответствующую среду выполнения. Чтобы установить пакет SDK для .NET, выполните приведенную ниже команду.

sudo dnf install dotnet-sdk-8.0

Установка среды выполнения

Среда выполнения ASP.NET Core позволяет запускать приложения, созданные с помощью версии .NET без поддержки среды выполнения. Следующая команда устанавливает ASP.NET Core Runtime, которая является самой совместимой средой выполнения для .NET. В терминале выполните приведенную ниже команду.

sudo dnf install aspnetcore-runtime-8.0

В качестве альтернативы среде выполнения ASP.NET Core вы можете установить среду выполнения .NET без поддержки ASP.NET Core. Для этого в приведенной выше команде замените aspnetcore-runtime-8.0 на dotnet-runtime-8.0.

sudo dnf install dotnet-runtime-8.0

CentOS Stream 8 ✔️

Используйте репозиторий Майкрософт для установки .NET:

sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm
sudo yum install dotnet-sdk-8.0

Зависимости

Если для установки используется диспетчер пакетов, эти библиотеки устанавливаются автоматически. Но если вы устанавливаете .NET вручную или публикуете автономное приложение, вам потребуется установить эти библиотеки:

  • krb5-libs
  • libicu
  • openssl-libs
  • zlib

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

Зависимости можно установить с помощью yum install команды. В следующем фрагменте кода показано, как установить библиотеку libicu :

sudo yum install libicu

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

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

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

Установка других версий

Сведения об установке других выпусков .NET см. в документации по Red Hat для .NET.

Устранение неполадок диспетчера пакетов

В этом разделе описаны распространенные ошибки, которые могут возникнуть при использовании диспетчера пакетов для установки .NET или .NET Core.

Дополнительные сведения о решении этих проблем см. в статье об устранении неполадок, связанных с использованием fxr, libhostfxr.so и FrameworkList.xml.

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