この記事では、debian に.NETをインストールする方法について説明します。 Debian バージョンがサポート対象外になると、.NETはそのバージョンでサポートされなくなりました。 ただし、これらの手順は、サポートされていない場合でも、これらのバージョンで.NETを実行するのに役立つ場合があります。
.NET アプリを開発する場合は、SDK (ランタイムを含む) をインストールします。 または、アプリを実行する必要があるだけの場合は、ランタイムをインストールします。 ランタイムをインストールする場合は、ASP.NET Core Runtime .NET ランタイムと ASP.NET Core ランタイムの両方が含まれるようにインストールすることをお勧めします。
dotnet --list-sdks および dotnet --list-runtimes コマンドを使用して、インストールされているバージョンを確認します。 詳細については、「.NETが既にインストールされていることを確認する方法を参照してください。
サポートされているディストリビューション
次の表は、現在サポートされている.NETリリースと、それらがサポートされている Debian のバージョンの一覧です。 これらのバージョンは、.NET のバージョンがサポート終了または Debian のバージョンが終了するまでサポート。
| Debian | .NET |
|---|---|
| 13 | 10, 9, 8 |
| 12 | 10, 9, 8 |
次のバージョンの.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
プレビュー バージョンをインストールする
.NETのプレビューおよびリリース候補バージョンは、パッケージ リポジトリでは使用できません。 .NETのプレビューとリリース候補は、次のいずれかの方法でインストールできます。
プレビュー バージョンの削除
パッケージ マネージャーを使用して.NETのインストールを管理する場合、以前にプレビュー リリースをインストールしたことがある場合、競合が発生する可能性があります。 パッケージ マネージャーは、プレビュー以外のリリースを以前のバージョンの.NETとして解釈できます。 プレビューではないリリースをインストールするには、最初にプレビュー バージョンをアンインストールします。 .NETのアンインストールの詳細については、「 .NET ランタイムと SDK を削除する方法を参照してください。
Debian 13
APT を使用したインストールは、少ないコマンドで実行できます。 .NETをインストールする前に、次のコマンドを実行して、Microsoft パッケージ署名キーを信頼済みキーの一覧に追加し、パッケージ リポジトリを追加します。
ターミナルを開き、次のコマンドを実行します。
wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
重要
Microsoft パッケージ フィードは、.NET 10 の x64 パッケージと Arm64 パッケージのみを発行します。
SDK のインストール
.NET SDK を使用すると、.NETを使用してアプリを開発できます。 .NET SDK をインストールする場合は、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-10.0
.NET CLI の使用方法については、.NET CLI の概要を参照してください。
ランタイムをインストールする
ASP.NET Core ランタイムを使用すると、ランタイムを提供していない.NETで作成されたアプリを実行できます。 次のコマンドは、.NETに最も互換性のあるランタイムである ASP.NET Core ランタイムをインストールします。 ご利用のターミナルで、次のコマンドを実行します。
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-10.0
ASP.NET Core ランタイムの代わりに、.NET ランタイムをインストールできます。ASP.NET Coreサポートは含まれません。前のコマンドの aspnetcore-runtime-10.0 を dotnet-runtime-10.0 に置き換えます。
sudo apt-get install -y dotnet-runtime-10.0
.NET CLI の使用方法については、.NET CLI の概要を参照してください。
Debian 12
APT を使用したインストールは、少ないコマンドで実行できます。 .NETをインストールする前に、次のコマンドを実行して、Microsoft パッケージ署名キーを信頼済みキーの一覧に追加し、パッケージ リポジトリを追加します。
ターミナルを開き、次のコマンドを実行します。
wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
重要
Microsoft パッケージ フィードは、.NET 10 の x64 パッケージと Arm64 パッケージのみを発行します。
SDK のインストール
.NET SDK を使用すると、.NETを使用してアプリを開発できます。 .NET SDK をインストールする場合は、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-10.0
.NET CLI の使用方法については、.NET CLI の概要を参照してください。
ランタイムをインストールする
ASP.NET Core ランタイムを使用すると、ランタイムを提供していない.NETで作成されたアプリを実行できます。 次のコマンドは、.NETに最も互換性のあるランタイムである ASP.NET Core ランタイムをインストールします。 ご利用のターミナルで、次のコマンドを実行します。
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-10.0
ASP.NET Core ランタイムの代わりに、.NET ランタイムをインストールできます。ASP.NET Coreサポートは含まれません。前のコマンドの aspnetcore-runtime-10.0 を dotnet-runtime-10.0 に置き換えます。
sudo apt-get install -y dotnet-runtime-10.0
.NET CLI の使用方法については、.NET CLI の概要を参照してください。
APT を使用して.NETを更新する
.NETで新しいパッチ リリースを使用できる場合は、次のコマンドを使用して APT を使用してアップグレードできます。
sudo apt-get update
sudo apt-get upgrade
.NETのインストール後に Linux ディストリビューションをアップグレードした場合は、Microsoft パッケージ リポジトリの再構成が必要になる場合があります。 現在のディストリビューション バージョンのインストール手順を実行して、.NET更新プログラム用の適切なパッケージ リポジトリにアップグレードします。
トラブルシューティング
このセクションでは、APT を使用して.NETをインストールするときに発生する可能性がある一般的なエラーについて説明します。
パッケージが見つからない
重要
Microsoft パッケージ フィードは、.NETのバージョンに応じて、さまざまなアーキテクチャのパッケージを発行します。
- .NET 10: x64 および Arm64 パッケージのみ。
- .NET 9: x64 パッケージのみ。
- .NET 8: x64 パッケージのみ。
見つからない \ 一部のパッケージをインストールできませんでした
"パッケージ {dotnet-package} が見つかりません" や "一部のパッケージをインストールできませんでした" のようなエラー メッセージが表示される場合は、次のコマンドを実行します。
次の一連のコマンドには、2 つのプレースホルダーがあります。
{dotnet-package}
これは、aspnetcore-runtime-8.0など、インストールする.NET パッケージを表します。 これは、次のsudo apt-get installコマンドで使用されます。
まず、パッケージ リストを消去してみてください。
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
次に、もう一度.NETインストールしてみてください。 それでも解決しない場合は、次のコマンドを使用して手動インストールを実行できます。
Debian 12 以降を使用している場合は、次のコマンドを試してください。
# 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}
12 より前の Debian バージョンを使用している場合は、次のコマンドを試してください。
# 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 分を超えて継続的に発生する場合は、 https://github.com/dotnet/core/issuesで問題を提出してください。
依存関係
パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、.NETを手動でインストールする場合、または自己完結型アプリを発行する場合は、次のライブラリがインストールされていることを確認する必要があります。
13.x
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu72
- libssl3
- libstdc++6
- zlib1g
12.x
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu72
- libssl3
- libstdc++6
- zlib1g
他の注意事項
依存関係は apt install コマンドを使用してインストールできます 次のスニペットは、libc6 ライブラリのインストールを示しています。
sudo apt install libc6
次のステップ
- .NET CLI の概要
- .NET CLI の TAB 補完機能を有効にする方法
Tutorial: .NET
.NET