JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 での Image Packaging System を使用したソフトウェアのパッケージ化および配布     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  IPS の設計目標、概念、および用語

2.  IPS を使用したソフトウェアのパッケージ化

3.  ソフトウェアパッケージのインストール、削除、および更新

4.  パッケージの依存関係の指定

5.  バリエーションの許可

6.  プログラムによるパッケージマニフェストの変更

7.  パッケージインストールの一環としてのシステム変更の自動化

8.  パッケージ更新の高度なトピック

パッケージ内容の競合の回避

パッケージの名前変更、マージ、および分割

単一パッケージの名前変更

2 つのパッケージのマージ

あるパッケージによる別のパッケージの取り込み

2 つのパッケージの名前変更

パッケージの分割

パッケージの廃止

移行する編集可能ファイルの保持

ディレクトリの削除または名前変更時のパッケージ解除された内容の移動

複数のアプリケーション実装の配布

ブート環境間で共有されるディレクトリの提供

共有ディレクトリに内容を配布する方法

9.  IPS パッケージの署名

10.  非大域ゾーンの処理

11.  発行されたパッケージの変更

A.  パッケージの分類

B.  IPS を使用して Oracle Solaris OS をパッケージ化する方法

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

パッケージの名前変更、マージ、および分割

元のパッケージ内の誤り、時間の経過に伴う製品またはその使用法の変更、あるいは周辺のソフトウェア環境の変更のために、ソフトウェアコンポーネントの望ましい構成が変わることがあります。パッケージ名の変更のみが必要な場合もあります。そのような変更を計画する場合、アップグレードを行うユーザーは、意図しない副作用が絶対に発生しないように検討してください。

pkg update への考慮事項がますます多様化しているため、このセクションでは、3 種類のパッケージ再編成について説明します。

  1. 単一パッケージの名前変更

  2. 2 つのパッケージのマージ

  3. パッケージの分割

単一パッケージの名前変更

単一パッケージの名前変更は簡単です。IPS には、パッケージの名前が変更されたことを知らせるメカニズムが備わっています。

パッケージの名前を変更するには、次の 2 つのアクションを使用して既存のパッケージの新しいバージョンを発行します。

名前変更されたパッケージは、depend または set アクション以外の内容を配布できません。

新しいパッケージでは、それを名前変更前の元のパッケージと同時にインストールできないようにする必要があります。どちらのパッケージも同じ結合依存関係の対象となっている場合は、この制約が自動的に適用されます。そうでない場合は、新しいパッケージには、名前変更されたバージョンに古いパッケージへの optional 依存関係が含まれている必要があります。これにより、ソルバーが両方のパッケージを選択して競合チェックが失敗することがなくなります。

この名前変更されたパッケージをインストールするユーザーはその名前変更された新しいパッケージを自動的に受け取ります。これは、それが古いバージョンの依存関係であるからです。名前変更されたパッケージが他のどのパッケージからも依存されていない場合、それは自動的にシステムから削除されます。古いソフトウェアが存在していると、名前変更されたいくつかのパッケージがインストール済みとして示されることがあります。その古いソフトウェアが削除されると、名前変更されたパッケージも自動的に削除されます。

パッケージの名前変更は何度行なっても問題はありませんが、ユーザーに紛らわしいことがあるため推奨されていません。

2 つのパッケージのマージ

パッケージのマージも簡単です。次の 2 つの事例は、パッケージをマージする例です。

あるパッケージによる別のパッケージの取り込み

パッケージ A@2 がパッケージ B@3 を取り込む必要があるとします。これを行うには、パッケージ B の名前をパッケージ A@2 に変更します。前述のように両方のパッケージをまとめて更新できるように結合される場合を除き、B@3 への optional 依存関係を A@2 に忘れずに含めてください。AB を取り込んだので、BB@3 にアップグレードするユーザーは A をインストールするようになります。

2 つのパッケージの名前変更

この場合は、両方のパッケージの名前をマージされた新しいパッケージの名前に変更して、それらにほかの制約がなければ、古いパッケージへの 2 つの optional 依存関係を新しいパッケージに含めます。

パッケージの分割

パッケージを分割する場合は、「単一パッケージの名前変更」に説明しているように、結果となるそれぞれの新しいパッケージの名前を変更します。結果となる新しいパッケージのいずれか 1 つを名前変更しない場合、そのパッケージの分割前と分割後のバージョンは互換性がなくなり、エンドユーザーがそのパッケージの更新を試みると、依存関係ロジックに違反する可能性があります。

元のパッケージの名前を変更し、分割によって作成されたすべての新しいパッケージへの require 依存関係を含めます。これにより、元のパッケージへの依存関係を持ったパッケージは、新しい内容をすべて入手します。

分割されたパッケージの一部のコンポーネントは、マージとして既存のパッケージに取り込むことができます。「あるパッケージによる別のパッケージの取り込み」を参照してください。