Linux における .NET Core の前提条件Prerequisites for .NET Core on Linux

この記事では、Linux で .NET Core アプリケーションを開発するために必要な依存関係を示します。This article shows the dependencies needed to develop .NET Core applications on Linux. 後述のサポートされている Linux ディストリビューション/バージョンと依存関係は、Linux で .NET Core アプリを開発する次の 2 つの方法に適用されます。The supported Linux distributions/versions, and dependencies that follow apply to the two ways of developing .NET Core apps on Linux:

注意

.NET Core SDK パッケージは、運用サーバー/環境には必要はありません。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. 具体的なガイドラインについては、「Self-contained Linux applications」(自己完結型 Linux アプリケーション) もご覧ください。Also see Self-contained Linux applications for specific guidelines.

サポートされている Linux バージョンSupported Linux versions

  • .NET Core 2.x.NET Core 2.x
  • .NET Core 1.x.NET Core 1.x
  • .NET Core 3.0 Preview 1.NET Core 3.0 Preview 1

.NET Core 2.x は、1 つのオペレーティング システムとして Linux を扱います。.NET Core 2.x treats Linux as a single operating system. サポートされている Linux ディストリビューション用に、1 つの 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 Service Pack 2 以降 - 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 がサポートされているオペレーティング システム、ディストリビューション、バージョン、サポートされていない OS バージョン、ライフサイクル ポリシー リンクの完全なリストについては、.NET Core 2.1 がサポートされる OS バージョン.NET Core 2.2 がサポートされている OS バージョンに関するページを参照してください。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.

Linux ディストリビューションの依存関係Linux 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
  • libcurl3 (14.x および 16.x 用)libcurl3 (for 14.x and 16.x)
  • libcurl4 (18.x 用)libcurl4 (for 18.x)
  • 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

依存関係の詳細については、「Self-contained Linux applications (自己完結型 Linux アプリケーション)」をご覧ください。For more information about the dependencies, see Self-contained Linux applications.

ネイティブ インストーラーを使用した .NET Core の依存関係のインストールInstalling .NET Core dependencies with the native installers

.NET Core ネイティブ インストーラーは、サポートされている Linux ディストリビューション/バージョンに利用できます。.NET Core native installers are available for supported Linux distributions/versions. このネイティブ インストーラーは、サーバーへの admin (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. また、ネイティブ インストーラーでは、.NET Core SDK もシステム全体にインストールします。Native installers also install the .NET Core SDK system-wide.

Linux では、2 つのインストーラー パッケージから選択できます。On Linux, there are two installer package choices:

  • フィードベースのパッケージ マネージャー (Ubuntu では apt-get、CentOS/RHEL では yum など) を使用する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 Core インストーラー スクリプトを使用したスクリプトのインストールScripting 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

サポートされている Linux ディストリビューション/バージョンへの .NET Core のインストールに問題がある場合は、インストールしているディストリビューション/バージョンに関する以下のトピックをご覧ください。If you have problems with a .NET Core installation on a supported Linux distribution/version, consult the following topics for your installed distributions/versions: