内に含まその他のドキュメントサポート リソース | PDF 文書ファイルをダウンロードする (3233 KB)
第 22 章 patchadd コマンドによる Solaris パッチの管理 (手順)パッチの管理には、Solaris パッチとソフトウェア更新のシステムへの「適用」が含まれます。また、不要なパッチや障害の発生したパッチの削除が含まれる場合もあります。パッチの削除は、パッチの「バックアウト」とも呼ばれます。 この章では、patchadd コマンドを使って Solaris パッチを管理する手順について説明します。追加情報については、patchadd(1M) のマニュアルページを参照してください。 この章の内容は次のとおりです。 注 – Solaris 10 5/08: この情報は Solaris 10 5/08 リリースで追加されたものですが、すべての Solaris 10 OS に当てはまります。使用している Solaris システムを登録するには、https://inventory.sun.com/inventory/ にアクセスしてください。Sun Inventory を使用してハードウェア、ソフトウェア、およびオペレーティングシステムを登録する方法については、Sun Inventory Information Center を参照してください。 Sun Ops Center を使用してデータセンターでシステムをプロビジョニング、更新、および管理する場合は、ソフトウェアを Sun Ops Center に登録する方法を Sun xVM Information Center で参照してください。 ディスクレスクライアントシステムにパッチを適用する方法については、「ディスクレスクライアント OS サービスにパッチを適用する」を参照してください。 Solaris パッチ使用時に推奨される戦略やプラクティスについては、『Solaris Patch Management: Recommended Strategies』を参照してください。 パッチの種類「パッチ」とは、Solaris OS 内またはその他のサポート対象ソフトウェア内の既知または潜在的な問題に対する修正をまとめたものです。また、パッチは、特定のソフトウェアリリースに対する新機能や機能拡張の提供も行います。パッチは、既存のファイルやディレクトリを置換または更新するファイルやディレクトリから構成されます。ほとんどの Solaris パッチは、一連の疎パッケージとして提供されます。パッケージの詳細は、第 19 章ソフトウェアの管理 (概要)を参照してください。 ソフトウェアの「更新」とは、既存の問題を訂正したり機能を導入したりするために、ソフトウェアに適用する変更のことです。また、更新は、ソフトウェア更新をシステムに適用するプロセスでもあります。 patchadd コマンドを使用すれば、Solaris システム上でパッチを管理できます。 署名付きパッチと署名なしパッチ「署名付き」とは、「デジタル署名」が適用されたパッチのことです。パッチのデジタル署名が検証されると、その署名の適用後にそのパッチが変更されていないことが保証されます。パッチがユーザーのシステムに「 {3598}ダウンロードされた」」後、署名付きパッチのデジタル署名は検証されます。 Solaris 2.6 以降のリリースの Solaris OS 用パッチは、 署名付きパッチおよび「署名なしパッチ」として利用可能です。署名なしパッチにはデジタル署名は含まれていません。 署名付きパッチは Java アーカイブ形式 (JAR) ファイルに格納され、SunSolve OnlineSM から入手できます。署名なしパッチはディレクトリ形式で格納され、同じく SunSolve Online から .zip ファイルとして入手できます。 patchadd コマンドを使ってシステムにパッチを適用する方法については、「patchadd コマンドによる Solaris パッチの管理 (作業マップ)」を参照してください。 署名付きパッチに関するその他の概要情報については、「署名付きのパッケージ、パッチ、およびソフトウェア更新」を参照してください。 Solaris パッチへのアクセスSun の顧客は、SunSolve Patch Portal Web サイトからパッチにアクセスできます。ただし、一部のパッチは、SunSpectrumSM や Solaris Service Plan の顧客など、サービスプランに加入している顧客にしかアクセスできないことがあります。いずれの場合も、SunSolve Patch Portal に入るには、Sun に登録して Sun オンライン ID を取得する必要があります。これらのパッチは、夜間に更新されます。 Solaris パッチは、http://sunsolve.sun.com の Web サイトから取得できます。SunSolve Patch Portal Web サイトからパッチにアクセスするには、システムがインターネットに接続されており、かつ Mozilla ブラウザなどの Web ブラウザを実行できる必要があります。 個々のパッチにアクセスしたり、パッチクラスタから一連のパッチにアクセスしたり、パッチレポートを参照したりできます。 各パッチには、そのパッチに関する情報を含む README ファイルが関連付けられています。 Solaris パッチの番号付けパッチは、一意の「パッチ ID」によって識別されます。パッチ ID とは、パッチのベースコードとパッチのバージョン番号を表す数字とをハイフンでつなぎ合わせた英数字文字列のことです。たとえば、パッチ 118833-10 は、SunOS 5.10 カーネル更新用パッチ、第 10 リビジョンのパッチ ID です。 Solaris パッチの管理この節では、利用可能な Solaris パッチツールを使って Solaris パッチを管理する方法について説明します。 パッチツールは次のことを行います。 パッチを適用している間は、patchadd コマンドによって /var/sadm/patch/patch-id /log ファイル内に情報がロギングされます。 注 – この Solaris リリースでは、patchadd -M コマンドが改善されています。このコマンドを使用してシステムにパッチを適用するときに、パッチ ID を番号順に指定する必要がなくなりました。パッチ ID を指定しないで patchadd -M コマンドを使用すれば、ディレクトリ内のすべてのパッチがシステムにインストールされます。これらの変更の詳細は、patchadd(1M) のマニュアルページを参照してください。 この patchadd コマンドは、次の場合にはパッチまたはソフトウェア更新を適用できません。
Solaris オペレーティングシステムでのパッチ管理次の情報に基づいて Solaris パッチの管理作業を特定してください。各作業は、署名付きパッチや署名なしパッチの管理をはじめとする追加作業を示しています。
システムに署名付きパッチ、署名なしパッチのいずれを適用するかの決定システムに署名付きパッチ、署名なしパッチのいずれを適用するかを決定する際に重要となるのは、パッチの供給元を信頼するかどうかです。 パッチの供給元 (既知の販売店から入手したパッチ CD や信頼できる Web サイトとの HTTPS 接続など) を信頼する場合、署名なしパッチを使用できます。一方、供給元を信頼しない場合は署名付きパッチを使用します。 パッチの供給元を信頼できるかどうかわからない場合は、署名付きパッチを使用してください。 Solaris パッチ管理の用語と定義次の用語は、パッチ管理に関する各章で使用されているものです。
patchadd コマンドによる Solaris パッチの管理 (作業マップ)
|
# pkgadm addcert -t -f der /tmp/root.crt
Keystore Alias: /C=US/O=VeriSign, Inc./OU=Class 2 Public Primary Certification Authority - G2/O
Common Name: /C=US/O=VeriSign, Inc./OU=Class 2 Public Primary Certification Authority - G2/O
Certificate Type: Trusted Certificate
Issuer Common Name: /C=US/O=VeriSign, Inc./OU=Class 2 Public Primary Certification Authority - G2/O
Validity Dates: <May 18 00:00:00 1998 GMT> - <Aug 1 23:59:59 2028 GMT>
MD5 Fingerprint: 2D:BB:E5:25:D3:D1:65:82:3A:B7:0E:FA:E6:EB:E2:E1
SHA1 Fingerprint: B3:EA:C4:47:76:C9:C8:1C:EA:F2:9D:95:B6:CC:A0:08:1B:67:EC:9D
Are you sure you want to trust this certificate? yes
Trusting certificate </C=US/O=VeriSign, Inc./OU=Class 2 Public Primary Certification Authority - G2/O>
Type a Keystore protection Password. changeit
Press ENTER for no protection password (not recommended):
For Verification: Type a Keystore protection Password.
Press ENTER for no protection password (not recommended):
Certificate(s) from </tmp/root.crt> are now trusted
|
証明書が信頼される CA 証明書であることを示します。コマンド出力に証明書の詳細情報が含まれ、ユーザーはその内容の確認を求められます。
証明書または非公開鍵の形式を指定します。インポートする証明書は、PEM (pem)、バイナリ DER (der) のいずれかの形式を使ってコード化されている必要があります。
証明書を含むファイルを指定します。
証明書の情報を表示します。
# pkgadm listcert
Enter Keystore Password: storepass
Keystore Alias: /C=US/O=VeriSign, Inc./OU=Class 2 Public Primary Certification Authority - G2/O
Common Name: /C=US/O=VeriSign, Inc./OU=Class 2 Public Primary Certification Authority - G2/O
Certificate Type: Trusted Certificate
Issuer Common Name: /C=US/O=VeriSign, Inc./OU=Class 2 Public Primary Certification Authority - G2/O
Validity Dates: <May 18 00:00:00 1998 GMT> - <Aug 1 23:59:59 2028 GMT>
MD5 Fingerprint: 2D:BB:E5:25:D3:D1:65:82:3A:B7:0E:FA:E6:EB:E2:E1
SHA1 Fingerprint: B3:EA:C4:47:76:C9:C8:1C:EA:F2:9D:95:B6:CC:A0:08:1B:67:EC:9D
|
一時ファイルを削除します。
# rm /tmp/root.crt |
「信頼される証明書をパッケージキーストアにインポートする方法」の手順 2 の説明に従って、信頼できる Class 2 Public Primary Certification Authority - Verisign 社の G2 証明書を http://www.sun.com/pki/certs/ca/ からダウンロードできない場合は、ルート CA 証明書を Java キーストアから一時ファイルにエクスポートできます。
次に例を示します。
# keytool -export -storepass changeit -alias verisignclass2g2ca \ -keystore /usr/java/jre/lib/security/cacerts -file /tmp/root.crt Certificate stored in file </tmp/root.crt> |
信頼される証明書をエクスポートします。
Java キーストアの完全性を維持するためのパスワードを指定します。
信頼される証明書の別名を指定します。
キーストアファイルの名前と場所を指定します。
エクスポートされた証明書を格納するファイルを指定します。
これで、ルート CA 証明書を一時ファイルからパッケージキーストアにインポートする準備が整いました。手順については、「信頼される証明書をパッケージキーストアにインポートする方法」の節に記載されている残りの手順を参照してください。
Web プロキシを備えたファイアウォールの背後にシステムが存在している場合、patchadd を使ってパッチを 「適用」するには、その Web プロキシを指定する必要があります。
スーパーユーザーになるか、同等の役割を引き受けます。
次のいずれかの方法を使って Web プロキシを指定します。
環境変数 http_proxy、HTTPPROXY、HTTPPROXYPORT のいずれかを使って Web プロキシを指定します。
次に例を示します。
# setenv http_proxy http://mycache.domain:8080 |
または、次のいずれかを指定します。
# setenv HTTPPROXY mycache.domain # setenv HTTPPROXYPORT 8080 |
patchadd コマンド行で Web プロキシを指定します。
次に例を示します。
# patchadd -x mycache.domain:8080 \ -M http://www.sun.com/solaris/patches/latest 101223-02 102323-02 |
ゾーンに対応していない Solaris リリースが稼働するシステム上では、patchadd コマンドまたは -R オプションを指定できる任意のコマンドを使って、非大域ゾーンがインストールされた大域ゾーンの代替 root パスを指定しても、そのコマンドは正しく動作しません。
代替ブート環境で非大域ゾーンが構成済みであるがインストール済みではない場合、-R オプションを使ってソフトウェアパッケージとパッチを追加および削除できます。
潜在的な問題を回避するには、-R オプションを使って代替ルートパスを作成しないようにしてください。
Solaris 10 OS を実行している場合には、次のいずれかの方法を選択することもできます。
Solaris 10 1/06 以降の OS を実行していないシステムのすべてを、Solaris 10 1/06 リリースにアップグレードします。
Solaris 10 初期 3/05 リリースを実行している場合、次のパッチをインストールすれば、-R オプションを指定できるコマンドを使って代替ルートパスを作成できるようになります。
SPARC システムの場合 – パッチ 119254 のリビジョン 19 以降をインストールします。
x86 システムの場合 – パッチ 119255 のリビジョン 19 以降をインストールします。
Solaris 10 リリースなどの代替ルートを、アクティブな OS としてブートします。これで、-R オプションを使用しないでパッケージおよびパッチをインストールおよびアンインストールできるようになります。
詳細は、patchadd(1M)、patchrm(1M)、pkgadd(1M)、および pkgrm(1M) のマニュアルページを参照してください。
署名付き Solaris パッチまたは「署名なしパッチ」を「ダウンロードする」し、それをシステムに適用するには、次の手順を実行します。
署名付きパッチを適用するには、パッケージキーストアを事前にセットアップしておく必要があります。
次のいずれかの方法でシステムにアクセスします。
Web ブラウザを起動し、http://sunsolve.Sun.COM の SunSolve Online Patch Portal にアクセスします。
特定のパッチをダウンロードするのか、パッチクラスタをダウンロードするのかを決定したあと、次のいずれかを実行します。
「パッチ検索」検索フィールドにパッチ番号 (patch-id) を入力し、「パッチ検索」をクリックします。
patch-id を入力すると、最新バージョンのパッチがダウンロードされます。
自由に使用できるパッチの場合、そのパッチの README が表示されます。このパッチが自由に使用できない場合は、ACCESS DENIED メッセージが表示されます。
SPARC システムと x86 システムのパッチ番号が異なることに注意してください。「パッチ ID」は、パッチの README 内に記載されています。システムのアーキテクチャーに適合したパッチを適用してください。
パッチを適用するシステム上で動作している Solaris リリースに適合した推奨パッチクラスタを選択します。
次の手順に従ってパッチをダウンロードします。
署名付きパッチをダウンロードするには、「Download Signed Patch (n bytes)」ボタンをクリックします。
署名なしパッチをダウンロードするには、「Download Patch ( n bytes)」ボタンをクリックします。
1 つまたは複数のパッチのダウンロードに成功したら、Web ブラウザを閉じます。
ダウンロードされたパッチが格納されているディレクトリに移動します。
スーパーユーザーになるか、同等の役割を引き受けます。
(署名なしパッチ) 署名なしパッチをダウンロードした場合、パッチを解凍します。
# unzip patch-id |
署名付きまたは署名なしのパッチを適用します。
署名付きパッチをダウンロードした場合、それを適用します。
次に例を示します。
# patchadd /tmp/111879-01.jar |
署名なしパッチをダウンロードした場合、それを適用します。
次に例を示します。
# patchadd /tmp/111879-01 |
パッチの適用に成功したことを確認します。
次に例を示します。
# patchadd -p | grep 111879 Patch: 111879-01 Obsoletes: Requires: Incompatibles: Packages: SUNWwsr |
パッチの適用に先立ち、以前に適用されたパッチの詳細を確認することをお勧めします。
次のコマンドは、すでにシステムに適用されているパッチに関する有用な情報を提供します。
patchadd -p or showrev -p
システムに適用されたすべてのパッチを表示します。
pkgparam pkgid PATCHLIST
pkgid (SUNWadmap など) によって識別されるパッケージに適用されたすべてのパッチを表示します。
patchadd -S Solaris-OS - p
特定の OS サーバーに適用されたすべての /usr パッチを表示します。
システムに適用されたパッチに関する情報を表示するには、次のいずれかの patchadd コマンド行を使用します。
システムに適用されたすべてのパッチに関する情報を取得するには、次のように入力します。
$ patchadd -p |
特定のパッチがシステムに適用されているかどうかを確認するには、たとえば次のように入力します。
$ patchadd -p | grep 111879 |