ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 ソフトウェアパッケージの追加および更新 Oracle Solaris 11.1 Information Library (日本語) |
pkg install コマンドは、現在インストールされていないパッケージをインストールし、すでにインストールされているパッケージを更新します。pkg install コマンドには 1 つ以上のパッケージ名を指定する必要があります。
pkg update コマンドは、インストール済みのパッケージを更新します。pkg update コマンドにまだインストールされていないパッケージを指定すると、システムはそのパッケージをインストールしません。pkg update コマンドには、すでにインストールされているパッケージの名前を 0 個以上指定します。パッケージ名を指定しないと、イメージにインストールされているすべてのパッケージが更新されます。
インストールおよび更新時に、preserve 属性と overlay 属性を持つファイルがどのように処理されるかについては、pkg(1) のマニュアルページの file アクションのそれぞれの属性を参照してください。
パッケージをインストール、更新、またはアンインストールした場合に、新しい BE またはバックアップ BE が作成されることがあります。メディエータの設定または設定解除、バリアントまたはファセットの変更、およびファイルを元に戻す操作は、パッケージのインストール、更新、またはアンインストールも伴うことがあります。BE に関するイメージポリシーの制約内で、下に示すオプションを使用して、新しい BE とバックアップ BE の作成を制御できます。新しい BE とバックアップ BE について、および BE に関するイメージポリシーの設定方法については、「ブート環境ポリシーイメージのプロパティー」を参照してください。
BE オプションを使用して、新しい BE またはバックアップ BE を作成するかどうかを強制したり、BE にカスタム名を指定したり、新しい BE をアクティブにしないように指定したりします。
BE が作成される場合に、それを次回ブート時にアクティブ BE として設定しません。アクティブ BE を表示および変更するには、beadm(1M) コマンドを使用します。
バックアップ BE を作成しません。
新しい BE が作成されない場合に、バックアップ BE を作成します。このオプションを指定しないと、イメージポリシーに基づいてバックアップ BE が作成されます。バックアップ BE が自動的に作成される状況の説明については、「ブート環境ポリシーイメージのプロパティー」を参照してください。
バックアップ BE が作成される場合に、デフォルトの名前ではなく、name という名前を付けます。--backup-be-name を使用すると --require-backup-be が暗黙的に指定されます。
新しい BE を作成しません。新しい BE が必要な場合、インストール、更新、アンインストール、または元に戻す操作は実行されません。
新しい BE を作成します。このオプションを指定しないと、イメージポリシーに基づいて BE が作成されます。BE が自動的に作成される状況の説明については、「ブート環境ポリシーイメージのプロパティー」を参照してください。このオプションを --require-backup-be と組み合わせることはできません。
BE が作成される場合に、デフォルトの名前ではなく、name という名前を付けます。--be-name の使用は、暗黙的に --require-new-be を示します。
デフォルトで、パッケージを提供した発行元の検索順序で先頭の発行元から、イメージの残りの部分と互換性のあるパッケージの最新バージョンがインストールされます。最新バージョンを明示的に要求するには、パッケージ FMRI のバージョン部分に latest を使用します。
パッケージがすでにインストールされている場合は、現在インストールされているバージョンを提供した発行元から、残りのイメージと互換性のある最新バージョンのパッケージをインストールすることによってパッケージが更新されます。
イメージで複数の発行元が有効になっている場合は、発行元のスティッキネスと検索順序を設定したり、またはパッケージ FMRI で発行元を指定したりすることによって、パッケージを提供する発行元を制御できます。また、インストールするバージョンをパッケージ FMRI で指定することもできます。パッケージ FMRI の説明については、「障害管理リソース識別子」を参照してください。発行元のスティッキネスと検索順序の設定については、「発行元の構成」を参照してください。
/usr/bin/pkg install [-nvq] [-C n] [-g path_or_uri ...] [--accept] [--licenses] [--no-index] [--no-refresh] [--no-be-activate] [--no-backup-be | --require-backup-be] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] [--reject pkg_fmri_pattern ...] pkg_fmri_pattern ...
pkg_fmri_pattern で発行元を指定しない場合は、一致するパッケージを提供する最初の発行元がインストール元として使用されます。該当する発行元がこのイメージ内にインストール可能なパッケージのバージョンを提供しない場合、インストール操作は失敗します。このイメージにインストール可能なパッケージのバージョンを提供する発行元を確認するには、pkg list -a コマンドを使用します。
次のコマンドは、パッケージ atool のインストール可能なバージョンが構成済み発行元から入手可能であるが、検索順序の最初にある発行元がこのイメージでインストールできないバージョンを持っていることを示しています。
$ pkg list -a atool NAME (PUBLISHER) VERSION IFO atool (isvpub) 2.0 --- $ pkg list -af atool NAME (PUBLISHER) VERSION IFO atool 1.1 --- atool (isvpub) 2.0 ---
この場合、次のインストールコマンドは失敗します。パッケージシステムでは、検索順序の最初にある発行元から「atool」という pkg_fmri_pattern に一致するものが検索されますが、そのパッケージはインストールできません。
$ pfexec pkg install atool
このパッケージをインストールするには、次の例に示すように、より具体的な pkg_fmri_pattern を指定します。
$ pfexec pkg install //isvpub/atool $ pfexec pkg install atool@2.0
実際のインストールを実行する前に、何がインストールされるかを確認するには、-nv オプションを使用します。
指定したパッケージリポジトリまたはパッケージアーカイブを、パッケージデータの取得元になるイメージ内のソースのリストに一時的に追加するには、-g オプションを使用します。クライアント SSL 証明書が必要なリポジトリは、このオプションとともに使用できません。このオプションは、子イメージ (非大域ゾーン) を持つイメージでは使用できません。このイメージに非大域ゾーンがインストールされている場合は、pkg set-publisher コマンドを使用してこの発行元と起点を追加します。このオプションは複数回指定できます。
-g オプションを指定すると、パッケージの取得時に、イメージで有効になっている発行元が優先されます。
指定された pkg_fmri_pattern に一致するパッケージが、イメージで有効になっている発行元から利用可能な場合に、その同じ発行元が -g オプションで指定された場所に見つからないとき、パッケージシステムは、イメージで有効になっている発行元からパッケージをインストールしようとします。install または update のあとに、イメージ内で構成されていない発行元によって提供されるパッケージがある場合は、起点なしでイメージ構成に追加されます。
指定された pkg_fmri_pattern に一致するパッケージが、イメージで有効になっている発行元から利用可能な場合に、その同じ発行元が -g オプションで指定された場所にパッケージを発行しているとき、パッケージシステムは、-g オプションで指定された場所からパッケージをインストールしようとします。
次の例では、イメージ内に構成されている solaris 発行元から btool が利用可能です。btool パッケージは、リポジトリの起点 http://pkg.example1.com/ の devtool 発行元からも入手可能ですが、devtool 発行元はこのイメージで構成されていません。イメージ内に構成されている発行元からパッケージが利用可能な場合は、構成済みの発行元が -g の発行元より優先されるため、次のコマンドは solaris 発行元からパッケージをインストールしようとします。
$ pfexec pkg install -g http://pkg.example1.com/ btool
devtool 発行元からパッケージをインストールするには、pkg_fmri_pattern に発行元の名前を指定します。
$ pfexec pkg install -g http://pkg.example1.com/ //devtool/btool
次の例で、isvpub は起点 /export/isvrepo でイメージ内に構成されている発行元です。isvpub 発行元は http://pkg.example2.com/ にあるリポジトリにもパッケージを発行していますが、イメージ内で構成されているこの発行元にその起点は指定されていません。同じ発行元が両方の場所にパッケージを提供しているため、次のコマンドは http://pkg.example2.com/ の場所からパッケージをインストールしようとします。
$ pfexec pkg install -g http://pkg.example2.com/ atool
「パッケージ発行元の追加、変更、削除」にある発行元のスティッキネスの説明も参照してください。
大域ゾーンと同時に n 個の非大域ゾーンにパッケージをインストールするには、-C オプションを使用します。-C オプションの使用例については、「複数の非大域ゾーンの同時更新」を参照してください。
更新またはインストールされるパッケージのライセンス条項に同意することを示す場合は、--accept オプションを使用します。このオプションを指定しないと、パッケージのライセンスに同意が必要になった場合、インストール操作は失敗します。この操作の一環としてインストールまたは更新されるパッケージのすべてのライセンスを表示するには、--licenses オプションを使用します。
--no-index オプションを指定すると、操作の正常終了後に、検索インデックスが更新されません。このオプションを指定すると、多数のパッケージをインストールする場合に、いくらか時間を節約できます。すべての install、update、および uninstall 操作を完了したら、pkg refresh を使用して、使用可能なパッケージのリストと、指定された各発行元の発行元メタデータを更新できます。発行元を指定しない場合、すべての発行元を対象にリフレッシュが実行されます。
-no-refresh オプションを指定した場合、使用可能なパッケージやその他のメタデータの最新のリストを取得するために、イメージの発行元のリポジトリに接続しません。
コマンド出力で、新しいブート環境が作成されたことを示すメッセージに注意してください。新しいブート環境を作成してアクティブにすると、それが次回、--no-be-activate オプションを指定しない場合のリブート時のデフォルトブート環境になります。
新しい BE は指定したインストール、アンインストール、または更新の変更が適用された現在の BE のクローンになります。現在の BE は変更されません。システムは自動的に再起動されません。システムの次回の再ブート時に、新しい BE がデフォルトのブート選択肢になります。現在の BE も引き続きブートに使用できます。
--no-be-activate オプションを指定した場合、次回のリブート時に、新しい BE がデフォルトのブート選択肢になりません。
新しい BE を強制的に作成するか、新しい BE にわかりやすい名前を付ける場合は、--be-name オプションを使用します。
$ pfexec pkg install --be-name s11amp group/feature/amp Packages to install: 5 Create boot environment: Yes Create backup boot environment: No DOWNLOAD PKGS FILES XFER (MB) SPEED Completed 5/5 271/271 52.3/52.3 0B/s PHASE ITEMS Installing new actions 410/410 Updating package state database Done Updating image state Done Creating fast lookup database Done Reading search index Done Updating search index 5/5 A clone of s11_1 exists and has been updated and activated. On the next boot the Boot Environment s11amp will be mounted on '/'. Reboot when ready to switch to this updated BE. $ pkg list group/feature/amp pkg list: no packages matching 'group/feature/amp' installed
pkg list コマンドは、現在の BE に group/feature/amp パッケージがインストールされていないため、group/feature/amp パッケージがインストールされていないことを報告します。group/feature/amp パッケージは新しい s11amp BE にインストールされます。
beadm list コマンドを使用して、システムに s11amp という新しいアクティブな BE があることを確認します。「N」で示された BE は現在ブートされています。「R」で示された BE はリブート時のデフォルトです。リブート時のデフォルトの BE を変更するには、beadm activate コマンドを使用します。
$ beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- s11amp R - 20.75G static 2012-08-06 15:36 solaris - - 44.81M static 2010-11-07 17:45 solaris11_1 N / 30.04M static 2012-07-25 17:10
新しい BE に group/feature/amp パッケージがインストールされていることを確認します。I 列の「i」は group/feature/amp パッケージがインストールされていることを示します。
$ pfexec beadm mount s11amp /mnt $ pkg -R /mnt list group/feature/amp NAME (PUBLISHER) VERSION IFO group/feature/amp 0.5.11-0.175.1.0.0.21.0 i--
s11amp BE を必ずアンマウントしてください。
$ beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- s11amp R /mnt 20.75G static 2012-08-06 15:36 solaris - - 44.81M static 2010-11-07 17:45 solaris11_1 N / 30.05M static 2012-07-25 17:10 $ pfexec beadm unmount s11amp
指定した pkg_fmri_pattern に一致する名前を持つパッケージをインストールしないようにする場合は、pkg install コマンドの --reject オプションを使用します。一致するパッケージがすでにインストールされている場合、それらはこの操作の一環として削除されます。グループ依存関係のターゲットである拒否対象パッケージは回避リストに登録されます。回避リストについては、「グループパッケージに含まれる一部のパッケージのインストールの回避」を参照してください。
$ pfexec pkg install -nv --reject developer/versioning/cvs group/feature/developer-gnu
install または update サブコマンドを使用して、インストールされているパッケージを、現在インストールされているバージョンを提供した発行元から、残りのイメージと互換性のあるパッケージの最新バージョンに更新できます。まだインストールされていないパッケージが意図せずにインストールされることを避けるには、pkg update コマンドを使用して、パッケージを更新します。
イメージで複数の発行元が有効になっている場合は、発行元のスティッキネスと検索順序を設定したり、またはパッケージ FMRI で発行元を指定したりすることによって、パッケージを提供する発行元を制御できます。また、インストールするバージョンをパッケージ FMRI で指定することもできます。パッケージ FMRI の説明については、「障害管理リソース識別子」を参照してください。発行元のスティッキネスと検索順序の設定については、「発行元の構成」を参照してください。
/usr/bin/pkg update [-fnvq] [-C n] [-g path_or_uri ...] [--accept] [--licenses] [--no-index] [--no-refresh] [--no-be-activate] [--no-backup-be | --require-backup-be] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] [--reject pkg_fmri_pattern ...] [pkg_fmri_pattern ...]
パッケージの最新バージョンを明示的に要求するには、pkg_fmri_pattern のバージョン部分に latest を使用します。
$ pfexec pkg update vim@latest
現在インストールされているバージョンより古いパッケージバージョンを指定して、インプレースダウングレードを実行できます。保持される構成ファイルのうち、ダウングレードされるパッケージの一部であり、元のバージョンがインストールされたあとに変更されたファイルは、拡張子 .update を使用して名前が変更されます。どのファイルを保持するかをパッケージシステムが決定する方法と、パッケージのアップグレード中にこれらのファイルが保持されるしくみについては、pkg(5) のマニュアルページのファイルアクションに関する項目を参照してください。
指定したパッケージリポジトリまたはパッケージアーカイブを、パッケージデータの取得元になるイメージ内のソースのリストに一時的に追加するには、-g オプションを使用します。-g オプションの効果の詳細と例については、「新しいパッケージのインストール」を参照してください。
大域ゾーンと同時に n 個の非大域ゾーンのパッケージを更新するには、-C オプションを使用します。例については、「複数の非大域ゾーンの同時更新」を参照してください。
コマンド出力で、新しいブート環境が作成されたことを示すメッセージに注意してください。新しいブート環境を作成してアクティブにすると、それが次回、--no-be-activate オプションを指定しない場合のリブート時のデフォルトブート環境になります。
更新されるパッケージのライセンス条項に同意することを示す場合は、--accept オプションを使用します。このオプションを指定しないと、パッケージのライセンスに同意が必要になった場合、更新操作は失敗します。この操作の一環として更新されるパッケージのすべてのライセンスを表示するには、--licenses オプションを使用します。
--no-index オプションを指定すると、操作の正常終了後に、検索インデックスが更新されません。このオプションを指定すると、多数のパッケージをインストールする場合に、いくらか時間を節約できます。すべての install、update、および uninstall 操作を完了したら、pkg refresh を使用して、使用可能なパッケージのリストと、指定された各発行元の発行元メタデータを更新できます。発行元を指定しない場合、すべての発行元を対象にリフレッシュが実行されます。
pkg-fmri が指定されていないとき、または指定された pkg-fmri がアスタリスク文字 (*) である場合の pkg update コマンドの特殊な動作については、「イメージの更新」を参照してください。