Необходимые компоненты для .NET Core в LinuxPrerequisites for .NET Core on Linux

В этой статье описываются зависимости, необходимые для разработки приложений .NET Core в Linux.This article shows the dependencies needed to develop .NET Core applications on Linux. Поддерживаемые дистрибутивы и версии Linux, а также перечисленные ниже зависимости относятся к двум способам разработки приложений .NET Core в Linux:The supported Linux distributions/versions, and dependencies that follow apply to the two ways of developing .NET Core apps on Linux:

Примечание

Пакет SDK для .NET Core не требуется для рабочих серверов и сред.The .NET Core SDK package is not required for production servers/environments. Для приложений, развертываемых в рабочих средах, требуется только пакет среды выполнения .NET Core.Only the .NET Core runtime package is needed for apps deployed to production environments. Среда выполнения .NET Core развертывается вместе с приложениями в рамках автономного развертывания, однако для приложений, зависимых от платформы, ее необходимо развертывать отдельно.The .NET Core runtime is deployed with apps as part of a self-contained deployment, however, it must be deployed for Framework-dependent deployed apps separately. Дополнительные сведения о зависимых от платформы и автономных типах развертывания см. в статье Развертывание приложений .NET Core.For more information about framework-dependent and self-contained deployment types, see .NET Core application deployment. Также см. статью Автономные приложения Linux.Also see Self-contained Linux applications for specific guidelines.

Поддерживаемые версии LinuxSupported Linux versions

.NET Core 2.x воспринимает Linux как отдельную операционную систему..NET Core 2.x treats Linux as a single operating system. Существует отдельная сборка для Linux (на основе архитектуры микросхемы) с поддержкой дистрибутивов Linux.There is a single Linux build (per chip architecture) for supported Linux distributions.

Ознакомьтесь с дополнительными сведениями и воспользуйтесь ссылками для скачивания для .NET Core 2.2 или .NET Core 2.1.For download links and more information, see .NET Core 2.2 downloads or .NET Core 2.1 downloads.

.NET Core 2.x поддерживается в следующих дистрибутивах и версиях Linux:.NET Core 2.x is supported on the following Linux distributions/versions:

  • Red Hat Enterprise Linux 7, 6 — 64-разрядная версия (x86_64 или amd64);Red Hat Enterprise Linux 7, 6 - 64-bit (x86_64 or amd64)
  • CentOS 7 — 64-разрядная версия (x86_64 или amd64);CentOS 7 - 64-bit (x86_64 or amd64)
  • Oracle Linux 7 — 64-разрядная версия (x86_64 или amd64);Oracle Linux 7 - 64-bit (x86_64 or amd64)
  • Fedora 28, 27 — 64-разрядная версия (x86_64 или amd64);Fedora 28, 27 - 64-bit (x86_64 or amd64)
  • Debian 9 (64-разрядная версия, версия arm32), а также версия 8.7 или более поздние для 64-разрядных платформ — (x86_64 или amd64)Debian 9 (64-bit, arm32), 8.7 or later versions - 64-bit (x86_64 or amd64)
  • Ubuntu 18.04 (64-разрядная версия, версия arm32), а также версии 16.04 и 14.04 для 64-разрядных платформ (x86_64 или amd64)Ubuntu 18.04 (64-bit, arm32), 16.04, 14.04 - 64-bit (x86_64 or amd64)
  • Linux Mint 18, 17 — 64-разрядная версия (x86_64 или amd64);Linux Mint 18, 17 - 64-bit (x86_64 or amd64)
  • openSUSE 42.3 или более поздней версии — 64-разрядная версия (x86_64 или amd64);openSUSE 42.3 or later versions - 64-bit (x86_64 or amd64)
  • SUSE Enterprise Linux (SLES) 12 с пакетом обновления 2 (SP2) или более поздней версии — 64-разрядная версия (x86_64 или amd64);SUSE Enterprise Linux (SLES) 12 Service Pack 2 or later - 64-bit (x86_64 or amd64)
  • Alpine Linux 3.7 или более поздней версии — 64-разрядная версия (x86_64 или amd64).Alpine Linux 3.7 or later versions - 64-bit (x86_64 or amd64)

Полный список операционных систем, дистрибутивов, версий, поддерживаемых .NET Core 2.1 и .NET Core 2.2, неподдерживаемых версий ОС, а также ссылки на политики жизненного цикла см. на соответствующих страницах для .NET Core 2.1 и .NET Core 2.2.See .NET Core 2.1 Supported OS Versions and .NET Core 2.2 Supported OS Versions for the complete list of .NET Core 2.1 and .NET Core 2.2 supported operating systems, distributions and versions, out of support OS versions, and lifecycle policy links.

Зависимости дистрибутивов LinuxLinux distribution dependencies

Ниже представлены примеры.The following are intended to be examples. Точные версии и имена могут немного отличаться в зависимости от используемого дистрибутива Linux.The exact versions and names may vary slightly on your Linux distribution of choice.

UbuntuUbuntu

Для дистрибутивов Ubuntu должны быть установлены следующие библиотеки:Ubuntu distributions require the following libraries installed:

  • liblttng-ust0liblttng-ust0
  • libcurl3libcurl3
  • libssl1.0.0libssl1.0.0
  • libkrb5-3libkrb5-3
  • zlib1gzlib1g
  • libicu52 (для 14.x)libicu52 (for 14.x)
  • libicu55 (для 16.x)libicu55 (for 16.x)
  • libicu57 (для 17.x)libicu57 (for 17.x)
  • libicu60 (для 18.x)libicu60 (for 18.x)

Для версий более ранних, чем .NET Core 2.1, также требуются следующие зависимости:For versions earlier than .NET Core 2.1, following dependencies are also required:

  • libunwind8libunwind8
  • libuuid1libuuid1

CentOS и FedoraCentOS and Fedora

Для дистрибутивов CentOS должны быть установлены следующие библиотеки:CentOS distributions require the following libraries installed:

  • lttng-ustlttng-ust
  • libcurllibcurl
  • openssl-libsopenssl-libs
  • krb5-libskrb5-libs
  • libiculibicu
  • zlibzlib

Для пользователей Fedora: если вы используете openssl версии до 1.1, вам потребуется установить compat-openssl10.Fedora users: If your openssl's version >= 1.1, you'll need to install compat-openssl10.

Для версий более ранних, чем .NET Core 2.1, также требуются следующие зависимости:For versions earlier than .NET Core 2.1, following dependencies are also required:

  • libunwindlibunwind
  • libuuidlibuuid

Дополнительные сведения о зависимостях см. в статье об автономных приложениях Linux.For more information about the dependencies, see Self-contained Linux applications.

Установка зависимостей .NET Core с помощью собственных установщиковInstalling .NET Core dependencies with the native installers

Для поддерживаемых дистрибутивов и версий Linux доступны собственные установщики .NET Core..NET Core native installers are available for supported Linux distributions/versions. Собственные установщики требуют доступа администратора (sudo) к серверу.The native installers require admin (sudo) access to the server. Преимущество использования собственного установщика заключается в том, что он устанавливает все собственные зависимости .NET Core.The advantage of using a native installer is that all of the .NET Core native dependencies are installed. Собственные установщики также устанавливают пакет SDK для .NET Core в масштабе всей системы.Native installers also install the .NET Core SDK system-wide.

В Linux есть два варианта выбора пакета установщика:On Linux, there are two installer package choices:

  • диспетчер пакетов на основе веб-канала, например apt-get для Ubuntu или yum для CentOS/RHEL;Using a feed-based package manager, such as apt-get for Ubuntu, or yum for CentOS/RHEL.
  • сами пакеты (DEB или RPM).Using the packages themselves, DEB or RPM.

Установка с помощью скрипта установщика .NET CoreScripting Installs with the .NET Core installer script

Скрипты dotnet-install служат для установки цепочки инструментов CLI и общей среды выполнения без прав администратора.The dotnet-install scripts are used to perform a non-admin install of the CLI toolchain and the shared runtime. Скрипт можно скачать на странице https://dot.net/v1/dotnet-install.sh.You can download the script from https://dot.net/v1/dotnet-install.sh.

Скрипт по умолчанию устанавливает последнюю версию LTS. В данный момент это .NET Core 1.1.The script defaults to installing the latest "LTS" version, which is currently .NET Core 1.1. Чтобы установить .NET Core 2.1, запустите скрипт с таким параметром.To install .NET Core 2.1, run the script with the following switch:

./dotnet-install.sh -c Current

Скрипт bash установщика используется в сценариях автоматизации и установки без прав администратора.The installer bash script is used in automation scenarios and non-admin installations. Скрипт также считывает параметры PowerShell, чтобы их можно было использовать с этим скриптом в системах Linux и OS X.This script also reads PowerShell switches, so they can be used with the script on Linux/OS X systems.

Устранение неполадокTroubleshoot

Если при установке .NET Core в поддерживаемом дистрибутиве и версии Linux возникают проблемы, обратитесь к статье для используемого дистрибутива и версии:If you have problems with a .NET Core installation on a supported Linux distribution/version, consult the following topics for your installed distributions/versions: