pkg.depotd - Image Packaging System の集積サーバー
/usr/lib/pkg.depotd [--cfg source] [-a address] [--content-root root_dir] [-d inst_root] [--debug feature_list] [--disable-ops=op[/1][,...]] [--image-root path] [--log-access dest] [--log-errors dest] [--mirror mode] [-p port] [--proxy-base url] [--readonly mode] [-s threads] [--sort-file-max-size bytes] [--ssl-cert-file source] [--ssl-dialog type] [--ssl-key-file source] [-t socket_timeout] [--writable-root path]
pkg.depotd は、Image Packaging System の集積サーバーです。パッケージリポジトリの内部に格納されたデータへのネットワークアクセスを提供します。ファイルシステム経由でのリポジトリへの直接アクセスをサポートしないクライアントや、ネットワークアクセスが唯一利用可能な、または推奨されるトランスポート手段であるクライアントでは通常、パッケージ集積庫を使用します。
取得クライアントであるpkg などのクライアントは、直接リポジトリから、または集積サーバーを通じてパッケージおよびパッケージメタデータのリストを取得できます。公開クライアントである pkgsend は、直接リポジトリに、または集積サーバーを通じて新しいバージョンのパッケージを送信できます。pkgrepo を使用して、集積サーバーで使用するリポジトリを作成したり、集積サーバーで直接、および集積サーバーを通じてこれらのリポジトリを管理したりすることができます。
pkg.depotd は通常、システム上のサービスとして実行されます。パッケージおよびソフトウェアの開発者が、テスト目的で非公開のコピーを実行することが必要になる場合があります。
集積庫は、単体では一切のアクセス制御手段を提供しません。デフォルトでは、接続できるすべてのクライアントは、すべてのパッケージデータを読み取ることができ、新しいパッケージバージョンを公開できます。サービス管理機構 (SMF) のもとで実行される場合は例外であり、この場合はデフォルトで読み取り専用モードで実行されます。後述の注意事項に関するセクションで、内容が増大していく公開集積サーバーを保守するためのベストプラクティスをいくつか説明します。
pkg.depotd サーバーは通常、そのサービスと関連付けられた SMF プロパティーを通して構成されます。svc:/application/pkg/server サービスは、pkg.depot サーバープロセスを実行するか、svc:/application/pkg/depot サービスの構成に貢献します。See the pkg.depot-config(8) man page and the pkg/standalone property below.pkg.depot-config ツールおよびマニュアルページをインストールするには、package/pkg/depot パッケージをインストールします。
See the smf(7) man page for information about SMF properties.次のようなプロパティーがあります。
(net_address) 接続を待機する IP アドレス。デフォルト値は 0.0.0.0 (INADDR_ANY) で、これはすべてのアクティブなインタフェースで待機することを示します。すべてのアクティブな IPv6 インタフェースで待機するには、:: を使用します。最初の値のみが使用されます。
(astring) インスタンスがその静的コンテンツまたはその他の Web コンテンツを検索するファイルシステムパス。デフォルト値は /usr/share/lib/pkg です。
(astring) 有効にするデバッグ機能のカンマ区切りのリスト。取り得る値:
すべての要求のヘッダーをエラーログに記録します。
(astring) 集積サーバーに対して無効にする操作のカンマ区切りのリスト。操作は operation[/version] と指定します (たとえば、catalog または search_1)。
(astring) ファイル情報がファイルデータのキャッシュとして使用されるイメージのパス。
(astring) インスタンスがそのリポジトリデータを検索するファイルシステムパス。PKG_REPO が指定されていないかぎり、必須です。デフォルト値は /var/pkgrepo です。
(astring) 集積プロセスによってログに記録される、アクセスに関連した任意の情報の出力先。指定可能な値は stderr、stdout、none、または絶対パス名です。stdout が tty の場合、デフォルト値は stdout です。stdout が tty でない場合、デフォルト値は none です。pkg をサービスとして実行する場合、log_access のデフォルト値は none で、出力は /var/svc/log/application-pkg-server:* に書き込まれます。See the logadm(8) man page for examples of managing large log files.
(astring) 集積プロセスによってログに記録される、任意のエラーやその他の情報の出力先。指定可能な値は stderr、stdout、none、または絶対パス名です。デフォルト値は stderr です。See the logadm(8) man page for examples of managing large log files.
(ブール型) パッケージミラーモードを使用するかどうかを設定します。true の場合、公開操作およびメタデータ操作は無効になり、制限付きのブラウザユーザーインタフェースのみが提供されます。pkg/readonly プロパティーが true のときは、このプロパティーを true に設定できません。デフォルト値は false です。
(count) インスタンスが受信パッケージ要求を待機するポート番号。SSL 証明書およびキー情報が提供されていない場合、デフォルト値は80 です。提供されている場合、デフォルト値は 443 です。
(uri) 集積サーバーのベース URL を変更します。これは、逆プロキシ構成において、Apache またはその他の Web サーバーの内側で動作するときに最も有用です。
(boolean) pkgsend によって開始される操作などの変更操作を無効にするかどうかを設定します。取得操作は引き続き使用可能です。pkg/mirror プロパティーが true のときは、このプロパティーを true に設定できません。デフォルト値は true です。
(count) サーバーが接続を閉じる前にクライアントからの応答を待機する最大秒数。デフォルト値は 60 です。
(count) インデクサソートファイルの最大サイズ。集積庫がインデックスの作成に使用する RAM の量を制限したり、速度向上のために RAM の量を増やしたりする場合に使用されます。
(astring) PEM エンコードされた証明書ファイルの絶対パス名。デフォルト値は none です。このプロパティーは ssl_key_file とともに使用する必要があります。ssl_cert_file と /ssl_key_file の両方が指定されている場合、集積庫は SSL 要求にのみ応答します。
(astring) ssl_key_file の暗号化の解除に使用するパスフレーズを取得するために使用する方法を指定します。取り得る値:
パスフレーズの入力を要求します。これがデフォルト値です。
指定された外部プログラムを実行して、パスフレーズを取得します。プログラムの最初の引数は '' であり、予約されています。プログラムの 2 番目の引数はサーバーのポート番号です。パスフレーズは stdout に出力されます。
FMRI に関連したサービスインスタンスから、プロパティー pkg_secure/ssl_key_passphrase の値を取得しようとします。
(astring) PEM エンコードされた非公開鍵ファイルの絶対パス名。このプロパティーは、ssl_cert_file プロパティーとともに使用してください。/ssl_key_file および ssl_cert_file の両方が指定された場合、集積庫のみが SSL 要求に応答します。
(boolean) 最小の Apache 構成で、単一の Apache インスタンスから複数のリポジトリを簡単に提供するには、このプロパティーを false に設定し、この pkg/server インスタンスの pkg/readonly プロパティーを true に設定します。pkg/standalone のデフォルト値は true、pkg/readonly のデフォルト値は true です。See the pkg.depot-config(8) man page for more information.
(count) 要求を処理するために起動されるスレッドの数。デフォルト値は 60 です。小規模の配備にのみ適しています。この値は、同時実行されるクライアントの数の約 20 倍に設定してください。threads の最大値は 5000 です。
(astring) プログラムが書き込みアクセスできるディレクトリのファイルシステムパス。これは –readonly オプションとともに使用して、集積サーバーがパッケージ情報への書き込みアクセスを必要とせずに、検索インデックスなどのファイルを作成できるようにします。
(astring) pkg/ssl_key_file の暗号化を解除するために使用するパスワード。この値は、属性 solaris.smf.read.pkg-server を使用して読み取り権限保護されます。
集積サーバーのブラウザユーザーインタフェース (BUI) の表示および動作は次のプロパティーを使用して制御されます。
(astring) RSS/Atom フィードの説明の段落。
(astring) RSS/Atom フィードを視覚的に表現するために使用される小さなイメージのパス名。パス名は content_root の相対パス名にしてください。デフォルト値は web/_themes/pkg-block-icon.png です。
(astring) RSS/Atom フィードを視覚的にブランディングまたは識別するために使われる大きな画像のパス名。この値は content_root からの相対パスで指定します。デフォルト値は web/_themes/pkg-block-icon.png です。
(astring) リポジトリにサービスを提供する集積庫によって生成される、RSS/Atom フィードの短い説明的な名前。デフォルト値は「package repository feed」です。
(count) フィードの生成時に含める、リポジトリに関するフィードが最後に生成された時点までの時間数。
The package depot is also able to act as a mirror server for local client images from pkg(7).これにより、LAN 上で 1 つのサブネットを共有する複数のクライアントが、そのファイルキャッシュをミラー化できます。クライアント間で互いにファイルをダウンロードできるため、パッケージ集積サーバーの負荷が軽減されます。この機能は、SMF によって構成される代替集積サービスとして利用可能です。この機能はサービス検出のために mDNS および dns-sd を使用します。
mDNS ミラーは通常、そのサービスと関連付けられた SMF プロパティーを通して構成されます。次のようなプロパティーがあります。
(astring) ファイル情報がファイルデータのキャッシュとして使用されるイメージのパス。デフォルト値は / です。
(count) 着信するパッケージ要求をインスタンスが待機するポート番号。デフォルトの値は 80 です。
pkg.depotd はその基本構成情報をファイルから、または既存の SMF サービスインスタンスのプロパティーデータから読み取ることができます。
構成データを読み書きするときに使用するファイルのパス名、または smf:fmri 形式の文字列。fmri は、構成データの読み取り元インスタンスのサービス障害管理リソース識別子 (FMRI) です。指定されるファイルの形式については、後述する「集積庫の構成」を参照してください。
利用可能な既存の設定ソースがない場合や、–-cfg を使用して指定された構成ファイルから読み取られた値をオーバーライドする場合は、次のオプションを使用して、集積サーバーのデフォルト動作を変更できます:
前出の pkg/address を参照してください。
前出の pkg/content_root を参照してください。
前出の pkg/inst_root を参照してください。
前出の pkg/debug を参照してください。
前出の pkg/disable_ops を参照してください。
上記の pkg/image_root を参照してください。
前出の pkg/log_access を参照してください。
前出の pkg/log_errors を参照してください。
前出の pkg/mirror を参照してください。
前出の pkg/port を参照してください。
前出の pkg/proxy_base を参照してください。空の値を指定した場合、このオプションは無視されます。
前出の pkg/readonly を参照してください。
前出の pkg/threads を参照してください。
前出の pkg/sort_file_max_size を参照してください。
前出の pkg/ssl_cert_file を参照してください。
上記の pkg/ssl_dialog を参照してください。
上記の pkg/ssl_key_file を参照してください。
前出の pkg/socket_timeout を参照してください。
前出の pkg/writable_root を参照してください。
使用方法に関するメッセージを表示します。
パッケージリポジトリの追加の管理機能は pkgrepo によって提供されます。
–-cfg オプションを使用して (SMF の FMRI の代わりに) 構成ファイルが指定されたときは、集積サーバーはすべての構成データを単純テキスト形式で読み書きします。構成データについては「SMF プロパティー」ですでに説明しました。設定データは、[section] ヘッダーで始まるセクション群と、それに続く name = value エントリ群で構成されます。記述の継続は RFC 822 形式です。継続行を空白で始めることにより、複数の行に値を分割できます。
構成ファイルで指定されていない必要な値はすべて、前出の「オプション」で一覧表示したオプションを使用して指定する必要があります。サンプルの構成ファイルは次のようになります。
[pkg] port = 80 inst_root = /export/repo [pub_example_com] feed_description = example.com's software update log
# svcadm enable application/pkg/server使用例 2 サーバーの待機ポートを変更します。
# svccfg -s application/pkg/server setprop pkg/port = 10000 # svcadm refresh application/pkg/server # svcadm restart application/pkg/server使用例 3 ミラーの有効化
# svcadm enable application/pkg/dynamic-mirror
サービスを提供するリポジトリを格納したディレクトリを指定します。–d が指定されている場合は、この値は無視されます。
集積庫によってサービスが提供される静的コンテンツを格納するディレクトリを指定します。下記の「ファイル」のファイルは、このディレクトリに存在するべきですが、それらの内容が提供されるデフォルトの内容と異なっていてもかまいません。
次の終了ステータスが返されます。
操作が成功しました。
エラーが発生した。
無効なコマンド行オプションが指定された。
予期しない例外が発生しました。
デフォルトの表示コンテンツの場所。別の場所を選択するには、pkg/content_root を変更します。
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
pkg.depot-config(8), dns-sd(8), mdnsd(8), pkg(1), pkgrepo(1), pkgsend(1), syslogd(8), smf(7)
Creating Package Repositories in Oracle Solaris 11.4
https://github.com/oracle/solaris-ips
pkd.depotd サービスは、サービス識別子 svc:/application/pkg/server のもとで SMF によって管理されます。
mDNS ミラーサービスは、サービス識別子 svc:/application/pkg/dynamic-mirror のもとで SMF によって管理されます。
集積庫への読み取りアクセスを制御するために、pkg がネイティブでサポートするクライアントベースの SSL 証明書アクセスなどの認証方式と組み合わせて HTTP 逆プロキシを使用できます。
最小の Apache 構成で、単一の Apache インスタンスから複数のリポジトリを簡単に提供するには、特定の pkg/server インスタンスの pkg/standalone プロパティーを false に設定し、そのインスタンスの pkg/readonly プロパティーを true に設定します。See the pkg.depot-config(8) man page for more information.
ファイルシステムベースの操作を使用して構成またはパッケージデータを変更した場合、操作および出力に変更内容を反映できるように、集積サーバープロセスを再起動する必要があります。集積サーバープロセスを再起動するには、次のいずれかの方法を使用します。
svcadm を使用して、application/pkg/server インスタンスを再起動します。
kill を使用して、SIGUSR1 シグナルを集積サーバープロセスに送信します。これにより、プロセスはそのままの状態で、すべての構成、パッケージ、および検索データを再読み込みする「正常な再起動」が実行されます。
# kill -USR1 pid