カスタムチャンネル
カスタムチャンネルを使用すると、クライアントを更新するために使用できる、独自のソフトウェアパッケージとリポジトリを作成できます。 また、環境内でサードパーティベンダが提供するソフトウェアを使用することもできます。
このセクションでは、カスタムチャンネルを作成、管理、および削除する方法について詳細に説明します。 カスタムチャンネルを作成および管理できるようにするには、管理者権限が必要です。
1. カスタムチャンネルおよびリポジトリの作成
カスタムチャンネルを作成する前に、関連付けるベースチャンネルと、コンテンツに使用するリポジトリを決定します。
クライアントシステムにインストールする必要があるカスタムソフトウェアパッケージがある場合は、カスタム子チャンネルを作成して管理できます。 システムにチャンネルを割り当てる前に、SUSE Multi-Linux Manager Web UIでチャンネルを作成し、パッケージのリポジトリを作成する必要があります。
|
クライアントシステムと互換性のないパッケージを含む子チャンネルを作成しないでください。 |
You can select a vendor channel as the base channel if you want to use packages provided by a vendor. Alternatively, select none to make your custom channel a base channel.
SUSE Multi-Linux Manager Web UIで、に移動して、チャンネルの作成をクリックします。
On the
Create Software Channelpage, give your channel a name (for example,My Tools SLES 15 SP1 x86_64) and a label (for example,my-tools-sles15sp1-x86_64). ラベルにはスペースまたは大文字を含めないでください。In the
Parent Channeldrop down, choose the relevant base channel (for example,SLE-Product-SLES15-SP1-Pool for x86_64). パッケージに互換性のある親チャンネルを選択していることを確認します。In the
Architecturedrop down, choose the appropriate hardware architecture (for example,x86_64).ご使用の環境に応じて、連絡先の詳細、チャンネルアクセス制御、およびGPGフィールドに追加情報を入力します。
チャンネルの作成をクリックします。
Custom channels sometimes require additional security settings. Many third party vendors secure packages with GPG. If you want to use GPG-protected packages in your custom channel, you need to trust the GPG key which has been used to sign the metadata. You can then check the Has Signed Metadata? check box to match the package metadata against the trusted GPG keys.
If remote channels and repositories are signed with GPG keys, you can import and trust these GPG keys. For example, execute the spacewalk-repo-sync from the command line on the SUSE Multi-Linux Manager Server:
/usr/bin/spacewalk-repo-sync -c <channellabelname> -t yum
このコマンドとプロシージャは、一時的なGPGキーの同期専用です。 キーを永続的に保存するには、後述のこのセクションを参照してください。
The underlying zypper call will import the key, if it is available. The Web UI does not offer this feature.
これは、ミラーするリポジトリが特別な方法で設定されていて、署名の横のリポジトリに「キー」が提供されている場合にのみ機能します 。 これは、Open Build Service (OBS)によって生成されたすべてのリポジトリに該当します。 その他のリポジトリについては、以下で詳述する特別な準備ステップが必要です。
|
By default, the |
You can only add a repository to the SUSE Multi-Linux Manager with the Web UI if it is a valid software repository. Check in advance that needed repository metadata are available. Tools such as createrepo and reprepro are useful in this regard. mgrpush can help with pushing a single RPM into a channel without creating a repository.
-
For more information on
createrepo_cseehttps://manpages.opensuse.org/Leap-15.6/createrepo_c/ -
For more information on
repreproseehttps://manpages.opensuse.org/Leap-15.6/reprepro/
SUSE Multi-Linux Manager Web UIで、に移動し、リポジトリの作成をクリックします。
On the
Create Repositorypage, give your repository a label (for example,my-tools-sles15sp1-x86_64-repo).In the
Repository URLfield, provide the path to the directory that contains therepodatafile (for example,file:///opt/mytools/). You can use any valid addressing protocol in this field.Uncheck the
Has Signed Metadata?check box.オプション: リポジトリでクライアント証明書認証が必要な場合は、SSLフィールドに入力します。
リポジトリの作成をクリックします。
先に示したプロシージャは、ミラーリングするリポジトリが署名の横にあるリポジトリに「キー」を提供する場合にのみ機能します。これはOBSによって生成されたすべてのリポジトリに該当しますが、通常、OBSによって提供されていないオペレーティングシステムの他のリポジトリには該当しません。
If the repository you want to use does not have a GPG key you can provide one yourself and import the GPG key into the keyring manually. If you import the key into the /var/lib/spacewalk/gpgdir keyring using the gpg command line tool it would be stored permanently. The key would also persist if the chroot environment would be cleaned.
コンテナホストで、キーをキーリングにインポートするコマンドは次のとおりです。
mgradm gpg add /path/to/gpg.key詳細については、独自のGPGキーを使用するを参照してください。
Add Debian non-flat repositories using
uyuni_suite,uyuni_component, anduyuni_archquery parameters.
uyuni_suite-
is mandatory. In Debian documentation, this is also known as
distribution. With this parameter you specify the apt source. Without this parameter the original approach is used. If the parameter ends with/, the repository is identified as flat. uyuni_component-
オプションです。このパラメータは1つのコンポーネントのみを指定できます。コンポーネントを一覧にすることはできません。aptソースエントリでは複数のコンポーネントを指定できますが、Uyuniでは指定できません。代わりに、コンポーネントごとに個別のリポジトリを作成する必要があります。
uyuni_arch-
is optional. If omitted the architecture name is calculated with a SQL query for the channel from the database. Specify
uyuni_archexplicitly if it does not match the architecture of the channel (sometimes architecture naming is ambiguous).
ここにいくつかの例があります。
| Type | Source line / URL |
|---|---|
apt source line |
|
URL mapping |
|
|
|
apt source line |
|
URL mapping |
|
|
Debianリポジトリ定義フォーマットに関する情報はこちらをご覧ください。この情報は、https://wiki.debian.org/DebianRepository/Format#Overviewに基づいています。 リポジトリ定義フォーマットは次のとおりです。 deb uri suite [コンポーネント1] [コンポーネント2] [...] 例: deb https://deb.debian.org/debian/dists stable main または deb https://pkg.jenkins.io/debian-stable binary/ For each pair of |
に移動して、新たに作成されたカスタムチャンネルの名前をクリックし、新しいリポジトリをカスタムチャンネルに割り当てます。
Navigate to the
Repositoriestab, and ensure the repository you want to assign to the channel is checked. Click Save Repositories.デフォルトでは、同期プロセスはすぐに開始されます。
チャンネルの同期の詳細については、カスタムチャンネル同期を参照してください。
SUSE Multi-Linux Manager Web UIで、に移動して、カスタムチャンネルを追加するキーを選択します。
On the
Detailstab, in theChild Channelslisting, select the channel to associate. 必要に応じて、複数のチャンネルを選択できます。アクティベーションキーの更新をクリックします。
2. カスタムチャンネル同期
重要な更新を見逃さないようにするため、SUSEでは、カスタムチャンネルをリモートリポジトリの変更に合わせて最新の状態に保つことをお勧めします。
デフォルトでは、作成したすべてのカスタムチャンネルに対して同期が自動的に行われます。特に、次のことが発生します。
-
after adding a repository to a channel from the UI or by using
spacewalk-common-channels -
as part of the daily task
mgr-sync-refresh-default, which will synchronize all your custom and vendor channels.
To disable this default behaviour, set in /etc/rhn/rhn.conf:
java.unify_custom_channel_management = 0
このプロパティをオフにすると、同期は自動的に実行されません。カスタムチャンネルを最新の状態に保つには、次の操作を行う必要があります。
-
synchronize it manually by navigating to the
Synctab and click Sync Now, -
set up an automated synchronization schedule from the
Repositoriestab.
プロセス開始時には、チャンネルの同期が終了したかどうかを確認するいくつかの方法があります。
-
In the SUSE Multi-Linux Manager Web UI, navigate to and select the
Productstab. このダイアログには、同期中の各製品の完了バーが表示されます。 -
SUSE Multi-Linux ManagerのWeb UIで、に移動し、リポジトリに関連付けられているチャンネルをクリックします。 Navigate to the menu:[Repositories > Sync] tab. The
Sync Statusis shown next to the repository name. -
コマンドプロンプトで同期ログファイルを確認します。
tail -f /var/log/rhn/reposync/<channel-label>.log
同期の進行中に各子チャンネルは独自のログを生成します。 同期が完了したことを確認するには、ベースチャンネルと子チャンネルのログファイルをすべて確認する必要があります。
次のカスタムチャンネル同期オプションが利用できます。
- リポジトリから削除されたチャンネル内のパッケージを保持する
-
This turns off
strictmode. - エラータを同期しない
-
パッチを同期しません。
- 最新パッケージのみ同期する
-
最新のパッケージバージョンのみを同期します。
- キックスタート可能なツリーの作成
-
このオプションは、Kickstartによる自動インストール用にディレクトリツリーを準備します。
- エラーが発生したら終了する
-
エラーが発生した場合、同期を停止します。
これらのオプションはチャンネルごとに永続的に保存されます。今すぐ同期ボタンをクリックした場合も、同期を実行する前にチャンネルオプションが保存されます。
3. カスタムチャンネルへのパッケージとパッチの追加
既存のチャンネルからクローンを作成せずに新しいカスタムチャンネルを作成する場合、そのチャンネルにはパッケージやパッチは含まれません。 SUSE Multi-Linux Manager Web UIを使用して、必要なパッケージとパッチを追加できます。
カスタムチャンネルには、クローンまたはカスタムのパッケージまたはパッチのみを含めることができ、チャンネルの基本アーキテクチャに一致する必要があります。 カスタムチャンネルに追加されたパッチは、チャンネルに存在するパッケージに適用する必要があります。
In the SUSE Multi-Linux Manager Web UI, navigate to , and go to the
Packagestab.OPTIONAL: See all packages currently in the channel by navigating to the
List/Removetab.Add new packages to the channel by navigating to the
Addtab.パッケージを提供する親チャンネルを選択し、パッケージの表示をクリックして、リストに入力します。
カスタムチャンネルに追加するパッケージをオンにして、パッケージの追加をクリックします。
選択に問題がなければ、追加の確認をクリックして、チャンネルにパッケージを追加します。
オプション: に移動し、タブに移動して、現在のチャンネルのパッケージを別のチャンネルのパッケージと比較できます。 2つのチャンネルを同じにするには、違いをマージするボタンをクリックし、競合を解決します。
In the SUSE Multi-Linux Manager Web UI, navigate to , and go to the
Patchestab.OPTIONAL: See all patches currently in the channel by navigating to the
List/Removetab.Add new patches to the channel by navigating to the
Addtab, and selecting what kind of patches you want to add.パッチを提供する親チャンネルを選択し、関連付けられたパッチの表示をクリックして、リストに入力します。
カスタムチャンネルに追加するパッチをオンにして、確認をクリックします。
選択に問題がなければ、確認をクリックして、チャンネルにパッチを追加します。
4. カスタムチャンネルの管理
SUSE Multi-Linux Manager管理者とチャンネル管理者は任意のチャンネルを変更または削除できます。
To grant other users rights to alter or delete a channel, navigate to and select the channel you want to edit. Navigate to the Managers tab, and check the user to grant permissions. Click Update to save the changes.
|
一連のクライアントに割り当てられているチャンネルを削除すると、削除されたチャンネルに関連付けられているすべてのクライアントのチャンネル状態が直ちに更新されます。 これは、変更がリポジトリファイルに正確に反映されるようにするためです。 |
Web UIを使用してSUSE Multi-Linux Managerチャンネルを削除することはできません。 カスタムチャンネルのみを削除できます。
SUSE Multi-Linux Manager Web UIで、に移動して、削除するチャンネルを選択します。
ソフトウェアチャンネルの削除をクリックします。
On the
Delete Channelpage, check the details of the channel you are deleting, and check theUnsubscribe Systemscheckbox to remove the custom channel from any systems that might still be subscribed.チャンネルの削除をクリックします。
チャンネルを削除しても、削除されたチャンネルの一部であるパッケージは自動的に削除されません。 チャンネルが削除されたパッケージを更新することはできません。
SUSE Multi-Linux Manager Web UIで、チャンネルに関連付けられていないパッケージを削除できます。 に移動して、削除するパッケージをオンにして、パッケージの削除をクリックします。