次の作業マップは、署名付きパッケージと署名なしパッケージの両方に対して、パッケージコマンドで行えるソフトウェア管理作業を示したものです。
|
作業 |
説明 |
参照先 |
|---|---|---|
|
ソフトウェアパッケージをローカルシステムに追加する |
pkgadd コマンドを使ってソフトウェアパッケージをローカルシステムに追加できる | |
|
ソフトウェアパッケージをスプールディレクトリに追加する |
ソフトウェアを実際にインストールしないで、ソフトウェアパッケージをスプールディレクトリに追加できる | |
|
インストールされたすべてのソフトウェアパッケージに関する情報を表示する |
pkginfo コマンドを使用して、インストール済みのパッケージに関する情報を表示できます。 | |
|
インストールされたソフトウェアパッケージの整合性を検査する |
pkgchk コマンドを使って、インストールされたソフトウェアパッケージの整合性を検査できる | |
|
ソフトウェアパッケージを削除する |
pkgrm コマンドを使って不要になったソフトウェアパッケージを削除できる |
スーパーユーザーになるか、同等の役割を引き受けます。
インストール済みのパッケージの中で、追加しようとしているものと同じ名前のものがあれば、すべて削除します。
この手順によって、追加および削除されたソフトウェアの正しい記録が取れます。同じアプリケーションの複数のバージョンをシステムで管理する場合もあります。ソフトウェアの複数のコピーを管理する方法については、パッケージの削除に関するガイドライン (pkgrm)を、その作業手順については、ソフトウェアパッケージを削除する方法 (pkgrm)を参照してください。
ソフトウェアパッケージをシステムに追加します。
# pkgadd -a admin-file -d device-name pkgid ... |
|
-a admin-file |
(省略可能) インストール時に pkgadd コマンドが参照する管理ファイルを示す。管理ファイルの使用方法については、管理ファイルの使用を参照。 |
|
-d device-name |
ソフトウェアパッケージへの絶対パスを指定する。device-name には、デバイス、ディレクトリ、またはスプールディレクトリへのパスを指定できる。パッケージのあるパスを指定しないと、pkgadd コマンドはデフォルトのスプールディレクトリ (/var/spool/pkg) をチェックする。パッケージがそこにない場合、パッケージのインストールは失敗する。 |
|
pkgid |
(省略可能) インストールする 1 つまたは複数のパッケージの名前を空白で区切って指定する。この引数を省略すると、使用可能なすべてのパッケージがインストールされる。 |
パッケージのインストール中に pkgadd コマンドによって問題が検出されると、その問題に関連するメッセージに続いて、次のプロンプトが表示されます。
インストールを継続しますか? |
このプロンプトには、yes、no、または quit のいずれかで応答します。複数のパッケージを指定した場合は、no と入力して、インストール中のパッケージのインストールを中止してください。他のパッケージのインストールが続行されます。 インストールを中止する場合は、quit と入力してください。
指定したパッケージが正常にインストールされていることを確認します。
# pkgchk -v pkgid |
エラーがない場合は、インストールされたファイルのリストが返されます。エラーがある場合は、pkgchk コマンドによってエラーが報告されます。
次の例は、マウント済みの Solaris 9 CD から SUNWpl5u パッケージをインストールする方法を示しています。また、パッケージファイルが正しくインストールされているかどうかを確認する方法も示します。
# pkgadd -d /cdrom/cdrom0/s0/Solaris_9/Product SUNWpl5u . . . <SUNWpl5u> のインストールに成功しました。 # pkgchk -v SUNWpl5u /usr /usr/bin /usr/bin/perl /usr/perl5 /usr/perl5/5.00503 . . . |
インストールするパッケージがリモートシステムから利用できる場合は、そのパッケージが (パッケージ形式で) 格納されているディレクトリを手動でマウントして、ローカルシステムにパッケージをインストールすることができます。
次の例は、リモートシステムからソフトウェアパッケージをインストールする方法を示しています。この例では、package-server というリモートシステムの /latest-packages ディレクトリにソフトウェアパッケージが格納されているものとします。まず mount コマンドによってパッケージが /mnt にローカルにマウントされ、次に pkgadd コマンドによって SUNWpl5u パッケージがインストールされます。
# mount -F nfs -o ro package-server:/latest-packages /mnt # pkgadd -d /mnt SUNWpl5u . . . <SUNWpl5u> のインストールに成功しました。 |
オートマウンタがサイトで実行されている場合は、リモートパッケージサーバーを手動でマウントする必要はありません。代わりに、オートマウンタパス (この場合は /net/package-server/latest-packages) を、-d オプションの引数として使用します。
# pkgadd -d /net/package-server/latest-packages SUNWpl5u . . . <SUNWpl5u> のインストールに成功しました。 |
次の例は、前の例に似ていますが、-a オプションを使用して noask-pkgadd という管理ファイルを指定している点が異なります。この管理ファイルについては、パッケージ追加時のユーザーの対話操作を省略する (pkgadd) に説明されています。この例では、noask-pkgadd 管理ファイルがデフォルトの格納場所である /var/sadm/install/admin にあるものとします。
# pkgadd -a noask-pkgadd -d /net/package-server/latest-packages SUNWpl5u . . . <SUNWpl5u> のインストールに成功しました。 |
次の例は、特定の HTTP URL をデバイス名として使ってパッケージをインストールする方法を示しています。指定した URL は、ストリーム形式のパッケージを指している必要があります。
# pkgadd -d http://install/xf86-4.3.0-video.pkg
## ダウンロード中...
..............25%..............50%..............75%..............100%
## ダウンロードが完了しました
次のパッケージを利用できます:
1 SUNWxf86r XFree86 Driver Porting Kit (Root)
(i386) 4.3.0,REV=0.2003.02.28
2 SUNWxf86u XFree86 Driver Porting Kit (User)
(i386) 4.3.0,REV=0.2003.02.28
.
.
.
|
使用頻度の高いインストール済みパッケージを、スプールディレクトリにコピーしておくと便利です。パッケージをデフォルトのスプールディレクトリである /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 つまたは複数のパッケージの名前を空白で区切って指定する。この引数を省略すると、使用可能なすべてのパッケージがコピーされる。 |
指定したパッケージがスプールディレクトリに正常にコピーされていることを確認します。
$ pkginfo -d spooldir| grep pkgid |
pkgid が正常にコピーされると、pkginfo コマンドによって、pkgid に関する 1 行の情報が返されます。正常にコピーされなかった場合は、pkginfo コマンドによってシステムプロンプトが返されます。
次の例は、SUNWman パッケージをマウント済みの SPARC Solaris 9 CD からデフォルトのスプールディレクトリ (/var/spool/pkg) に転送する方法を示しています。
# pkgadd -d /cdrom/cdrom0/s0/Solaris_9/Product -s /var/spool/pkg SUNWman パッケージインスタンス <SUNWman> を転送中 |
コピーするパッケージがリモートシステムから利用できる場合は、そのパッケージが (パッケージ形式で) 格納されているディレクトリを手動でマウントして、ローカルスプールディレクトリにパッケージをコピーすることができます。
次の例は、このためのコマンドを示しています。この例では、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 パッケージインスタンス <SUNWp15p> を転送中 |
オートマウンタが実行されている場合は、リモートパッケージサーバーを手動でマウントする必要はありません。代わりに、オートマウンタパス (この場合は、/net/package-server/latest-packages) を、-d オプションの引数として使用してください。
# pkgadd -d /net/package-server/latest-packages -s /var/spool/pkg SUNWpl5p パッケージインスタンス <SUNWp15p> を転送中 |
次の例は、デフォルトのスプールディレクトリから SUNWpl5p パッケージをインストールする方法を示しています。オプションを何も指定しないと、pkgadd コマンドは /var/spool/pkg ディレクトリを検索して名前付きのパッケージを見つけます。
# pkgadd SUNWpl5p . . . <SUNWpl5p> のインストールに成功しました。 |
pkginfo コマンドを使用して、インストール済みのパッケージに関する情報を表示します。
$ pkginfo |
次は、システムがスタンドアロンまたはサーバーのどちらであるかにかかわらず、pkginfo コマンドが、ローカルシステムにインストールされているすべてのパッケージを表示する例です。基本カテゴリ、パッケージ名、およびパッケージの説明が表示されています。
$ pkginfo system SUNWaccr System Accounting, (Root) system SUNWaccu System Accounting, (Usr) system SUNWadmap System administration applications system SUNWadmc System administration core libraries . . . |
$ pkginfo -l SUNWcar
PKGINST: SUNWcar
NAME: Core Architecture, (Root)
CATEGORY: system
ARCH: sparc.sun4u
VERSION: 11.9.0,REV=2002.04.06.15.27
BASEDIR: /
VENDOR: Sun Microsystems, Inc.
DESC: core software for a specific hardware platform group
PSTAMP: leo20031111173915
INSTDATE: Apr 02 2004 11:29
HOTLINE: Please contact your local service provider
STATUS: completely installed
FILES: 114 installed pathnames
36 shared pathnames
40 directories
57 executables
21725 blocks used (approx)
|
スーパーユーザーになるか、同等の役割を引き受けます。
インストール済みのパッケージの状態を調べます。
# pkgchk -a| -c -v pkgid ... # pkgchk -d spooldir pkgid ... |
|
-a |
ファイルの属性と内容 (デフォルト) ではなく、ファイルの属性 (つまりアクセス権) だけを検査することを指定する。 |
|
-c |
ファイルの内容と属性 (デフォルト) ではなく、ファイルの内容だけを検査することを指定する。 |
|
-v |
冗長モードを指定する。このモードでは、処理されるたびにファイル名が表示される。 |
|
-d spooldir |
スプールディレクトリへの絶対パスを指定する。 |
|
pkgid |
(省略可能) 1 つまたは複数のパッケージの名前を空白で区切って指定する。pkgid を指定しない場合は、システムにインストールされているすべてのソフトウェアパッケージが検査される。 |
次の例は、パッケージの内容を検査する方法を示しています。
# pkgchk -c SUNWbash |
エラーがない場合は、システムプロンプトが返されます。エラーがある場合は、pkgck コマンドによってエラーが報告されます。
次の例は、パッケージのファイル属性を検査する方法を示しています。
# pkgchk -a SUNWbash |
エラーがない場合は、システムプロンプトが返されます。エラーがある場合は、pkgck コマンドによってエラーが報告されます。
次の例は、スプールディレクトリ (/export/install/packages) にコピーされたソフトウェアパッケージを検査する方法を示しています。
# pkgchk -d /export/install/packages ## checking spooled package <SUNWadmap> ## checking spooled package <SUNWadmfw> ## checking spooled package <SUNWadmc> ## checking spooled package <SUNWsadml> |
スプールされたパッケージの検査には限界があります。これは、パッケージがインストールされないとすべての情報を検査できないからです。
ソフトウェアパッケージを削除 (アンインストール) するときは、このパッケージの追加 (インストール) 時に使用した関連ツールを使用します。たとえば、Web Start インストーラを使ってインストールしたソフトウェアは、Web Start アンインストーラでアンインストールします。
ソフトウェアパッケージを削除するのに rm コマンドを使用しないでください。
インストール済みのパッケージを削除します。
# pkgrm pkgid ... |
pkgid は、削除する 1 つまたは複数のパッケージの名前 (空白で区切られている) を識別します。この引数を省略すると、使用可能なパッケージがすべて削除されます。
次の例は、パッケージの削除方法を示しています。
# pkgrm SUNWctu
次のパッケージは現在インストールされています:
SUNWctu Netra ct usr/platform links (64-bit)
(sparc.sun4u) 11.9.0,REV=2001.07.24.15.53
このパッケージを削除しますか y
## インストール済みパッケージインスタンス <SUNWctu> を削除中です。
## パッケージの依存関係を検査しています。
## パッケージ情報を処理中です。
## クラス <none> 中のパス名を削除中です。
.
.
.
|
次の例は、スプールされたパッケージの削除方法を示しています。
# pkgrm -s /export/pkg SUNWaudh
次のパッケージは現在スプールされています:
SUNWaudh Audio Header Files
(sparc) 11.10.0,REV=2003.08.08.00.03
このパッケージを削除しますか y
スプールされたパッケージインスタンス <SUNWaudh> を削除中です
|