Go to main content
Oracle® Solaris 11.3 パッケージリポジトリのコピーと作成

印刷ビューの終了

更新: 2016 年 11 月
 
 

複数の同一のローカルリポジトリの保守

次の目的を達成するために、内容が同じパッケージリポジトリのコピーを複数保持する場合があります。

  • 異なるノードにコピーを保持することによって、リポジトリの可用性が向上します。

  • ユーザーが多数の場合、またはユーザーが離れた場所に分散している場合に、リポジトリアクセスのパフォーマンスを向上させます。

いずれかのパッケージリポジトリを更新するには、ローカルの IPS パッケージリポジトリを更新する方法の手順を使用します。その後、ローカルの IPS パッケージリポジトリをクローニングする方法の手順を使用して、最初に更新したリポジトリからその他の同一のリポジトリを更新します。これらの 2 つの手順は非常に似ていますが、大きな違いは pkgrecv コマンドの使用方法です。クローンの手順で示した pkgrecv の操作では、ソースリポジトリファイルが厳密にコピーされ、次のような状態になります。

  • クローニングされたリポジトリのカタログのタイムスタンプは、ソースリポジトリのカタログのタイムスタンプとまったく同じです。リポジトリが負荷分散されている場合、ロードバランサがクライアントをあるノードから別のノードに切り替えるときの問題を避けるために、すべてのリポジトリのカタログがまったく同じである必要があります。負荷分散の詳細は、負荷分散の構成を参照してください。

  • 宛先リポジトリに存在するがソースリポジトリに存在しないパッケージは、宛先リポジトリから削除されます。目的が疎リポジトリのみの厳密なコピーを作成することである場合を除き、クローン操作で疎リポジトリをソースとして使用しないでください。

ローカルの IPS パッケージリポジトリをクローニングする方法

これらの手順の詳細は、ローカルの IPS パッケージリポジトリを更新する方法を参照してください。

  1. 宛先リポジトリをコピーします。

    宛先リポジトリの最新のスナップショットがあることを確認します。このスナップショットの ZFS クローンを作成します。

  2. 宛先リポジトリのコピーを更新します。

    pkgrecv コマンドを使用して、これまで更新されていたローカルのパッケージリポジトリを宛先リポジトリのコピーにクローニングします。pkgrecv のクローン操作の詳細は、pkgrecv(1)のマニュアルページを参照してください。

    $ pkgrecv -s /net/host1/var/share/pkgrepos/solaris \
    -d /net/host2/var/share/pkgrepos/solaris_tmp --clone
  3. 稼働中の宛先リポジトリを更新されたクローンに置き換えます。
  4. 更新されたリポジトリを検証します。

    pkgrepo verify コマンドを使用して、更新された宛先リポジトリを検証します。

  5. 新しく更新されたリポジトリのスナップショットを作成します。
  6. SMF サービスを再起動します。

    HTTP インタフェースを介してリポジトリを提供する場合は、SMF サービスを再起動します。サービスを再起動するときは、適切なサービスインスタンスを指定してください。

  7. 古いリポジトリを削除します。

    更新されたリポジトリが正しく動作していることを確認したら、古いリポジトリを削除します。

関連項目

HTTP インタフェースを介してリポジトリを提供する場合は、次の関連するドキュメントを参照してください。