頻繁にインストールするパッケージをスプールディレクトリにコピーしておくと便利です。パッケージをデフォルトのスプールディレクトリ /var/spool/pkg にコピーする場合、pkgadd コマンドを使用するときに、コピー元のパッケージの位置 (-d device-name 引数) を指定する必要はありません。pkgadd コマンドは、デフォルトで /var/spool/pkg ディレクトリを調べて、コマンド行に指定されたパッケージをすべて見つけます。パッケージをスプールディレクトリにコピーすることと、パッケージをシステム上にインストールすることとは異なることに注意してください。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
スプール済みのパッケージの中で、追加しようとしているものと同じ名前のものがあれば、すべて削除します。
スプール済みのパッケージを削除する方法については、例 22–19 を参照してください。
ソフトウェアパッケージをスプールディレクトリに追加します。
# pkgadd -d device-name -s spooldir pkgid ... |
ソフトウェアパッケージのあるディレクトリの絶対パスを指定します。device-name には、デバイス、ディレクトリ、またはスプールディレクトリへのパスを指定できます。
パッケージがスプールされるスプールディレクトリの名前を指定します。spooldir を指定する必要があります。
(省略可能) スプールディレクトリに追加する 1 つまたは複数のパッケージの名前を空白で区切って指定します。この引数を省略すると、使用可能なすべてのパッケージがコピーされます。
指定したパッケージがスプールディレクトリに正常にコピーされていることを確認します。
$ pkginfo -d spooldir | grep pkgid |
pkgid が正常にコピーされた場合、pkginfo コマンドによって、pkgid に関する 1 行の情報が返されます。正常にコピーされなかった場合は、pkginfo コマンドによってシステムプロンプトが返されます。
次の例は、shows how to transfer the SUNWman パッケージをマウント済みの SPARC Oracle Solaris 10 CD からデフォルトのスプールディレクトリ (/var/spool/pkg) に転送する方法を示しています。
# pkgadd -d /cdrom/cdrom0/Solaris_10/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. |