パッケージが競合するカスタムチャンネルのトラブルシューティング
パッケージが競合するカスタムチャンネルを設定する場合、ブートストラップリポジトリの作成などの機能が未定義の動作を引き起こし、クライアントの登録に失敗する可能性があります。
例えば、より高いバージョン番号の競合するパッケージがブートストラップリポジトリに含まれる可能性があります。
そのようなパッケージ(例えば、python3-zmq`や`zeromq)は、起動リポジトリの作成を損ねたり、クライアントの起動中に問題が生じる可能性があります。
カスタムチャンネル(例えば、EPELチャンネル)が親ベンダーチャンネルの下に追加されると、競合するパッケージに関する問題は直接解決できません。 これを解決する方法は、カスタムチャンネルをベンダーチャンネルから分離することです。 カスタムチャンネルは別のツリーで作成する必要があります。 カスタムチャンネルを子として配信する必要がある場合、そのような環境はコンテンツライフサイクル管理(CLM)を使用して作成できます。 CLMプロジェクト内のソースは、異なるツリーから追加できます。 このようなアプローチを使用すると、カスタムチャンネルは構築環境内で親の下に留まります。 ただし、ベンダーチャンネルツリーはカスタムチャンネルとブートストラップリポジトリなしで維持されます。 その後、クライアントの登録が正しく機能します。
競合するパッケージ(salt、zeromqなど)を持つカスタムチャンネルを子チャンネルとして作成する場合は、次のステップに従うことで問題を回避できます。
-
親チャンネルから子チャンネルとしてのカスタムチャンネルを削除します。 詳細については、administration:custom-channels.adoc#_manage_custom_channelsを参照してください。
-
カスタムチャンネルを別のツリーで作成します。 詳細については、administration:custom-channels.adoc#_creating_custom_channels_and_repositoriesを参照してください。
-
コンテンツライフサイクル管理(CLM)内で子チャンネルとしてカスタムチャンネルを取得するには、次の手順に従います。
-
SUSE Multi-Linux Manager Web UIで、コンテンツライフサイクルに移動し、プロジェクトを作成をクリックします。 `Name`と`Label`を入力してください。
-
ソースをプロジェクトに割り当てます。 必要なベンダチャンネルとカスタムチャンネルを使用します。 (CentOS8を使用した共有例)
-
プロジェクトに環境を追加します。 例えば、CentOS8を使用します。
-
環境を構築するには、ビルドボタンをクリックします。 これにより、アクティベーションキーに関連付けて、クライアントのブートストラップに使用できるベンダチャンネルとカスタムチャンネルを備えた環境が作成されます。
-
-
重要:CLMプロジェクトでは、問題のあるパッケージや競合するパッケージを除外するフィルタを追加することをお勧めします。 そうしないと、クライアントの更新中に高いバージョン番号の競合するパッケージがインストールされることになります。 フィルタ処理の詳細については、administration:content-lifecycle-examples.adoc#exclude-higher-kernel-versionを参照してください。
-
最新のパッチをCLM環境(ベンダチャンネルおよびカスタムチャンネルを使用)に取得するには、プロジェクトのビルドボタンをクリックします。 これは、環境を再構築するために必要です。
-
CLMの詳細については、コンテンツライフサイクル管理を参照してください。
-
|
Extra Packages for Enterprise Linux (EPEL)をRed Hat Enterprise Linuxクライアント(または互換性のあるSUSE Liberty Linux、CentOS、Oracle Linuxなど)で直接使用すると、EPELからSaltパッケージがインストールされ、SUSE Multi-Linux Managerが提供するSaltパッケージにあるいくつかの機能が欠落します。 これは特に重要です。なぜなら、非SUSE Saltパッケージを含むブートストラップリポジトリが生成されるからです。 したがって、これはサポートされていないシナリオです。 EPELリポジトリを有効にする必要がある場合は、事前にEPELからSaltパッケージをフィルタで除外してください(たとえば、でSaltパッケージを削除します)。 |