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

印刷ビューの終了

更新: 2016 年 11 月
 
 

単一の場所から複数のリポジトリを提供する方法

この手順では、svc:/application/pkg/depot サービスの使用について説明します。pkg/depot サービスの実行は、pkg/server サービスの下で pkg.depotd プロセスを実行するよりもスケーラブルです。

この手順のステップの多くは、前の手順のステップと同じです。詳細は、前の手順を参照してください。

始める前に

svc:/application/pkg/depot SMF サービスと pkg.depot-config(1M) のマニュアルページを取得するには、pkg:/package/pkg/depot パッケージがインストールされていることを確認します。

  1. 新しい集積サーバーインスタンスを作成します。
  2. リポジトリへのパスを設定します。

    特定の pkg/depot インスタンスによって管理される各 pkg/server インスタンスには、一意の pkg/inst_root 値が必要です。

  3. 新しいインスタンスの readonly プロパティーを確認します。

    pkg/readonly プロパティーのデフォルト値は true です。この値が変更されている場合は、値を true にリセットします。

    $ svccfg -s pkg/server:studio listprop pkg/readonly
    pkg/readonly boolean     true
  4. 新しいインスタンスの standalone プロパティーを設定します。

    デフォルトでは、pkg/standalone プロパティーの値は true です。pkg/standalone プロパティーが false に設定されている pkg/server インスタンスは、pkg/depot サービスインスタンスによって同じ場所から提供できます。

    $ svccfg -s pkg/server:studio
    svc:/application/pkg/server:studio> setprop pkg/standalone=false
    svc:/application/pkg/server:studio> refresh
    svc:/application/pkg/server:studio> select solaris
    svc:/application/pkg/server:solaris> setprop pkg/standalone=false
    svc:/application/pkg/server:solaris> refresh
    svc:/application/pkg/server:solaris> exit
    $

    pkg/standalone プロパティーが false に設定されている pkg/server の各インスタンスで、pkg/inst_root プロパティーの値が一意であることを確認します。

  5. (オプション) pkg/depot インスタンスのポート番号を設定します。

    デフォルトでは、pkg/depot:default サービスのポート番号は 80 です。ポート番号を変更するには、pkg/depot:defaultconfig/port プロパティーを設定します。pkg/depot:default サービスによって管理されている pkg/server インスタンスの pkg/port 値は使用されません。

  6. (オプション) pkg/depot インスタンスのシステム名を設定します。

    デフォルトでは、pkg/depot:default サービスの config/host の値は 0.0.0.0 です。ほかのシステムからこのリポジトリ URI にアクセスする必要がある場合は、Apache ServerName ディレクティブに引数として使用するホスト名を指定します。config/host の値を、pkg.example.com など、システムの IP アドレスまたはホスト名に設定します。詳細については、pkg.depot-config(8) のマニュアルページを参照してください。

  7. pkg/depot インスタンスをリフレッシュします。
    $ svcadm refresh pkg/depot:default
  8. リポジトリサーバーが動作しているかどうかをテストします。

    ユーザーが http://localhost:80/ を開くと、solaris パブリッシャーがリストされている http://localhost/solaris リポジトリ、および solarisstudio パブリッシャーがリストされている http://localhost/studio リポジトリが表示されます。

    1 つのリポジトリが複数のパブリッシャーのパッケージを提供する場合は、すべてのパブリッシャーがリストされます。

    次の例で、pkg/server インスタンス solarisha-cluster、および exa-family はすべて、pkg/standalonefalse に設定され、pkg/readonlytrue に設定されています。pkg/server:solaris インスタンスの pkg/inst_root の場所では、2 つのパブリッシャー solarissolarisstudio からのパッケージが提供されます。この pkg/depot インスタンスの config/port 値は 88 に設定されています。次の図は、localhost:88 での表示を示しています。


    image:1 つ URL にある複数のリポジトリを示します

    pkg/depot:default サービスには、関連付けられた httpd.worker プロセスがあります。pkg/server インスタンスにはありません。

    $ svcs -p pkg/depot pkg/server
    STATE          STIME    FMRI
    online         16:44:31 svc:/application/pkg/server:solaris
    online         16:44:32 svc:/application/pkg/server:ha-cluster
    online         16:44:32 svc:/application/pkg/server:exa-family
    online         16:45:03 svc:/application/pkg/depot:default
                   16:45:02     6834 httpd.worker
                   16:48:04     6948 httpd.worker
                   16:48:04     6949 httpd.worker
                   16:48:04     6950 httpd.worker
                   16:48:05     6953 httpd.worker
                   16:53:11     7043 httpd.worker
  9. パブリッシャーの起点を設定します。

    パブリッシャーの起点に次のいずれかの値を設定します。

    • 一意の pkg/inst_root の場所。

      $ pkg set-publisher -G '*' -M '*' -g /var/share/pkgrepos/solarisstudio/ \
      solarisstudio
    • config/port の値および pkg/server インスタンス名によって定義される場所。

      $ pkg set-publisher -G '*' -M '*' -g http://localhost:80/studio/ solarisstudio

次のステップ

ローカルリポジトリの更新およびローカルリポジトリのカスタマイズで説明されているように、pkg/depot インスタンスによって管理されるリポジトリの内容を変更する場合、次の両方の手順を実行します。

  • リポジトリに対して pkgrepo refresh を実行します。

  • pkg/depot インスタンスで svcadm restart を実行します。

各インスタンスが 1 つ以上のリポジトリをホストする pkg/depot サービスに追加のインスタンスを作成できます。

pkg/server および pkg/depot のサービスインスタンスを構成するのではなく、スタンドアロンの構成を生成する場合は、pkg.depot-config(1M)のマニュアルページを参照してください。