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

ソフトウェアパッケージをスプールディレクトリに追加する方法 (pkgadd)

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

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

    スプール済みのパッケージを削除する方法については、例 — スプールされたソフトウェアパッケージを削除するを参照してください。

  3. ソフトウェアパッケージをスプールディレクトリに追加します。


    # pkgadd -d device-name -s spooldir pkgid...

    -d device-name

    ソフトウェアパッケージへの絶対パスを指定する。device-name には、デバイス、ディレクトリ、またはスプールディレクトリへのパスを指定できる。

    -s spooldir

    パッケージがスプールされるスプールディレクトリの名前を指定する。spooldir を指定する必要がある。

    pkgid

    (省略可能) スプールディレクトリに追加する 1 つまたは複数のパッケージの名前を空白で区切って指定する。この引数を省略すると、使用可能なすべてのパッケージがコピーされる。 

  4. 指定したパッケージがスプールディレクトリに正常にコピーされていることを確認します。


    $ pkginfo -d spooldir | grep pkgid
    

    pkgid が正常にコピーされると、pkginfo コマンドによって、pkgid に関する 1 行の情報が返されます。正常にコピーされなかった場合は、pkginfo コマンドによってシステムプロンプトが返されます。

例 — マウント済みの CD からスプールディレクトリを設定する

次の例は、SUNWman パッケージをマウント済みの SPARC Solaris 9 CD からデフォルトのスプールディレクトリ (/var/spool/pkg) に転送する方法を示しています。


# pkgadd -d /cdrom/cdrom0/s0/Solaris_9/Product -s /var/spool/pkg SUNWman
Transferring <SUNWman> package instance

例 — リモートソフトウェアパッケージサーバーからスプールディレクトリを設定する

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

次の例は、このためのコマンドを示しています。この例では、package-server というリモートシステムの /latest-packages ディレクトリにソフトウェアパッケージが格納されているものとします。まず mount コマンドによってパッケージが /mnt にローカルにマウントされ、次に pkgadd コマンドによって SUNWpl5p パッケージが /mnt からデフォルトのスプールディレクトリ (/var/spool/pkg) にコピーされます。


# mount -F nfs -o ro package-server:/latest-packages /mnt
# pkgadd -d /mnt -s /var/spool/pkg SUNWpl5p
Transferring <SUNWpl5p> package instance

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


# pkgadd -d /net/package-server/latest-packages -s /var/spool/pkg SUNWpl5p
Transferring <SUNWpl5p> package instance

例 — デフォルトのスプールディレクトリからソフトウェアパッケージをインストールする

次の例は、デフォルトのスプールディレクトリから SUNWpl5p パッケージをインストールする方法を示しています。オプションを何も指定しないと、pkgadd コマンドは /var/spool/pkg ディレクトリを検索して名前付きのパッケージを見つけます。


# pkgadd SUNWpl5p
	.
	.
	.
Installation of <SUNWpl5p> was successful.