通过


使用安装脚本或提取二进制文件在 Linux 上安装.NET

本文演示如何使用安装脚本或提取二进制文件在 Linux 上安装 .NET SDK 或 .NET 运行时。 有关支持内置包管理器的分发版列表,请参阅 Linux 上的 Install .NET

如果要开发.NET应用,请安装 SDK(包括运行时)。 或者,如果只需运行应用程序,请安装运行时。 如果要安装运行时,建议安装 ASP.NET Core Runtime,因为它同时包括.NET和 ASP.NET Core运行时。

使用 和 命令查看安装的版本。 有关详细信息,请参阅 如何检查是否已安装.NET

.NET版本

有两种类型的受支持版本:长期支持(LTS)和标准期限支持(STS)。 所有版本的质量都是一样的。 唯一的区别是支持的时间长短。 LTS 版本获得三年的免费支持和修补程序。 STS 版本可以获得两年的免费支持和修补程序。 有关详细信息,请参阅 .NET 支持策略

下表列出了.NET的每个版本的支持状态(.NET Core):

✔️ 受支持 支持不足
10 (LTS) 7
9 (STS) 6
8 (LTS) 5
3.1
3.0
2.2
2.1
2.0
1.1
1.0

依赖项

安装 .NET 时,某些特定的依赖项可能未被安装,尤其是在手动安装时。 以下列表详细介绍了Microsoft支持的 Linux 分发版,并具有可能需要安装的依赖项。 更多信息,请查看发行版页面:

  • 高山
  • Debian
  • Fedora
  • RHEL 和 CentOS Stream
  • SLES
  • Ubuntu

有关依赖项的一般信息,请参阅独立式 Linux 应用。

RPM 依赖项

如果以前未列出分发版且基于 RPM,则可能需要以下依赖项:

  • glibc
  • libgcc
  • CA证书
  • openssl-libs
  • libstdc++
  • libicu
  • tzdata
  • krb5-libs

DEB 依赖项

如果以前未列出分发版且基于 debian,则可能需要以下依赖项:

  • libc6
  • libgcc1
  • libgssapi-krb5-2
  • libicu70
  • libssl3
  • libstdc++6
  • zlib1g

脚本安装

dotnet-install 脚本用于 SDK 和运行时的自动化和非管理员安装。 可以从 https://dot.net/v1/dotnet-install.sh 下载脚本。以这种方式安装.NET时,必须安装 Linux 分发所需的依赖项。 使用《在 Linux 上安装 .NET》文章中的链接,针对您特定的 Linux 发行版进行操作。

重要

需要 Bash 才能运行该脚本。

可通过 下载脚本:

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

或者,使用 :

curl -L https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh

运行此脚本之前,请确保授予此脚本作为可执行文件运行的权限:

chmod +x ./dotnet-install.sh

该脚本默认安装最新的 长期支持(LTS) SDK 版本,即.NET 10。 若要安装最新版本(可能不是 (LTS) 版本),请使用 参数。

./dotnet-install.sh --version latest

若要安装 .NET Runtime 而不是 SDK,请使用 --runtime 参数。

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

可以通过 参数安装特定的主要版本来指定具体版本。 以下命令安装 .NET 9.0 SDK。

./dotnet-install.sh --channel 9.0

有关详细信息,请参阅 dotnet-install 脚本参考。

若要在命令行上启用 .NET,请参阅系统范围的 设置环境变量

若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述

手动安装

除了使用包管理器,还可以下载并手动安装 SDK 和运行时。 手动安装通常作为持续集成测试的一部分执行,或在不支持的 Linux 发行版上执行。 对于开发人员或用户,使用包管理器会更好。

从以下站点之一下载 SDK 或运行时的二进制版本。 .NET SDK 包括相应的运行时:

提取下载的文件并使用 export 命令将DOTNET_ROOT设置为提取的文件夹的位置,并确保.NET位于 PATH 中。 导出 DOTNET_ROOT 使.NET CLI 命令在终端中可用。 有关.NET环境变量的详细信息,请参阅 .NET SDK 和 CLI 环境变量

可以将不同版本的.NET提取到同一个文件夹中,实现并行共存。

示例

以下命令使用 Bash 将环境变量 设置为当前工作目录,后跟 。 如果该目录不存在,则会创建它。 DOTNET_FILE 环境变量是要安装的.NET二进制版本的文件名。 此文件会提取到 目录中。 目录及其 子目录都添加到 环境变量中。

重要

如果运行这些命令,请记住将 DOTNET_FILE 值更改为下载的.NET二进制文件的名称。

DOTNET_FILE=dotnet-sdk-9.0.306-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

可以在同一文件夹中安装多个版本的 .NET。

还可以将.NET安装到由 HOME 变量或 ~ 路径标识的主目录:

export DOTNET_ROOT=$HOME/.dotnet

若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述

验证下载的二进制文件

下载安装程序或二进制版本后,请对其进行验证,以确保文件未被更改或损坏。 可以验证计算机上的校验和,然后将其与下载网站上报告的内容进行比较。

从官方下载页下载文件时,文件的校验和会显示在文本框中。 选择“复制”按钮将校验和值复制到剪贴板。

.NET下载页带有校验和

使用 命令来打印已下载文件的校验和。 例如,以下命令显示 dotnet-sdk-9.0.306-linux-x64.tar.gz 文件的校验和:

$ sha512sum dotnet-sdk-9.0.306-linux-x64.tar.gz
bbb6bdc3c8048e7cc189759b406257839e7d4bd6b8b1ba4bcdaeea8f92340e6855231043dd73f902130ca5357af72b810bb51a4da4d1315a2927ff85f831f1d5  dotnet-sdk-9.0.306-linux-x64.tar.gz

将校验和与下载站点提供的值进行比较。

使用校验和文件进行验证

.NET发行说明包含可用于验证已下载文件的校验和文件的链接。 以下步骤介绍如何下载校验文件并验证.NET安装二进制文件:

  1. https://github.com/dotnet/core/tree/main/release-notes/9.0#releases GitHub .NET 9 的发行说明页包含名为 Releases 的节。 该部分的表格链接到每个 .NET 9 版本的下载和校验码文件。 下图显示了 .NET 8 版本表作为参考:

    .NET的GitHub发行说明版本表

  2. 选择您下载的 .NET 版本的链接。

    上一部分使用了 .NET SDK 9.0.306,该版本位于 .NET 9.0.10 版本中。

  3. 在发布页中,可以看到.NET运行时和.NET SDK 版本,以及校验和文件的链接。 下图显示了 .NET 8 版本表作为参考:

    包含 .NET 校验和的下载表

  4. 右键单击 校验和 链接并将其复制到剪贴板。

  5. 打开终端。

  6. 使用 下载校验和文件。

    用复制的链接替换以下命令中的链接。

    curl -O https://builds.dotnet.microsoft.com/dotnet/checksums/9.0.10-sha.txt
    
  7. 将校验和文件与 .NET 发布文件下载到同一目录后,使用 sha512sum -c {file} --ignore-missing 命令验证已下载的文件。

    如果验证通过,会看到打印了 OK 状态的文件:

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

    如果看到文件标记为失败,则下载的文件无效,不应使用。

    $ sha512sum -c 9.0.10-sha.txt --ignore-missing
    dotnet-sdk-9.0.306-linux-x64.tar.gz: FAILED
    sha512sum: WARNING: 1 computed checksum did NOT match
    sha512sum: 9.0.10-sha.txt: no file was verified
    

设置系统范围的环境变量

如果使用了以前的安装脚本,则设置的变量仅适用于当前的终端会话。 将其添加到 shell 配置文件。 Linux 提供了许多不同的 shell,每个都有不同的配置文件。 例如:

  • Bash Shell: ~/.bash_profile 或 ~/.bashrc
  • Korn Shell:~/.kshrc 或 .profile
  • Z Shell:~/.zshrc 或 .zprofile

在 shell 配置文件中设置以下两个环境变量:

  • DOTNET_ROOT

    此变量设置为 .NET 安装到的文件夹,例如 $HOME/.dotnet:

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    此变量应同时包含 文件夹和 文件夹:

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

后续步骤