この章では、実行中の Solaris システムでの Solaris パッチのインストールまたは削除について説明します。また、不要なパッチまたは障害の発生したパッチを削除 (バックアウトと呼びます) する方法についても説明します。
この章の内容は次のとおりです。
パッチの最も単純な形式としては、ソフトウェアを実行するのに障害となる既存のファイルとディレクトリを置換または更新する、ファイルとディレクトリの集合と考えることができます。既存のソフトウェアと同様に、パッチはアプリケーションバイナリインタフェースに準拠している指定のパッケージ形式を元に作成されます。(パッケージについての詳細は、第 20 章「ソフトウェアの管理 (概要)」を参照してください。)
パッチのインストールとバックアウトの詳細は、patchadd(1M) および patchrm(1M) のマニュアルページに示されています。各パッチには、パッチについての特定の情報が入っている README ファイルも含まれています。
パッチをインストールするにあたっては、以前にインストールされたパッチの詳細を知る必要がある場合もあります。表 22-1 に、すでにシステムにインストールされているパッチについての情報を表示するためのコマンドを示します。
表 22-1 パッチ管理に役立つコマンド
コマンド |
|
機能 |
---|---|---|
showrev -p |
|
システムに適用されたすべてのパッチを表示する。 |
pkgparam pkgid PATCHLIST |
|
pkgid によって指定されるパッケージに適用されたすべてのパッチを表示する。 |
pkgparam pkgidPATCH_INFO_patch-number |
|
パッチが適用されたホストのインストール日と名前を表示する。pkgid は、パッケージの名前を表示する。たとえば、SUNWadmap など。 |
patchadd -R client_root_path -p |
|
サーバーのコンソールから、クライアントに適用されたすべてのパッチを表示する。 |
patchadd -p |
|
システムに適用されたすべてのパッチを表示する。 |
Sun のユーザーはすべて、セキュリティパッチなどの推奨されるパッチに、World Wide Web または anonymous ftp を介してアクセスできます。サービス契約を購入した Sun ユーザーは、パッチの拡張セットと、パッチ情報に関する完全なデータベースにアクセスできます。この情報は、World-Wide Web、anonymous ftp を介して入手可能であり、通常は CD によって定期的に配布されます (表 22-2 を参照)。
表 22-2 ユーザーパッチアクセス情報
ユーザーの種類 |
アクセスできる情報 |
---|---|
Sun Service 契約ユーザー |
パッチに関する SunSolve データベースとパッチ情報にアクセスすることができる。これらの情報は、「World-Wide Web を介したパッチアクセス」と 「ftp を介したパッチアクセス」に説明されているように、World-Wide Web または anonymous ftp を介して入手できる。 これらのパッチは、夜間に更新される。ユーザーは、パッチ CD を 6〜8 週間ごとに受け取る。 |
Sun Service 契約ユーザー以外 |
セキュリティパッチの一般セットなどの推奨されるパッチにアクセスできる。これらの情報は、「World-Wide Web を介したパッチアクセス」と 「ftp を介したパッチアクセス」に説明されているように、World-Wide Web または anonymous ftp を介して入手できる。 |
Sun パッチには、World-Wide Web または anonymous ftp を介してアクセスできます。Sun Service 契約を購入した場合は、定期的に配布されるパッチ CD からパッチを入手できます。
World-Wide Web 上のパッチにアクセスするには、コンピュータが次の条件を満たしていなければなりません。
インターネットに接続されている
Netscape などの Web ブラウズソフトウェアを実行できる
anonymous ftp を介してパッチにアクセスするには、コンピュータが次の条件を備えていなければなりません。
インターネットに接続されている
ftp プログラムを実行できる
World-Wide Web を介してパッチにアクセスするには、次のユニフォームリソースロケータ (URL) を使用してください。
http://www.sun.com/
Sun ホームページが表示されたら、「Sales and Service」ボタンをクリックして、SunSolve パッチデータベースに移動してください。
公開されているパッチのパッチデータベースには、「Public patch access」というラベルが付いています。契約ユーザーが使用できるパッチとパッチ上の包括的なセットに関するパッチデータベースには、「Contract customer patch access」というラベルが付いています。この契約ユーザーデータベースにアクセスするためのパスワードを入力するよう求められます。
URL を使用して、公開されているパッチにアクセスすることもできます。
http://sunsite.unc.edu/ (日本では http://sunsite.sut.ac.jp/)
ftp を介してパッチにアクセスするには、ftp を使用して sunsolve1.sun.com (Sun サービス提供) または sunsite.unc.edu (the University of North Carolina 所有) (日本では sunsite.sut.ac.jp/ 東京理科大学所有) のいずれかに接続します。ftp にログインを要求されたら、ログイン名として anonymous と入力します。パスワードの入力を求められたら、完全な電子メールアドレスを使用してください。接続されれば、/pubs/patches ディレクトリから、公開されているパッチを検索することができます。
パッチを転送するには、ftp 転送モードをバイナリに変更する必要があります。これには、ftp プロンプトで bin と入力してください。
パッチは、固有の英数字文字列によって識別されます。これは、パッチのベース番号、ハイフン、パッチの改訂バージョン番号、の順で構成されています。たとえばパッチ 106925-02 は、glm デバイスドライバの問題を修正するための SunOS 5.7 パッチです。
パッチを追加すると、patchadd コマンドは pkgadd コマンドを呼び出して、パッチディレクトリからローカルシステムのディスクへパッチパッケージをインストールします。patchadd は、さらに次の処理も行います。
管理ホストとターゲットホストの Solaris バージョン番号を確認する。
インストール中のパッチによって置換されるパッチ、このパッチに必要な他のパッチ、およびこのパッチと互換性を持たないパッチに関する情報を使用して、パッチの pkginfo ファイルを更新する。
Solaris 2.4 およびその互換バージョンでは、patchadd はパッチのインストール時に、パッチ情報の記録を /var/sadm/patch/patch-number/log に保存します。
この patchadd コマンドは、次の条件ではパッチをインストールしません。
パッケージがホストに完全にインストールされていない。
パッチパッケージのアーキテクチャが、システムのアーキテクチャと異なる。
パッチパッケージのバージョンが、インストールされているパッケージのバージョンと一致しない。
同じベースコードと上位のバージョン番号を持つパッチがすでにインストールされている。
パッチが、すでにインストールされている他のパッチと互換性を持たない。(インストール済みの各パッチは、この情報を pkginfo ファイルに格納している。)
インストールしようとしているパッチには他のパッチが必要だが、そのパッチがインストールされていない。
パッチをバックアウトすると、patchrm コマンドは、そのパッチによって修正されたすべてのファイルを復元します。ただし、次の場合は除きます。
パッチが patchadd -d を使用してインストールされた (-d オプションは、更新中または置換中のファイルのコピーを保管しないように patchadd に指示する)。
パッチが最新のパッチによって置換された。
パッチが他のパッチによって要求された。
patchrm コマンドは、pkgadd を呼び出して、最初のパッチインストールで保管されたパッケージを復元します。
パッチを削除している間、patchrm は、/tmp/backoutlog.process_id. にバックアウトプロセスのログを格納します。パッチが正常にバックアウトされた場合、このログファイルは削除されます。