次の目的を達成するために、内容が同じパッケージリポジトリのコピーを複数保持する場合があります。
異なるノードにコピーを保持することによって、リポジトリの可用性が向上します。
ユーザーが多数の場合、またはユーザーが離れた場所に分散している場合に、リポジトリアクセスのパフォーマンスを向上させます。
いずれかのパッケージリポジトリを更新するには、ローカルの IPS パッケージリポジトリを更新する方法の手順を使用します。その後、ローカルの IPS パッケージリポジトリをクローニングする方法の手順を使用して、最初に更新したリポジトリからその他の同一のリポジトリを更新します。これらの 2 つの手順は非常に似ていますが、大きな違いは pkgrecv コマンドの使用方法です。クローンの手順で示した pkgrecv の操作では、ソースリポジトリファイルが厳密にコピーされ、次のような状態になります。
クローニングされたリポジトリのカタログのタイムスタンプは、ソースリポジトリのカタログのタイムスタンプとまったく同じです。リポジトリが負荷分散されている場合、ロードバランサがクライアントをあるノードから別のノードに切り替えるときの問題を避けるために、すべてのリポジトリのカタログがまったく同じである必要があります。負荷分散の詳細は、負荷分散の構成を参照してください。
宛先リポジトリに存在するがソースリポジトリに存在しないパッケージは、宛先リポジトリから削除されます。目的が疎リポジトリのみの厳密なコピーを作成することである場合を除き、クローン操作で疎リポジトリをソースとして使用しないでください。
これらの手順の詳細は、ローカルの IPS パッケージリポジトリを更新する方法を参照してください。
宛先リポジトリの最新のスナップショットがあることを確認します。このスナップショットの ZFS クローンを作成します。
pkgrecv コマンドを使用して、これまで更新されていたローカルのパッケージリポジトリを宛先リポジトリのコピーにクローニングします。pkgrecv のクローン操作の詳細は、pkgrecv(1)のマニュアルページを参照してください。
$ pkgrecv -s /net/host1/var/share/pkgrepos/solaris \ -d /net/host2/var/share/pkgrepos/solaris_tmp --clone
pkgrepo verify コマンドを使用して、更新された宛先リポジトリを検証します。
HTTP インタフェースを介してリポジトリを提供する場合は、SMF サービスを再起動します。サービスを再起動するときは、適切なサービスインスタンスを指定してください。
更新されたリポジトリが正しく動作していることを確認したら、古いリポジトリを削除します。
関連項目
HTTP インタフェースを介してリポジトリを提供する場合は、次の関連するドキュメントを参照してください。
Web サーバーアクセスを使用した複数のリポジトリの提供では、異なるポートで実行される複数の pkg.depotd デーモンを使用して、複数のリポジトリを提供する方法を説明しています。
1 つのドメインでの複数リポジトリでは、異なる接頭辞を付けて 1 つのドメイン名の配下で複数のリポジトリを実行する方法を説明しています。