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 |
---|---|
9 (STS) | 7 |
8 (LTS) | 6 (LTS) |
5 | |
3.1 | |
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
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
- libicu70
- libssl3
- libstdc++6
- zlib1g
Dependencias comunes
Si la aplicación .NET usa el ensamblado System.Drawing.Common , debe instalarse libgdiplus . Para obtener más información, consulte System.Drawing.Common only supported on Windows (Solo se admite System.Drawing.Common en Windows).
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 9.0.
./dotnet-install.sh --channel 9.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.
Para obtener información sobre cómo usar la CLI de .NET, consulte Información general sobre la CLI de .NET.
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-9.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
Para obtener información sobre cómo usar la CLI de .NET, consulte Información general sobre la CLI de .NET.
Comprobación de los binarios descargados
Después de descargar un instalador o una versión binaria, compruébelo para asegurarse de que el archivo no se ha modificado ni 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 archivo desde una página de descarga oficial, la suma de comprobación del archivo se muestra en un cuadro de texto. Seleccione el botón Copiar para copiar el valor de la suma de comprobación al Portapapeles.
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:
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#releases 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:
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.
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:
Haga clic con el botón secundario en el vínculo Suma de comprobación y copie el vínculo en el Portapapeles.
Abre un terminal.
Use
curl -O {link}
para descargar el archivo de suma de comprobación.Reemplace el vínculo del siguiente comando por el vínculo que ha copiado.
curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
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 carpetaDOTNET_ROOT/tools
:export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools