Instalación del SKD de .NET o del entorno de ejecución de .NET en RHEL y CentOS Stream

Importante

.NET 8 se publicó el 14 de noviembre de 2023. Los paquetes pueden tardar tiempo en aparecer en las fuentes del administrador de paquetes.

.NET se admite en Red Hat Enterprise Linux (RHEL). En este artículo, se describe cómo instalar .NET en RHEL y CentOS Stream.

Instale el SDK (que incluye el entorno de ejecución) si quiere desarrollar aplicaciones .NET. O bien, si solo necesita ejecutar aplicaciones, instale el entorno de ejecución. Si va a instalar el entorno de ejecución, se recomienda instalar el entorno de ejecución de ASP.NET Core, ya que incluye los de .NET y ASP.NET Core.

Use los comandos dotnet --list-sdks y dotnet --list-runtimes para ver qué versiones están instaladas. Para obtener más información, vea Cómo comprobar que .NET Core ya está instalado.

Registro de la suscripción de Red Hat

Para instalar .NET desde Red Hat en RHEL, primero debe registrarse con el administrador de suscripciones de Red Hat. Si esto no se ha realizado en el sistema, o si no tiene certeza de ello, vea la documentación del producto de Red Hat para .NET.

Importante

Esto no se aplica a CentOS Stream.

Distribuciones admitidas

En la tabla siguiente, se muestra una lista de las versiones de .NET actualmente admitidas en RHEL y CentOS Stream. Estas versiones siguen siendo compatibles hasta la finalización del soporte de .NET o hasta que ya no se admita la distribución de Linux.

Distribución .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

Las versiones siguientes de .NET ya ❌ no se admiten:

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

Instalación de versiones preliminares

Las versiones preliminares y candidatas para lanzamiento de .NET no están disponibles en los repositorios de paquetes. Puede instalar las versiones preliminares y versiones candidatas para lanzamiento de .NET de una de las formas siguientes:

Eliminación de versiones preliminares

Cuando se usa un administrador de paquetes para administrar la instalación de .NET, es posible que se produzca un conflicto si previamente se ha instalado una versión preliminar. El administrador de paquetes puede interpretar la versión que no es preliminar como una versión anterior de .NET. Para instalar la versión que no es preliminar, desinstale primero las versiones preliminares. Para obtener más información sobre cómo desinstalar .NET, vea Procedimiento para quitar el entorno de ejecución y el SDK de .NET.

RHEL 9

.NET se incluye en los repositorios de AppStream para RHEL 9.

Importante

.NET 8 se publicó el 14 de noviembre de 2023. Los paquetes pueden tardar tiempo en aparecer en las fuentes del administrador de paquetes.

Instalación del SDK

El SDK de .NET permite desarrollar aplicaciones con .NET. Si instala el SDK de .NET, no necesita instalar el entorno de ejecución correspondiente. Para instalar el SDK de .NET, ejecute el comando siguiente:

sudo dnf install dotnet-sdk-8.0

Instalación de la instancia en tiempo de ejecución

El entorno de ejecución de ASP.NET Core le permite ejecutar aplicaciones creadas con .NET en las que no se ha proporcionado el entorno de ejecución. El comando siguiente instala ASP.NET Core Runtime, que es el runtime más compatible con .NET. Ejecute el comando siguiente en el terminal:

sudo dnf install aspnetcore-runtime-8.0

Una alternativa al entorno de ejecución de ASP.NET Core es instalar el de .NET, que no incluye compatibilidad con ASP.NET Core; en el comando anterior, reemplace aspnetcore-runtime-8.0 por dotnet-runtime-8.0:

sudo dnf install dotnet-runtime-8.0

RHEL 8

.NET se incluye en los repositorios de AppStream para RHEL 8.

Importante

.NET 8 se publicó el 14 de noviembre de 2023. Los paquetes pueden tardar tiempo en aparecer en las fuentes del administrador de paquetes.

Instalación del SDK

El SDK de .NET permite desarrollar aplicaciones con .NET. Si instala el SDK de .NET, no necesita instalar el entorno de ejecución correspondiente. Para instalar el SDK de .NET, ejecute el comando siguiente:

sudo dnf install dotnet-sdk-8.0

Instalación de la instancia en tiempo de ejecución

El entorno de ejecución de ASP.NET Core le permite ejecutar aplicaciones creadas con .NET en las que no se ha proporcionado el entorno de ejecución. El comando siguiente instala ASP.NET Core Runtime, que es el runtime más compatible con .NET. Ejecute el comando siguiente en el terminal:

sudo dnf install aspnetcore-runtime-8.0

Una alternativa al entorno de ejecución de ASP.NET Core es instalar el de .NET, que no incluye compatibilidad con ASP.NET Core; en el comando anterior, reemplace aspnetcore-runtime-8.0 por dotnet-runtime-8.0:

sudo dnf install dotnet-runtime-8.0

RHEL 7 ❌ .NET 8

.NET 8 no es compatible con RHEL 7 y no funciona.

RHEL 7 ❌ .NET 7

.NET 7 no se admite oficialmente en RHEL 7. Para instalar .NET 7, vea Instalación de .NET en Linux mediante un script de instalación o mediante la extracción de archivos binarios.

RHEL 7 ✔️ .NET 6

El siguiente comando instala el paquete scl-utils:

sudo yum install scl-utils

Instalación del SDK

El SDK de .NET permite desarrollar aplicaciones con .NET. Si instala el SDK de .NET, no necesita instalar el entorno de ejecución correspondiente. Para instalar el SDK de .NET, ejecute los comandos siguientes:

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

Red Hat no recomienda habilitar rh-dotnet60 de forma permanente porque puede afectar a otros programas. Si quiere habilitar rh-dotnet de forma permanente, agregue la siguiente línea al archivo ~/.bashrc.

source scl_source enable rh-dotnet60

Instalación de la instancia en tiempo de ejecución

El entorno de ejecución de .NET permite ejecutar aplicaciones creadas con .NET, pero sin incluir el entorno de ejecución. Los siguientes comandos instalan el entorno de ejecución de ASP.NET Core, que es el entorno de ejecución más compatible con .NET Core. En el terminal, ejecute los comandos siguientes.

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 no recomienda habilitar rh-dotnet60 de forma permanente porque puede afectar a otros programas. Si quiere habilitar rh-dotnet60 de forma permanente, agregue la siguiente línea al archivo ~/.bashrc.

source scl_source enable rh-dotnet60

Una alternativa al entorno de ejecución de ASP.NET Core es instalar la instancia del entorno de ejecución de .NET que no incluye compatibilidad con ASP.NET Core; en el comando anterior, reemplace rh-dotnet60-aspnetcore-runtime-6.0 por rh-dotnet60-dotnet-runtime-6.0.

CentOS Stream 9 ✔️

.NET se incluye en los repositorios de AppStream para CentOS Stream 9.

Instalación del SDK

El SDK de .NET permite desarrollar aplicaciones con .NET. Si instala el SDK de .NET, no necesita instalar el entorno de ejecución correspondiente. Para instalar el SDK de .NET, ejecute el comando siguiente:

sudo dnf install dotnet-sdk-8.0

Instalación de la instancia en tiempo de ejecución

El entorno de ejecución de ASP.NET Core le permite ejecutar aplicaciones creadas con .NET en las que no se ha proporcionado el entorno de ejecución. El comando siguiente instala ASP.NET Core Runtime, que es el runtime más compatible con .NET. Ejecute el comando siguiente en el terminal:

sudo dnf install aspnetcore-runtime-8.0

Una alternativa al entorno de ejecución de ASP.NET Core es instalar el de .NET, que no incluye compatibilidad con ASP.NET Core; en el comando anterior, reemplace aspnetcore-runtime-8.0 por dotnet-runtime-8.0:

sudo dnf install dotnet-runtime-8.0

CentOS Stream 8 ✔️

Use el repositorio de Microsoft para instalar .NET:

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

Dependencias

Al realizar la instalación con un administrador de paquetes, estas bibliotecas se instalan automáticamente. Pero si instala manualmente .NET o publica una aplicación independiente, deberá asegurarse de que estas bibliotecas estén instaladas:

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

Si la versión de OpenSSL del entorno de tiempo de ejecución de destino es 1.1 o más reciente, deberá instalar compat-openssl10.

Las dependencias se pueden instalar con el comando yum install. En el fragmento de código siguiente se muestra cómo instalar la biblioteca libicu:

sudo yum install libicu

Para obtener más información sobre las dependencias, vea Aplicaciones de Linux independientes.

Si la aplicación de .NET usa el ensamblado System.Drawing.Common, también será necesario instalar libgdiplus. Dado que System.Drawing.Common ya no se admite en Linux, solo funciona en .NET 6 y requiere que se establezca el conmutador de configuración en tiempo de ejecución System.Drawing.EnableUnixSupport.

Puede instalar una versión reciente de libgdiplusagregando el repositorio Mono al sistema.

Procedimiento para instalar otras versiones

Consulte la documentación de Red Hat para .NET sobre los pasos necesarios para instalar otras versiones de .NET.

Solución de problemas del administrador de paquetes

En esta sección se proporciona información sobre los errores comunes que puede recibir al usar el administrador de paquetes para instalar .NET o .NET Core.

Para obtener más información sobre cómo resolver estos problemas, vea Solución de errores de fxr, libhostfxr.so y FrameworkList.xml.

Pasos siguientes