Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2022年7月27日
 
 

pkgsurf(1)

名前

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 つ以上のバージョンを含むことができます。ただし、最新バージョンのみが比較に使用されます。

オプション

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

–?
–-help

使用方法に関するメッセージを表示します。

–c pattern

FMRI が pattern に一致するすべてのパッケージを変更されたものとして扱い、内容の変更がない場合でも、復元しません。このオプションは複数回指定できます。

–i name

内容の変更を決定するために name フィールドが name に設定された set アクションを無視します。このアクションがターゲットと参照のバージョン間で異なる場合でも、パッケージは復元されます。このオプションは複数回指定できます。

–n

ターゲットリポジトリを変更することなく、操作の試験実行を行います。

–p publisher_prefix

再サーフェスするパブリッシャーの名前を指定します。このオプションは複数回指定できます。

デフォルトで、ターゲットリポジトリおよび参照リポジトリ内にあるすべてのパブリッシャーのパッケージが再サーフェスされます。

–r reference_repo

マニフェストの比較に使用する参照リポジトリの URI を指定します。各パッケージの最新バージョンのみが考慮されます。

–s target_repo

ターゲットリポジトリへのパスを指定します。このリポジトリ内のパッケージが、比較結果に従って参照リポジトリ内にあるバージョンに復元されます。ターゲットリポジトリには、各パッケージの 1 つのバージョンのみが含まれている必要があります。ターゲットリポジトリは、ファイルシステムに基づいたリポジトリである必要があります。

環境変数

次の環境変数がサポートされています。

PKG_REPO

ターゲットリポジトリの絶対パス。

使用例 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

終了ステータス

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

0

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

1

エラーが発生しました。

2

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

99

予期しない例外が発生しました。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

ATTRIBUTE TYPE
ATTRIBUTE VALUE
使用条件
package/pkg
インタフェースの安定性
不確実

関連項目

pkgrepo(1), pkg(7)

Creating Package Repositories in Oracle Solaris 11.4

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