銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

.NET Core on RHEL をインストールしようとして、有効なリポジトリIDではありませんといわれたら

昨日.NET Core on RHEL がリリースされました。インストールについては昨日のブログに書いた通り、こちらのページを見ればよいのですが、最初のコマンドでタイトルのようなエラーがでるケースがあります。

.NET - Powerful Open Source Development

英語環境だとこういうエラーメッセージです。

# subscription-manager repos --enable=rhel-7-server-dotnet-rpms
Error: rhel-7-server-dotnet-rpms is not a valid repository ID. Use --list option to see valid repositories.

特に開発者向けに無償で使えるDeveloper Suite subscriptionを使っているときに多いようです。Developer Suite subscriptionについてはこちらを参照してください。開発用途向けに無償で使うことができます。

developers.redhat.com

このエラーですが、Subscriptionに関して必要な処理が不足しているために発生します。詳しくはRed Hatの公式ドキュメントに記述があります。

Chapter 1. Install .NET Core 1.0.0 on Red Hat Enterprise Linux - Red Hat Customer Portal

最初にSubscriptionを登録すると思います。Developer Suite subscriptionの場合であれば、下記ページで説明されている手順が登録処理にあたります。

developers.redhat.com

.NET CoreのリポジトリはSubscriptionの登録だけではなく、割り当てが必要になります。手順に従い利用可能なSubscriptionを表示します。

# subscription-manager list --available

ここで表示されなかったり、何かエラーがでる場合はSubscriptionの登録のやり直しなどを行うと解決する場合があります。

# subscription-manager register --force

Pool IDが表示されたら割り当てます。

# subscription-manager attach --pool=<appropriate pool ID from the above step>

割り当てに成功すれば、リポジトリの有効化もできるようになっているはずです。

# subscription-manager repos --enable=rhel-7-server-dotnet-rpms
Repository 'rhel-7-server-dotnet-rpms' is enabled for this system.

あとはドキュメントの手順通りに進めればインストールできるかと思います。