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

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

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

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

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

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

Важно!

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

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

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

  • Значок ✔️ означает, что версия RHEL или .NET поддерживается.
  • Значок ❌ означает, что версия RHEL или версия .NET в таком выпуске RHEL не поддерживается.
  • Если в версии дистрибутива Linux и версии .NET есть ✔️, это сочетание операционной системы и .NET поддерживается.
Distribution .NET Core 3.1 .NET 5 .NET 6
✔️ RHEL 8 ✔️ 3.1 ✔️ 5.0 ✔️ 6,0
✔️ RHEL 7 ✔️ 3.1 ✔️ 5.0 ✔️ 6,0
✔️ CentOS поток 9 ❌ 3.1 ❌ 5.0 ✔️ 6,0
✔️ CentOS Stream 8 ✔️ 3.1 ✔️ 5.0 ✔️ 6,0

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

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

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

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

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

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

RHEL 8 ✔️

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

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

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

sudo dnf install dotnet-sdk-6.0

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

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

sudo dnf install aspnetcore-runtime-6.0

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

sudo dnf install dotnet-runtime-6.0

RHEL 7 ✔️ .NET 6,0

Следующая команда устанавливает пакет 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 можно установить среду выполнения .net, которая не включает поддержку ASP.NET Core: замените rh-dotnet60-aspnetcore-runtime-6.0 в предыдущей команде rh-dotnet60-dotnet-runtime-6.0 на.

RHEL 7 ✔️ .NET 5.0

Следующая команда устанавливает пакет 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-dotnet50 -y
scl enable rh-dotnet50 bash

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

source scl_source enable rh-dotnet50

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

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

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

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

source scl_source enable rh-dotnet50

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

RHEL 7 ✔️ .NET Core 3.1

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

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

sudo yum install scl-utils

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

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

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

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

source scl_source enable rh-dotnet31

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

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

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

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

source scl_source enable rh-dotnet31

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

CentOS Stream 9 ✔️

Платформа .NET включена в репозитории Аппстреам для CentOS Stream 9. Однако .NET Core 3,1 и .NET 5 были удалены из CentOS Stream 9, и следует использовать .NET 6. Дополнительные сведения см. в записи блога использование .NET с OpenSSL в CentOS Stream 9 | Омаир Мажид.

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

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

sudo dnf install dotnet-sdk-6.0

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

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

sudo dnf install aspnetcore-runtime-6.0

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

sudo dnf install dotnet-runtime-6.0

CentOS Stream 8 ✔️

Платформа .NET включена в репозитории Аппстреам для CentOS Stream 8.

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

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

sudo dnf install dotnet-sdk-6.0

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

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

sudo dnf install aspnetcore-runtime-6.0

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

sudo dnf install dotnet-runtime-6.0

Зависимости

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

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

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

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

Для приложений .NET Core, использующих сборку System.Drawing.Common, необходима также следующая зависимость:

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

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

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

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

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

Дальнейшие действия