Installer .NET sur Linux à l’aide d’un script d’installation ou en extrayant des fichiers binaires

Cet article montre comment installer le SDK .NET ou le runtime .NET sur Linux à l’aide du script d’installation ou en extrayant les fichiers binaires. Pour obtenir la liste des distributions qui prennent en charge le gestionnaire de package intégré, consultez Installer .NET sur Linux.

Installez le SDK (qui inclut le runtime) si vous souhaitez développer des applications .NET. Ou, si vous avez uniquement besoin d’exécuter des applications, installez le runtime. Si vous installez le runtime, nous vous suggérons d’installer le runtime ASP.NET Core, car il inclut à la fois les runtimes .NET et ASP.NET Core.

Utilisez les commandes dotnet --list-sdks et dotnet --list-runtimes pour voir quelles versions sont installées. Pour plus d’informations, consultez Comment vérifier que .NET est déjà installé.

Versions de .NET

Il existe deux types de versions prises en charge : LTS (prise en charge à long terme) et STS (prise en charge à terme standard). La qualité de toutes les versions est la même. La seule différence est la longueur de la prise en charge. Les versions LTS bénéficient d’un support et de correctifs gratuits pendant 3 ans. Les versions STS bénéficient d’un support et de correctifs gratuits pendant 18 mois. Pour plus d’informations, consultez la stratégie de prise en charge .NET.

Le tableau suivant répertorie l’état de prise en charge de chaque version de .NET (et .NET Core) :

✔️ Pris en charge ❌ Non pris en charge
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3.0
2.2
2.1
2,0
1.1
1.0

Les dépendances

Quand vous installez .NET, il est possible que des dépendances spécifiques ne soient pas installées, par exemple en cas d’installation manuelle. La liste suivante répertorie les distributions Linux qui sont prises en charge par Microsoft et qui présentent des dépendances que vous devrez peut-être installer. Consultez la page distribution pour plus d’informations :

Pour des informations génériques sur les dépendances, consultez Applications Linux autonomes (en anglais).

Dépendances RPM

Si votre distribution n’était pas répertoriée précédemment et qu’elle est basée sur RPM, vous aurez peut-être besoin des dépendances suivantes :

  • krb5-libs
  • libicu
  • openssl-libs

Si la version OpenSSL de l’environnement d’exécution cible est la version 1.1 ou une version ultérieure, installez compat-openssl10.

Dépendances DEB

Si votre distribution n’était pas répertoriée précédemment et qu’elle est basée sur debian, vous aurez peut-être besoin des dépendances suivantes :

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

Dépendances courantes

Si l’application .NET utilise l’assembly System.Drawing.Common, libgdiplus doit également être installé. Étant donné que System.Drawing.Common n’est plus pris en charge sur Linux, cela fonctionne uniquement sur .NET 6 et nécessite de définir le commutateur de configuration du runtime System.Drawing.EnableUnixSupport.

Vous pouvez généralement installer une version récente de libgdiplus en ajoutant le référentiel Mono à votre système.

Installation par script

Les scripts dotnet-install sont utilisés pour l’automatisation et les installations par un non-administrateur du SDK et du runtime. Vous pouvez télécharger le script depuis https://dot.net/v1/dotnet-install.sh. Lorsque .NET est installé de cette manière, vous devez installer les dépendances requises par votre distribution Linux. Utilisez les liens de l’article Installer .NET sur Linux correspondant à votre distribution Linux.

Important

Bash est requis pour exécuter le script.

Vous pouvez télécharger le script avec wget :

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

Avant d’exécuter ce script, assurez-vous d’octroyer une autorisation pour que ce script s’exécute en tant qu’exécutable :

chmod +x ./dotnet-install.sh

Par défaut, le script installe la dernière version du SDK de prise en charge à long terme (LTS), qui est .NET 8. Pour installer la dernière version, qui n’est pas nécessairement une version LTS, utilisez le paramètre --version latest.

./dotnet-install.sh --version latest

Pour installer .NET Runtime au lieu du SDK, utilisez le paramètre --runtime.

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

Vous pouvez installer une version majeure spécifique avec le paramètre --channel pour indiquer la version spécifique. La commande suivante installe le kit de développement logiciel (SDK) .NET 8.0.

./dotnet-install.sh --channel 8.0

Pour plus d’informations, consultez Informations de référence sur les scripts dotnet-install.

Pour activer .NET sur la ligne de commande, consultez Définir des variables d’environnement à l’échelle du système.

Installation manuelle

En guise d’alternative aux gestionnaires de package, vous pouvez télécharger et installer manuellement le SDK et le runtime. L’installation manuelle est couramment utilisée dans le cadre de tests d’intégration continue ou sur une distribution Linux non prise en charge. Pour un développeur ou un utilisateur, il est préférable d’utiliser un gestionnaire de package.

Téléchargez une version binaire pour le SDK ou le runtime à partir de l’un des sites suivants. Le SDK .NET inclut le runtime correspondant :

Extrayez le fichier téléchargé et utilisez la commande export pour définir DOTNET_ROOT sur l’emplacement du dossier extrait, puis vérifiez que .NET figure dans PATH. L’exportation de DOTNET_ROOT rend les commandes CLI .NET disponibles dans le terminal. Pour plus d’informations sur les variables d’environnement NET, consultez Variables d’environnement du SDK .NET et de l’interface CLI .NET.

Différentes versions de .NET peuvent être extraites dans le même dossier, et coexister côte à côte.

Exemple

Les commandes suivantes utilisent Bash pour définir la variable d’environnement DOTNET_ROOT sur le répertoire de travail actuel suivi de .dotnet. Ce répertoire est créé s’il n’existe pas. La variable d’environnement DOTNET_FILE est le nom de fichier de la version binaire de .NET que vous souhaitez installer. Ce fichier est extrait dans le répertoire DOTNET_ROOT. Le répertoire DOTNET_ROOT et son sous-répertoire tools sont ajoutés à la variable d’environnement PATH.

Important

Si vous exécutez ces commandes, n’oubliez pas de remplacer la valeur DOTNET_FILE par le nom du fichier binaire .NET que vous avez téléchargé.

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

Vous pouvez installer plusieurs versions de .NET dans le même dossier.

Vous pouvez également installer .NET dans le répertoire de base identifié par la variable HOME ou le chemin d’accès ~ :

export DOTNET_ROOT=$HOME/.dotnet

Vérifier les fichiers binaires téléchargés

Après avoir téléchargé un programme d’installation, vérifiez-le pour être sûr que le fichier n’a pas été changé ou endommagé. Vous pouvez vérifier la somme de contrôle sur votre ordinateur, puis la comparer à ce qui a été signalé sur le site web de téléchargement.

Quand vous téléchargez un programme d’installation ou un fichier binaire à partir d’une page de téléchargement officielle, la somme de contrôle du fichier s’affiche. Sélectionnez le bouton Copier pour copier la valeur de la somme de contrôle dans votre presse-papiers.

The .NET download page with checksum

Utilisez la commande sha512sum pour imprimer la somme de contrôle du fichier que vous avez téléchargé. Par exemple, la commande suivante indique la somme de contrôle du fichier 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

Comparez la somme de contrôle avec la valeur fournie par le site de téléchargement.

Important

Ces exemples présentent un fichier Linux, mais ces informations s’appliquent également à macOS.

Utiliser un fichier de somme de contrôle pour validation

Les notes de publication de .NET contiennent un lien vers un fichier de somme de contrôle que vous pouvez utiliser pour valider votre fichier téléchargé. Les étapes suivantes décrivent comment télécharger le fichier de somme de contrôle et valider un fichier binaire d’installation .NET :

  1. La page des notes de publication de .NET 8 sur GitHub sur https://github.com/dotnet/core/tree/main/release-notes/8.0 contient une section nommée Versions. Le tableau de cette section contient des liens vers les fichiers de téléchargement et de somme de contrôle pour chaque version de .NET 8 :

    The github release notes version table for .NET

  2. Sélectionnez le lien correspondant à la version de .NET que vous avez téléchargée. La section précédente utilise le kit de développement logiciel (SDK) .NET 8.0.100, qui se trouve dans la version .NET 8.0.0.

  3. Dans la page de publication, vous pouvez voir la version du runtime .NET et du SDK .NET, ainsi qu’un lien vers le fichier de somme de contrôle :

    The download table with checksums for .NET

  4. Copiez le lien vers le fichier de somme de contrôle.

  5. Utilisez le script suivant, mais remplacez le lien pour télécharger le fichier de somme de contrôle approprié :

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Avec le fichier de somme de contrôle et le fichier de mise en production .NET téléchargés dans le même répertoire, utilisez la commande sha512sum -c {file} --ignore-missing pour valider le fichier téléchargé.

    Lorsque la validation réussit, vous voyez le fichier marqué avec l’état OK :

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

    Si vous voyez le fichier marqué comme ÉCHEC, le fichier que vous avez téléchargé n’est pas valide et ne doit pas être utilisé.

    $ 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
    

Définir des variables d’environnement à l’échelle du système

Si vous avez utilisé le script d’installation précédent, les variables définies s’appliquent uniquement à votre session de terminal actuelle. Ajoutez-les à votre profil d’interpréteur de commandes. De nombreux interpréteurs de commandes sont disponibles pour Linux et chacun présente un profil différent. Par exemple :

  • Interpréteur de commandes Bash : ~/.bash_profile, ~/.bashrc
  • Interpréteur de commandes Korn : ~/.kshrc ou .profile
  • Shell Z : ~/.zshrc ou .zprofile

Définissez les deux variables d’environnement suivantes dans votre profil d’interpréteur de commandes :

  • DOTNET_ROOT

    Cette variable est définie sur le dossier sur lequel .NET a été installé, par exemple $HOME/.dotnet :

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Cette variable doit inclure à la fois le dossier DOTNET_ROOT et le dossier DOTNET_ROOT/tools :

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

Étapes suivantes