Solaris のシステム管理 (第 1 巻)

スプールディレクトリにパッケージを追加する方法

  1. サーバーまたはスタンドアロンシステムのスーパーユーザーとしてログインします。

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

    スプールされたパッケージを削除する方法については、「スプールされたパッケージを削除する方法」を参照してください。

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


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

    -d device-name

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

    -s spooldir

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

    pkgid

    (省略可能) インストールされる 1 つまたは複数のパッケージの名前を空白で区切って指定する。この引数を省略すると、pkgadd は、使用可能なすべてのパッケージをコピーする。

  4. パッケージがスプールディレクトリに正常にコピーされたことを確認するには、pkginfo コマンドを使用します。


    $ pkginfo -d spooldir | grep pkgid
    

    pkgid が正常にコピーされると、pkginfo コマンドは、それに関する 1 行の情報を返します。正常にコピーされないと、システムプロンプトが返されます。

例 - マウントされた CD からスプールディレクトリを設定する

次の例は、SUNWaudio および SUNWab2m の各パッケージを、マウントされた SPARC 版 Solaris 8 CD からデフォルトのスプールディレクトリ (/var/spool/pkg) にコピーするコマンドを示しています。


# pkgadd -d /cdrom/sol_8_sparc/s0/Solaris_8/Product -s /var/spool/pkg SUNWaudio
Transferring <SUNWaudio> package instance

例 - リモートパッケージサーバーからスプールディレクトリを設定する

インストールしたいパッケージがリモートシステムから利用できるパッケージの場合は、そのパッケージを (パッケージの形で) 含むディレクトリを手作業でマウントして、ローカルスプールディレクトリにそれをコピーすることができます。次の例は、このためのコマンドを示しています。この例では、package-server という名前のリモートシステムが、/latest-packages ディレクトリにソフトウェアパッケージを持つものと想定しています。mount コマンドは、パッケージを /mnt にローカルにマウントし、pkgadd コマンドは、SUNWman パッケージを /mnt からデフォルトのスプールディレクトリ (/var/spool/pkg) にコピーします。


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

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


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

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

次の例では、デフォルトのスプールディレクトリから SUNWman パッケージをインストールするコマンドを示しています (pkgadd にオプションを使用しないと、/var/spool/pkg で指定のパッケージが検索されます。)


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