ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Solaris のシステム管理 (基本編) Oracle Solaris 10 8/11 Information Library (日本語) |
1. Oracle Solaris 管理ツール (製品概要)
3. Oracle Java Web Console の操作 (手順)
11. Oracle Solaris ブート動作の変更 (手順)
12. Oracle Solaris システムのブート (手順)
13. Oracle Solaris ブートアーカイブの管理 (手順)
14. Oracle Solaris システムのブートのトラブルシューティング (手順)
16. x86: GRUB を実装しないシステムのブート (手順)
17. Oracle Solaris 自動登録コマンド regadm の操作 (手順)
21. Oracle Solaris システム管理ツールによるソフトウェアの管理 (手順)
22. Oracle Solaris パッケージコマンドによるソフトウェアの管理 (手順)
次の手順では、パッケージコマンドを使ってソフトウェアパッケージを管理する方法を説明します。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
この手順によって、追加および削除されたソフトウェアの正しい記録が取れます。同じアプリケーションの複数のバージョンをシステムで管理する場合もあります。ソフトウェアの複数のコピーを管理する方法については、「パッケージの削除に関するガイドライン (pkgrm)」を参照してください。この作業の手順については、「ソフトウェアパッケージを削除する方法 (pkgrm)」を参照してください。
# pkgadd -a admin-file -d device-name pkgid ...
(省略可能) インストール時に pkgadd コマンドが確認する管理ファイルを示します。管理ファイルの使用方法については、「管理ファイルの使用」を参照してください。
ソフトウェアパッケージのあるディレクトリの絶対パスを指定します。device-name には、デバイス、ディレクトリ、またはスプールディレクトリへのパスを指定できます。パッケージのあるパスを指定しないと、pkgadd コマンドはデフォルトのスプールディレクトリ (/var/spool/pkg) をチェックします。パッケージがそこにない場合、パッケージのインストールは失敗します。
(省略可能) インストールする 1 つまたは複数のパッケージの名前を空白で区切って指定します。省略した場合、pkgadd コマンドは、指定されたデバイス、ディレクトリ、またはスプールディレクトリで利用可能なすべてのパッケージをインストールします。
パッケージのインストール中に pkgadd コマンドによって問題が検出されると、その問題に関連するメッセージに続いて、次のプロンプトが表示されます。
Do you want to continue with this installation?
このプロンプトには、yes、no、または quit のいずれかで応答します。複数のパッケージを指定した場合は、no と入力して、インストール中のパッケージのインストールを中止してください。ほかのパッケージのインストールが続行されます。インストールを中止するには、quit と入力してください。
# pkgchk -v pkgid
エラーがない場合は、インストールされたファイルのリストが返されます。それ以外の場合は、pkgchk コマンドによってエラーが報告されます。
例 22-1 マウント済みの CD からソフトウェアパッケージを追加する
次の例は、マウント済みの Oracle Solaris 10 CD から SUNWpl5u パッケージをインストールする方法を示しています。また、パッケージファイルが正しくインストールされているかどうかを確認する方法も示します。
# pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWpl5u . . . Installation of <SUNWpl5u> was successful. # pkgchk -v SUNWpl5u /usr /usr/bin /usr/bin/perl /usr/perl5 /usr/perl5/5.8.4 . . .
この例は、Solaris 10 10/08 リリース以上を実行していない場合に使用するパスを示しています。
# pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product SUNWpl5u . . . Installation of <SUNWpl5u> was successful. # pkgchk -v SUNWpl5u /usr /usr/bin /usr/bin/perl /usr/perl5 /usr/perl5/5.8.4 . . .
例 22-2 リモートパッケージサーバーからソフトウェアパッケージをインストールする
インストールするパッケージがリモートシステムから利用できる場合は、そのパッケージが (パッケージ形式で) 格納されているディレクトリを手動でマウントして、ローカルシステムにパッケージをインストールすることができます。
次の例は、リモートシステムからソフトウェアパッケージをインストールする方法を示しています。この例では、package-server というリモートシステムの /latest-packages ディレクトリにソフトウェアパッケージが格納されているものとします。mount コマンドはパッケージをローカルの /mnt 上にマウントします。pkgadd コマンドは SUNWpl5u パッケージをインストールします。
# mount -F nfs -o ro package-server:/latest-packages /mnt # pkgadd -d /mnt SUNWpl5u . . . Installation of <SUNWpl5u> was successful.
オートマウンタがサイトで実行されている場合は、リモートパッケージサーバーを手動でマウントする必要はありません。代わりに、オートマウンタパス (この場合は /net/package-server/latest-packages) を、-d オプションの引数として使用します。
# pkgadd -d /net/package-server/latest-packages SUNWpl5u . . . Installation of <SUNWpl5u> was successful.
例 22-3 管理ファイルを指定してリモートパッケージサーバーからソフトウェアパッケージをインストールする
この例は、前の例に似ていますが、-a オプションを使って noask-pkgadd という管理ファイルを指定している点が異なります。この管理ファイルについては、「パッケージ追加時のユーザーの対話操作を省略する (pkgadd)」を参照してください。この例では、noask-pkgadd 管理ファイルがデフォルトの格納場所である /var/sadm/install/admin にあるものとします。
# pkgadd -a noask-pkgadd -d /net/package-server/latest-packages SUNWpl5u . . . Installation of <SUNWpl5u> was successful.
例 22-4 ソフトウェアパッケージを特定の HTTP URL からインストールする
次の例は、特定の HTTP URL をデバイス名として使ってパッケージをインストールする方法を示しています。指定した URL は、ストリーム形式のパッケージを指している必要があります。
# pkgadd -d http://install/xf86-4.3.0-video.pkg ## Downloading... ..............25%..............50%..............75%..............100% ## Download Complete The following packages are available: 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 ディレクトリを調べて、コマンド行に指定されたパッケージをすべて見つけます。パッケージをスプールディレクトリにコピーすることと、パッケージをシステム上にインストールすることとは異なることに注意してください。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
スプール済みのパッケージを削除する方法については、例 22-16 を参照してください。
# pkgadd -d device-name -s spooldir pkgid ...
ソフトウェアパッケージのあるディレクトリの絶対パスを指定します。device-name には、デバイス、ディレクトリ、またはスプールディレクトリへのパスを指定できます。
パッケージがスプールされるスプールディレクトリの名前を指定します。spooldir を指定する必要があります。
(省略可能) スプールディレクトリに追加する 1 つまたは複数のパッケージの名前を空白で区切って指定します。この引数を省略すると、使用可能なすべてのパッケージがコピーされます。
$ pkginfo -d spooldir | grep pkgid
pkgid が正常にコピーされた場合、pkginfo コマンドによって、pkgid に関する 1 行の情報が返されます。それ以外の場合は、pkginfo コマンドによってシステムプロンプトが返されます。
例 22-5 マウント済みの CD からスプールディレクトリを設定する
次の例は、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
例 22-6 リモートソフトウェアパッケージサーバーからスプールディレクトリを設定する
コピーするパッケージがリモートシステムから利用できる場合は、そのパッケージが (パッケージ形式で) 格納されているディレクトリを手動でマウントして、ローカルスプールディレクトリにパッケージをコピーすることができます。
次の例は、そのためのコマンドを示したものです。この例では、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
例 22-7 デフォルトのスプールディレクトリからソフトウェアパッケージをインストールする
次の例は、デフォルトのスプールディレクトリから SUNWpl5p パッケージをインストールする方法を示しています。オプションを何も指定しないと、pkgadd コマンドは /var/spool/pkg ディレクトリを検索して名前付きのパッケージを見つけます。
# pkgadd SUNWpl5p . . . Installation of <SUNWpl5p> was successful.
例 22-8 インストール済みのパッケージを表示する
この例は、システムがスタンドアロンシステム、サーバーのいずれであるかにかかわらず、そのローカルシステム上にインストールされているすべてのパッケージを表示する方法を示しています。基本カテゴリ、パッケージ名、およびパッケージの説明が表示されています。
$ pkginfo system SUNWaccr System Accounting, (Root) system SUNWaccu System Accounting, (Usr) system SUNWadmap System administration applications system SUNWadmc System administration core libraries . . .
例 22-9 ソフトウェアパッケージに関する詳細情報を表示する
この例は、システム上にインストールされているすべてのパッケージを長形式で表示する方法を示しています。この表示には、指定されたパッケージで利用可能なすべての情報が含まれます。
$ pkginfo -l SUNWcar PKGINST: SUNWcar NAME: Core Architecture, (Root) CATEGORY: system ARCH: i386.i86pc VERSION: 11.10.0,REV=2005.01.21.16.34 BASEDIR: / VENDOR: Oracle Corporation DESC: core software for a specific hardware platform group PSTAMP: on10ptchfeatx20110211045100 INSTDATE: Mar 03 2011 10:57 HOTLINE: Please contact your local service provider STATUS: completely installed FILES: 2 installed pathnames 2 shared pathnames 2 directories
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
ファイルの属性または内容を検査するには、次のように入力します。
# pkgchk -a| -c -v pkid ...
スプールディレクトリの絶対パスを指定するには、次のように入力します。
# pkgchk -d spooldir pkgid ...
ファイルの属性と内容 (デフォルト) ではなく、ファイルの属性 (アクセス権) だけを検査することを指定します。
ファイルの内容と属性 (デフォルト) ではなく、ファイルの内容だけを検査することを指定します。
冗長モードを指定します。このモードでは、処理されるたびにファイル名が表示されます。
スプールディレクトリへの絶対パスを指定します。
(省略可能) 1 つまたは複数のパッケージの名前を空白で区切って指定します。pkgid を指定しない場合は、システムにインストールされているすべてのソフトウェアパッケージが検査されます。
例 22-10 インストール済みのソフトウェアパッケージの内容を検査する
次の例は、パッケージの内容を検査する方法を示しています。
# pkgchk -c SUNWbash
エラーがない場合は、システムプロンプトが返されます。それ以外の場合は、pkgck コマンドによってエラーが報告されます。
例 22-11 インストール済みのソフトウェアパッケージのファイル属性を検査する
次の例は、パッケージのファイル属性を検査する方法を示しています。
# pkgchk -a SUNWbash
エラーがない場合は、システムプロンプトが返されます。それ以外の場合は、pkgck コマンドによってエラーが報告されます。
例 22-12 スプールディレクトリにインストールされているソフトウェアパッケージを検査する
次の例は、スプールディレクトリ (/export/install/packages) にコピーされたソフトウェアパッケージを検査する方法を示しています。
# pkgchk -d /export/install/packages ## checking spooled package <SUNWadmap> ## checking spooled package <SUNWadmfw> ## checking spooled package <SUNWadmc> ## checking spooled package <SUNWsadml>
スプールされたパッケージの検査には限界があります。これは、パッケージがインストールされないとすべての情報を検査できないからです。
この手順は、pkgchk コマンドを使ってインストール済みオブジェクトの整合性を検査する方法を示しています。新しい -P オプションを使用すると、部分パスを指定できます。このオプションは、ファイルとパッケージ間のマッピングを支援する目的で追加されました。このオプションを -l オプションと組み合わせると、指定した部分パスを含むファイルの情報が一覧表示されます。インストール済みオブジェクトの整合性を絶対パスを指定して検査するには、-p オプションを使用します。詳細は、pkgchk(1M) のマニュアルページを参照してください。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
1 つまたは複数の絶対パス名に対するインストール済みオブジェクトの整合性を検査するには、次のように入力します。
# pkgchk -lp path-name
1 つまたは複数の部分パス名に対するインストール済みオブジェクトの整合性を検査するには、次のように入力します。
# pkgchk -lP partial-path-name
指定された 1 つまたは複数のパス名に対する整合性のみを検査します。パスは、1 つまたは複数のパス名をコンマで区切って指定します。ファイルの属性と内容 (デフォルト) ではなく、ファイルの属性 (アクセス権) だけを検査することを指定します。
指定された 1 つまたは複数の部分パス名に対する整合性のみを検査します。部分パスは、1 つまたは複数の部分パス名をコンマで区切って指定します。部分パスに含まれる文字列を含むすべてのパス名に一致します。ファイルの内容と属性 (デフォルト) ではなく、ファイルの内容だけを検査することを指定します。
同一パッケージに属する選択されたファイルに関する情報を表示します。このオプションを、-a、-c、- f、-g、-v の各オプションと同時に使用することはできません。冗長モードを指定します。このモードでは、処理されるたびにファイル名が表示されます。
例 22-13 絶対パス名を指定してインストール済みオブジェクトの整合性を検査する
この例では、pkgchk -lp コマンドで絶対パス名を指定してファイルシステム上の特定のオブジェクトの内容/属性を検査する方法を示しています。-l オプションは、同一パッケージに属する選択されたファイルに関する情報を表示します。
# pkgchk -lp /usr/sbin/pkgadd Pathname: /usr/sbin/pkgadd Type: regular file Expected mode: 0555 Expected owner: root Expected group: sys Expected file size (bytes): 867152 Expected sum(1) of contents: 45580 Expected last modification: Jul 02 02:20:34 2004 Referenced by the following packages: SUNWpkgcmdsu Current status: installed
例 22-14 部分パス名を指定してインストール済みオブジェクトの整合性を検査する
この例では、pkgchk -lP コマンドでファイル名やディレクトリ名などの部分パス名を指定してファイルシステム上の特定のオブジェクトの内容/属性を検査する方法を示しています。-l オプションは、同一パッケージに属する選択されたファイルに関する情報を表示します。
# pkgchk -lP /sbin/pkgadd Pathname: /usr/sbin/pkgadd Type: regular file Expected mode: 0555 Expected owner: root Expected group: sys Expected file size (bytes): 867152 Expected sum(1) of contents: 45580 Expected last modification: Jul 02 02:20:34 2004 Referenced by the following packages: SUNWpkgcmdsu Current status: installed Pathname: /usr/sbin/pkgask Type: linked file Source of link: ../../usr/sbin/pkgadd Referenced by the following packages: SUNWpkgcmdsu Current status: installed
ソフトウェアパッケージを削除 (アンインストール) するには、そのパッケージの追加 (インストール) 時に使用した関連ツールを使用します。たとえば、Oracle Solaris インストール GUI を使ってインストールしたソフトウェアは、Oracle Solaris インストール GUI を使ってアンインストールします。
注意 - ソフトウェアパッケージを削除するのに rm コマンドを使用しないでください。それを行なった場合、システム上にインストールされたすべてのパッケージを追跡しているデータベースの整合性がとれなくなります。 |
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
# pkgrm pkgid ...
pkgid は、削除する 1 つまたは複数のパッケージの名前 (空白で区切られている) を識別します。この引数を省略すると、使用可能なパッケージがすべて削除されます。
例 22-15 ソフトウェアパッケージを削除する
次の例は、パッケージの削除方法を示しています。
# pkgrm SUNWctu The following package is currently installed: SUNWctu Netra ct usr/platform links (64-bit) (sparc.sun4u) 11.9.0,REV=2001.07.24.15.53 Do you want to remove this package? y ## Removing installed package instance <SUNWctu> ## Verifying package dependencies. ## Processing package information. ## Removing pathnames in class <none> . . .
例 22-16 スプールされたソフトウェアパッケージを削除する
次の例は、スプールされたパッケージの削除方法を示しています。
# pkgrm -s /export/pkg SUNWaudh The following package is currently spooled: SUNWaudh Audio Header Files (sparc) 11.10.0,REV=2003.08.08.00.03 Do you want to remove this package? y Removing spooled package instance <SUNWaudh>