Oracle® Solaris 11.2 での Image Packaging System を使用したソフトウェアのパッケージ化と配布

印刷ビューの終了

更新: 2014 年 7 月
 
 

パッケージの再発行

IPS を使用すると、既存のパッケージを、最初にそのパッケージを発行していなくても、変更を加えて再発行することが簡単にできます。また、pkg update がユーザーの期待どおりに機能し続けるように、変更済みパッケージの新しいバージョンを再発行することもできます。変更されたパッケージはイメージに正しくインストールされ、更新されます。

もちろん、確認された問題と変更されたパッケージとのなんらかの関係が疑われる場合は、変更されたパッケージを含むシステムを実行すると、サポートに悪影響が出る可能性があります。

    パッケージを変更して再発行するには、次の手順を使用します。

  1. pkgrecv(1) を使用して、再発行するパッケージを指定のディレクトリに raw 形式でダウンロードします。すべてのファイルにはそのハッシュ値で名前が付けられ、マニフェストには manifest という名前が付けられます。必要なプロキシ構成を http_proxy 環境変数に忘れずに設定してください。

  2. pkgmogrify(1) を使用して、マニフェストに対して必要な変更を行います。発行中に混乱が起きないように、内部パッケージの FMRI からタイムスタンプを削除します。

    変更が大きな影響を与えるものである場合は、pkglint(1) を使用して結果となるパッケージを検証します。

  3. pkgsend(1) を使用してパッケージを再発行します。この再発行によって存在している署名がパッケージから取り除かれ、pkg.fmri によって指定されたタイムスタンプが無視されることに注意してください。警告メッセージを防ぐには、pkgmogrify の手順で署名アクションを削除します。

    パッケージの元のソースに発行する権限がない場合は、pkgrepo(1) を使用してリポジトリを作成したあとで、次のコマンドを使用して、パブリッシャー検索順で元のパブリッシャーの前に新しいパブリッシャーを設定します。

    $ pkg set-publisher --search-before=original_publisher new_publisher
  4. 必要に応じて、pkgsign(1) を使用してパッケージに署名します。クライアントのキャッシュ問題を防ぐには、テストの場合であっても、パッケージをインストールする前にパッケージに署名します。