.NETは SUSE Enterprise Linux (SLES) でサポートされています。 この記事では、SLES に.NETをインストールする方法について説明します。
.NET アプリを開発する場合は、SDK (ランタイムを含む) をインストールします。 または、アプリを実行する必要があるだけの場合は、ランタイムをインストールします。 ランタイムをインストールする場合は、ASP.NET Core Runtime .NET ランタイムと ASP.NET Core ランタイムの両方が含まれるようにインストールすることをお勧めします。
および コマンドを使用して、インストールされているバージョンを確認します。 詳細については、「.NETが既にインストールされていることを確認する方法を参照してください。
サポートされているディストリビューション
次の表は、SLES で現在サポートされている.NETリリースの一覧です。 これらのバージョンは、.NET のバージョンがサポート終了または SLES のバージョンがサポートされなくなるまでサポートされます。
| SLES | .NET |
|---|---|
| 16.0 | 10, 9, 8 |
| 15.7 | 10, 9, 8 |
| 15.6 | 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のプレビューとリリース候補は、次のいずれかの方法でインストールできます。
- install-dotnet.sh でスクリプト化されたインストール
- 手動によるバイナリ抽出
プレビュー バージョンの削除
パッケージ マネージャーを使用して.NETのインストールを管理する場合、以前にプレビュー リリースをインストールしたことがある場合、競合が発生する可能性があります。 パッケージ マネージャーは、プレビュー以外のリリースを以前のバージョンの.NETとして解釈できます。 プレビューではないリリースをインストールするには、最初にプレビュー バージョンをアンインストールします。 .NETのアンインストールの詳細については、「 .NET ランタイムと SDK を削除する方法を参照してください。
SLES 16
.NETをインストールする前に、次のコマンドを実行して、信頼されたキーの一覧に Microsoft パッケージ署名キーを追加し、Microsoft パッケージ リポジトリを追加します。 ターミナルを開き、次のコマンドを実行します。
sudo rpm -Uvh https://packages.microsoft.com/config/sles/16/packages-microsoft-prod.rpm
Important
Microsoft パッケージ フィードは、.NET 10 の x64 パッケージと Arm64 パッケージのみを発行します。
SDK のインストール
.NET SDK を使用すると、.NETを使用してアプリを開発できます。 .NET SDK をインストールする場合は、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。
sudo zypper install dotnet-sdk-10.0
.NET CLI の使用方法については、.NET CLI の概要を参照してください。
ランタイムをインストールする
ASP.NET Core ランタイムを使用すると、ランタイムを提供していない.NETで作成されたアプリを実行できます。 次のコマンドは、.NETで最も互換性のあるランタイムである ASP.NET Core ランタイムをインストールします。 ターミナルで、次のコマンドを実行します。
sudo zypper install aspnetcore-runtime-10.0
ASP.NET Core ランタイムの代わりに、.NET ランタイムをインストールできます。ASP.NET Coreサポートは含まれません。前のコマンドの aspnetcore-runtime-10.0 を dotnet-runtime-10.0 に置き換えます。
sudo zypper install dotnet-runtime-10.0
.NET CLI の使用方法については、.NET CLI の概要を参照してください。
SLES 15 (SUSE Linux Enterprise Server 15)
.NETをインストールする前に、次のコマンドを実行して、信頼されたキーの一覧に Microsoft パッケージ署名キーを追加し、Microsoft パッケージ リポジトリを追加します。 ターミナルを開き、次のコマンドを実行します。
sudo rpm -Uvh https://packages.microsoft.com/config/sles/15/packages-microsoft-prod.rpm
現在、SLES 15 Microsoft リポジトリ セットアップ パッケージでは、microsoft-prod.repo ファイルが間違ったディレクトリにインストールされ、zypper が.NET パッケージを見つけることができなくなります。 この問題を解決するには、正しいディレクトリにシンボリックリンクを作成します。
sudo ln -s /etc/yum.repos.d/microsoft-prod.repo /etc/zypp/repos.d/microsoft-prod.repo
Important
Microsoft パッケージ フィードは、.NET 10 の x64 パッケージと Arm64 パッケージのみを発行します。
SDK のインストール
.NET SDK を使用すると、.NETを使用してアプリを開発できます。 .NET SDK をインストールする場合は、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。
sudo zypper install dotnet-sdk-10.0
.NET CLI の使用方法については、.NET CLI の概要を参照してください。
ランタイムをインストールする
ASP.NET Core ランタイムを使用すると、ランタイムを提供していない.NETで作成されたアプリを実行できます。 次のコマンドは、.NETで最も互換性のあるランタイムである ASP.NET Core ランタイムをインストールします。 ターミナルで、次のコマンドを実行します。
sudo zypper install aspnetcore-runtime-10.0
ASP.NET Core ランタイムの代わりに、.NET ランタイムをインストールできます。ASP.NET Coreサポートは含まれません。前のコマンドの aspnetcore-runtime-10.0 を dotnet-runtime-10.0 に置き換えます。
sudo zypper install dotnet-runtime-10.0
.NET CLI の使用方法については、.NET CLI の概要を参照してください。
その他のバージョンをインストールする方法
.NETのすべてのバージョンは、https://dotnet.microsoft.com/download/dotnet でダウンロードできますが、人によるインストールが必要です。 パッケージ マネージャーを使用して、別のバージョンの.NETをインストールすることができます。 ただし、要求したバージョンが利用できない場合があります。
パッケージ マネージャーのフィードに追加されるパッケージは、変更可能な形式で名前が付けられます (例: )。
製品
インストールする.NET製品の種類。 有効なオプションは次のとおりです。dotnetaspnetcore
タイプ
SDK またはランタイムを選択します。 有効なオプションは次のとおりです。- (dotnet 製品でのみ利用可能)
runtime
バージョン
インストールする SDK またはランタイムのバージョン。 有効なオプションは、次のようなリリース バージョンです。9.08.03.12.1
お使いの Linux ディストリビューションではダウンロードしようとしている SDK/ランタイムを利用できない可能性があります。 サポートされているディストリビューションの一覧については、「Install .NET on Linux」を参照してください。
例
- ASP.NET Core 9.0 ランタイム (
aspnetcore-runtime-9.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をインストールする
注
一部のパッケージは、お使いの Linux ディストリビューションでは利用できない場合があります。
パッケージが見つかりません
パッケージ バージョンの組み合わせが正しくない場合は、使用できません。 たとえば、ASP.NET Core SDK はありません。 ASP.NET Core用の SDK コンポーネントは、.NET SDK に含まれています。 値 は正しくありません。 にする必要があります .NETでサポートされている Linux ディストリビューションの一覧については、「.NETの依存関係と要件を参照してください。
パッケージ マネージャーのトラブルシューティング
このセクションでは、パッケージ マネージャーを使用して.NETをインストールするときに発生する可能性がある一般的なエラーについて説明します。
パッケージが見つかりません
Important
Microsoft パッケージ フィードは、.NETのバージョンに応じて、さまざまなアーキテクチャのパッケージを発行します。
- .NET 10: x64 および Arm64 パッケージのみ。
- .NET 9: x64 パッケージのみ。
- .NET 8: x64 パッケージのみ。
フェッチに失敗しました
.NET パッケージのインストール中に、signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod' のようなエラーが表示されることがあります。 一般に、このエラーは、.NETのパッケージ フィードが新しいパッケージ バージョンでアップグレードされ、後でもう一度やり直す必要があることを意味します。 アップグレード中は、2 時間以上パッケージ フィードを利用できません。 2 時間以上このエラーが継続的に発生する場合は、 でイシューを報告してください。
依存関係
パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、.NETを手動でインストールする場合、または自己完結型アプリを発行する場合は、次のライブラリがインストールされていることを確認する必要があります。
- krb5
- libicu
- libopenssl3 (OpenSSL 3.x)
Important
.NET 8 以降、SLES の.NET パッケージは OpenSSL 3.x (libopenssl3) に依存します。 この変更は、.NET 6 パッケージと .NET 7 パッケージにも適用されます。 詳細については、openSUSE および SLES の
依存関係は コマンドを使用してインストールできます 次のスニペットは、 ライブラリのインストールを示しています。
sudo zypper install krb5
依存関係の詳細については、「Self-contained Linux applications」(自己完結型 Linux アプリケーション) をご覧ください。
次のステップ
- .NET CLI の概要
- .NET CLI の TAB 補完機能を設定する方法
Tutorial: .NET
.NET