3 Linuxホストへのパッチ適用
この章では、Oracle Enterprise Manager Cloud Control (Cloud Control)を使用してLinuxホストにパッチを適用する方法について説明します。この章の具体的な内容は次のとおりです。
Linuxホストへのパッチ適用の概要
Linuxホスト・パッチ適用は、特にデータ・センターやサーバー・ファームで、企業内のホストをセキュリティ修正および重要なバグ修正で常に更新するCloud Controlの機能です。Cloud Controlでこの機能を使用すると、次の操作が可能です。
-
Unbreakable Linuxネットワーク(ULN)チャネルに基づいたLinux RPMリポジトリの設定
-
ULNからのアドバイザ(正誤表)のダウンロード
-
Linuxホストのグループを更新し、コンプライアンス情報を収集するLinuxパッチ適用グループの設定
-
非コンプライアンス・パッケージへのパッチ適用の許可
-
ホストからのパッケージのロールバック/アンインストール
-
RPMリポジトリおよびチャネルの管理(チャネルのクローニング、チャネル間でのパッケージのコピー、チャネルの削除)
-
カスタム・チャネルへのRPMの追加
-
構成ファイル・チャネルの管理(チャネルの作成と削除、ファイルのアップロード、チャネル間でのファイルのコピー)
次に、Linuxパッチ適用に関連する概念を示します。
Linuxホストにパッチを適用するためのデプロイメント・プロシージャについて
Cloud Controlには、Linuxパッチ適用のために、次のデプロイメント・プロシージャがあります。
-
Linuxホストのパッチ
このデプロイメント・プロシージャを使用すると、Linuxホストにパッチを適用できます。
-
Linux RPMリポジトリ・サーバーの設定
このデプロイメント・プロシージャを使用すると、Linux RPMリポジトリ・サーバーを設定できます。Linux RPMリポジトリ・サーバーを設定するには、パッチ適用のためのRPMリポジトリの設定を参照してください。
Linuxパッチ適用のインフラストラクチャの設定
この項では、Linuxパッチ適用の設定要件について説明します。特に、次の項目について説明します。
Linuxパッチ適用機能を使用するための前提条件
Linuxパッチ適用機能を使用するには、次の前提条件を満たしてください。
- インフラストラクチャの設定に記載されている基本前提条件を満たすこと
- すべてのOracle Linux 6以降のターゲット・ホストに、yumをインストールします。
- SUDOを使用して次のコマンドを有効にすること。
/bin/cp
/bin/rm
/bin/chmod
/sbin/chkconfig
yum
sed
rpm
Linuxパッチ適用のためのRPMリポジトリの設定
この項では、RPMリポジトリの設定方法について説明します。特に、次の項目について説明します。
ノート:
RPMリポジトリは共有の場所に設定できます。この構成はサポートされています。同じEMリポジトリを共有するには、共有されるファイル・システムに対して/var/www/html
フォルダのsymlink
(シンボリック・リンク)を使用します。ホスト・ターゲットが停止した場合は、RPMリポジトリも使用できなくなります。
RPMリポジトリはOMSまたは非OMSの指定されたホスト・ターゲットに存在できます。
RPMリポジトリを設定するための前提条件
RPMリポジトリの設定前に、次の前提条件を満たしてください。
- RedhatまたはOracle Linuxホストを特定して管理エージェントをインストールし、OMSを指すようにすること。このホストには、sudoパッケージがインストールされている必要があります。
- Oracleの販売担当者から有効なカスタマ・サポートID (CSI)番号を取得すること。
有効なCSI番号を取得した後、必ずULNアカウントを作成してください。ULNアカウントを作成するには、次のURLにアクセスしてください。
- RPMリポジトリを設定するホストの
/var/www/html/
ディレクトリに、1つのチャネル当たり60GB以上の空きディスク領域があることを確認します。 - Apacheがインストール済であり、ポート80でリスニング中であることを確認します。これを確認するには、URL:
http://host
への接続を試します。たとえば、
http://h1.example.com
などです。これが機能した場合、Apacheがインストール済であり、ポート80でリスニング中であることが確定します。 createrepo
パッケージがRPMリポジトリ・ホストにインストールされていることを確認します。このパッケージを取得するには、el*_addon
またはol*_addon
チャネルをサブスクライブします。uln-yum-mirror
およびyum-utils
パッケージがRPMリポジトリ・ホストにインストールされていることを確認します。yum-arch
およびuln-yum-proxy/uln-yum-mirrors
パッケージを取得するには、アドオン・チャネルをサブスクライブします。yum-utils
パッケージを取得するには、latestチャネルをサブスクライブします。- RPMリポジトリ・ホストがチャネルと同じオペレーティング・システムで動作していない場合、そのリリースに属するチャネルに公開キーを手動でインポートする必要があります。次のステップを実行します。
http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
から、OL 6以上のキーをダウンロードします。- ホストの次のディレクトリの下に格納します:
/usr/share/rhn
。 - 次のコマンドを実行します:
rpm --import /usr/share/rhn/RPM-GPG-KEY-oracle-ol6
。ノート:
リリースに属するチャネルへのパスもそれに応じて変更してください。
- Enterprise Managerユーザーに
EM_LINUX_PATCHING_ADMIN
ロールが付与されていることを確認します。Enterprise Managerユーザーにこのロールが付与されていない場合、スーパーユーザーがこれを付与します。 - RPMリポジトリを設定するホストに、Oracle GPGキーがインストールされていることを確認します。
Oracle Linux 6以上で実行されているホストにOracle GPGキーをインストールするには、
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY
コマンドを実行します。
パッチ適用のためのRPMリポジトリの設定
スーパーユーザー権限でログインし、最新のRPMパッケージおよびアドバイザをULNからダウンロードするRPMリポジトリを設定します。次のステップを実行します。
最新のRPMパッケージおよびアドバイザをULNからダウンロードするRPMリポジトリを設定するには、次のステップを実行します。
- Cloud Controlで、「設定」メニューから、「プロビジョニングとパッチ適用」、「Linuxパッチ適用」の順に選択します。
- 「パッチ適用設定」ページで「RPMリポジトリの設定」をクリックします。
- 「RPMリポジトリの設定」ページの「RPMリポジトリ・サーバー」セクションで、検索アイコンをクリックしてRPMリポジトリ・サーバーを選択します。ULNへのサブスクライブ用に割り当てられたホストを選択します。
- 「資格証明」セクションで、通常ホスト資格証明ユーザーにステージ場所への書込み権限があること、および特権ホスト資格証明ユーザーがroot権限でsudoを使用できることを確認します。「適用」をクリックします。
- デプロイメント・プロシージャの発行確認で、「Linux RPMリポジトリ・サーバーの設定」をクリックします。デプロイメント・プロシージャによってジョブが開始され、サブスクライブしたULNチャネルから最新のRPMパッケージおよびアドバイザがダウンロードされます。
- (オプション)リフレッシュ・モードを30秒に変更する場合は、「データの表示」リストから「実行時間: 30秒リフレッシュ」を選択します。
- 手動ステップ「ULNに登録」のステータスをクリックして、ホストがULNに登録済であるかどうかを確認します。
ホストをULNに登録している場合、ターゲットを選択して「確認」をクリックし、「終了」をクリックしてメイン・フローに移動します。
ホストをULNに登録していない場合、Linuxホストで次のステップを実行します。
- RPMリポジトリ・サーバー・マシンにログインします。
- ホストがULNに接続できるかどうかを確認します。ホストがULNに直接接続できない場合、プロキシ・サーバーを使用するようにuln_registerを構成できます。プロキシ・サーバーを使用したULNへのアクセスを構成するには、
https://linux.oracle.com/uln_faq.html#9
の手順を実行します。 https://linux.oracle.com/uln_faq.html#2
のステップに従って、ホストをULNに登録します。ノート:
登録時に、ユーザー名とパスワードを選択できます。この資格証明は、http://linux.oracle.com
へのログインに使用されます。
- ステップ「ULNチャネルにサブスクライブ」のステータスをクリックします。LinuxサーバーをULNに登録すると、適切なアーキテクチャの最新のOracle Linuxパッケージがあるチャネルにサブスクライブされます。追加のチャネルをホストにサブスクライブする必要がない場合、ターゲットを選択して「確認」をクリックし、「終了」をクリックしてメイン・フローに移動します。追加のチャネルをホストにサブスクライブする必要がある場合、次のステップを実行します。
http://linux.oracle.com/
でULNにログインします。- 「システム」タブをクリックして、サブスクライブした各サーバーのサブスクリプションを管理します。
- 必要なすべての追加チャネルにサブスクライブします。
ノート:
ol*_latest
チャネルからcreaterepo
パッケージを必ずインストールしてください。uln-yum-mirror
およびyum-utils
パッケージがLinuxホストにインストールされていることを確認します。uln-yum-mirror
パッケージを取得するには、アドオン・チャネルをサブスクライブします。yum-utils
パッケージを取得するには、latestチャネルをサブスクライブします。
- サブスクライブしているチャネルのリストをULNで確認します。
- デプロイメント・プロシージャが正常に終了したら、「設定」メニューから、「プロビジョニングとパッチ適用」、「Linuxパッチ適用」の順に選択します。
- 「パッチ適用設定」ページの「RPMリポジトリの管理」をクリックしてULNチャネルがCloud Controlコンソールに表示されるかどうかを確認します。
- 「RPMリポジトリの管理」ページで、サブスクライブしたチャネルがリストされているかどうかと、すべてのパッケージがダウンロードされているかどうかを確認します。
コンプライアンス・レポート用のLinuxパッチ適用グループの設定
この項では、グループとLinuxパッチ適用のためのRPMリポジトリの設定で作成したRPMリポジトリ(サブスクライブした各ULNチャネルが1つのリポジトリ)を関連付けて、コンプライアンス・レポート用のLinuxパッチ適用グループを設定する方法について説明します。
特に、次の項目について説明します。
Linuxパッチ適用グループを設定するための前提条件
Linuxパッチ適用グループの設定前に、次の前提条件を満たしてください。
- RPMリポジトリ・サーバーを設定するか、カスタムRPMリポジトリをCloud Controlでチャネルとして設定します。
- すべてのOracle Linux 6以降のターゲット・ホストに、yumをインストールします。
Sudo
をターゲット・ホストにインストールします。- Enterprise Managerユーザーがスーパーユーザー権限でOMSにログインしていることを確認します。
- Enterprise Managerユーザーに
EM_LINUX_PATCHING_ADMIN
ロールが付与されていることを確認します。Enterprise Managerユーザーにこれらが付与されていない場合、スーパーユーザーがこれらを付与してください。
Linuxホストへのパッチ適用
この項では、Linuxホストにパッチを適用する方法を説明します。内容は次のとおりです。
ノート:
Linuxホストにパッチを適用する前に、Enterprise ManagerユーザーにEM_PATCH_DESIGNER
ロールおよびOPERATOR_ANY_TARGET
権限が付与されていることを確認します。Enterprise Managerユーザーにこれらが付与されていない場合、スーパー・ユーザーがこれらを付与します。
コンプライアンスに基づいたLinuxパッチ適用グループへのパッチ適用
Linuxパッチ適用コンプライアンス・ホーム・ページで、特定のLinuxパッチ適用グループが非準拠であることが報告された場合、そのグループにパッチを適用するよう選択できます。このLinuxパッチ適用グループにパッチを適用するには、次のステップに従います。
Linux構成ファイルの管理
この項では、Linux構成ファイルを管理する方法を説明します。内容は次のとおりです。
Linux構成ファイルの概要
構成ファイル機能を使用すると、Linux構成ファイルを効率的で簡単な方法で管理できます。この機能(「Linuxパッチ適用」ホームページからアクセス)を使用すると、Linux構成ファイル・チャネルを作成して、ローカル・ホスト(または管理エージェントがデプロイされたリモート・ホスト)にある必要なLinux構成ファイルを作成したチャネルにアップロードし、1回の操作でチャネル内の構成ファイルを多数のターゲット・ホストにデプロイできます。
この機能により、Linux構成ファイルを各ターゲット・ホストに手動でコピーする手間を省くことができます。たとえば、多数のターゲット・ホストにコピーするHTTPサーバー構成ファイルがローカル・ホストにある場合、「Linuxパッチ適用」ホームページを使用してLinux構成ファイル・チャネルを作成し、このチャネルにHTTPサーバー構成ファイルをアップロードして、ターゲット・ホストにそのファイルをデプロイできます。
特定のチャネルからのLinux構成ファイルのデプロイ
この項では、特定のチャネルから構成ファイルをデプロイする方法を説明します。この項の具体的な内容は次のとおりです。
Linux構成ファイルをデプロイするための前提条件
構成ファイルをデプロイする前に、次の前提条件を満たしてください。
-
特権パッチ適用ユーザーに、各構成ファイルがステージングされるターゲット・マシンの場所への書込み権限があり、またSUDO権限もあることを確認します。
-
アップロード済の複数のファイルで構成されるチャネルが少なくとも1つ存在すること。
その他の実行可能Linuxパッチ適用タスク
この項では、「Linuxパッチ適用」ホームページを使用して実行できる追加タスクについて説明します。
Linuxパッチ適用コンプライアンス履歴の表示
この項では、特定期間の選択したグループのコンプライアンス履歴を表示する方法について説明します。この項の具体的な内容は次のとおりです。
Linuxパッチ適用コンプライアンス履歴を表示するための前提条件
-
Linuxパッチ適用グループを少なくとも1つ定義しておくこと。
-
パッチ適用グループで構成されるLinuxホストに対して表示権限を持っていること。
Linuxパッチ適用コンプライアンス履歴の表示
Linuxパッチ適用グループのコンプライアンス履歴を表示するには、次のステップを実行します。
- Cloud Controlで、「エンタープライズ」メニューから、「プロビジョニングとパッチ適用」、「Linuxパッチ適用」の順に選択します。
- 「コンプライアンスのホーム」ページの「関連リンク」セクションで、「コンプライアンス履歴」をクリックします。
- 「コンプライアンス履歴」ページの「グループ」表には、すべてのアクセス可能なLinuxパッチ適用グループと、各グループに対応するホストの数がリストされます。
- 複数のLinuxパッチ適用グループが存在する場合、「コンプライアンス履歴」ページには、その表にリストされた最初のグループの履歴データ(特定期間)が表示されます。
- Linuxパッチ適用グループのコンプライアンス履歴を表示するには、そのグループに対応する「表示」アイコンをクリックします。
ノート:
デフォルトでは、表示されるコンプライアンス・データは過去7日間から取得されたものです。これより長い期間のコンプライアンス履歴を表示するには、「データの表示」ドロップダウン・リストから適切な値を選択します。ページがリフレッシュされ、選択した期間のコンプライアンス・データが表示されます。
非コンプライアンスLinuxパッケージへのパッチ適用
この項では、「Linuxパッチ適用」ホームページから非コンプライアンス・パッケージにパッチを適用する方法について説明します。この項の具体的な内容は次のとおりです。
非コンプライアンスLinuxパッケージにパッチを適用するための前提条件
非コンプライアンス・パッケージにパッチを適用する前に、Linuxパッチ適用グループを作成し、「コンプライアンスの収集」ジョブが正常に終了していることを確認してください。
Linuxパッチ更新セッションのロールバックまたはパッケージの削除
この項では、パッチ更新セッションをロールバックする方法、あるいはパッチ・バージョンが不適切で、バグまたはセキュリティ上の脆弱性があることがわかった場合に、不安定なバージョンを完全にアンインストールする方法について説明します。この項の具体的な内容は次のとおりです。
ノート:
アップグレードのロールバックは、特定のエクステントにサポートされています。OL 6.6からOL 6.7にといったアップグレードを実行すると、他のRPMに依存している多くのRPMがアップグレードされます。RPMへの適用時には、この依存性を追うことができます。ただし、パッチ更新セッションのロールバック時には、この依存性を逆の順序で追う必要があります。この逆操作は、yumではサポートされていません。パッチ更新セッションのロールバックには、ロールバック機能を使用できますが、メジャー・アップグレードを完全にロールバックすることはできません。Linuxパッチ更新セッションのロールバックまたはパッケージの削除の前提条件
パッチ更新セッションのロールバックまたはパッケージの削除の前に、次の前提条件を満たしてください。
-
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にログインしていることを確認します。
パッケージ・チャネルの削除
チャネルを削除するには、次のステップを実行します。
- Cloud Controlで、「設定」メニューから、「プロビジョニングとパッチ適用」、「Linuxパッチ適用」の順に選択します。
- 「パッチ適用設定」ページの「Linuxパッチ適用設定」タブで「RPMリポジトリの管理」をクリックします。
- 「RPMリポジトリの管理」ページで、削除するチャネル名を選択し、「削除」をクリックします。
- RPMリポジトリ・マシンからパッケージを削除する場合、チェック・ボックスを選択してRPMリポジトリ・マシンの資格証明を入力します。「はい」をクリックします。
- RPMリポジトリ・マシンからパッケージを削除することを選択しなかった場合、「パッケージ・チャネル<チャネル名>は正常に削除されました」という確認メッセージが表示されます。パッケージの削除オプションを選択した場合、ジョブが発行されてRPMリポジトリ・マシンからパッケージが削除されます。正常に完了するまで、ジョブを実行します。