Solaris のシステム管理 (基本編)

Procedureソフトウェアパッケージを追加する方法 (pkgadd)

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. インストール済みのパッケージの中で、追加しようとしているものと同じ名前のものがあれば、すべて削除します。

    この手順によって、追加および削除されたソフトウェアの正しい記録が取れます。同じアプリケーションの複数のバージョンをシステムで管理する場合もあります。ソフトウェアの複数のコピーを管理する方法については、「パッケージの削除に関するガイドライン (pkgrm)」を参照してください。この作業の手順については、「ソフトウェアパッケージを削除する方法 (pkgrm)」を参照してください。

  3. ソフトウェアパッケージをシステムに追加します。


    # pkgadd -a admin-file 
    -d device-name pkgid ...
    -a admin-file

    (省略可能) インストール時に pkgadd コマンドが確認する管理ファイルを示します。管理ファイルの使用方法については、「管理ファイルの使用」を参照してください。

    -d device-name

    ソフトウェアパッケージのあるディレクトリの絶対パスを指定します。device-name には、デバイス、ディレクトリ、またはスプールディレクトリへのパスを指定できます。パッケージのあるパスを指定しないと、pkgadd コマンドはデフォルトのスプールディレクトリ (/var/spool/pkg) をチェックします。パッケージがそこにない場合、パッケージのインストールは失敗します。

    pkgid

    (省略可能) インストールする 1 つまたは複数のパッケージの名前を空白で区切って指定します。省略した場合、pkgadd コマンドは、指定されたデバイス、ディレクトリ、またはスプールディレクトリで利用可能なすべてのパッケージをインストールします。

    パッケージのインストール中に pkgadd コマンドによって問題が検出されると、その問題に関連するメッセージに続いて、次のプロンプトが表示されます。


    Do you want to continue with this installation?

    このプロンプトには、yesno、または quit のいずれかで応答します。複数のパッケージを指定した場合は、no と入力して、インストール中のパッケージのインストールを中止してください。ほかのパッケージのインストールが続行されます。インストールを中止するには、quit と入力してください。

  4. 指定したパッケージが正常にインストールされていることを確認します。


    # pkgchk -v pkgid
    

    エラーがない場合は、インストールされたファイルのリストが返されます。エラーがある場合は、pkgchk コマンドによってエラーが報告されます。


例 22–4 マウント済みの CD からソフトウェアパッケージを追加する

次の例は、マウント済みの Oracle Solaris 10 CD から SUNWpl5u パッケージをインストールする方法を示しています。また、パッケージファイルが正しくインストールされているかどうかを確認する方法も示します。


# pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWpl5u

	.
	.
	.
Installation of <SUNWpl5u> was successful.
# pkgchk -v SUNWpl5u
/usr
/usr/bin
/usr/bin/perl
/usr/perl5
/usr/perl5/5.8.4
.
.
.

この例は、Solaris 10 10/08 リリース以上を実行していない場合に使用するパスを示しています。


# pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product SUNWpl5u

	.
	.
	.
Installation of <SUNWpl5u> was successful.
# pkgchk -v SUNWpl5u
/usr
/usr/bin
/usr/bin/perl
/usr/perl5
/usr/perl5/5.8.4
.
.
.


例 22–5 リモートパッケージサーバーからソフトウェアパッケージをインストールする

インストールするパッケージがリモートシステムから利用できる場合は、そのパッケージが (パッケージ形式で) 格納されているディレクトリを手動でマウントして、ローカルシステムにパッケージをインストールすることができます。

次の例は、リモートシステムからソフトウェアパッケージをインストールする方法を示しています。この例では、package-server というリモートシステムの /latest-packages ディレクトリにソフトウェアパッケージが格納されているものとします。mount コマンドはパッケージをローカルの /mnt 上にマウントします。pkgadd コマンドは SUNWpl5u パッケージをインストールします。


# mount -F nfs -o ro package-server:/latest-packages /mnt
# pkgadd -d /mnt SUNWpl5u
	.
	.
	.
Installation of <SUNWpl5u> was successful.

オートマウンタがサイトで実行されている場合は、リモートパッケージサーバーを手動でマウントする必要はありません。代わりに、オートマウンタパス (この場合は /net/package-server/latest-packages) を、-d オプションの引数として使用します。


# pkgadd -d /net/package-server/latest-packages SUNWpl5u
	.
	.
	.
Installation of <SUNWpl5u> was successful.


例 22–6 管理ファイルを指定してリモートパッケージサーバーからソフトウェアパッケージをインストールする

この例は、前の例に似ていますが、-a オプションを使って noask-pkgadd という管理ファイルを指定している点が異なります。この管理ファイルについては、「パッケージ追加時のユーザーの対話操作を省略する (pkgadd)」を参照してください。この例では、noask-pkgadd 管理ファイルがデフォルトの格納場所である /var/sadm/install/admin にあるものとします。


# pkgadd -a noask-pkgadd -d /net/package-server/latest-packages SUNWpl5u

	.
	.
	.
Installation of <SUNWpl5u> was successful.


例 22–7 ソフトウェアパッケージを特定の HTTP URL からインストールする

次の例は、特定の HTTP URL をデバイス名として使ってパッケージをインストールする方法を示しています。指定した URL は、ストリーム形式のパッケージを指している必要があります。


# pkgadd -d http://install/xf86-4.3.0-video.pkg

## Downloading...
..............25%..............50%..............75%..............100%
## Download Complete


The following packages are available:
  1  SUNWxf86r     XFree86 Driver Porting Kit (Root)
                   (i386) 4.3.0,REV=0.2003.02.28
  2  SUNWxf86u     XFree86 Driver Porting Kit (User)
                   (i386) 4.3.0,REV=0.2003.02.28

.
.
.