Go to main content

マニュアルページ セクション 8: システム管理コマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

pkg.depot-config(8)

名前

pkg.depot-config - Image Packaging System HTTP デポ構成ジェネレータ

形式

/usr/lib/pkg.depot-config ( -d repository_dir | -S )
    -r runtime_dir [-c cache_dir] [-s cache_size] [-p port]
    [-h hostname] [-l logs_dir] [-T template_dir]
    [-A] [-t server_type] ( ([-F] [-P server_prefix] ) |
    [--https ( (--cert server_cert_file --key server_key_file
    [--cert-chain ssl_cert_chain_file] ) |
    --cert-key-dir cert_key_directory )
    [ (--ca-cert ca_cert_file --ca-key ca_key_file ) ]
    [--smf-fmri smf_pkg_depot_fmri] ] )

説明

pkg.depot-config は、Image Packaging System (IPS) デポの構成ファイルを生成します。IPS デポは HTTP 経由で IPS パッケージリポジトリへのスケーラブルな読み取り専用アクセスを提供します。

IPS デポは svc:/application/pkg/depot サービスの 1 つまたは複数のインスタンスと組み合わせて svc:/application/pkg/server サービス管理機能 (SMF) サービスを使用して構成されます。

pkg.depot-config は、pkg/depot サービスで使用するための構成を生成するか、または pkg.depot-config コマンドは、コマンド行で呼び出して、スタンドアロン構成を生成できます。

デポ構成を変更するには、pkg/depot サービスまたは適切な pkg/server サービスインスタンスのプロパティーを変更して、インスタンスをリフレッシュします。pkg/server サービスインスタンスの状態を変更すると、pkg/depot サービスがリフレッシュされ、デポ構成ファイルが再生成されます。

複数のリポジトリを提供するには、リポジトリごとに個別の pkg/server サービスインスタンスが必要ですが、pkg/depot サービスインスタンスは 1 つだけ必要です。pkg/server サービスの各インスタンスは、pkg/inst_root サービスプロパティーによって指定された IPS リポジトリにマップされます。pkg/server サービスは、次のいずれかを実行します。

  • リポジトリの内容を提供するための関連付けられた pkg.depotd プロセスを実行します。

  • プロセスを実行せず、代わりに pkg.depot サービスの構成を支援します。

各リポジトリは、pkg/server サービスインスタンスによってサポートされます。リポジトリは、pkg/depot:default サービスによってサポートされることもあります。特定の pkg/server インスタンスの pkg/standalone プロパティーが true に設定されている場合、そのリポジトリは pkg.depotd プロセスによって提供されます。特定の pkg/server インスタンスの pkg/standalone プロパティーが false に設定されている場合、そのリポジトリは pkg/depot:default サービスによって提供されます。各 pkg/server インスタンスは pkg.depotd を実行するか、または pkg/depot:default に構成情報 (リポジトリの pkg/inst_root の場所) を提供します。

pkg/standalone プロパティーが false に設定され、pkg/readonly プロパティーが true に設定されている pkg/server インスタンスを有効にすると、pkg/depot:default 構成がリフレッシュされ、そのリポジトリは pkg/depot:default サービスによって提供されます。その同じ pkg/server インスタンスを無効にすると、pkg/depot:default サービスがリフレッシュされ、そのリポジトリは、pkg/depot:default サービスによって提供されなくなります。

–F オプションを付けた pkg.depot-config コマンドを使用して、デポを手動で構成できます。–F オプションは既存の Web サーバーに追加できる Web サーバー構成ファイルを生成します。この場合、デポは、機能制限付きで実行します。pkg search サポートおよびデポブラウザユーザーインタフェースは使用できません。Oracle Solaris 11 システムのインストールと更新に必要な、その他すべての pkg(1) 機能は使用できます。

    次のいずれかの方法を使用して、デポサーバーにリポジトリパスと構成を渡します。

  • –S オプションを付けて、pkg.depot-config コマンドを使用します。–S オプションにより、pkg.depotd はシステムに、online としてマークされている pkg/server サービスのすべてのインスタンスをクエリーし、pkg/standalone プロパティーを false に設定し、pkg/readonly プロパティーを true に設定します。

  • –d オプションを付けて、pkg.depot-config コマンドを使用します。–dオプションは使用する pkg(7) リポジトリへのパスを指定します。複数の –d オプションが受け入れられます。

リポジトリには、pkg5srv ユーザーによってリポジトリ内のファイルおよびディレクトリが読み取られることを許可するファイル権限が必要です。

オプション

サポートしているオプションは、次のとおりです。

–d prefix=repository_dir

使用する pkg(7) ファイルリポジトリへのパスを指定します。prefix は、このリポジトリにアクセスできる depot-config Web サーバー名前空間の接頭辞として使用されます。repository_dir は、バージョン 4 (デフォルト) の pkg(7) パッケージリポジトリを格納するディレクトリです。repository_dir の値は、デポサーバー構成に含められます。–d オプションは –S オプションと一緒に使用できません。–S オプションを使用しない場合、少なくとも 1 つの –d オプションが必要です。複数の –d オプションが許可されます。

–S

使用するリポジトリについて、システムをクエリーします。–S オプションにより、pkg.depotd はシステムに、online としてマークされている pkg/server サービスのすべてのインスタンスをクエリーし、pkg/standalone プロパティーを false に設定し、pkg/readonly プロパティーを true に設定します。これらのプロパティー値により、これらのプロパティーが設定されていない pkg/server インスタンスと同時にデポを実行できます。pkg.depotd については、pkg.depotd(8) のマニュアルページを参照してください。–Sオプションは –d オプションと一緒に使用できません。

–r runtime_dir

構成ファイルのデフォルトの出力ディレクトリを指定します。このディレクトリは、pkg/depot サービスの config/runtime_dir プロパティーを設定して指定することもできます。config/runtime_dir プロパティーが使用された場合、このディレクトリの内容は、pkg/depot サービスの起動時に再作成されます。

–c cache_dir

デポがそのキャッシュを格納するディレクトリを指定します。–A オプションも指定されている場合、キャッシュディレクトリはサーバー側 pkg(7) 検索インデックスを格納するためにも使用されます。cache_dir ディレクトリは、pkg/depot サービスの config/cache_dir プロパティーを設定して指定することもできます。

–s cache_size

デポのキャッシュの最大サイズを指定します。cache_size 値はメガバイトの整数です。cache_size が 0 である場合、Web サーバーによってキャッシュは実行されません。cache_size のデフォルト値は 0 です。デポサーバーによって提供されるすべてのファイルリポジトリが、デポサーバーにローカルである (NFS 経由でアクセスされない) 場合、デフォルト値の 0 で十分です。このキャッシュサイズは、pkg/depot サービスの config/cache_max プロパティーを設定して指定することもできます。

–p port

デポが待機するポート番号を指定します。port のデフォルト値は 80 です。このポートは、pkg/depot サービスの config/port プロパティーを設定して指定することもできます。リポジトリが pkg.depot サービスによって管理されているときは、pkg/server サービスの pkg/port プロパティーは無視されます。

–h hostname

Apache ServerName ディレクティブへの引数として使用するホスト名を指定します。hostname のデフォルト値は 0.0.0.0 です。このホスト名は、pkg/depot サービスの config/host プロパティーを設定して指定することもできます。

–l logs_dir

デポがログファイルを格納するディレクトリを指定します。logs_dir のデフォルト値は /var/log/pkg/depot です。このディレクトリは、pkg/depot サービスの config/log_dir プロパティーを設定して指定することもできます。

–T template_dir

デポ構成の構築に使用するテンプレートが格納されているディレクトリを指定します。template_dir のデフォルト値は /etc/pkg/depot です。このディレクトリは、pkg/depot サービスの config/template_dir プロパティーを設定して指定することもできます。このディレクトリは変更する必要はないと考えられます。

–A

pkgrepo refresh が呼び出されたときに、デポによって保持されている検索インデックスをリフレッシュします。デフォルトでは、pkgrepo refresh が呼び出されたときに、デポによって保持されている検索インデックスはリフレッシュされません。このオプションは、pkg/depot サービスの config/allow_refresh プロパティーを設定して指定することもできます。検索インデックスはデポの起動時に自動的にリフレッシュされるため、ベストプラクティスは、本番サーバーでインデックスをリフレッシュするために、–A オプションまたは config/allow_refresh プロパティーを使用しないことです。

–t server_type

pkg.depot-config が構成情報を出力する Web サーバーのタイプを指定します。このリリースでは、server_type のデフォルト値は apache2 (Apache 2.4) で、受け入れられる値は、apache2 および apache22 (Apache 2.2) です。

–F

Web サーバーが既存の Web サービスを使用して、基本の pkg(7) インストール操作を提供できるようにする部分的な構成を生成します。Oracle Solaris OS 上で実行されている Apache Web サーバーの場合、部分的な構成ファイルを /etc/apache2/2.4/conf.d に配置できます。ほかのオペレーティングシステムの場合は、OS のドキュメントを参照して、この部分的な構成ファイルを使用する方法を判断してください。–P オプションも参照してください。

–P server_prefix

デポを Web サーバー名前空間にマップするために使用される接頭辞を指定します。–Pオプションは –F オプションと一緒に使用することを目的としています。

–-https

HTTPS サービスを有効にします。このオプションは、–F または –P オプションと一緒に使用できません。

–-cert server_cert_file

サーバー証明書ファイルの場所を指定します。このオプションは –-https オプションと一緒にのみ使用できます。–-cert オプションと –-key オプションの両方または –-cert-key-dir オプションを –-https オプションと一緒に使用する必要があります。

–-key server_key_file

サーバー鍵ファイルの場所を指定します。このオプションは –-https オプションと一緒にのみ使用できます。–-cert オプションと –-key オプションの両方または –-cert-key-dir オプションを –-https オプションと一緒に使用する必要があります。

–-cert-key-dir cert_key_directory

–-cert および –-key オプションが省略されている場合に、自動的に生成された証明書および鍵を格納させるディレクトリを指定します。このオプションは –-https オプションと一緒にのみ使用できます。–-cert オプションと –-key オプションの両方または –-cert-key-dir オプションを –-https オプションと一緒に使用する必要があります。

–-ca-cert ssl_ca_cert_file

最上位の CA 証明書ファイルの場所を指定します。このオプションは –-https オプションと一緒にのみ使用でき、–-ca-key オプションと一緒に使用する必要があります。このオプションは、この CA 証明書と –-ca-key オプションによって指定された CA 鍵に基づいて、サーバー証明書を自動的に生成するためにのみ使用されます。

–-ca-key ssl_ca_key_file

最上位の CA 鍵ファイルの場所を指定します。このオプションは、–-https オプションと一緒にのみ使用でき、–-ca-cert オプションと一緒に使用する必要があります。このオプションは、この CA 鍵と –-ca-cert オプションによって指定された CA 証明書に基づいて、サーバー証明書を自動的に生成するためにのみ使用されます。

–-cert-chain ssl_cert_chain_file

このオプションは –-https オプションと一緒にのみ使用できます。このオプションは、サーバー証明書が最上位 CA によって直接署名されていないが、中間権限によって署名されている場合に必要です。

–-smf-fmri smf_pkg_depot_fmri

pkg/depot サービスインスタンスの FMRI を指定します。このオプションは、何らかの証明書または鍵がそのインスタンスに対して自動的に生成された場合に、そのインスタンスの対応する SMF プロパティーを更新するために使用されます。このオプションは –-https オプションと一緒にのみ使用できます。

追加のサーバー構成の提供

–F オプションが使用されておらず、デフォルトの -t apache2 が設定されている場合、svc:/application/pkg/depot サービスは、起動時にサーバー構成を拡張するために使用できる追加の Apache 構成ファイルを /etc/pkg/depot/conf.d 内で検索します。Web サーバーを構成するために使用するディレクティブに関する詳細については、Apache Web サーバーのドキュメントを参照してください。

使用例 1 リポジトリがどのように提供されているかを示す

この例のシステムでは、svc:/application/pkg/server の複数のインスタンスと svc:/application/pkg/depot の 1 つのインスタンスを実行しています。pkg/server:standalone インスタンスには pkg.depotd プロセスが関連付けられています。pkg.depotd プロセスは、pkg/server:standalone サービスに構成されているリポジトリを提供します。pkg/server:userland インスタンスには、関連付けられたプロセスがありません。pkg/depot:default サービスは、pkg/server:userland サービスに構成されているリポジトリを提供します。

$ svcs pkg/server
STATE    STIME    FMRI
disabled Feb_06   svc:/application/pkg/server:default
online   Feb_03   svc:/application/pkg/server:userland
online   Feb_03   svc:/application/pkg/server:standalone
$ svcs pkg/depot
STATE    STIME    FMRI
online   Feb_07   svc:/application/pkg/depot:default
$ svcprop -p pkg/standalone -p pkg/readonly \
pkg/server:standalone
true
true
$ svcprop -p pkg/standalone -p pkg/readonly \
pkg/server:userland
false
true
$ svcs -p svc:/application/pkg/server:standalone
STATE    STIME    FMRI
online   Feb_03   svc:/application/pkg/server:standalone
         Jan_31       1206 pkg.depotd
$ svcs -p svc:/application/pkg/server:userland
STATE    STIME    FMRI
online   Feb_03   svc:/application/pkg/server:userland
使用例 2 デポに関連付けられたプロセスを示す

次のコマンドは、pkg/depot サービスに関連付けられた httpd プロセスを表示します。

$ svcs -p pkg/depot
STATE    STIME    FMRI
online   11:43:56 svc:/application/pkg/depot:default
         11:43:55     16969 httpd
         11:43:55     16974 httpd
         11:43:55     16975 httpd
         11:43:55     16976 httpd
         11:49:01     16990 httpd
         11:51:33     16995 httpd

終了ステータス

次の終了ステータスが返されます。

0

コマンドが成功しました。

1

コマンドが失敗しました。

2

無効なコマンド行オプションが指定された。

属性

次の属性については、attributes(7) を参照してください。

属性タイプ
属性値
使用条件
package/pkg/depot
インタフェースの安定性
不確実

関連項目

svcprop(1)svcs(1)svcadm(8)svccfg(8)pkg.depotd(8)pkg(7)

Creating Package Repositories in Oracle Solaris 11.4

https://github.com/oracle/solaris-ips