使用頻度の高いインストール済みパッケージを、スプールディレクトリにコピーすると便利です。パッケージをデフォルトのスプールディレクトリである /var/spool/pkg にコピーする場合、pkgadd コマンドを使用するときに、パッケージのソース位置 (-d device-name 引数) を指定する必要はありません。pkgadd コマンドは、デフォルトにより、/var/spool/pkg ディレクトリを探して、コマンド行に指定されたすべてのパッケージを見つけます。パッケージをスプールディレクトリにコピーすることと、パッケージをシステム上にインストールすることとは異なることに注意してください。
サーバーまたはスタンドアロンシステムのスーパーユーザーとしてログインします。
すでにスプールされているパッケージの中で、追加しようとしているものと同じ名前のパッケージをすべて削除します。
スプールされたパッケージを削除する方法については、「スプールされたパッケージを削除する方法」を参照してください。
ソフトウェアパッケージをスプールディレクトリに追加します。
# pkgadd -d device-name -s spooldir pkgid... |
-d device-name |
ソフトウェアパッケージの絶対パスを指定する。device-name は、デバイス、ディレクトリ、またはスプールディレクトリのいずれかへのパスにすることができる。 |
-s spooldir |
パッケージがスプールされるスプールディレクトリの名前を指定する。spooldir を指定する必要がある。 |
pkgid |
(省略可能) インストールされる 1 つまたは複数のパッケージの名前を空白で区切って指定する。この引数を省略すると、pkgadd は、使用可能なすべてのパッケージをコピーする。 |
パッケージがスプールディレクトリに正常にコピーされたことを確認するには、pkginfo コマンドを使用します。
$ pkginfo -d spooldir | grep pkgid |
pkgid が正常にコピーされると、pkginfo コマンドは、それに関する 1 行の情報を返します。正常にコピーされないと、システムプロンプトが返されます。
次の例は、SUNWaudio および SUNWab2m の各パッケージを、マウントされた SPARC 版 Solaris 7 CD からデフォルトのスプールディレクトリ (/var/spool/pkg) にコピーするコマンドを示しています。
# pkgadd -d /cdrom/cdrom0/s0/Solaris_2.7/Product -s /var/spool/pkg SUNWaudio SUNWab2m Transferring <SUNWaudio> package instance Transferring <SUNWab2m> 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. |