次の方法で共有


Ubuntu に .NET SDK または .NET ランタイムをインストールする

この記事では、Ubuntu に .NET をインストールする方法について説明します。

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

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

重要

パッケージ マネージャーを使った Microsoft パッケージ フィードからの .NET のインストールでは、x64 アーキテクチャのみがサポートされます。 Arm などの他のアーキテクチャは、Microsoft パッケージ フィードではサポートされていません。 Ubuntu フィードを使用するか、.NET を手動でインストールしてください。 複数のフィードを使用する場合は、誤ったパッケージを使用しないように注意してください。 詳細については、Linux での .NET パッケージの取り違えに関するページを参照してください。

パッケージ マネージャーを使用せずに .NET をインストールする方法の詳細については、次の記事のいずれかを参照してください。

Ubuntu 24.10

.NET は、Ubuntu パッケージ マネージャー フィードで使用できます。 Microsoft パッケージ リポジトリに Ubuntu 用の .NET パッケージが含まれるようになりました。

Ubuntu 24.10 では、次のバージョンの .NET がサポートまたは使用できます。

  • 9.0
  • 8.0

重要

.NET 9 は現在プレビュー段階です。

Ubuntu のバージョンがサポート対象外である場合、.NET もそのバージョンでサポート対象外となります。

SDK のインストール

.NET SDK を使用すると、.NET を使用してアプリを開発できます。 .NET SDK をインストールする場合、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-9.0

.NET CLI の使用方法については、「.NET CLI の概要」を参照してください。

ランタイムをインストールする

ASP.NET Core ランタイムを使用すると、ランタイムを提供しない .NET を使用して作成されたアプリを実行できます。 次のコマンドを実行すると、.NET の最も互換性の高いランタイムである ASP.NET Core ランタイムがインストールされます。 ご利用のターミナルで、次のコマンドを実行します。

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-9.0

ASP.NET Core ランタイムの代替手段として、ASP.NET Core サポートを含まない .NET ランタイムをインストールできます。それには、前のコマンドの aspnetcore-runtime-9.0dotnet-runtime-9.0 で置き換えます。

sudo apt-get install -y dotnet-runtime-9.0

.NET CLI の使用方法については、「.NET CLI の概要」を参照してください。

依存関係

パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、手動で .NET をインストールする場合、または自己完結型アプリを公開する場合は、次のライブラリがインストールされていることを確認する必要があります。

  • ca-certificates
  • libc6
  • libgcc-s1
  • libicu74
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

依存関係は apt install コマンドを使用してインストールできます。 次のスニペットは、zlib1g ライブラリのインストールを示しています。

sudo apt install zlib1g

.NET アプリで System.Drawing.Common アセンブリを使用している場合、libgdiplus もインストールする必要があります。 System.Drawing.Common は Linux でサポートされなくなったため、これは .NET 6 のみで機能し、System.Drawing.EnableUnixSupport ランタイム構成スイッチを設定する必要があります。

最新バージョンの libgdiplus をインストールするには、システムに Mono リポジトリを追加します。

Ubuntu 24.04

.NET は、Ubuntu パッケージ マネージャー フィードと Microsoft パッケージ リポジトリで入手できます。 ただし、.NET をインストールする場合は、どちらか一方のみを使用してください。 Ubuntu パッケージ マネージャー フィードを使用することをお勧めします。 Microsoft パッケージ リポジトリをお使いになる場合は、Microsoft パッケージ リポジトリを登録する方法に関するセクションを参照してください。

Ubuntu 24.04 では、次のバージョンの .NET がサポートされているか、使用できます。

サポートされている .NET バージョン 利用可能
組み込みの Ubuntu フィード
利用可能:
backports
Ubuntu フィード
利用可能:
Microsoft フィード
8.0、6.0 8.0 7.0、6.0 なし

Ubuntu のバージョンがサポート対象外である場合、.NET もそのバージョンでサポート対象外となります。

使用できません。

依存関係

パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、手動で .NET をインストールする場合、または自己完結型アプリを公開する場合は、次のライブラリがインストールされていることを確認する必要があります。

  • ca-certificates
  • libc6
  • libgcc-s1
  • libicu74
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

依存関係は apt install コマンドを使用してインストールできます。 次のスニペットは、zlib1g ライブラリのインストールを示しています。

sudo apt install zlib1g

.NET アプリで System.Drawing.Common アセンブリを使用している場合、libgdiplus もインストールする必要があります。 System.Drawing.Common は Linux でサポートされなくなったため、これは .NET 6 のみで機能し、System.Drawing.EnableUnixSupport ランタイム構成スイッチを設定する必要があります。

最新バージョンの libgdiplus をインストールするには、システムに Mono リポジトリを追加します。

Ubuntu 22.04

.NET は、Ubuntu パッケージ マネージャー フィードと Microsoft パッケージ リポジトリで入手できます。 ただし、.NET をインストールする場合は、どちらか一方のみを使用してください。 Ubuntu パッケージ マネージャー フィードを使用することをお勧めします。 Microsoft パッケージ リポジトリをお使いになる場合は、Microsoft パッケージ リポジトリを登録する方法に関するセクションを参照してください。

Ubuntu 22.04 では、次のバージョンの .NET がサポートされているか、入手できます。

サポートされている .NET バージョン 利用可能
組み込みの Ubuntu フィード
利用可能:
.NET バックポート
Ubuntu フィード
利用可能:
Microsoft フィード
8.0、6.0 8.0、7.0、6.0 なし 8.0、7.0、6.0、3.1

重要

.NET 8 SDK と Ubuntu 22.04 を使用している場合は、Canonical によって提供される SDK バージョンが常に .1xx 機能バンドにあることを理解。 新しい機能帯のリリースを使用する場合は、Microsoft フィードを使用して SDK をインストールしてください。 リポジトリ フィード間の切り替えの影響を理解するには、Linux 上の .NET パッケージの混在に関する記事で情報を確認してください。

Ubuntu のバージョンがサポート対象外である場合、.NET もそのバージョンでサポート対象外となります。

使用できません。

依存関係

パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、手動で .NET をインストールする場合、または自己完結型アプリを公開する場合は、次のライブラリがインストールされていることを確認する必要があります。

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu70
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

依存関係は apt install コマンドを使用してインストールできます。 次のスニペットは、zlib1g ライブラリのインストールを示しています。

sudo apt install zlib1g

.NET アプリで System.Drawing.Common アセンブリを使用している場合、libgdiplus もインストールする必要があります。 System.Drawing.Common は Linux でサポートされなくなったため、これは .NET 6 のみで機能し、System.Drawing.EnableUnixSupport ランタイム構成スイッチを設定する必要があります。

最新バージョンの libgdiplus をインストールするには、システムに Mono リポジトリを追加します。

Ubuntu 20.04

既定の Ubuntu パッケージ リポジトリには、このバージョンの .NET は含まれていません。 代わりに、Microsoft パッケージ リポジトリを使用してください

Ubuntu 20.04 では、次のバージョンの .NET がサポートされているか、使用できます。

サポートされている .NET バージョン 利用可能
組み込みの Ubuntu フィード
利用可能:
.NET バックポート
Ubuntu フィード
利用可能:
Microsoft フィード
8.0、6.0 なし なし 8.0、7.0 6.0、5.0、3.1、2.1

Ubuntu のバージョンがサポート対象外である場合、.NET もそのバージョンでサポート対象外となります。

Microsoft パッケージ リポジトリを追加する

APT を使用したインストールは、少ないコマンドで実行できます。 .NET をインストールする前に、次のコマンドを実行して、信頼されたキーの一覧に Microsoft パッケージ署名キーを追加し、パッケージ リポジトリを追加します。

ターミナルを開き、次のコマンドを実行します。

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

使用できません。

依存関係

パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、手動で .NET をインストールする場合、または自己完結型アプリを公開する場合は、次のライブラリがインストールされていることを確認する必要があります。

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu66
  • libssl1.1
  • libstdc++6
  • zlib1g

依存関係は apt install コマンドを使用してインストールできます。 次のスニペットは、zlib1g ライブラリのインストールを示しています。

sudo apt install zlib1g

.NET アプリで System.Drawing.Common アセンブリを使用している場合、libgdiplus もインストールする必要があります。 System.Drawing.Common は Linux でサポートされなくなったため、これは .NET 6 のみで機能し、System.Drawing.EnableUnixSupport ランタイム構成スイッチを設定する必要があります。

最新バージョンの libgdiplus をインストールするには、システムに Mono リポジトリを追加します。

サポートされていないバージョン

次のバージョンの .NET は、❌ サポート対象外となりました。

  • .NET 7
  • .NET 6 (2024 年 11 月 12 日より)
  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

その他のバージョンをインストールする方法

.NET パッケージ名は、すべての Linux ディストリビューションで標準化されています。 次の表にパッケージを示します。

すべてのバージョンの .NET は、https://dotnet.microsoft.com/download/dotnet でダウンロードできますが、手動でのインストールが必要です。 パッケージ マネージャーを使用して異なるバージョンの .NET のインストールを試すことができます。 ただし、要求したバージョンが利用できない場合があります。

パッケージ マネージャーのフィードに追加されるパッケージは、変更可能な形式で名前が付けられます (例: {product}-{type}-{version})。

  • product
    インストールする .NET 製品の種類。 有効なオプションは次のとおりです。

    • dotnet
    • aspnetcore
  • type
    SDK またはランタイムを選択します。 有効なオプションは次のとおりです。

    • sdk (dotnet 製品でのみ利用可能)
    • runtime
  • version
    インストールする SDK またはランタイムのバージョン。 有効なオプションは、次のようなリリース バージョンです。

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    お使いの Linux ディストリビューションではダウンロードしようとしている SDK/ランタイムを利用できない可能性があります。 サポートされているディストリビューションの一覧が必要な場合、「Linux に .NET をインストールする」を参照してください。

  • ASP.NET Core 8.0 ランタイムをインストールする: aspnetcore-runtime-8.0
  • .NET Core 2.1 ランタイムをインストールする: dotnet-runtime-2.1
  • .NET 5 SDK をインストールする: dotnet-sdk-5.0
  • .NET Core 3.1 SDK をインストールする: dotnet-sdk-3.1

Note

一部のパッケージは、お使いの Linux ディストリビューションでは利用できない場合があります。

パッケージがない

パッケージ バージョンの組み合わせが正しくない場合は、使用できません。 たとえば、ASP.NET Core SDK は存在しません。 ASP.NET Core 用の SDK コンポーネントは、.NET SDK に含まれています。 値 aspnetcore-sdk-8.0 は正しくありません。dotnet-sdk-8.0 にする必要があります .NET によってサポートされている Linux ディストリビューションの一覧については、.NET の依存関係と要件に関するページを参照してください。

手動インストール

お使いの Ubuntu のバージョンがサポートされていない場合は、インストール スクリプトを使用して、バイナリを手動で展開して .NET をインストールすることが必要になる可能性があります。 詳細については、「パッケージ マネージャーを使用せずに Linux に .NET をインストールする」を参照してください。

Ubuntu 23.10

警告

このバージョンの Ubuntu はサポート対象から除外されたことに注意してください。

このバージョンの Ubuntu での .NET の実行はサポートされなくなりました。

.NET は、Ubuntu パッケージ マネージャー フィードと Microsoft パッケージ リポジトリで入手できます。 ただし、.NET をインストールする場合は、どちらか一方のみを使用してください。 Ubuntu パッケージ マネージャー フィードを使用することをお勧めします。 Microsoft パッケージ リポジトリをお使いになる場合は、Microsoft パッケージ リポジトリを登録する方法に関するセクションを参照してください。

Ubuntu 23.10 では、次のバージョンの .NET がサポートまたは利用可能でした。

サポートされている .NET バージョン 利用可能
組み込みの Ubuntu フィード
利用可能:
.NET バックポート
Ubuntu フィード
利用可能:
Microsoft フィード
8.0、6.0 8.0、7.0、6.0 なし 8.0、7.0、6.0

重要

.NET 8 SDK と Ubuntu 22.04 を使用している場合は、Canonical によって提供される SDK バージョンが常に .1xx 機能バンドにあることを理解。 新しい機能帯のリリースを使用する場合は、Microsoft フィードを使用して SDK をインストールしてください。 リポジトリ フィード間の切り替えの影響を理解するには、Linux 上の .NET パッケージの混在に関する記事で情報を確認してください。

Ubuntu のバージョンがサポート対象外である場合、.NET もそのバージョンでサポート対象外となります。

使用できません。

依存関係

パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、手動で .NET をインストールする場合、または自己完結型アプリを公開する場合は、次のライブラリがインストールされていることを確認する必要があります。

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu72
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

依存関係は apt install コマンドを使用してインストールできます。 次のスニペットは、zlib1g ライブラリのインストールを示しています。

sudo apt install zlib1g

.NET アプリで System.Drawing.Common アセンブリを使用している場合、libgdiplus もインストールする必要があります。 System.Drawing.Common は Linux でサポートされなくなったため、これは .NET 6 のみで機能し、System.Drawing.EnableUnixSupport ランタイム構成スイッチを設定する必要があります。

最新バージョンの libgdiplus をインストールするには、システムに Mono リポジトリを追加します。

Ubuntu 23.04

警告

このバージョンの Ubuntu はサポート対象から除外されたことに注意してください。

このバージョンの Ubuntu での .NET の実行はサポートされなくなりました。

.NET は、Ubuntu パッケージ マネージャー フィードと Microsoft パッケージ リポジトリで入手できます。 ただし、.NET をインストールする場合は、どちらか一方のみを使用してください。 Ubuntu パッケージ マネージャー フィードを使用することをお勧めします。 Microsoft パッケージ リポジトリをお使いになる場合は、Microsoft パッケージ リポジトリを登録する方法に関するセクションを参照してください。

Ubuntu 23.04 では、次のバージョンの .NET がサポートまたは利用可能でした。

サポートされている .NET バージョン 利用可能
組み込みの Ubuntu フィード
利用可能:
.NET バックポート
Ubuntu フィード
利用可能:
Microsoft フィード
8.0、6.0 7.0、6.0 なし 8.0、7.0、6.0

重要

.NET 8 SDK と Ubuntu 22.04 を使用している場合は、Canonical によって提供される SDK バージョンが常に .1xx 機能バンドにあることを理解。 新しい機能帯のリリースを使用する場合は、Microsoft フィードを使用して SDK をインストールしてください。 リポジトリ フィード間の切り替えの影響を理解するには、Linux 上の .NET パッケージの混在に関する記事で情報を確認してください。

使用できません。

依存関係

パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、手動で .NET をインストールする場合、または自己完結型アプリを公開する場合は、次のライブラリがインストールされていることを確認する必要があります。

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu72
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

依存関係は apt install コマンドを使用してインストールできます。 次のスニペットは、zlib1g ライブラリのインストールを示しています。

sudo apt install zlib1g

.NET アプリで System.Drawing.Common アセンブリを使用している場合、libgdiplus もインストールする必要があります。 System.Drawing.Common は Linux でサポートされなくなったため、これは .NET 6 のみで機能し、System.Drawing.EnableUnixSupport ランタイム構成スイッチを設定する必要があります。

最新バージョンの libgdiplus をインストールするには、システムに Mono リポジトリを追加します。

Ubuntu 22.10

警告

このバージョンの Ubuntu はサポート対象から除外されたことに注意してください。

このバージョンの Ubuntu での .NET の実行はサポートされなくなりました。

.NET は、Ubuntu パッケージ マネージャー フィードと Microsoft パッケージ リポジトリで入手できます。 ただし、.NET をインストールする場合は、どちらか一方のみを使用してください。 Ubuntu パッケージ マネージャー フィードを使用することをお勧めします。 Microsoft パッケージ リポジトリをお使いになる場合は、Microsoft パッケージ リポジトリを登録する方法に関するセクションを参照してください。

Ubuntu 22.10 では、次のバージョンの .NET がサポートされているか、入手できます。

サポートされている .NET バージョン 利用可能
組み込みの Ubuntu フィード
利用可能:
.NET バックポート
Ubuntu フィード
利用可能:
Microsoft フィード
6.0 7.0、6.0 なし 7.0、6.0、3.1

重要

.NET 8 SDK と Ubuntu 22.04 を使用している場合は、Canonical によって提供される SDK バージョンが常に .1xx 機能バンドにあることを理解。 新しい機能帯のリリースを使用する場合は、Microsoft フィードを使用して SDK をインストールしてください。 リポジトリ フィード間の切り替えの影響を理解するには、Linux 上の .NET パッケージの混在に関する記事で情報を確認してください。

使用できません。

依存関係

パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、手動で .NET をインストールする場合、または自己完結型アプリを公開する場合は、次のライブラリがインストールされていることを確認する必要があります。

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu71
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

依存関係は apt install コマンドを使用してインストールできます。 次のスニペットは、zlib1g ライブラリのインストールを示しています。

sudo apt install zlib1g

.NET アプリで System.Drawing.Common アセンブリを使用している場合、libgdiplus もインストールする必要があります。 System.Drawing.Common は Linux でサポートされなくなったため、これは .NET 6 のみで機能し、System.Drawing.EnableUnixSupport ランタイム構成スイッチを設定する必要があります。

最新バージョンの libgdiplus をインストールするには、システムに Mono リポジトリを追加します。

次のステップ