スーパーユーザーになるか、同等の役割を引き受けます。
スプール済みのパッケージの中で、追加しようとしているものと同じ名前のものがあれば、すべて削除します。
スプール済みのパッケージを削除する方法については、「例 - スプールされたソフトウェアパッケージを削除する」を参照してください。
ソフトウェアパッケージをスプールディレクトリに追加します。
# pkgadd -d device-name -s spooldir pkgid... |
-d device-name |
ソフトウェアパッケージへの絶対パスを指定する。device-name には、デバイス、ディレクトリ、またはスプールディレクトリへのパスを指定できる |
-s spooldir |
パッケージがスプールされるスプールディレクトリの名前を指定する。spooldir を指定する必要がある |
pkgid |
(省略可能) スプールディレクトリに追加する 1 つまたは複数のパッケージの名前を空白で区切って指定する。この引数を省略すると、使用可能なすべてのパッケージがコピーされる |
指定したパッケージがスプールディレクトリに正常にコピーされていることを確認します。
$ pkginfo -d spooldir | grep pkgid |
pkgid が正常にコピーされると、pkginfo コマンドによって、それに関する 1 行の情報が返されます。正常にコピーされなかった場合は、pkginfo コマンドによってシステムプロンプトが返されます。
次の例は、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. |