この章では、Oracle Enterprise Manager Cloud Control (Cloud Control)を使用してLinuxホストにパッチを適用する方法について説明します。この章の具体的な内容は次のとおりです。
Linuxホスト・パッチ適用は、特にデータ・センターやサーバー・ファームで、企業内のホストをセキュリティ修正および重要なバグ修正で常に更新するCloud Controlの機能です。Cloud Controlでこの機能を使用すると、次の操作が可能です。
Unbreakable Linuxネットワーク(ULN)チャネルに基づいたLinux RPMリポジトリの設定
ULNからのアドバイザ(正誤表)のダウンロード
Linuxホストのグループを更新し、コンプライアンス情報を収集するLinuxパッチ適用グループの設定
非コンプライアンス・パッケージへのパッチ適用の許可
ホストからのパッケージのロールバック/アンインストール
RPMリポジトリおよびチャネルの管理(チャネルのクローニング、チャネル間でのパッケージのコピー、チャネルの削除)
カスタム・チャネルへのRPMの追加
構成ファイル・チャネルの管理(チャネルの作成と削除、ファイルのアップロード、チャネル間でのファイルのコピー)
次に、Linuxパッチ適用に関連する概念を示します。
Cloud Controlには、Linuxパッチ適用のために、次のデプロイメント・プロシージャがあります。
Linuxホストのパッチ
このデプロイメント・プロシージャを使用すると、Linuxホストにパッチを適用できます。
Linux RPMリポジトリ・サーバーの設定
このデプロイメント・プロシージャを使用すると、Linux RPMリポジトリ・サーバーを設定できます。Linux RPMリポジトリ・サーバーを設定するには、パッチ適用のためのRPMリポジトリの設定を参照してください。
Linuxパッチ適用では、次のリリースがサポートされています。
Oracle Linux 5
Oracle Linux 6
Oracle Linux 7
Red Hat Enterprise Linuxの場合 5
Red Hat Enterprise Linuxの場合 6
この項では、Linuxパッチ適用の設定要件について説明します。特に、次の項目について説明します。
Linuxパッチ適用機能を使用するには、次の前提条件を満たしてください。
インフラストラクチャの設定に記載されている基本前提条件を満たすこと。
すべてのOracle Linux 6ターゲット・ホストに、yumをインストールします。すべてのOracle Linux 5ターゲット・ホストに、yumおよびup2dateをインストールします。
SUDOを使用して次のコマンドを有効にすること。
/bin/cp
/bin/rm
/bin/chmod
/sbin/chkconfig
yum
up2date
sed
rpm
この項では、RPMリポジトリの設定方法について説明します。特に、次の項目について説明します。
注意:
RPMリポジトリは共有の場所に設定できます。この構成はサポートされています。同じEMリポジトリを共有するには、共有されるファイル・システムに対して/var/www/html
フォルダのsymlink
(シンボリック・リンク)を使用します。ホスト・ターゲットが停止した場合は、RPMリポジトリも使用できなくなります。
RPMリポジトリはOMSまたは非OMSの指定されたホスト・ターゲットに存在できます。
RPMリポジトリの設定前に、次の前提条件を満たしてください。
RedhatまたはOracle Linuxホストを特定して管理エージェントをインストールし、OMSを指すようにすること。このホストには、sudoパッケージがインストールされている必要があります。
Oracleの販売担当者から有効なカスタマ・サポートID (CSI)番号を取得すること。
有効なCSI番号を取得した後、必ずULNアカウントを作成してください。ULNアカウントを作成するには、次のURLにアクセスしてください。
次のURLからup2dateパッケージ(Oracle Linux 5のみ)をダウンロードします。
https://linux.oracle.com/switch.html
RPMリポジトリを設定するホストが次のいずれかのプラットフォームで実行されている場合は、ダウンロードしたパッケージをソフトウェア・ライブラリにアップロードします。
Red Hat Enterprise Linux 5 (i386)
Red Hat Enterprise Linux 5 (x86_64)
Red Hat Enterprise Linux 5 (ia64)
注意:
RPMリポジトリを設定するホストがOracle Linuxプラットフォーム上で実行中の場合、up2dateパッケージをソフトウェア・ライブラリにアップロードする必要はありません。
次の手順に従って、up2dateパッケージをソフトウェア・ライブラリにアップロードします。
注意:
マルチOMS設定の場合、次の手順の実行が必要なのは1つのOMSに対してのみです。
up2dateおよびup2date-gnomeをzipファイルに圧縮し、up2date_comp.zip
という名前を付けます。
OMSのOracleホーム内にある <ORACLE_HOME>/sysman/metadata/swlib/patch/stageServerComponents
ディレクトリにZIPファイルをコピーします。
OMSのOracleホーム内にあるソフトウェア・ライブラリのパッチ適用のエンティティ・メタデータ・ファイルswlib.xml
を編集し、ソフトウェア・ライブラリ・エンティティ「Up2date Package Component」のExternalIDをアップグレードします。
次の手順を実行します。
(1)次の場所にあるswlib.xml
ファイルを開きます: $ORACLE_HOME/sysman/metadata/swlib/patch/
。
(2)サブタグExternalID
を持つタグ<Entity name="Install up2date RPM">
を検索します。
(3) ExternalIDの値を0.1増分します。
たとえば、ソフトウェア・ライブラリのExternalID内のエンティティの元の値が2.0の場合、値を0.1更新してExternalIDを2.1にアップグレードします。
次のコマンドを実行して、ZIPファイルをソフトウェア・ライブラリにアップロードします。
$ emctl register oms metadata -service swlib -file $ORACLE_HOME/sysman/metadata/swlib -core
RPMリポジトリを設定するホストの/var/www/html/
ディレクトリに、1つのチャネル当たり60GB以上の空きディスク領域があることを確認します。
Apacheがインストール済であり、ポート80でリスニング中であることを確認します。これを確認するには、URL: http://host
への接続を試します。
たとえば、http://h1.example.com
などです。これが機能した場合、Apacheがインストール済であり、ポート80でリスニング中であることが確定します。
createrepo
パッケージがRPMリポジトリ・ホストにインストールされていることを確認します。このパッケージを取得するには、el*_addon
またはol*_addon
チャネルをサブスクライブします。
yum-arch、uln-yum-proxy
(Oracle Linux 5の場合)またはuln-yum-mirror
(Oracle Linux 6および7の場合)、およびyum-utils
パッケージがRPMリポジトリ・ホストにインストールされていることを確認します。yum-arch
およびuln-yum-proxy/uln-yum-mirrors
パッケージを取得するには、add onsチャネルをサブスクライブします。yum-utils
パッケージを取得するには、latestチャネルをサブスクライブします。
RPMリポジトリ・ホストでOracle Linux 6 (OL6)が実行中でなく、名前がol6_*
形式のOL6チャネルをサブスクライブしている場合、OL6公開鍵を手動でインポートします。次の手順を実行します。
OL 6の鍵を次からダウンロードします。
鍵をホスト上の次のディレクトリに格納します。
/usr/share/rhn
次のコマンドを実行します。
rpm --import /usr/share/rhn/RPM-GPG-KEY-oracle-ol6
Enterprise ManagerユーザーにEM_LINUX_PATCHING_ADMIN
ロールおよびFULL_LINUX_PATCHING_SETUP
権限が付与されていることを確認します。Enterprise Managerユーザーにこれらが付与されていない場合、スーパー・ユーザーがこれらを付与します。
RPMリポジトリを設定するホストに、Oracle GPG鍵がインストールされていることを確認します。
Oracle Linux 5またはOracle Linux 6プラットフォームを実行中のホストにOracle GPG鍵をインストールするには、 次のコマンドを実行します。
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY
スーパーユーザー権限でログインし、最新のRPMパッケージおよびアドバイザをULNからダウンロードするRPMリポジトリを設定します。次の手順を実行します。
最新のRPMパッケージおよびアドバイザをULNからダウンロードするRPMリポジトリを設定するには、次の手順を実行します。
Cloud Controlで、「設定」メニューから、「プロビジョニングとパッチ適用」、「Linuxパッチ適用」の順に選択します。
「パッチ適用設定」ページの「Linuxパッチ適用設定」タブで「RPMリポジトリの設定」をクリックします。
「RPMリポジトリの設定」ページの「RPMリポジトリ・サーバー」セクションで、検索アイコンをクリックしてRPMリポジトリ・サーバーを選択します。ULNへのサブスクライブ用に割り当てられたホストを選択します。
「資格証明」セクションで、通常ホスト資格証明ユーザーにステージ場所への書込み権限があること、および特権ホスト資格証明ユーザーがroot権限でsudoを使用できることを確認します。「適用」をクリックします。
デプロイメント・プロシージャの発行確認で、「Linux RPMリポジトリ・サーバーの設定」をクリックします。デプロイメント・プロシージャによってジョブが開始され、サブスクライブしたULNチャネルから最新のRPMパッケージおよびアドバイザがダウンロードされます。
(オプション)リフレッシュ・モードを30秒に変更する場合は、「データの表示」リストから「実行時間: 30秒リフレッシュ」を選択します。
「ステップ」タブの「ステータスの詳細」セクションで、このステップのステータスをチェックします。ステップ「Up2dateのインストール」が完了するか、スキップされるまで待機します。
手動ステップ「ULNに登録」のステータスをクリックして、ホストがULNに登録済であるかどうかを確認します。
ホストをULNに登録している場合、ターゲットを選択して「確認」をクリックし、「終了」をクリックしてメイン・フローに移動します。
ホストをULNに登録していない場合、Linuxホストで次の手順を実行します。
RPMリポジトリ・サーバー・マシンにログインします。
ホストがULNに接続できるかどうかを確認します。ホストがULNに直接接続できない場合は、プロキシ・サーバーを使用するようにup2date(Oracle Linux 5の場合)またはuln_register(Oracle Linux 6または7の場合)を構成します。プロキシ・サーバーを使用したULNへのアクセスを構成するには、次の手順を実行します。
https://linux.oracle.com/uln_faq.html#9
次のURLの手順に従ってホストをULNに登録します。
https://linux.oracle.com/uln_faq.html#2
注意:
登録時に、ユーザー名とパスワードを選択できます。この資格証明は、http://linux.oracle.com
へのログインに使用されます。
ステップ「ULNチャネルにサブスクライブ」のステータスをクリックします。
LinuxサーバーをULNに登録すると、適切なアーキテクチャの最新のOracle Linuxパッケージがあるチャネルにサブスクライブされます。追加のチャネルをホストにサブスクライブする必要がない場合、ターゲットを選択して「確認」をクリックし、「終了」をクリックしてメイン・フローに移動します。
追加のチャネルをホストにサブスクライブする必要がある場合、次の手順を実行します。
ULNにログインします。
「システム」タブをクリックして、サブスクライブした各サーバーのサブスクリプションを管理します。
必要なすべての追加チャネルにサブスクライブします。
注意:
Linuxホストにcreaterepo
パッケージがインストールされていない場合、el*_addon
またはol*_addon
チャネルをサブスクライブします。
yum-arch、uln-yum-proxy
(Oracle Linux 5の場合)またはuln-yum-mirror
(Oracle Linux 6または7の場合)、およびyum-utils
パッケージがLinuxホストにインストールされていることを確認します。yum-arch
およびuln-yum-proxy/uln-yum-mirror
パッケージを取得するには、add onsチャネルをサブスクライブします。yum-utils
パッケージを取得するには、latestチャネルをサブスクライブします。
サブスクライブしているチャネルのリストをULNで確認します。
デプロイメント・プロシージャが正常に終了したら、「設定」メニューから、「プロビジョニングとパッチ適用」、「Linuxパッチ適用」の順に選択します。
「パッチ適用設定」ページの「Linuxパッチ適用設定」タブで、「RPMリポジトリの管理」をクリックしてULNチャネルがCloud Controlコンソールに表示されるかどうかを確認します。
「RPMリポジトリの管理」ページで、サブスクライブしたチャネルがリストされているかどうかと、すべてのパッケージがダウンロードされているかどうかを確認します。
この項では、グループとLinuxパッチ適用のためのRPMリポジトリの設定で作成したRPMリポジトリ(サブスクライブした各ULNチャネルが1つのリポジトリ)を関連付けて、コンプライアンス・レポート用のLinuxパッチ適用グループを設定する方法について説明します。
特に、次の項目について説明します。
Linuxパッチ適用グループの設定前に、次の前提条件を満たしてください。
RPMリポジトリ・サーバーを設定するか、カスタムRPMリポジトリをCloud Controlでチャネルとして設定します。
すべてのOracle Linux 6ターゲット・ホストに、yumをインストールします。すべてのOracle Linux 5ターゲット・ホストに、yumおよびup2dateをインストールします。
Sudoをターゲット・ホストにインストールします。
Enterprise Managerユーザーがスーパーユーザー権限でOMSにログインしていることを確認します。
Enterprise ManagerユーザーにEM_LINUX_PATCHING_ADMIN
ロールおよびFULL_LINUX_PATCHING_SETUP
権限が付与されていることを確認します。Enterprise Managerユーザーにこれらが付与されていない場合、スーパー・ユーザーがこれらを付与します。
この項では、Linuxホストにパッチを適用する方法を説明します。内容は次のとおりです。
注意:
Linuxホストにパッチを適用する前に、Enterprise ManagerユーザーにEM_PATCH_DESIGNER
ロールおよびOPERATOR_ANY_TARGET
権限が付与されていることを確認します。Enterprise Managerユーザーにこれらが付与されていない場合、スーパー・ユーザーがこれらを付与します。
Linuxパッチ適用コンプライアンス・ホーム・ページで、特定のLinuxパッチ適用グループが非準拠であることが報告された場合、そのグループにパッチを適用するよう選択できます。このLinuxパッチ適用グループにパッチを適用するには、次の手順に従います。
この項では、Linux構成ファイルを管理する方法を説明します。内容は次のとおりです。
構成ファイル機能を使用すると、Linux構成ファイルを効率的で簡単な方法で管理できます。この機能(「Linuxパッチ適用」ホームページからアクセス)を使用すると、Linux構成ファイル・チャネルを作成して、ローカル・ホスト(または管理エージェントがデプロイされたリモート・ホスト)にある必要なLinux構成ファイルを作成したチャネルにアップロードし、1回の操作でチャネル内の構成ファイルを多数のターゲット・ホストにデプロイできます。
この機能により、Linux構成ファイルを各ターゲット・ホストに手動でコピーする手間を省くことができます。たとえば、多数のターゲット・ホストにコピーするHTTPサーバー構成ファイルがローカル・ホストにある場合、「Linuxパッチ適用」ホームページを使用してLinux構成ファイル・チャネルを作成し、このチャネルにHTTPサーバー構成ファイルをアップロードして、ターゲット・ホストにそのファイルをデプロイできます。
この項では、特定のチャネルに構成ファイルをアップロードする方法を説明します。この項の具体的な内容は次のとおりです。
特定のチャネルに構成ファイルをアップロードする前に、ローカル・ホストまたはリモート・ホストに1つ以上の構成ファイルがあることを確認します。
この項では、特定のチャネルから構成ファイルをデプロイする方法を説明します。この項の具体的な内容は次のとおりです。
構成ファイルをデプロイする前に、次の前提条件を満たしてください。
特権パッチ適用ユーザーに、各構成ファイルがステージングされるターゲット・マシンの場所への書込み権限があり、またSUDO権限もあることを確認します。
アップロード済の複数のファイルで構成されるチャネルが少なくとも1つ存在すること。
この項では、Linux X64、Solaris X64、Solaris SPARCおよびAIXプラットフォーム上で、バージョン11.2.0.2以降のGIおよびRACデータベースにパッチ適用するためにOPlanでサポートしている構成について説明します。Enterprise Managerは、OPlanと統合してプロシージャを動的に生成します。OPlanを使用する場合、rootとして実行するコマンドはターゲットOracleホームで使用可能なスクリプトを使用します。rootとして実行するために必要なコマンドは、バージョンおよびパッチ適用のモードにより異なります。
次の表に詳細を示します:
表44-2 Oracle Grid InfrastructureとOracle RAC構成のサポート
バージョン | モード | コマンド |
---|---|---|
11.2 |
インプレース |
|
11.2 |
アウトオブプレース |
|
12.1 |
インプレース |
|
12.1 |
アウトオブプレース |
|
この項では、「Linuxパッチ適用」ホームページを使用して実行できる追加タスクについて説明します。
この項では、特定期間の選択したグループのコンプライアンス履歴を表示する方法について説明します。この項の具体的な内容は次のとおりです。
Linuxパッチ適用グループを少なくとも1つ定義しておくこと。
パッチ適用グループで構成されるLinuxホストに対して表示権限を持っていること。
Linuxパッチ適用グループのコンプライアンス履歴を表示するには、次の手順を実行します。
注意:
デフォルトでは、表示されるコンプライアンス・データは過去7日間から取得されたものです。これより長い期間のコンプライアンス履歴を表示するには、「データの表示」ドロップダウン・リストから適切な値を選択します。ページがリフレッシュされ、選択した期間のコンプライアンス・データが表示されます。
この項では、「Linuxパッチ適用」ホームページから非コンプライアンス・パッケージにパッチを適用する方法について説明します。この項の具体的な内容は次のとおりです。
非コンプライアンス・パッケージにパッチを適用する前に、Linuxパッチ適用グループを作成し、「コンプライアンスの収集」ジョブが正常に終了していることを確認してください。
この項では、パッチ更新セッションをロールバックする方法、あるいはパッチ・バージョンが不適切で、バグまたはセキュリティ上の脆弱性があることがわかった場合に、不安定なバージョンを完全にアンインストールする方法について説明します。この項の具体的な内容は次のとおりです。
注意:
アップグレードのロールバックは、特定のエクステントにサポートされています。OEL 5.2からOEL 5.3にといったアップグレードを実行すると、他のRPMに依存している多くのRPMがアップグレードされます。RPMへの適用時には、この依存性を追うことができます。ただし、パッチ更新セッションのロールバック時には、この依存性を逆の順序で追う必要があります。この逆操作は、yumまたはup2dateではサポートされていません。そのため、パッチ更新セッションのロールバックには、ロールバック機能を使用します。ただし、OEL 5.2からOEL 5.3にといったメジャー・アップグレードを完全にロールバックすることはできません。
アップグレードのロールバックは、Oracle Linux 6で実行中のホストではサポートされていません。
パッチ更新セッションのロールバックまたはパッケージの削除の前に、次の前提条件を満たしてください。
Linuxパッチ適用グループが作成されていること。
パッケージの下位バージョンがRPMリポジトリに存在することを確認します。
この項では、カスタム・チャネルを登録する方法について説明します。この項の具体的な内容は次のとおりです。
カスタム・チャネルを登録する前に、次の前提条件を満たしてください。
RPMリポジトリが/var/www/html
の下にあり、HTTPプロトコルでアクセスできること。
Apacheがインストール済であり、ポート80でリスニング中であることを確認します。これを確認するために、URL: http://hostへの接続を試すことができます。
たとえば、http://h1.example.comなどです。これが機能した場合、Apacheがインストール済であり、ポート80でリスニング中であることが確定します。
yum-archコマンドとcreaterepoコマンドを実行して、メタデータ・ファイルを作成していること。
管理エージェントがRPMリポジトリ・ホストにインストールされており、OMSと通信していること。
Enterprise Managerユーザーが、カスタム・チャネルを登録するためのスーパー・ユーザー権限でログインしていることを確認します。
この項では、チャネルをクローニングする方法について説明します。この項の具体的な内容は次のとおりです。
チャネルをクローニングする前に、次の前提条件を満たしてください。
チャネルが少なくとも1つ存在すること。
ターゲット・チャネル・ホストに十分な領域があること。
ソース・ホストのステージング場所にcreateLikeSrc
という名前のディレクトリがないこと、およびターゲット・チャネルのディレクトリが存在しないことを確認します。
Apacheがインストール済であり、ポート80でリスニング中であることを確認します。これを確認するには、URL: http://host
への接続を試します。
たとえば、http://h1.example.com
などです。これが機能した場合、Apacheがインストール済であり、ポート80でリスニング中であることが確定します。
Enterprise Managerユーザーがスーパー・ユーザー権限でOMSにログインしていることを確認します。
この項では、チャネル間でパッケージをコピーする方法について説明します。この項の具体的な内容は次のとおりです。
チャネル間でパッケージをコピーする前に、次の前提条件を満たしてください。
チャネルが少なくとも2つ存在すること。
ターゲット・チャネル・マシンに十分な領域があること。
ソース・ホストのステージング場所にcopyPkgsSrc
という名前のディレクトリがないこと、およびターゲット・ホストのステージング場所にcopyPkgsDest
という名前のディレクトリがないことを確認します。
Apacheがインストール済であり、ポート80でリスニング中であることを確認します。これを確認するために、URL: http://hostへの接続を試すことができます。
たとえば、http://h1.example.comなどです。これが機能した場合、Apacheがインストール済であり、ポート80でリスニング中であることが確定します。
Enterprise Managerユーザーがスーパー・ユーザー権限でOMSにログインしていることを確認します。
この項では、カスタム・パッケージをチャネルに追加する方法について説明します。この項の具体的な内容は次のとおりです。
カスタム・パッケージをチャネルに追加する前に、次の前提条件を満たしてください。
チャネルが少なくとも1つ存在すること。
ソース・ホストのステージング場所にaddPkgsSrc
という名前のディレクトリがないこと、および宛先チャネルのステージング場所にaddPkgsDest
という名前のディレクトリがないことを確認します。
この項では、チャネルを削除する方法について説明します。この項の具体的な内容は次のとおりです。
チャネルを削除する前に、次の前提条件を満たしてください。
チャネルが少なくとも1つ存在すること。
Enterprise Managerユーザーがスーパー・ユーザー権限でOMSにログインしていることを確認します。
チャネルを削除するには、次の手順を実行します。