debian に .NET SDK たたは .NET ランタむムをむンストヌルする

この蚘事では、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 パッケヌゞのみを発行したす。 Arm32 Microsoft パッケヌゞ フィヌドでパッケヌゞ マネヌゞャヌを䜿甚しないでください。 パッケヌゞ マネヌゞャヌなしで.NET をむンストヌルする方法の詳现に぀いおは、次のいずれかの蚘事を参照しおください。

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 パッケヌゞのみを発行したす。 Arm32 Microsoft パッケヌゞ フィヌドでパッケヌゞ マネヌゞャヌを䜿甚しないでください。 パッケヌゞ マネヌゞャヌなしで.NET をむンストヌルする方法の詳现に぀いおは、次のいずれかの蚘事を参照しおください。

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 パッケヌゞのみ。

Arm32 Microsoft パッケヌゞ フィヌドでパッケヌゞ マネヌゞャヌを䜿甚しないでください。 パッケヌゞ マネヌゞャヌなしで.NET をむンストヌルする方法の詳现に぀いおは、次のいずれかの蚘事を参照しおください。

芋぀からない \ 䞀郚のパッケヌゞをむンストヌルできたせんでした

"パッケヌゞ {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}

Note

Linux Mint などの掟生ディストリビュヌションを䜿甚しおいる堎合、$ID の $VERSION_ID 倉数ず /etc/os-release 倉数が、Microsoft パッケヌゞ サヌバヌ䞊のどのディレクトリにも䞀臎しない可胜性があり、404 ゚ラヌが発生する可胜性がありたす。 この゚ラヌを解決するには、ディストリビュヌションが基になっおいる Ubuntu たたは Debian のバヌゞョンを確認し、代わりにこれらの倀を䜿甚したす。 たずえば、Linux Mint 22 は Ubuntu 24.04 に基づいおいるため、ubuntuには$IDを䜿甚し、24.04には$VERSION_IDを䜿甚したす。

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}

Note

Linux Mint などの掟生ディストリビュヌションを䜿甚しおいる堎合、$ID の $VERSION_ID 倉数ず /etc/os-release 倉数が、Microsoft パッケヌゞ サヌバヌ䞊のどのディレクトリにも䞀臎しない可胜性があり、404 ゚ラヌが発生する可胜性がありたす。 この゚ラヌを解決するには、ディストリビュヌションが基になっおいる Ubuntu たたは Debian のバヌゞョンを確認し、代わりにこれらの倀を䜿甚したす。 たずえば、Linux Mint 22 は Ubuntu 24.04 に基づいおいるため、ubuntuには$IDを䜿甚し、24.04には$VERSION_IDを䜿甚したす。

フェッチに倱敗したした

.NET パッケヌゞのむンストヌル䞭に、Failed to fetch ... File has unexpected size ... Mirror sync in progress? のような゚ラヌが衚瀺されるこずがありたす。 この゚ラヌは、.NETのパッケヌゞ フィヌドが新しいパッケヌゞ バヌゞョンでアップグレヌドされ、埌でもう䞀床やり盎す必芁があるこずを意味する可胜性がありたす。 アップグレヌド䞭は、30 分以䞊パッケヌゞ フィヌドを利甚できたせん。 この゚ラヌが 30 分を超えお継続的に発生する堎合は、 https://github.com/dotnet/core/issuesで問題を提出しおください。

䟝存関係

パッケヌゞ マネヌゞャヌを䜿甚しおむンストヌルする堎合、次のラむブラリが自動的にむンストヌルされたす。 ただし、.NETを手動でむンストヌルする堎合、たたは自己完結型アプリを発行する堎合は、次のラむブラリがむンストヌルされおいるこずを確認する必芁がありたす。

13.x

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu76
  • libssl3t64
  • libstdc++6
  • tzdata
  • zlib1g (.NET 8 でのみ必芁)

12.x

  • ca-certificates
  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu72
  • libssl3
  • libstdc++6
  • tzdata
  • zlib1g (.NET 8 でのみ必芁)

他の泚意事項

䟝存関係は apt install コマンドを䜿甚しおむンストヌルできたす 次のスニペットは、libc6 ラむブラリのむンストヌルを瀺しおいたす。

sudo apt install libc6

次のステップ