pkgsurf - Image Packaging System の再サーフェスユーティリティー
/usr/bin/pkgsurf -s target_repo -r reference_repo [-n] [-p publisher_prefix]... [-i name]... [-c pattern]...
pkgsurf は、参照リポジトリ内の最新の発行済みバージョンから変更されていない、ターゲットリポジトリ内のパッケージを置き換えるためのパッケージ発行ツールです。結果は、ターゲットリポジトリ内のすべてのパッケージの新しいバージョンのサーフェスです。
pkgsurf 操作は元に戻せません。pkgsurf 操作を元に戻す必要がある場合、pkgsurf を実行する前に、ターゲットリポジトリを自身の ZFS データセットに格納し、データセットのスナップショットを作成する必要があります。
ターゲットリポジトリ内のパッケージが、参照リポジトリ内のパッケージと比較され、内容の変更が分析されます。各パッケージで、内容の変更が見つからない場合、パッケージマニフェストがターゲットリポジトリから削除され、参照リポジトリの同じパッケージのマニフェストに置き換えられます。
ターゲットリポジトリは、ファイルシステムに基づいたリポジトリである必要があります。最適なパフォーマンスのため、参照リポジトリもファイルシステムに基づいたリポジトリである必要があります。
ターゲットリポジトリには、各パッケージの 1 つのバージョンのみが含まれている必要があります。ターゲットリポジトリに参照リポジトリ内の最新のバージョンよりも新しく、ターゲットリポジトリ内の最新のバージョンより古いパッケージが含まれている場合は、そのパッケージについてはパッケージマニフェストの置換は行われません。
参照リポジトリは、各パッケージの 1 つ以上のバージョンを含むことができます。ただし、最新バージョンのみが比較に使用されます。
サポートしているオプションは、次のとおりです。
使用方法に関するメッセージを表示します。
FMRI が pattern に一致するすべてのパッケージを変更されたものとして扱い、内容の変更がない場合でも、復元しません。このオプションは複数回指定できます。
内容の変更を決定するために name フィールドが name に設定された set アクションを無視します。このアクションがターゲットと参照のバージョン間で異なる場合でも、パッケージは復元されます。このオプションは複数回指定できます。
ターゲットリポジトリを変更することなく、操作の試験実行を行います。
再サーフェスするパブリッシャーの名前を指定します。このオプションは複数回指定できます。
デフォルトで、ターゲットリポジトリおよび参照リポジトリ内にあるすべてのパブリッシャーのパッケージが再サーフェスされます。
マニフェストの比較に使用する参照リポジトリの URI を指定します。各パッケージの最新バージョンのみが考慮されます。
ターゲットリポジトリへのパスを指定します。このリポジトリ内のパッケージが、比較結果に従って参照リポジトリ内にあるバージョンに復元されます。ターゲットリポジトリには、各パッケージの 1 つのバージョンのみが含まれている必要があります。ターゲットリポジトリは、ファイルシステムに基づいたリポジトリである必要があります。
次の環境変数がサポートされています。
ターゲットリポジトリの絶対パス。
内容の変更がなかったターゲットリポジトリ内の各パッケージを、参照リポジトリ内の同じパッケージから復元します。
$ pkgsurf -s /path/to/target -r http://reference.example.com
ターゲットリポジトリ内のサンプルパッケージ:
set name=pkg.fmri value=pkg://example.com/foo@2.0:20381001T163427Z dir group=sys mode=0755 owner=root path=usr
参照リポジトリ内のサンプルパッケージ:
set name=pkg.fmri value=pkg://example.com/foo@1.0:20381001T163427Z dir group=sys mode=0755 owner=root path=usr
pkgsurf 操作後のターゲットリポジトリ内のサンプルパッケージ:
set name=pkg.fmri value=pkg://example.com/foo@1.0:20381001T163427Z dir group=sys mode=0755 owner=root path=usr
次の終了ステータスが返されます。
コマンドが成功しました。
エラーが発生しました。
無効なコマンド行オプションが指定された。
予期しない例外が発生しました。
次の属性については、attributes(7) を参照してください。
|
Creating Package Repositories in Oracle Solaris 11.4
https://github.com/oracle/solaris-ips