Go to main content
Oracle® Solaris 11.3 ソフトウェアの追加と更新

印刷ビューの終了

更新: 2017 年 3 月
 
 

イメージ更新のベストプラクティス

  • 更新する前に、次の手順を実行してください。

    • ライセンスを確認します。Displaying License Requirementsは、そのライセンスに同意する必要があるパッケージを一覧表示する方法について説明します。これらのパッケージをインストールまたは更新するには、--accept オプションを指定しなければならない場合があります。Displaying Package Licensesは、ライセンステキストを表示する方法について説明しています。

    • リリースノートを読みます。Oracle Solaris リリースのリリースノートは、docs.oracle.com にあります。SRU のリリースノートは、support.oracle.com にあります。

    • 構成済みのパブリッシャーの起点から使用可能なパッケージバージョンを確認します。Check Available Versionsを参照してください。パブリッシャーに対して pkg refresh コマンドを実行するか、起点の場所で pkgrepo refresh コマンドを実行することが必要な場合もあります。独自のリポジトリを作成する場合は、部分的なリポジトリを作成しないでください。Copying and Creating Package Repositories in Oracle Solaris 11.3の説明に従って、完全なリポジトリを作成してください。

    • -nv オプションを指定して pkg update コマンドを使用することで、実際には更新を実行せずに、更新されるパッケージのリストを表示します。Preview the Update Operationを参照してください。

  • 更新の際は、Specify a New Boot Environmentに記載されているように、--be-name または --require-new-be オプションを使用して、現在のブート環境ではなく新規ブート環境で変更を行います。

  • 更新が失敗した場合は、Troubleshooting Package Installation and Updateを確認してください。

  • 更新後に、インストールされているパッケージを確認します。

    $ beadm mount name-of-new-BE /mnt
    $ pkg -R /mnt verify -v

    エラーが報告されている場合は、pkg fix コマンドを使用して、エラーが修正されていることを確認します。

    $ pkg -R /mnt fix -v
    $ pkg -R /mnt verify -v

    BE を必ずアンマウントしてください。

    $ beadm unmount name-of-new-BE

    Verifying Packages and Fixing Verification Errorsも参照してください。

  • 更新済みまたはインストール済みのパッケージでリリースノートが報告されているかどうかを確認するには、pkg history コマンドで -N オプションを使用します。

  • Applying Support Updatesの説明に従って、すべてのサポート更新を適用してシステムを常に最新にします。「Oracle Solaris バイナリおよびソース保証プログラム」(ドキュメント ID 1391762.1) は、リリースの境界を越える更新のリスクが低いことを保証します。

使用可能なバージョンのチェック

オペレーティングシステムのリリースを更新する場合は、pkg:/entire 制約パッケージの入手可能なバージョンを確認します。次のコマンドは、Oracle Solaris 11 11/11 SRU 10 がインストールされており、Oracle Solaris 11 11/11 SRU 11、12、および 13 が入手可能であり、さらに現在構成されている solaris パブリッシャーから Oracle Solaris 11.1 が入手可能であることを示しています。FMRI 内のフィールドについては、Fault Management Resource Identifiersを参照してください。

$ pkg list -af entire
NAME (PUBLISHER)  VERSION                       IFO
entire            0.5.11,5.11-0.175.1.0.0.24.2  ---
entire            0.5.11,5.11-0.175.0.13.0.4.0  ---
entire            0.5.11,5.11-0.175.0.12.0.4.0  ---
entire            0.5.11,5.11-0.175.0.11.0.4.1  ---
entire            0.5.11,5.11-0.175.0.10.0.5.0  i--

これらの中に必要なバージョンがない場合は、solaris パブリッシャー起点を別のパッケージリポジトリの場所に設定する必要があります。

デフォルトでは、各パッケージは、現在インストールされているバージョンを提供したパブリッシャーから更新されます。パブリッシャーのスティッキネスと検索順を指定することにより、パッケージを提供するパブリッシャーを制御できます。Adding, Modifying, or Removing Package Publishersを参照してください。

システムは、システムに現在インストールされているパッケージを提供するパッケージリポジトリにアクセスできる必要があります。たとえば、Oracle Solaris 11.2 から Oracle Solaris 11.3 に更新する場合は、solaris パブリッシャーに、インストールされている Oracle Solaris 11.2 パッケージと目的の Oracle Solaris 11.3 パッケージの両方へのアクセスが構成されている必要があります。パッケージが ha-clustersolarisstudio などの別のパブリッシャーからインストールされている場合は、それらのパブリッシャーにも現在インストールされているパッケージに加えて目的の新しいパッケージへのアクセスが構成されている必要があります。

ほとんどの更新エラーの原因は不完全なパッケージリポジトリです。Best Practices for Creating and Using Local IPS Package Repositories in Copying and Creating Package Repositories in Oracle Solaris 11.3を参照してください。

オープンソースソフトウェアの使用可能なバージョン

Oracle Solaris パッケージリポジトリに、そのリポジトリ内の pkg:/entire の最新のバージョンよりも新しいオープンソースソフトウェアのバージョンが含まれている場合があります。たとえば、次のパッケージはすべて同じ Oracle Solaris パッケージリポジトリから使用できる場合があります。

entire             0.5.11-0.175.3.1.0.5.0
runtime/python-26  2.6.8-0.175.3.0.0.30.0
runtime/python-27  2.7.11-5.12.0.0.0.95.0
runtime/python-27  2.7.11-5.12.0.0.0.90.0
runtime/python-27  2.7.9-0.175.3.0.0.30.0
runtime/python-34  3.4.4-5.12.0.0.0.95.0
runtime/python-34  3.4.3-5.12.0.0.0.90.0
runtime/python-34  3.4.3-0.175.3.0.0.30.0
runtime/python-35  3.5.1-5.12.0.0.0.95.0
runtime/python-35  3.5.1-5.12.0.0.0.90.0

runtime/python-26runtime/python-27、および runtime/python-340.175.3.0.0.30.0 バージョンが、 (userland-incorporation@0.5.11-0.175.3.1.0.3.0 によって) オペレーティングシステムバージョン 0.175.3.1.0.5.0 に組み込まれています。これらのパッケージと runtime/python-35 の新しいバージョンはリポジトリから使用できます。version-lock ファセットをロック解除すると、これらの新しいバージョンをインストールできます。詳細な手順については、使用可能な FOSS コンポーネントを判断する方法のドキュメントを参照してください。いくつかの使用可能な FOSS コンポーネントのリスト、および FOSS コンポーネント関連のハウツー記事については、Oracle Solaris での FOSS に関する記事を参照してください。

更新操作のプレビュー

次のコマンドは、更新によって実際にどのパッケージがインストールされるか (存在する場合) を示しています。-v オプションが指定されているため、このコマンドは、完全な FMRI (複数のバージョンを含む) の 627 のすべてのパッケージが更新され、3 つのパッケージが削除され、1 つの新しいパッケージがインストールされることを示しています。この例では、その出力のほとんどが省略され、entire パッケージのみが示されています。-n オプションが指定されているため、実際に更新は実行されません。-n オプションなしで更新を実行する前に、この出力を確認してください。

$ pkg update -nv
            Packages to remove:        3
           Packages to install:        1
            Packages to update:      627
     Estimated space available: 48.43 GB
Estimated space to be consumed:  3.14 GB
       Create boot environment:      Yes
     Activate boot environment:      Yes
Create backup boot environment:       No
          Rebuild boot archive:      Yes

Changed packages:
solaris
...
  entire
    0.5.11,5.11-0.175.0.10.0.5.0:20120803T182627Z -> 0.5.11,5.11-0.175.1.0.0.24.2:20120919T190135Z
...

前の例は、Oracle Solaris 11.1 の pkg:/entire 制約パッケージがインストールされることを示しています。

  • それに応じて、entire 制約パッケージによって制約されているすべてのインストール済みパッケージが更新されます。

  • パッケージ FMRI が指定されなかったため、entire 制約パッケージによって制約されていないインストール済みパッケージもすべて更新されます。すべてのインストール済みパッケージが、システムの制約で許可された最新バージョンに更新されます。この制約は、インストール済みパッケージの依存関係およびパブリッシャーの構成によってシステムに課せられるものです。

  • 更新されたインストール済みパッケージで新しい依存関係が指定されている場合は、インストール済みパッケージが削除され、新しいパッケージがインストールされる可能性があります。

新しいブート環境の指定

Preview the Update Operationの例では、-n オプションなしでこのコマンドを実行した場合、この更新に対して新規 BE が作成されることを示しています。-n オプションなしでこのコマンドを実行した場合は、更新出力の最後に次のメッセージが表示されます。

A clone of currentBE exists and has been updated and activated.
On the next boot the Boot Environment newBE will be
mounted on '/'.  Reboot when ready to switch to this updated BE.

現在の BE は変更されません。すべての変更は新しい BE で行われます。

新しい BE を明示的に指定することは、インストールまたは更新のもっとも安全な方法です。BE が作成される状況については、Boot Environment Policy Image Propertiesを参照してください。--be-name オプションを使用すると、新しい BE にわかりやすい名前を付けることもできます。新しい BE がアクティブになるため、次回システムをブートしたときにはこの新しい環境がデフォルトでブートされます。次回のリブートで新規 BE をデフォルトにしないようにする場合、pkg update コマンドで --no-be-activate オプションを使用します。beadm activate コマンドを使用して、デフォルトブート BE をいつでも変更できます。ブート環境オプションの詳細については、Boot Environment Optionsを参照してください。

新規 BE に問題がなければ、古い BE を破棄してかまいません。


ヒント  -  オペレーティングシステムのリリースごとに、以前の BE を保持しておいてください。必要に応じて以前の古い BE でブートし、古い BE を使用して、そのバージョンと、インストールした新しい次のバージョンの間のバージョンに更新することができます。