パッケージの管理 - JUSTPLAYER インターネットサービス

Top / サポート情報 / マニュアル / VPS / パッケージの管理

Solaris 11 x64 VPS/クラウド パッケージの管理

Solaris 11では、ソフトウェアはIPSパッケージで配布されます。

IPS(Image Packaging System)は、ソフトウェアを管理するためのフレームワークであり、pkgコマンドを利用してソフトウェアパッケージのインストールや削除・更新などを行うことができます。

IPSパッケージは、障害リソース識別子(Fault Management Resource Identifer: FMRI)に基づき、「pkg:」というURIスキームを使って名づけられます。

FMRIの例

2013年3月1日現在、Apache 2.2の最新バージョンのFMRIは以下です。

pkg://solaris/web/server/apache-22@2.2.23,5.11-0.175.1.3.0.1.0:20121208T032817Z

FMRIは以下の形式で構成されています。

scheme://publisher/package_name@version:dateTtimeZ
schemeURIスキームです。IPSパッケージの場合「pkg:」です。
publisherISPパッケージの発行元です。例の場合「solaris」が発行元です。
package_nameISPパッケージ名です。例の場合「web/server/apache-22」がIPSパッケージ名です。
version:dateTtimeZIPSパッケージの発行日時を含んだバージョン番号です。

このページでは、package_nameのFMRIでご案内しています。

パッケージのリストを表示する

パッケージのリストを表示するときは、以下のコマンドで行います。

# pkg list [ pkg_fmri_pattern ]

[ FMRI ]には、表示するパッケージのFMRIを指定します。[ FMRI ]は複数指定することができます。

[ FMRI ]を省略した場合、インストール済みパッケージの一覧が表示されます。

表示内容について

「pkg list」を実行した際の例です。一部のみ抜粋しています。

NAME (PUBLISHER)            VERSION                    IFO
web/server/apache-22        2.2.23-0.175.1.3.0.1.0     i--&br;

IFO列には、パッケージのステータスを表すフラグが表示されます。

  • I列
    • 「i」が表示されている場合は、パッケージがインストールされていることを示します。
  • F列
    • 「f」が表示されている場合は、パッケージが凍結されていることを示します。
  • O列
    • 「o」が表示されている場合は、パッケージが廃止されていることを示します。
    • 「r」が表示されている場合は、パッケージ名が変更されていることを示します。

主なオプション

  • -a [ FMRI ]
    • インストール済みパッケージと、未インストールで入手可能なパッケージの最新バージョンを表示します。[ FMRI ]は省略可能です。
  • -f [ FMRI ]
    • -aと同時に指定した場合、インストール状態に関係なく、すべてのバージョンを表示します。[ FMRI ]は省略可能です。
  • -v
    • パブリッシャーと完全バージョンを含む、フルパッケージFMRIを表示します。

利用例

Apache 2.2の、インストール可能な最新バージョンをフルパッケージFMRIで表示します。

# pkg list -avf web/server/apache-22

パッケージの情報を表示する

パッケージの情報を表示するときは、以下のコマンドで行います。

# pkg info [ FMRI ]

[ FMRI ]には、表示するパッケージのFMRIを指定します。[ FMRI ]は複数指定することができます。

[ FMRI ]を省略した場合、すべてのインストール済みパッケージの情報が表示されます。

表示内容について

「pkg info web/server/apache-22」を実行した際の例です。一部のみ抜粋しています。
※Apache 2.2はインストール済みとします。

          Name: web/server/apache-22
       Summary: Apache Web Server V2.2
   Description: The Apache HTTP Server Version 2.2
      Category: Web Services/Application and Web Servers
         State: Installed
     Publisher: solaris
       Version: 2.2.23
 Build Release: 5.11
        Branch: 0.175.1.3.0.1.0
Packaging Date: 2012年12月08日 03時28分17秒
          Size: 9.03 MB
          FMRI: pkg://solaris/web/server/apache-22@2.2.23,5.11-0.175.1.3.0.1.0:20121208T032817Z

主なオプション

  • -r [ FMRI ]
    • 入手可能な未インストールを含む最新バージョンのパッケージの情報を表示します。

利用例

Apache 2.2の最新バージョンの情報を表示します。

# pkg info -r web/server/apache-22

パッケージをインストールする

ソフトウェアパッケージをインストールするときは、以下のコマンドで行います。

# pkg install [ FMRI ]

[ FMRI ]には、インストールするパッケージのFMRIを指定します。[ FMRI ]は複数指定することができます。

なお、インストールするパッケージが依存しているパッケージは同時にインストールされます。

主なオプション

  • -n
    • 実際のインストールは行わず、dry runを行います。
  • -v
    • 実行中の詳細な進捗状況を表示します。
  • --accept
    • ライセンス条項に同意が必要なパッケージの場合、同意することを示します。ライセンス条項に同意が必要なパッケージ場合、このオプションを指定しないとインストールは失敗します。
  • --require-new-be
    • 新しくBEを作成し、そのBEに対してパッケージをインストールします。作成されたBEはアクティブになります。
    • BE名はシステムにより自動で決定します。BE名を指定する場合は、--be-nameオプションを利用します。
    • インストールしたパッケージを反映するためには、システムの再起動が必要です。
  • --be-name [ BEname ]
    • --require-new-beと同様にBEを作成し、BE名を[ BEname ]にします。このオプションを指定すると、--require-new-beが暗黙的に指定されます。
  • --require-backup-be
    • インストール前の環境でバックアップ用BEを作成し、現在のBEに対してパッケージをインストールします。作成されたBEはアクティブにはなりません。
    • インストールにより不具合が生じた場合は、バックアップ用BEをアクティブにし、システムを再起動することでインストール前の環境に戻ることができます。
  • --backup-be-name [ BEname ]
    • require-backup-beと同様にバックアップ用BE作成し、BE名を[ BEname ]にします。このオプションを指定すると、--require-backup-beが暗黙的に指定されます。

BEについて

パッケージによっては、BE作成のオプションを指定しなくてもBEやバックアップBEが作成される場合があります。

利用例

Apache 2.2を以下のオプションを指定してインストールします。

  • 詳細な進捗状況を表示する。
  • BEを作成・アクティブにし、名前を「solaris-20130301-apache」にする。Apache 2.2は作成したBEに対してインストールする。
# pkg install -v --be-name solaris-20130301-apache web/server/apache-22
  • Apache 2.2のインストールを反映するためには、システムの再起動が必要です。

パッケージをアンインストールする

インストールしたパッケージをアンインストールするときは、以下のコマンドで行います。

# pkg uninstall [ FMRI ]

[ FMRI ]には、アンインストールするパッケージのFMRIを指定します。[ FMRI ]は複数指定することができます。

なお、指定したパッケージに依存するパッケージがインストールされている場合、アンインストールは失敗します。

主なオプション

  • -n
    • 実際のアンインストールは行わず、dry runを行います。
  • -v
    • 実行中の詳細な進捗状況を表示します。
  • --require-new-be
    • 新しくBEを作成し、そのBEに対してパッケージをアンインストールします。作成されたBEはアクティブになります。
    • BE名はシステムにより自動で決定します。BE名を指定する場合は、--be-nameオプションを利用します。
    • アンインストールしたパッケージを反映するためには、システムの再起動が必要です。
  • --be-name [ BEname ]
    • --require-new-beと同様にBEを作成し、BE名を[ BEname ]にします。このオプションを指定すると、--require-new-beが暗黙的に指定されます。
  • --require-backup-be
    • アンインストール前の環境でバックアップ用BEを作成し、現在のBEに対してパッケージをアンインストールします。作成されたBEはアクティブにはなりません。
    • アンインストールにより不具合が生じた場合は、バックアップ用BEをアクティブにし、システムを再起動することでアンインストール前の環境に戻ることができます。
  • --backup-be-name [ BEname ]
    • require-backup-beと同様にバックアップ用BE作成し、BE名を[ BEname ]にします。このオプションを指定すると、--require-backup-beが暗黙的に指定されます。

利用例

Apache 2.2を詳細な進捗状況を表示しながらアンインストールします。

# pkg uninstall -v web/server/apache-22

パッケージの内容を表示する

パッケージに含まれるインストール可能なオブジェクト(アクション)とその属性の値を表示します。

# pkg contents [ FMRI ]

[ FMRI ]には、内容を表示するパッケージのFMRIを指定します。[ FMRI ]は複数指定することができます。

[ FMRI ]を省略した場合、すべてのインストール済みパッケージについて表示します。

また、標準ではpath属性の値のみがアルファベット順にソートされて表示されます。

このコマンドは、ファイルのインストールパスなどを調べる際に有効です。

主なオプション

  • -a [ attribute=pattern ]
    • 表示する属性の値を指定します。このオプションは複数指定できます。
  • -m
    • すべてのアクションのすべての属性を表示します。
  • -o [ attribute ]
    • 表示する属性を指定します。[ attribute ]は、カンマ区切りにより複数指定できます。
    • 最初に指定した属性の値をアルファベット順でソートして表示します。
  • -r
    • インストール可能な最新バージョンのパッケージの情報を表示します。このオプションを指定するときは、[ FMRI ]を省略することはできません。
  • -s
    • 指定された属性によりソートして表示します。
  • -t [ action_type ]
    • 表示するアクションのみを表示します。[ action_type ]は、カンマ区切りにより複数指定できます。

利用例

Apache 2.2のpath属性の値を表示します。

# pkg contents web/server/apache-22

Apache 2.2の設定ファイル「httpd.conf」のインストールパスを確認します。

# pkg contents -t file -a path='*/httpd.conf' web/server/apache-22

Apache 2.2が依存しているパッケージのFMRIと、依存タイプを表示します。

# pkg contents -t depend -o fmri,type web/server/apache-22

パッケージを検索する

指定したクエリに該当するパッケージを検索するときは、以下のコマンドで行います。

# pkg search [ Query ]

[ Query ]には、検索したいクエリ(ファイル名など)を指定します。

主なオプション

  • -l
    • インストール済みのパッケージから検索します。
  • -r
    • リモートのパブリッシャから検索します。

利用例

ファイル「httpd.conf」が含まれているパッケージを検索します。

# pkg search -r 'httpd.conf'

Apache 2.2に依存するインストール済みパッケージを検索します。

# pkg search -l 'depend::web/server/apache-22'

アプリケーションの実装を選択する

同一のアプリケーションで複数のバージョンをインストールしている場合、アプリケーションによってはシステムが実装するバージョンを選択することができます。

ここでは、PHPを例にご案内します。

現在選択されているバージョンを表示する

PHP 5.3が選択されていることを確認できます。

# pkg mediator php
MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION
php      local     5.3     system

選択可能なバージョンを表示する

PHP 5.3に加え、5.2も選択可能であることが確認できます。

# pkg mediator -a php
MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION
php      system    5.3     system
php      system    5.2     system

システムが実装するバージョンを変更する

ここでは、PHP 5.2を選択しています。

# pkg set-mediator -V 5.2 php