次の方法で共有


インストール スクリプトを使用するか、バイナリを抽出して linux に.NETをインストールする

この記事では、インストール スクリプトを使用するかバイナリを抽出して、.NET SDK または .NET ランタイムを Linux にインストールする方法について説明します。 組み込みのパッケージ マネージャーをサポートするディストリビューションの一覧については、「Install .NET on Linux」を参照してください。

.NET アプリを開発する場合は、SDK (ランタイムを含む) をインストールします。 または、アプリを実行する必要があるだけの場合は、ランタイムをインストールします。 ランタイムをインストールする場合は、ASP.NET Core Runtime .NET ランタイムと ASP.NET Core ランタイムの両方が含まれるようにインストールすることをお勧めします。

および コマンドを使用して、インストールされているバージョンを確認します。 詳細については、「.NETが既にインストールされていることを確認する方法を参照してください。

.NET リリース

サポートされるリリースには、長期サポート (LTS) と Standard Term Support (STS) の 2 種類があります。 すべてのリリースの品質は同じです。 唯一の違いは、サポート期間の長さです。 LTS リリースでは、3 年間無料のサポートとパッチが提供されます。 STS リリースでは、2 年間無料のサポートとパッチが提供されます。 詳細については、「.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

依存関係

.NETをインストールするときに、手動でインストールする場合など、特定の依存関係がインストールされない可能性があります。 次の一覧では、Microsoft でサポートされ、インストールが必要になる可能性がある依存関係がある Linux ディストリビューションについて詳しく説明します。 詳細については、ディストリビューションのページを確認してください。

  • アルパイン
  • デビアン
  • フェドラ
  • 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 ディストリビューションの Install .NET on 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

このスクリプトは、既定で最新の long term support (LTS) SDK バージョン (.NET 10) をインストールします。 最新のリリース ((LTS) バージョンではない場合がある) をインストールするには、 パラメータを使用します。

./dotnet-install.sh --version latest

SDK の代わりにランタイム.NETインストールするには、--runtime パラメーターを使用します。

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

特定のバージョンを示す パラメータを指定することで、特定のメジャー バージョンをインストールすることができます。 次のコマンドは、9.0 SDK .NETインストールします。

./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 の概要を参照してください。

ダウンロードしたバイナリを検証する

インストーラーまたはバイナリ リリースをダウンロードした後、ファイルを検証して、変更されたり破損したりしていないことを確認します。 コンピューターでチェックサムを検証し、ダウンロード Web サイトで報告されていたものと比較できます。

公式ダウンロード ページからファイルをダウンロードするときに、ファイルのチェックサムがテキスト ボックスに表示されます。 [コピー] ボタンを選択すると、クリップボードにチェックサム値がコピーされます。

チェックサムを含む.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 リリース テーブルを参照として示しています。

    GitHub リリース ノートの .NET バージョン テーブル

  2. ダウンロードした.NETのバージョンのリンクを選択します。

    前のセクションでは、.NET 9.0.10 リリースの SDK 9.0.306 .NET使用しました。

  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
    

    FAILED とマークされたファイルが表示された場合、ダウンロードしたファイルは無効であり、使用できません。

    $ 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
    

環境変数をシステム全体に設定する

前のインストール スクリプトを使用した場合、設定された変数は現在のターミナル セッションにのみ適用されます。 それらをシェル プロファイルに追加します。 Linux ではさまざまなシェルを使用でき、それぞれに異なるプロファイルがあります。 次に例を示します。

  • Bash シェル: ~/.bash_profile または ~/.bashrc
  • Korn シェル: ~/.kshrc または .profile
  • Z シェル: ~/.zshrc または .zprofile

シェル プロファイルに次の 2 つの環境変数を設定します。

  • DOTNET_ROOT

    この変数は、$HOME/.dotnet など、インストール.NETフォルダーに設定されます。

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    この変数には、 フォルダーと フォルダーの両方を含める必要があります。

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

次のステップ