Solaris のシステム管理 (基本編)

署名のない Solaris パッチの管理 (作業マップ)

作業 

説明 

参照先 

1. (省略可能) 署名のないパッチの情報を表示する 

システムにインストール済みの署名のないパッチに関する情報を表示する 

Solaris パッチの情報を表示する方法

2. 署名のないパッチをダウンロードする 

署名のないパッチをシステムにダウンロードする 

署名のない Solaris パッチのダウンロード方法

3. 署名のないパッチを追加する 

署名のないパッチをシステムに追加する 

署名のない Solaris パッチの追加方法 (patchadd)

4. (省略可能) 署名のないパッチを削除する 

必要に応じて、署名のないパッチをシステムから削除する 

署名のない Solaris パッチを削除する方法

署名のない Solaris パッチの情報を表示する

パッチをインストールするにあたっては、以前にインストールされたパッチの詳細を知る必要がある場合もあります。次の表に、すでにシステムにインストール済みのパッチについての情報を表示するためのコマンドを示します。

表 25–1 Solaris パッチの管理用コマンド

コマンド 

説明 

patchadd -pshowrev -p

システムに適用されたすべてのパッチを表示する 

pkgparam pkgid PATCHLIST

pkgid (パッケージの名前) によって識別されるパッケージに適用されたすべてのパッチを表示する。たとえば、SUNWadmap

patchadd -S Solaris-OS -p

OS サーバーにインストールされているすべての /usr パッチを表示する

Solaris パッチの情報を表示する方法

patchadd -p コマンドを使用して、システムにインストールされているパッチに関する情報を表示します。


$ patchadd -p

次のコマンドを使用して、特定のパッチがシステムにインストールされているかどうかを確認します。たとえば、次のようになります。


$ patchadd -p | grep 111879

署名のない Solaris パッチの追加

次のツールを使用して、署名のないパッチをサーバーまたはスタンドアロンシステムに追加できます。

ディスクレスクライアントシステムにパッチを追加する必要がある場合は、ディスクレスクライアント OS サービスにパッチを適用するを参照してください。

パッチを追加すると、パッチツールが pkgadd コマンドを呼び出し、パッチディレクトリのパッチパッケージをローカルシステムのディスクにインストールします。パッチツールが実際に行う処理は、以下のとおりです。

パッチのインストール時に、patchadd コマンドはインストールプロセスの記録を現在の Solaris バージョンの /var/sadm/patch/ patch-ID/log ファイルに保存します。

この patchadd コマンドは、次の条件ではパッチをインストールしません。

smpatch コマンドを使用してパッチを追加または削除するときに、コマンド行に認証情報を指定しなかった場合は、認証情報の入力を要求されます。

次の構文を使用して、smpatch コマンドに認証情報を指定できます。


# smpatch add -p mypassword -u root -- -i patch-ID-revision

addremove などの smpatch サブコマンドでは、区切り文字「--」の後に認証のオプションと引数を指定します。

smpatch コマンドに認証情報を要求するプロンプトを表示させることもできます。


# /usr/sadm/bin/smpatch add -i patch-ID-revision
ヘルプを参照するには /? を入力してください。Enter キーを押すと、[ ] で囲まれたデフォルトが選択されます。
文字列の値を入力してください: password :: 
ツール com.sun.admin.patchmgr.cli.PatchMgrCli を holoship から読み込み中
ユーザー root として holoship にログインしました。
holoship から com.sun.admin.patchmgr.cli.PatchMgrCli がダウンロードされました。

署名のない Solaris パッチのダウンロード方法

  1. (省略可能) パッチを適用するシステムにログインします。

    あるいは、パッチをダウンロードし、ftp コマンドを使用してそのパッチをターゲットのシステムにコピーすることもできます。

  2. Web ブラウザを開き、SunSolve Online のサイトに移動します。


    http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/patch-access
    
  3. 特定のパッチだけをダウンロードするか、パッチクラスタをダウンロードするかを決めます。次のいずれかの手順に従います。

    1. 「パッチ検索 (Find Patch)」検索フィールドにパッチ番号 (patch-ID) を入力し、「パッチ検索 (Find Path)」をクリックします。

      patch-ID を入力すると、最新バージョンのパッチがダウンロードされます。

      自由に使用できるパッチの場合、そのパッチの README が表示されます。自由に使用できないパッチの場合、ACCESS DENIED メッセージが表示されます。

      SPARC システムと x86 システムではパッチ番号が異なります。これについては、表示されるパッチの README に記載されています。使用しているシステムアーキテクチャに適合したパッチをインストールしてください。

    2. パッチを適用するシステムで実行している Solaris に基づいて、推奨されるパッチクラスタをクリックします。

  4. 「このパッチ (n bytes) をダウンロードする HTTP FTP (Download Patch HTTP or FTP)」ボタンをクリックします。

    パッチ (またはパッチクラスタ) が正常にダウンロードされたら、Web ブラウザを閉じます。

  5. 必要に応じて、ダウンロードされたパッチパッケージが含まれているディレクトリに移動します。

  6. パッチパッケージを解凍します。


    % unzip patch-ID-revision
    

署名のない Solaris パッチの追加方法 (patchadd)

この手順は、パッチがダウンロードおよび解凍済みであることを前提としています。

  1. スーパーユーザーになります。

  2. パッチ (または複数のパッチ) を追加します。


    # patchadd patch-ID-revision
    
  3. パッチが正常に削除されたことを確認します。


    # patchadd -p | grep patch-ID-revision
    

例 — 署名のない Solaris パッチの追加

次の例では、patchadd コマンドを使用して、システムに Solaris 8 パッチ (パッチ番号 111879–01) を追加します。システムへのパッチのダウンロードおよび解凍は完了しているものとします。


# patchadd /export/Sol8patch/111879-01

Checking installed patches...
Verifying sufficient filesystem capacity (dry run method)...
Installing patch packages...

Patch number 111879-01 has been successfully installed.
See /var/sadm/patch/111879-01/log for details

Patch packages installed:
  SUNWwsr
# patchadd -p | grep 111879-01
Patch: 111879-01 Obsoletes:  Requires:  Incompatibles:  Packages: SUNWwsr

署名のない Solaris パッチの追加方法 (smpatch)

Solaris 9 リリースが稼働するシステムで、次の手順を実行します。

この手順は、パッチを /var/sadm/spool ディレクトリにダウンロードして解凍済みであることを前提としています。

  1. スーパーユーザーになります。

  2. パッチ (または複数のパッチ) を追加します。


    # /usr/sadm/bin/smpatch add patch-ID-revision
    

    たとえば、次のようになります。


    # smpatch add -i 115028-01
    Authenticating as user: root
    
    ヘルプを参照するには /? を入力してください。Enter キーを押すと、[ ] で囲まれたデフォルトが選択されます。
    文字列の値を入力してください: password :: 
    ツール com.sun.admin.patchmgr.cli.PatchMgrCli を holoship から読み込み中
    ユーザー root として holoship にログインしました。
    holoship から com.sun.admin.patchmgr.cli.PatchMgrCli がダウンロードされました。
    
    パッチ 115028-01 もしくはパッチ 115028-01 が必要とするパッチは、インストール後に、
    システムを再起動する必要があります。インストール後に、再設定のために、
    システムを直ちに再起動してください。
    
     On machine soloship ...
       Installing patch 115028-01
  3. システムのリブートを要求するメッセージがあるかどうかを smpatch メッセージで確認します。

    リブートが要求されている場合は、システムをリブートします。


    # init 6
    
  4. パッチが正常に削除されたことを確認します。


    # patchadd -p | grep patch-ID-revision
    

署名のない Solaris パッチの削除

パッチをバックアウトすると、次の場合を除いて、そのパッチによって変更されたすべてのファイルをパッチツールが復元します。

パッチツールは、pkgadd コマンドを呼び出して最初のパッチインストールで保管されたパッケージを復元します。

パッチを削除している間、patchrm コマンドは、/tmp/backoutlog. process_id にバックアウトプロセスのログを格納します。パッチが正常にバックアウトされた場合、このログファイルは削除されます。

署名のない Solaris パッチを削除する方法

署名のない Solaris パッチを削除する必要がある場合には、smpatch コマンド、patchrm コマンド、または Solaris 管理コンソールのパッチマネージャを使用できます。

  1. スーパーユーザーになります。

  2. パッチを削除します。


    # patchrm patch-ID-revision
    

    または


    # /usr/sadm/bin/smpatch remove patch-ID-revision
    
  3. パッチが削除されたことを確認します。


    # patchadd -p | grep patch-ID-revision
    

例 — 署名のない Solaris パッチの削除

次の例では、patchrm コマンドを使用して Solaris 8 パッチ (パッチ番号 111879–01) を削除します。


# patchrm 111879-01

Checking installed patches...

Backing out patch 111879-01...

Patch 111874-02 has been backed out.

# showrev -p | grep 111879-01
#

次の例では、 smpatch remove コマンドを使用して Solaris 9 パッチを削除します。


# /usr/sadm/bin/smpatch remove -i 115028-01
Authenticating as user: root
.
.
.