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

印刷ビューの終了

更新: 2016 年 11 月
 
 

インターネットからリポジトリを自動的にコピーする方法

デフォルトでは、svc:/application/pkg/mirror SMF サービスは、このイメージに定義されている solaris パブリッシャーの起点から /var/share/pkg/repositories/solaris に対して、pkgrecv 操作を定期的に実行します。この pkgrecv 操作は、各月である 1 日の午前 2 時 30 分に開始されます。このデフォルトの動作を変更するには、この手順の説明に従ってサービスを構成します。

このサービスの正常な各実行の終わりに、リポジトリカタログがリフレッシュされます。検索インデックスを構築するためにリポジトリをリフレッシュする必要はありません。

このサービスは定期的に実行されるため、リポジトリが作成されて随時更新されます。このドキュメントに示す手動のリポジトリ更新手順を使用する必要はありません。

ほかのシステムは、solaris パブリッシャーの起点を、この自動更新のリポジトリまたはこのリポジトリのクローンに設定できます。インターネットパブリッシャーの起点を持ち、mirror サービスを実行して更新を自動的に受け取る必要があるシステムは 1 つだけです。

  1. パブリッシャーの起点を設定します。

    デフォルトでは、mirror サービスは、/ をルートに持つイメージに構成されている solaris パブリッシャーからパッケージを転送します。mirror サービスの構成にパブリッシャーの起点は直接指定できませんが、この情報を取得するイメージルートを構成できます。そのイメージルートで、pkg set-publisher を使用して、ミラーリポジトリのための pkgrecv の転送のソースとして使用するパブリッシャーの起点を構成します。

    1. (オプション) イメージのルートを設定します。

      ミラーサービスに使用するパブリッシャーの構成がこのイメージで使用するパブリッシャーの構成と異なる場合は、次の例に示すように、ユーザーイメージをどの BE にも含まれていない共有の場所に作成し、mirror サービスの config/ref_image プロパティーの値をその新しいイメージにリセットします。mirror サービスは、config/ref_image イメージからのパブリッシャー構成を使用します。

      $ svccfg -s pkg/mirror:default setprop config/ref_image = /var/share/pkg/mirror_svc_ref_image
      $ pkg image-create /var/share/pkg/mirror_svc_ref_image
    2. (オプション) パブリッシャーを設定します。

      solaris パブリッシャーに加えて、ほかのパブリッシャーからのパッケージでミラーリポジトリを更新する場合は、ha-cluster および solarisstudio パブリッシャーの追加を示す次の例のように、mirror サービスの config/publishers プロパティーの値をリセットします。

      $ svccfg -s pkg/mirror:default setprop config/publishers = solaris,ha-cluster,solarisstudio
    3. パブリッシャーの起点を設定します。

      このサービスは定期的に実行されるため、パブリッシャーの起点を定期的な更新が提供されるリポジトリに設定してください。Oracle 製品の場合は、パブリッシャーの起点をサポートリポジトリに設定して、Support Repository Updates (SRU) を取得する場合があります。次の例では、パブリッシャーに代替のイメージルートを構成する場合にのみ、-R オプションが必要となります。起点 URI によっては、-k および -c オプションは必要がない場合があります。

      $ pkg -R /var/share/pkg/mirror_svc_ref_image set-publisher \
      -g https://pkg.oracle.com/solaris/support/ -k ssl_key -c ssl_cert solaris
      $ pkg -R /var/share/pkg/mirror_svc_ref_image set-publisher \
      -g https://pkg.oracle.com/ha-cluster/support/ -k ssl_key -c ssl_cert ha-cluster
      $ pkg -R /var/share/pkg/mirror_svc_ref_image set-publisher \
      -g https://pkg.oracle.com/solarisstudio/support/ -k ssl_key -c ssl_cert solarisstudio

      次のいずれかのコマンドを使用して、新しいイメージに構成されているパブリッシャーを検証します。

      $ pkg -R /var/share/pkg/mirror_svc_ref_image publisher
      $ pkg -R /var/share/pkg/mirror_svc_ref_image publisher solaris ha-cluster solarisstudio
  2. (オプション) ミラーサービスのその他のプロパティーを構成します。

    mirror サービスのほかのプロパティー (サービスが実行される時間、ミラーリポジトリの場所など) の変更が必要になる場合があります。

    ミラー化しているパブリッシャーの起点の更新が予期する時間に近くなるように、サービスの実行時間の変更が必要になる場合があります。サービスの実行時間を変更するには、config/crontab_period プロパティーの値を変更します。

    ミラーリポジトリの場所を変更するには、config/repository プロパティーの値を変更します。ミラーリポジトリの場所を変更する場合は、そのリポジトリを共有の場所に配置します。ローカルの IPS パッケージリポジトリの作成および使用のベストプラクティスを参照してください。デフォルトの場所 (/var/share/pkg/repositories/solaris) は、どの BE にも含まれていない共有の場所です。

  3. ミラーサービスを有効にします。

    svcs mirror コマンドを使用して、mirror サービスの状態を確認します。

    • サービスが無効だが、このサービスを使用する必要がある。
      1. 構成を変更した場合は、サービスインスタンスをリフレッシュします。

        前の手順の svccfg setprop コマンドに示したように、mirror サービスの構成を変更した場合は、サービスをリフレッシュして、変更された値を実行中のスナップショットにコミットします。svcprop -p config mirror コマンドの出力に必要な値が表示されない場合は、svccfg -s mirror:default listprop config コマンドの出力に必要な値が表示されることを確認します。svcadm refresh mirror:default または svccfg -s mirror:default refresh を使用して、サービスの実行中のスナップショットに変更された値をコミットします。svcprop -p config mirror コマンドを再度使用して、サービスが意図したとおりに構成されていることを確認します。

      2. サービスインスタンスを有効にします。

        次のコマンドを使用して、ミラーサービスを有効にします。

        $ svcadm enable mirror:default

        svcs mirror コマンドを使用して、mirror サービスがオンラインであることを確認します。サービスは、config/crontab_period プロパティーに設定されている時間に実行されます。

    • サービスはオンラインであり、サービスをすぐに実行する必要がある。

      サービスがオンラインである場合、サービスをすぐに実行するには、サービスをリフレッシュします。svc-pkg-mirror メソッドおよび pkgrecv コマンドの pkg5srv ユーザーによる実行を確認できます。

    • サービスはオンラインであるが、このサービスを使用しない。

      svcadm disable mirror コマンドを使用して、このサービスを無効にします。マスターリポジトリを保守するために、このサービスを 1 つのシステムのみで実行する場合があります。ほかのシステムでは、このサービスを無効にします。

    • サービスは保守状態であるか、機能低下している。

      svcs -xvL mirror コマンドを使用して詳細情報を取得し、問題を診断および修正します。

  4. リポジトリの内容を確認します。

    mirror サービスの実行が完了したら、pkgrepo コマンドの infolist、および verify サブコマンドを使用して、リポジトリが正常にコピーまたは更新されたことを確認します。pkgrepo verify コマンドでエラーが報告された場合は、pkgrepo fix コマンドを使用してそのエラーの修正を試みてください。詳細は、pkgrepo(1) のマニュアルページを参照してください。

    サービスが実行される時間を確認するには、mirror サービスの config/crontab_period プロパティーの値をチェックします。サービスの実行中、svcs -p mirror コマンドは、サービスの状態を online* として表示し、このサービスによって開始したプロセスを表示します。サービスの状態が online として表示され、サービスに関連付けられているプロセスがなくなるまで待ってから、リポジトリを確認します。

  5. 新しいリポジトリのスナップショットを作成します。
    $ zfs snapshot rpool/VARSHARE/pkg/repositories/solaris@sol-11_3_0

次のステップ

同時に複数のパブリッシャーから内容をコピーしない場合があります。1 つの config/publishers プロパティーに複数のパブリッシャーを設定する代わりに、pkg/mirror サービスの複数のインスタンスを作成できます。たとえば、config/publishers プロパティーには、default インスタンスの場合は solaris、新しい pkg/mirror:ha-cluster インスタンスの場合は ha-cluster、新しい pkg/mirror:solarisstudio インスタンスの場合は solarisstudio を設定できます。同様に、config/crontab_period は、各インスタンスに対して別々に設定できます。この手順に示すように、各パブリッシャーの内容を 1 つのリポジトリに格納するか、各 pkg/mirror インスタンスに別個の config/repository 値を設定できます。

関連項目

SMF コマンドの詳細は、Oracle Solaris 11.3 でのシステムサービスの管理を参照してください。