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

印刷ビューの終了

更新: 2017 年 3 月
 
 

非大域ゾーンの操作

ほとんどの IPS コマンドは、コマンドを大域ゾーンで使用する場合と同じ方法で非大域ゾーンで使用できます。ゾーンの概要情報は、Images and Boot Environmentsを参照してください。

パッケージインストールについては、Relationship Between Global and Non-Global ZonesおよびUpdating Multiple Non-Global Zones Concurrentlyに記載されているように、大域ゾーンと非大域ゾーンは親子関係を持ちます。

The System Repository and Proxy Servicesに記載されているように、大域ゾーンと非大域ゾーンの重要な違いは、パッケージパブリッシャーの使用方法です。

大域ゾーンと非大域ゾーンの関係

インストールされた solaris ブランドの非大域ゾーンは、大域ゾーンでのパッケージのインストール、更新、およびアンインストールの影響を受けることがあります。

ファセットとバリアントを変更すると、パッケージのインストールおよび削除が行われ、非大域ゾーンに影響することがあります。

大域ゾーンから非大域ゾーンを更新する場合、非大域ゾーンをブートする必要はありません。非大域ゾーンをただインストールするだけで、大域ゾーンのパッケージ変更による影響を受けることになります。

インストールおよび更新コマンドを大域ゾーンで実行すると、デフォルトでは、大域ゾーンとインストール済みの各非大域ゾーンは順に更新され、非大域ゾーンの変更は、非大域ゾーンが大域ゾーンとの互換性を維持するために必要な範囲で実行されます。


ヒント  -  大域ゾーンとともに非大域ゾーンに加えられる変更を確認するには、-nv オプションを使用します。

非大域ゾーンにログインしているときにパッケージコマンドを実行すると、その非大域ゾーンだけが影響を受けます。次に例を示すように、非大域ゾーンはその親となる大域ゾーンと異なっていてもかまいません。

  • 異なるパッケージをインストールできます。

  • 結果として大域ゾーンとの互換性が保たれる場合は、同じパッケージの異なるバージョンをインストールできます。

  • 異なるパッケージを回避リストに載せることができます。

  • 異なるパッケージを凍結したり、異なるバージョンで凍結したりできます。

  • 異なるデフォルト実装を選択するようにメディエータを設定できます。

  • 異なるファセットを設定できます。

大域ゾーンにインストールされるバージョンにより、非大域ゾーンにインストールされるパッケージのバージョンが制限されることがあります。非大域ゾーンの一部のパッケージは、非大域ゾーンと大域ゾーンで同じバージョンでなければならないため、更新やダウングレードができません。たとえば、entire という名前のパッケージは、各非大域ゾーンと大域ゾーンで同じバージョンでなければなりません。

非大域ゾーンにインストールされるパッケージが parent 依存関係を持つ場合、大域ゾーン内でそのパッケージを更新すると、非大域ゾーンでそのパッケージが更新されます。parent 依存関係を持つパッケージに依存しているパッケージも影響を受けます。

parent 依存関係による影響を受けないパッケージは、大域ゾーンにインストールされているバージョンと異なるバージョンで非大域ゾーンにインストールできます。非大域ゾーンで異なるバージョンをインストールするには、pkg install コマンドでバージョンを指定するか、必要なバージョンでバージョンを凍結します。

非大域ゾーンにパッケージをインストールする際に役立つ関連情報については、Sync Linked Package Cannot Be InstalledおよびNon-Global Zone Cannot Be Installedを参照してください。

システムリポジトリおよびプロキシサービス

非大域ゾーンでは、「システムリポジトリ」は大域ゾーン内に構成されているパッケージリポジトリへのアクセスを提供します。大域ゾーンに加えられたパブリッシャー構成の変更は、システムリポジトリを介してただちにすべての非大域ゾーンで認識されます。

非大域ゾーンに構成されたパブリッシャーの起点またはミラーは、その場所が大域ゾーンパブリッシャーリストに構成されていなくても、大域ゾーンからアクセス可能でなければなりません。たとえば、localsw パブリッシャーが非大域ゾーンに構成されているが、大域ゾーンには構成されていない場合、localsw パブリッシャーのすべての起点およびミラーは大域ゾーンからアクセス可能でなければなりません。

システムリポジトリは httphttps、ファイル、および .p5p アーカイブリポジトリをプロキシ設定できます。ファイルシステムリポジトリバージョン 4 のみがサポートされており、これは pkgrepo create コマンドのデフォルトの形式です。

ゾーンプロキシは、ゾーン内で実行されている pkg コマンドが、大域ゾーン内で実行されているシステムリポジトリと通信できるようにするサービスです。ゾーンプロキシには 2 つの部分があります。次のサービスは大域ゾーンで実行されます。

svc:/application/pkg/zones-proxyd:default

次のサービスは非大域ゾーンで実行されます。

svc:/application/pkg/zones-proxy-client:default

システムリポジトリとゾーンプロキシサービスの詳細については、pkg.sysrepo(1M) のマニュアルページを参照してください。

次の例は、大域ゾーンのパブリッシャーを示しています。

global:~$ pkg publisher
PUBLISHER             TYPE     STATUS P LOCATION
solaris               origin   online F http://pkg.oracle.com/solaris/release/
solaris               origin   online F file:///var/share/pkgrepos/solaris/
devtool  (disabled)   origin   online F http://pkg.example1.com/
isvpub                origin   online F http://pkg.example2.com/

次の例は、非大域ゾーンにログインしているときに、これらの同じパブリッシャーがどのように見えるかを示しています。

z1:~$ pkg publisher
PUBLISHER             TYPE     STATUS P LOCATION
solaris  (syspub)     origin   online T <system-repository>
solaris  (syspub)     origin   online F <system-repository>
isvpub   (syspub)     origin   online T <system-repository>

非大域ゾーンでは、無効になっているリポジトリは使用できません。

system-repository の場所の URI とプロキシ値を表示するには、-F オプションを使用します。

z1:~$ pkg publisher -F tsv
PUBLISHER  STICKY  SYSPUB  ENABLED  TYPE    STATUS  URI                                     PROXY
solaris    true    true    true     origin  online  http://pkg.oracle.com/solaris/release/  http://localhost:1008
solaris    true    true    true     origin  online  http://localhost:1008/solaris/35024e7d1859bedee9af156d22a591c433adc0ee/ -
isvpub     true    true    true     origin  online  http://pkg.example2.com/                http://localhost:1008

大域ゾーン内の file:// リポジトリには、非大域ゾーン内の http:// の場所が割り当てられています。

非大域ゾーンでは、システムリポジトリは常にプロキシとして表示されます。これは、非大域ゾーンが大域ゾーンのシステムリポジトリと通信するために使用するプロキシです。

非大域ゾーン内からシステムリポジトリを再構成することはできません。たとえば、パブリッシャーの場所が <system-repository> の場合、パブリッシャーの起点やプロパティー、およびパブリッシャーの検索順序を変更することはできません。パブリッシャーが大域ゾーンに追加または再構成された場合、これらの変更は非大域ゾーンによってただちに認識されます。パブリッシャーが大域ゾーン内で設定解除される場合、そのパブリッシャーからパッケージが非大域ゾーンにインストールされないかぎり、パブリッシャーは非大域ゾーン内で設定解除されます。


ヒント  -  大域ゾーン内のパブリッシャーを設定解除する前に、非大域ゾーン内でそのパブリッシャーからのパッケージをアンインストールしてください。

パブリッシャーにアクセスできない場合、Specifying a Proxyに記載されているように、大域ゾーンにプロキシを設定することができます。http_proxy および https_proxy 環境変数を使用する場合と使用方法についての説明を含む、非大域ゾーンを持つ場合のプロキシ設定の詳細については、Proxy Configuration on a System That Has Installed Zones in Creating and Using Oracle Solaris Zonesを参照してください。

大域ゾーンですでに構成されているパブリッシャーについて、pkg list コマンドは、大域ゾーンと非大域ゾーンの両方で同じ結果を生成します。

z1:~$ pkg list -a isvtool
NAME (PUBLISHER)    VERSION    IFO
isvtool (isvpub)    2.0        ---
isvtool (isvpub)    1.0        ---

リポジトリが大域ゾーンで構成されていなくても、リポジトリは非大域ゾーンにアクセスできるネットワークまたはファイルシステムとすることができます。非大域ゾーンのパブリッシャー構成は、大域ゾーンのパブリッシャー構成と一致するか、大域ゾーンのパブリッシャー構成のスーパーセットでなければなりません。たとえば、localsw パブリッシャーは起点 file:///var/share/pkgrepos/localrepo を使用して非大域ゾーン内で構成できますが、これは、localsw パブリッシャーが大域ゾーン内で構成されていなくても、この場所が大域ゾーン内でアクセス可能であるためです。

複数の非大域ゾーンの同時更新

デフォルトでは、大域ゾーンで pkg update コマンドを使用すると、パッケージシステムは大域ゾーンと各非大域ゾーンを順に更新します。複数の非大域ゾーンを同時に更新するには、-C オプションを使用するか、大域ゾーンで PKG_CONCURRENCY 環境変数を設定します。詳細は、Options That Operate on Non-Global Zonesを参照してください。

次の例では、両方の非大域ゾーンが大域ゾーンと同時に更新されます。非大域ゾーンは親の大域ゾーンイメージにリンクされているため、この出力では非大域ゾーンをリンクされたイメージとして示しています。

global:~$ pkg update -C 0 --be-name s11.2
 Startup: Linked image publisher check ... Done
 Startup: Refreshing catalog 'solaris' ... Done
 Startup: Refreshing catalog 'isvpub' ... Done
 Startup: Checking that pkg(5) is up to date ... Done
Planning: Solver setup ... Done
Planning: Running solver ... Done
Planning: Finding local manifests ... Done
Planning: Package planning ... Done
Planning: Merging actions ... Done
Planning: Checking for conflicting actions ... Done
Planning: Consolidating action changes ... Done
Planning: Evaluating mediators ... Done
Planning: Planning completed in 39.00 seconds
            Packages to remove:   2
           Packages to install:   1
            Packages to update: 640
       Create boot environment: Yes
Create backup boot environment:  No

Planning: Linked images: 0/2 done; 2 working: zone:z1 zone:z2
Planning: Linked image 'zone:z1' output:
| Packages to install:   1
|  Packages to update: 161
|  Services to change:   2
`
Planning: Linked images: 1/2 done; 1 working: zone:z2
Planning: Linked image 'zone:z2' output:
| Packages to install:   1
|  Packages to update: 161
|  Services to change:   2
`
Planning: Finished processing linked images.
Download:     0/12068 items    0.0/350.9MB  0% complete
...
Download: 11664/12068 items  336.1/350.9MB  95% complete
Download: Completed 350.91 MB in 187.08 seconds (0B/s)
Download: Linked images: 0/2 done; 2 working: zone:z1 zone:z2
Download: Linked images: 1/2 done; 1 working: zone:z1
Download: Finished processing linked images.
 Actions:     1/23382 actions (Removing old actions)
 Actions:  3867/23382 actions (Installing new actions)
 Actions:  8192/23382 actions (Updating modified actions)
...
 Actions: 23266/23382 actions (Updating modified actions)
 Actions: Completed 23382 actions in 96.16 seconds.
Finalize: Updating package state database ...  Done
Finalize: Updating package cache ...  Done
Finalize: Updating image state ...  Done
Finalize: Creating fast lookup database ...  Done
Finalize: Reading search index ...  Done
Finalize: Building new search index ...  Done
Finalize: Linked images: 0/2 done; 2 working: zone:z1 zone:z2
Finalize: Linked images: 1/2 done; 1 working: zone:z2
Finalize: Finished processing linked images.

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