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

patchadd コマンドによるパッチの管理 (作業マップ)

作業 

説明 

参照先 

2. (オプション) Web プロキシを指定します。 

Web プロキシを備えたファイアウォールの背後にシステムが存在している場合、パッチサーバーからパッチを取得するには、その Web プロキシを指定する必要があります。 

「Web プロキシを指定する方法」

3. パッチをダウンロードおよび適用します。 

patchadd コマンドを使ってパッチをシステムにダウンロードおよび適用します。

「パッチをダウンロードおよび適用する方法」

4. (オプション) システムに適用済みのパッチに関する情報を表示します。 

すでにシステムに適用されているパッチに関する情報を表示するには、patchaddshowrevpkgparam のいずれかのコマンドを使用します。

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

5. (オプション) システムからパッチを削除します。 

必要に応じて、patchrm コマンドを使ってシステムからパッチを削除します。

patchrm コマンドを使用してパッチを削除する方法」

ProcedureWeb プロキシを指定する方法

Web プロキシを備えたファイアウォールの背後にシステムが存在している場合、patchadd を使ってパッチを 「適用」するには、その Web プロキシを指定する必要があります。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. 次のいずれかの方法を使って Web プロキシを指定します。

    • 環境変数 http_proxyHTTPPROXYHTTPPROXYPORT のいずれかを使って 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
      

patchadd -R を使って代替 root パスを作成する際の制限

ゾーンに対応していない Oracle Solaris リリースが稼働するシステム上では、patchadd コマンドまたは -R オプションを指定できる任意のコマンドを使って、非大域ゾーンがインストールされた大域ゾーンの代替 root パスを指定しても、そのコマンドは正しく動作しません。

代替ブート環境で非大域ゾーンが構成済みであるがインストール済みではない場合、-R オプションを使ってソフトウェアパッケージとパッチを追加および削除できます。

潜在的な問題を回避するには、-R オプションを使って代替ルートパスを作成しないようにしてください。

Oracle Solaris 10 を実行している場合には、次のいずれかの方法を選択することもできます。

詳細は、patchadd(1M)patchrm(1M)pkgadd(1M)、および pkgrm(1M) のマニュアルページを参照してください。

Procedureパッチをダウンロードおよび適用する方法

署名なしパッチダウンロードし、それをシステムに適用するには、次の手順を実行します。

署名付きパッチを適用するには、パッケージキーストアを事前にセットアップしておく必要があります。詳細は、http://download.oracle.com/docs/cd/E17476_01/javase/1.4.2/docs/tooldocs/solaris/keytool.html を参照してください。

  1. 次のいずれかの方法でシステムにアクセスします。

    • パッチを適用するシステムにログインします。

    • パッチをダウンロードし、それを ftp コマンド経由でターゲットシステムにコピーします。

  2. Web ブラウザを起動し、http://sunsolve.Sun.COM の SunSolve Online Patch Portal にアクセスします。

  3. 特定のパッチをダウンロードするのか、パッチクラスタをダウンロードするのかを決定したあと、次のいずれかを実行します。

    • 「パッチ検索」検索フィールドにパッチ番号 (patch-id) を入力し、「パッチ検索」をクリックします。

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

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

      SPARC システムと x86 システムのパッチ番号が異なることに注意してください。「パッチ ID」は、パッチの README 内に記載されています。システムのアーキテクチャーに適合したパッチを適用してください。

    • パッチを適用するシステム上で動作している Oracle Solaris リリースに適合した推奨パッチクラスタを選択します。

  4. 次の手順に従ってパッチをダウンロードします。

    • 署名付きパッチをダウンロードするには、「Download Signed Patch (n bytes)」ボタンをクリックします。

    • 署名なしパッチをダウンロードするには、「Download Patch ( n bytes)」ボタンをクリックします。

    1 つまたは複数のパッチのダウンロードに成功したら、Web ブラウザを閉じます。

  5. ダウンロードされたパッチが格納されているディレクトリに移動します。

  6. スーパーユーザーになるか、同等の役割を引き受けます。

  7. (署名なしパッチ) 署名なしパッチをダウンロードした場合、パッチを解凍します。


    # unzip patch-id
    
  8. 署名付きまたは署名なしのパッチを適用します。

    次に例を示します。


    # patchadd /tmp/111879-01
    
    • 署名付きパッチをダウンロードした場合、それを適用します。

      次に例を示します。


      # patchadd /tmp/111879-01.jar
      
    • 署名なしパッチをダウンロードした場合、それを適用します。

      次に例を示します。


      # patchadd /tmp/111879-01
      
  9. パッチの適用に成功したことを確認します。

    次に例を示します。


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

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

パッチの適用に先立ち、以前に適用されたパッチの詳細を確認することをお勧めします。

次のコマンドは、すでにシステムに適用されているパッチに関する有用な情報を提供します。

  1. システムに適用されたパッチに関する情報を表示するには、次のいずれかの patchadd コマンド行を使用します。

    • システムに適用されたすべてのパッチに関する情報を取得するには、次のように入力します。


      $ patchadd -p
      
    • 特定のパッチがシステムに適用されているかどうかを確認するには、たとえば次のように入力します。


      $ patchadd -p | grep 111879
      

Procedurepatchrm コマンドを使用してパッチを削除する方法

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

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


    # patchrm 111879-01
    Checking installed patches...
    
    Backing out patch 111879-01...
    
    Patch 111879-01 has been backed out.
  3. パッチが削除されたことを確認します。


    # patchadd -p | grep 111879
    #