この記事は、Ubuntu に.NETをインストールする方法を決定するのに役立ちます。 Ubuntu 22.04 以降、サポートされているほとんどのバージョンの.NETは、組み込みの Ubuntu フィードで使用できます。 Ubuntu .NET バックポート パッケージ リポジトリには、サポートされている残りの.NETバージョンが含まれています。
Canonical は、Ubuntu での.NETの発行を引き継ぎしました。 Ubuntu 22.04 以降、Microsoft は Ubuntu の.NETを Microsoft パッケージ リポジトリに配布しなくなりました。
サポートされているディストリビューション
次の表は、現在サポートされている .NET リリースと、それらがサポートされている Ubuntu のバージョンの一覧です。 各リンクは、特定の Ubuntu バージョン ページに移動し、そのバージョンの Ubuntu の.NETをインストールする方法について説明します。
| ウブントゥ | サポートされている.NETバージョン | 利用可能 組み込みの Ubuntu フィード |
利用可能 .NETのバックポート Ubuntu フィード |
利用可能 Microsoft フィード |
|---|---|---|---|---|
| 25.10 | 10.0, 9.0, 8.0 | 10.0, 9.0, 8.0 | 無し | 無し |
| 25.04 | 10.0, 9.0, 8.0 | 10.0, 9.0, 8.0 | 無し | 無し |
| 24.04 (LTS) | 10.0, 9.0, 8.0 | 10.0, 8.0 | 9.0、7.0、6.0 | 無し |
| 22.04 (LTS) | 10.0, 9.0, 8.0 | 8.0、7.0、6.0 | 10.0, 9.0 | 8.0、7.0、6.0、3.1 |
Ubuntu バージョンがサポート期間の終了に達すると、その特定の Ubuntu バージョンで.NETはサポートされなくなります。
Canonical は、Microsoft が提供するサポート有効期間を超えても、その Ubuntu バージョンの有効期間中に組み込みの Ubuntu フィードの.NETバージョンをサポートし、.NETバックポート パッケージ リポジトリの.NETバージョンに対するベスト エフォート サポートを提供します。これは、Microsoft が提供するサポートの有効期間を超えません。
次のバージョンの.NETは、❌サポートされなくなりました。
- .NET 7
- .NET 6
- .NET 5
- .NET Core 3.1
- .NET Core 3.0
- .NET Core 2.2
- .NET Core 2.1
- .NET Core 2.0
Ubuntu をアップグレードするときの考慮事項
Ubuntu を 22.04 以降にアップグレードしますか? 最初に.NETアンインストールすることを検討してください。
パッケージ マネージャーを使用して Microsoft パッケージ リポジトリから.NETをインストールした場合、Ubuntu のアップグレード後にパッケージのミックスアップの問題が発生します。 Canonical が Ubuntu 22.04 (およびそれ以降のバージョン) のパッケージ フィードに.NETを発行したので、パッケージ マネージャーは以前にインストールした.NETバージョンについて認識しません。 パッケージを最新の.NETにアップグレードすることはできません。 まず、それらをアンインストールしてから、Ubuntu パッケージ リポジトリから再インストールします。
.NETのインストール方法を決定する
Ubuntu のバージョンが組み込みまたは .NET バックポート Ubuntu フィードを介して.NETをサポートしている場合、これらのビルドの.NETのサポートは Canonical によって提供され、ビルドはさまざまなワークロード用に最適化される場合があります。 Microsoft では、Microsoft パッケージ リポジトリ フィードのパッケージのサポートを提供しています。
Warnung
ソース .NET パッケージへの Ubuntu フィードまたは Microsoft フィードのいずれかを選択することをお勧めします。 アプリが特定のバージョンの.NETを解決しようとすると問題が発生するため、複数のパッケージ リポジトリから.NETパッケージを混在させる必要はありません。
| メソッド | 利点 | 短所 |
|---|---|---|
| パッケージ マネージャー 組み込み式 Ubuntu フィード) |
|
|
| パッケージ マネージャー (.NET バックポート Ubuntu フィード) |
|
|
| パッケージ マネージャー (Microsoft フィード) |
|
|
| スクリプト \ 手動抽出 |
|
|
次のセクションを使用して、.NETをインストールする方法を決定します。
Ubuntu 22.04 以降を使用しており、.NET - 22.04 より前のバージョンの Ubuntu を使用しています
- 私は他の Microsoft パッケージ、、、またはを使用しています
- .NET アプリを作成します
- コンテナー、クラウド、または継続的インテグレーションのシナリオで.NET アプリを実行する必要があります
- 私のUbuntuディストリビューションには、必要な.NETバージョンが含まれていないか、サポート外のバージョン.NETが必要です
- プレビュー バージョンをインストールする
- APT を使用したくない
- Arm ベースの CPU を使用しています
- IBM System Z または Power プラットフォームを使用しています
Ubuntu 22.04 以降を使用しており、必要なのは .NET
powershell、mdatp、mssql など、他の Microsoft パッケージが必要ない場合は、Ubuntu フィードを使用して.NETをインストールします。 詳細については、次のページを参照してください。
Ubuntu 25.10 。Ubuntu 25.04 。- Ubuntu 24.04 に.NETをインストールします。
- Ubuntu 22.04 に.NETをインストールします。
Von Bedeutung
.NET 8 SDK と Ubuntu 22.04 を使用している場合は、Canonical によって提供される SDK バージョンが常に .1xx 機能バンドにあることを理解してください。 より新しい機能帯のリリースを使用する場合は、Microsoft フィードを使用して SDK をインストールしてください。 リポジトリ フィード間の切り替えの影響を理解するには、linux の
powershell、mdatp、mssql など、他の Microsoft パッケージを使用するために Microsoft リポジトリをインストールする場合は、Microsoft リポジトリによって提供される .NET パッケージの優先度を下げる必要があります。 パッケージの優先度を下げる方法については、「My Linux distribution provides .NET packages, and I want to use them」を参照してください。
22.04 より前のバージョンの Ubuntu を使用しています
Ubuntu に .NET SDK または .NET Runtime をインストールするのバージョン固有のセクションの手順を使用します。
Ubuntu のバージョンでサポートされている.NETのバージョンの詳細については、「Supported ディストリビューション」セクションを参照してください。 サポートされていないバージョンをインストールする場合は、「 Microsoft パッケージ リポジトリの登録」を参照してください。
他の Microsoft パッケージ ( 、 、または ) を使用しています。
Ubuntu のバージョンで Ubuntu フィード経由の.NETがサポートされている場合は、.NETをインストールするフィードを決定する必要があります。 Supported ディストリビューション セクションでは、パッケージ フィードで使用できる.NETのバージョンを示す表を示します。
Ubuntu フィードから .NET パッケージをソース化する場合は、Microsoft リポジトリによって提供される.NET パッケージを使い捨てる必要があります。 パッケージの優先順位を下げる方法については、「My Linux ディストリビューションは .NET パッケージを提供しています (My Linux Distribution provides .NET packages, and I want to use them)」を参照してください。
.NET アプリを作成する
ランタイムに使用するのと同じパッケージ ソースを SDK に使用します。 Ubuntu フィードを使用して.NETをインストールすることをお勧めします。 ただし、別のソース (たとえば、Microsoft パッケージ リポジトリ からより高い SDK 機能バンドにアクセスするために.NETをインストールする場合は、.NETをアンインストールし、Ubuntu フィードから.NET パッケージを無視するようにパッケージ マネージャーを構成し、他のソースから再インストールする必要があります。
「Decide how to install .NET」セクションのその他の推奨事項を確認します。
コンテナー、クラウド、または継続的インテグレーションのシナリオで.NET アプリを実行したい
Ubuntu バージョンで必要な.NETバージョンが提供されている場合は、Ubuntu フィードからインストールします。 それ以外の場合は、 Microsoft パッケージ リポジトリを登録し、そのリポジトリから.NETをインストールします。 「サポートされるディストリビューション」セクションの情報を確認します。
必要な.NETのバージョンが使用できない場合は、do tnet-install スクリプトを使用してみてください。
Ubuntu ディストリビューションに必要な .NET バージョンが含まれていないか、もしくはサポート外の .NET バージョンが必要な場合があります。
APT と Microsoft パッケージ リポジトリを使用することをお勧めします。 詳細については、「 Microsoft パッケージ リポジトリに登録してインストールする 」セクションを参照してください。
プレビュー バージョンをインストールする
.NETをインストールするには、次のいずれかの方法を使用します。
APT を使用したくない
自動インストールが必要な場合は、 Linux インストール スクリプトを使用します。
.NET インストール エクスペリエンスを完全に制御する場合は、tarball をダウンロードし、.NETを手動でインストールします。 詳細については、「 手動インストール」を参照してください。
Arm ベースの CPU を使用しています
Ubuntu バージョンで必要な.NETバージョンが提供されている場合は、組み込みのフィードからインストールします。 「サポートされるディストリビューション」セクションの情報を確認します。
必要な.NETのバージョンが使用できない場合は、次のいずれかの方法を使用して.NETをインストールしてみてください。
IBM System Z または Power プラットフォームを使用しています
Ubuntu 22.04 の .NET 8 以降、Canonical は IBM System Z および Power プラットフォームの.NETをサポートしています。 このサポートは、今後.NETリリースごとに継続されます。
組み込みの Ubuntu フィードを使用して.NETをインストールします。 詳細については、次のページを参照してください。
Ubuntu 25.10 。
パッケージ リポジトリを登録する
Ubuntu のバージョンによっては、Ubuntu バックポートまたは Microsoft パッケージ リポジトリの登録が必要になる場合があります。
Von Bedeutung
.NETのインストール方法を決定するセクションの情報を考慮してください。
- Ubuntu .NET バックポート パッケージ リポジトリを登録します
- Microsoft パッケージ リポジトリを登録する
Ubuntu .NET バックポート パッケージ リポジトリ
Ubuntu .NET バックポート パッケージ リポジトリには、組み込みの Ubuntu フィードでは使用できないバージョンの.NETが用意されています。 Canonical は、このパッケージ リポジトリに含まれるパッケージを保持し、Microsoft が提供するサポートの有効期間または特定の Ubuntu バージョンのサポート期間を超えないベスト エフォート サポートを提供します。
このパッケージ リポジトリは、Ubuntu 24.04 LTS (Noble Numbat) および Ubuntu 22.04 LTS (Jammy Jellyfish) でサポートされています。 Supported ディストリビューション セクションには、パッケージ フィードで使用できる.NETのバージョンを一覧表示するテーブルが用意されています。 詳細については、「Ubuntu .NET backports パッケージ リポジトリを参照してください。
このパッケージ リポジトリを追加するには、次のコマンドを実行します。
sudo add-apt-repository ppa:dotnet/backports
sudo apt update
Ubuntu .NET バックポート パッケージ リポジトリを登録する
ターミナルを開き、次のコマンドを実行します。
sudo add-apt-repository ppa:dotnet/backports
注
Ubuntu .NET バックポート パッケージ リポジトリは、組み込みの Ubuntu フィードと互換性があります。 そのため、組み込みの Ubuntu フィード内.NETパッケージを無視するようにパッケージ マネージャーを構成する必要はありません。
Ubuntu .NET バックポート パッケージ リポジトリの登録を解除する
Ubuntu .NET バックポート パッケージ リポジトリからパッケージを使用しなくなった場合は、登録を解除できます。 ターミナルを開き、次のコマンドを実行します。
sudo add-apt-repository --remove ppa:dotnet/backports
Von Bedeutung
Ubuntu .NET バックポート パッケージ リポジトリの登録を解除しても、パッケージはアンインストールされません。
add-apt-repository コマンドが見つかりません
ユーティリティは、ほとんどの Ubuntu インストールにプレインストールされています。
コマンドが見つからなかったというエラー メッセージが表示された場合は、このコマンドを提供する パッケージをインストールする必要があります。 ターミナルを開き、次のコマンドを実行します。
sudo apt update
sudo apt install software-properties-common
Microsoft パッケージ リポジトリを登録する
Von Bedeutung
これは、24.04 より前の Ubuntu バージョンにのみ適用されます。 Ubuntu 24.04 以降、Microsoft はパッケージを Microsoft パッケージ リポジトリに発行しなくなりました。 サポートされるディストリビューション テーブルを使用して、.NETをインストールする最適な方法を決定します。
Microsoft パッケージ リポジトリには、お使いの Ubuntu バージョンでサポートされている、以前または現在の.NETのすべてのバージョンが含まれています。 Ubuntu のバージョンで.NET パッケージが提供されている場合は、Ubuntu パッケージを初期化し、Microsoft リポジトリを使用する必要があります。 パッケージの優先順位を下げる方法については、「 Linux ディストリビューションで提供されていないバージョンの.NETが必要です」をご覧ください。
Von Bedeutung
Microsoft パッケージ リポジトリは、x64 アーキテクチャを対象とする.NET パッケージのみをサポートします。 Arm などのその他のアーキテクチャでは、installer スクリプトや人によるインストールなど、他の方法で.NETをインストールする必要があります。
プレビュー リリースは、Microsoft パッケージ リポジトリでは使用 できません 。 詳細については、「 プレビュー バージョンのインストール」を参照してください。
注意事項
すべての.NETインストールを管理するには、1 つのリポジトリのみを使用することをお勧めします。 Ubuntu リポジトリで.NETをインストールしたことがある場合は、.NET パッケージのシステムをクリーンアップし、Ubuntu フィードを無視するように APT を構成する必要があります。 これを行う方法の詳細については、「 Linux ディストリビューションで提供されていないバージョンの.NETが必要ですを参照してください。
APT を使用したインストールは、少ないコマンドで実行できます。 .NETをインストールする前に、次のコマンドを実行して、Microsoft パッケージ署名キーを信頼済みキーの一覧に追加し、パッケージ リポジトリを追加します。
ターミナルを開き、次のコマンドを実行します。
# Get OS version info which adds the $ID and $VERSION_ID variables
source /etc/os-release
# Download Microsoft signing key and repository
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
# Install Microsoft signing key and repository
sudo dpkg -i packages-microsoft-prod.deb
# Clean up
rm packages-microsoft-prod.deb
# Update packages
sudo apt update
ヒント
前のスクリプトは Ubuntu 用に記述されており、Linux Mint などの派生ディストリビューションを使用している場合は機能しない可能性があります。 変数と変数に正しい値が割り当てられず、 コマンドの URI が無効になる可能性があります。 はディストリビューション ( など) に対応しますが、は、22.04 や 23.10 などのパッケージを取得する特定のバージョンの Ubuntu にマップされます。
たとえば、Ubuntu 22.04 では、 は され、 は 。 URL は次のようになります: 。
Web ブラウザーを使用し、 に移動して、 値として使用できる Ubuntu のバージョンを確認できます。
.NETのインストール、アンインストール、または更新
次のセクションでは、パッケージ マネージャーを使用して.NETを管理する方法について説明します。
.NETのインストール
sudo apt install <package-name> コマンドを使用して、パッケージ マネージャーから.NETをインストールします。
<package-name> を、インストールする.NET パッケージの名前に置き換えます。 たとえば、.NET SDK 10.0 をインストールするには、コマンド sudo apt install dotnet-sdk-10.0 を使用します。 次の表に、現在サポートされている.NET パッケージの一覧を示します (might は Ubuntu のバージョンによって異なります)。
| プロダクト | タイプ | パッケージ | |
|---|---|---|---|
| 10.0 | ASP.NET Core | ランタイム | aspnetcore-runtime-10.0 |
| 10.0 | .NET | ランタイム | dotnet-runtime-10.0 |
| 10.0 | .NET | SDK | dotnet-sdk-10.0 |
| 9.0 | ASP.NET Core | ランタイム | aspnetcore-runtime-9.0 |
| 9.0 | .NET | ランタイム | dotnet-runtime-9.0 |
| 9.0 | .NET | SDK | dotnet-sdk-9.0 |
| 8.0 | ASP.NET Core | ランタイム | aspnetcore-runtime-8.0 |
| 8.0 | .NET | ランタイム | dotnet-runtime-8.0 |
| 8.0 | .NET | SDK | dotnet-sdk-8.0 |
ヒント
.NETアプリを作成していない場合は、.NET ランタイムが含まれており、ASP.NET Core アプリもサポートしているため、ASP.NET Core ランタイムをインストールします。
一部の環境変数は、インストール後の.NETの実行方法に影響します。 詳細については、「.NET SDK および CLI 環境変数を参照してください。
.NETのアンインストール
パッケージ マネージャーを使用して.NETをインストールした場合は、apt-get remove コマンドを使用して同じ方法でアンインストールします。
sudo apt-get remove dotnet-sdk-6.0
詳細については、「Uninstall .NETを参照してください。
.NETの更新
パッケージ マネージャーを使用して.NETをインストールした場合は、apt upgrade コマンドを使用してパッケージをアップグレードできます。 たとえば、次のコマンドを実行すると、 パッケージが最新バージョンにアップグレードされます。
sudo apt update
sudo apt upgrade dotnet-sdk-10.0
ヒント
.NETのインストール後に Linux ディストリビューションをアップグレードした場合は、Microsoft パッケージ リポジトリの再構成が必要になる場合があります。 現在のディストリビューション バージョンのインストール手順を実行して、.NET更新プログラム用の適切なパッケージ リポジトリにアップグレードします。
プレビュー バージョンの管理
次のセクションでは、.NETのプレビュー リリースをインストールおよびアンインストールする方法について説明します。
プレビュー バージョンをインストールする
.NETのプレビューおよびリリース候補バージョンは、パッケージ リポジトリでは使用できません。 .NETのプレビューとリリース候補は、次のいずれかの方法でインストールできます。
- install-dotnet.sh を使用したスクリプトインストール
- 手動バイナリ抽出
プレビュー バージョンを削除する
パッケージ マネージャーを使用して.NETのインストールを管理する場合、以前にプレビュー リリースをインストールしたことがある場合、競合が発生する可能性があります。 パッケージ マネージャーは、プレビュー以外のリリースを以前のバージョンの.NETとして解釈できます。 プレビュー以外のリリースをインストールするには、最初にプレビュー バージョンをアンインストールします。 .NETのアンインストールの詳細については、「 .NET ランタイムと SDK を削除する方法を参照してください。
トラブルシューティング
Ubuntu 22.04 以降では、.NETの一部しか使用できないと思われる状況が発生する可能性があります。 たとえば、ランタイムと SDK をインストールしたが、 実行するとランタイムのみが表示されます。 この状況は、2 つの異なるパッケージ ソースの使用に関連する場合があります。 組み込みの Ubuntu 22.04 および Ubuntu 22.10 パッケージ フィードには、一部のバージョンの.NETが含まれていますが、すべてではなく、Microsoft フィードから.NETもインストールされている可能性があります。 この問題を解決する方法の詳細については、「 Linux 上の不足しているファイルに関連する.NETエラーをトラブルシューティングするを参照してください。
APT の問題
このセクションでは、APT を使用して.NETをインストールするときに発生する可能性がある一般的なエラーについて説明します。
パッケージが見つかりません
Von Bedeutung
パッケージ マネージャーを使用して Microsoft パッケージ フィード から.NETをインストールする場合、x64 アーキテクチャのみがサポートされます。 Arm64 などの他のアーキテクチャは、Microsoft パッケージ フィードではサポートされていません。 Ubuntu フィードを使用するか、.NETを手動でインストールします。 複数のフィードを使用する場合は、パッケージの混在問題に注意してください。 詳細については、Linux での .NET パッケージの組み合わせに関する記事を参照してください。
パッケージ マネージャーなしで.NET をインストールする方法の詳細については、次のいずれかの記事を参照してください。
\ 一部のパッケージをインストールできませんでした
注
この情報は、microsoft パッケージ フィードから.NETがインストールされている場合にのみ適用されます。
パッケージ {dotnet-package} を見つけられない か、 一部のパッケージをインストールできませんでしたのようなエラー メッセージが表示された場合は、次のコマンドを実行します。
次の一連のコマンドには、2 つのプレースホルダーがあります。
{dotnet-package}
これは、aspnetcore-runtime-8.0など、インストールする.NET パッケージを表します。 これは、次の コマンドで使用されます。
まず、パッケージ 一覧を消去してみてください。
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
次に、もう一度.NETインストールしてみてください。 それでも問題が解決しない場合は、次のコマンドを使用して手動インストールを実行できます。
Ubuntu 23.10 以降を使用している場合は、次のコマンドを試してください。
# Get OS version info which adds the $ID and $VERSION_ID variables
source /etc/os-release
# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
# Move the key to the appropriate place
sudo mv microsoft.asc.gpg $(cat /etc/apt/sources.list.d/microsoft-prod.list | grep -oP "(?<=signed-by=).*(?=\])")
# Update packages and install .NET
sudo apt-get update && \
sudo apt-get install -y {dotnet-package}
23.10 より前のバージョンの Ubuntu を使用している場合は、次のコマンドを試してください。
# Define the OS version, name, and codename
source /etc/os-release
# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
# Set ownership
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
# Update packages and install .NET
sudo apt-get update && \
sudo apt-get install -y {dotnet-package}
取得に失敗しました
.NET パッケージのインストール中に、Failed to fetch ... File has unexpected size ... Mirror sync in progress? のようなエラーが表示されることがあります。 このエラーは、.NETのパッケージ フィードが新しいパッケージ バージョンでアップグレードされ、後でもう一度やり直す必要があることを意味する可能性があります。 アップグレード中は、パッケージ フィードを 30 分以上使用できないようにする必要があります。 このエラーが 30 分を超えて継続的に発生する場合は、 で問題を提出してください。
依存関係
パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、.NETを手動でインストールする場合、または自己完結型アプリを発行する場合は、次の依存関係をインストールしてアプリを実行する必要があります。
- CA証明書
- libc6
- libgcc1 (16.x および 18.x の場合)
- libgcc-s1 (20.x 以降)
- libgssapi-krb5-2
- libicu55 (16.x の場合)
- libicu60 (18.x の場合)
- libicu66 (20.x の場合)
- libicu70 (22.04 用)
- libicu72 (バージョン23.10用)
- libicu74 (24.04 用)
- libicu76 (25.04 以降)
- libssl1.0.0 (16.x の場合)
- libssl1.1 (18.x、20.x の場合)
- libssl3 (22.x 以降の場合)
- libstdc++6
- tzdata
- zlib1g
依存関係は コマンドでインストールできます。 次のスニペットは ライブラリのインストールを示しています。
sudo apt install zlib1g
次のステップ
- .NET CLI の概要
- .NET CLI のタブ補完を有効にする方法
Tutorial: .NET
.NET