Para instalar .NET en Linux, use un script de instalación o extraiga archivos binarios

En este artículo se explica cómo se instala el SDK de .NET o el runtime de .NET en Linux, mediante el script de instalación o la extracción de archivos binarios. Para obtener una lista de las distribuciones que admiten el administrador de paquetes integrado, consulte Instalación de .NET en Linux.

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.

Versiones de .NET

Hay dos tipos de versiones admitidas, las versiones de soporte técnico de larga duración (LTS) o el soporte de duración estándar (STS). La calidad de todas las versiones es la misma. La única diferencia es la duración del soporte técnico. Las versiones LTS obtienen soporte técnico y revisiones gratuitas durante tres años. Las versiones STS obtienen soporte técnico y revisiones gratuitas durante 18 meses. Para más información, consulte Directiva de soporte de .NET.

En la tabla siguiente se muestra el estado de compatibilidad de cada versión de .NET (y .NET Core):

✔️ Admitida ❌ No admitida
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3.0
2.2
2.1
2,0
1,1
1,0

Dependencias

Al instalar .NET, es posible que las dependencias específicas no estén instaladas, como cuando se realiza la instalación manual. En la lista siguiente se detallan las distribuciones de Linux que son compatibles con Microsoft y que contienen dependencias que es posible que deba instalar. Consulte la página de la distribución para obtener más información:

Para obtener información genérica sobre las dependencias, vea Aplicaciones de Linux independientes.

Dependencias de RPM

Si su distribución no aparece en la lista anterior y se basa en RPM, puede que necesite las siguientes dependencias:

  • krb5-libs
  • libicu
  • openssl-libs

Si la versión de OpenSSL del entorno de tiempo de ejecución de destino es la 1.1 o posterior, instale compat-openssl10.

Dependencias de DEB

Si su distribución no aparece en la lista anterior y se basa en Debian, puede que necesite las siguientes dependencias:

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

Dependencias comunes

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.

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

Instalación con script

Los scripts de dotnet-install se usan para la automatización y las instalaciones que no son de administrador del SDK y del Runtime. Puede descargar el script de https://dot.net/v1/dotnet-install.sh. Cuando .NET está instalado de esta manera, debe instalar las dependencias requeridas por la distribución de Linux. Use los vínculos que aparecen en el artículo Instalación de .NET en Linux para la distribución específica de Linux.

Importante

Se necesita Bash para ejecutar el script.

Puede descargar el script con wget:

wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh

Antes de ejecutar este script, asegúrese de conceder permiso para que este script se ejecute como un ejecutable:

chmod +x ./dotnet-install.sh

El valor predeterminado del script es instalar la versión más reciente del SDK de soporte técnico a largo plazo (LTS), que es .NET 8. Para instalar la versión más reciente, que podría no ser de LTS, use el parámetro --version latest.

./dotnet-install.sh --version latest

Para instalar el entorno de ejecución de .NET en lugar del SDK, use el parámetro --runtime.

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

Para instalar una versión principal específica, modifique el parámetro --channel que la indique. El comando siguiente instala el SDK de .NET 8.0.

./dotnet-install.sh --channel 8.0

Para más información, consulte la referencia de los scripts de dotnet-install.

Para habilitar .NET en la línea de comandos, vea Establecimiento de variables de entorno en todo el sistema.

Instalación manual

Como alternativa a los administradores de paquetes, puede descargar e instalar manualmente el SDK y el entorno de ejecución. La instalación manual se suele usar como parte de las pruebas de integración continua o en distribuciones de Linux no admitidas. Para un desarrollador o usuario, es mejor usar un administrador de paquetes.

Descargue una versión binaria del SDK o del runtime de uno de los siguientes sitios. El SDK de .NET incluye el runtime correspondiente:

Extraiga el archivo descargado y use el comando export para establecer DOTNET_ROOT en la ubicación de la carpeta extraída y, luego, asegúrese de que .NET esté en PATH. La exportación de DOTNET_ROOT hace que los comandos de la CLI de .NET estén disponibles en el terminal. Para obtener más información sobre las variables de entorno de .NET, vea SDK de .NET y variables de entorno de la CLI.

Se pueden extraer diferentes versiones de .NET en la misma carpeta, que coexisten en paralelo.

Ejemplo

Los siguientes comandos usan Bash para establecer la variable de entorno DOTNET_ROOT en el directorio de trabajo actual seguido de .dotnet. Ese directorio se crea si no existe. La variable de entorno DOTNET_FILE es el nombre de archivo de la versión binaria de .NET que desea instalar. Este archivo se extrae en el directorioDOTNET_ROOT. Tanto el directorio DOTNET_ROOT como su subdirectorio tools se agregan a la variable de entorno PATH.

Importante

Si ejecuta estos comandos, recuerde cambiar el valor de DOTNET_FILE al nombre del archivo binario de .NET que descargó.

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

Puede instalar más de una versión de .NET en la misma carpeta.

También puede instalar .NET en el directorio principal identificado por la variable HOME o ruta de acceso~:

export DOTNET_ROOT=$HOME/.dotnet

Comprobación de los binarios descargados

Después de descargar un instalador, compruébelo para asegurarse de que el archivo no se ha cambiado o dañado. Puede verificar la suma de comprobación en el equipo y, a continuación, compararla con lo notificado en el sitio web de descarga.

Al descargar un instalador o binario desde una página de descarga oficial, se muestra la suma de comprobación del archivo. Seleccione el botón Copiar para copiar el valor de la suma de comprobación al Portapapeles.

The .NET download page with checksum

Use el comando sha512sum para imprimir la suma de comprobación del archivo que ha descargado. Por ejemplo, el siguiente comando notifica la suma de comprobación del archivo 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

Compare la suma de comprobación con el valor proporcionado por el sitio de descarga.

Importante

Aunque se muestra un archivo linux en estos ejemplos, esta información se aplica igualmente a macOS.

Uso de un archivo de suma de comprobación para validar

Las notas de la versión de .NET contienen un vínculo a un archivo de suma de comprobación que puede usar para validar el archivo descargado. En los pasos siguientes se describe cómo descargar el archivo de suma de comprobación y validar un binario de instalación de .NET:

  1. La página de notas de la versión de .NET 8 sobre GitHub en https://github.com/dotnet/core/tree/main/release-notes/8.0 contiene una sección denominada Versiones. La tabla de esa sección se vincula a las descargas y los archivos de suma de comprobación para cada versión de .NET 8:

    The github release notes version table for .NET

  2. Seleccione el vínculo de la versión de .NET que ha descargado. En la sección anterior se usó el SDK de .NET 8.0.100, que se encuentra en la versión de .NET 8.0.0.

  3. En la página de versión, puede ver la versión del runtime de .NET y del SDK de .NET y un vínculo al archivo de suma de comprobación:

    The download table with checksums for .NET

  4. Copie el vínculo al archivo de suma de comprobación.

  5. Use el siguiente script, pero reemplace el vínculo para descargar el archivo de suma de comprobación adecuado:

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Con el archivo de suma de comprobación y el archivo de versión de .NET descargado en el mismo directorio, use el comando sha512sum -c {file} --ignore-missing para validar el archivo descargado.

    Cuando se supera la validación, verá que el archivo se imprime con el estado Aceptado:

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

    Si ve el archivo marcado como Fallado, el archivo que descargó no es válido y no debe usarse.

    $ 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
    

Establecimiento de variables de entorno en todo el sistema

Si ha usado el script de instalación anterior, las variables establecidas solo se aplican a la sesión de terminal actual. Agréguelas al perfil de shell. Hay muchos shells diferentes disponibles para Linux y cada uno tiene un perfil diferente. Por ejemplo:

  • shell de Bash: ~/.bash_profile o ~/.bashrc
  • Shell de Korn: ~/.kshrc or .profile
  • Shell de Z: ~/.zshrc or .zprofile

Establezca las dos variables de entorno siguientes en el perfil de shell:

  • DOTNET_ROOT

    Esta variable se establece en la carpeta en la que se instaló .NET, como $HOME/.dotnet:

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Esta variable debe incluir la carpeta DOTNET_ROOT y la carpeta DOTNET_ROOT/tools:

    export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
    

Pasos siguientes