仮想マシンのオペレーティング・システムの更新

Oracle Data Infrastructure Cloud@Customer上の仮想マシンには、Oracle OS Management Hubを介してdnfが構成されています。この記事では、dnfを使用してVM内からOracle Linuxパッケージ更新を適用する方法について説明します。この手順では、Oracle Grid InfrastructureまたはOracle AI Databaseソフトウェアは更新されません。これらの更新については、VMクラスタのGrid Infrastructureの更新およびデータベース・ホームの更新を参照してください。

Oracle Data Infrastructure Cloud@Customer上のVMには、VMを再起動せずに、サポートされているカーネルおよびユーザー領域のセキュリティ更新用のKspliceが含まれています。Kspliceはデフォルトで無効になっています。有効にするには、自動Ksplice更新の構成のスクリプトを使用します。

開始する前に

オペレーティング・システム・パッケージ更新の適用

  1. SSHを使用してVMに接続します。

  2. 利用可能な更新を確認する:

    sudo dnf check-update

    dnfコマンドは、VMで有効になっているリポジトリから使用可能なパッケージ更新をリストします。リストを確認し、有効なリポジトリがこのVMに適していることを確認します。

  3. 更新が使用可能なすべてのインストール済パッケージを更新するには、次を実行します:

    sudo dnf upgrade

    提案されたトランザクションをレビューし、続行することを確認します。

    1つのパッケージと必要な依存関係を更新するには、パッケージ名を指定します。たとえば、bashパッケージを更新するには、次を実行します:

    sudo dnf upgrade bash

    dnfコマンドの詳細は、DNFコマンド・リファレンスおよびOracle Linuxでのソフトウェアの更新を参照してください。

  4. 多くのパッケージが更新された場合、Oracleでは、更新されたバージョンでコア・パッケージが実行されるようにVMを再起動することをお薦めします。再起動が必要かどうかを確認するには、次を実行します。

    sudo dnf needs-restarting -r
  5. 再起動が必要な場合は、計画メンテナンス・ウィンドウ中にVMを再起動し、そのアプリケーションおよびデータベースが後から使用可能であることを確認します。

追加のOracle Linuxリポジトリの構成

Oracle OS Management Hub (OSMH)は、/etc/yum.repos.d/osmh.repoのリポジトリ構成を管理します。このファイルにリポジトリを追加しないでください。別のリポジトリ・ファイルにリポジトリを追加します。

  1. Oracle Linux Yum Serverで、VMのOracle LinuxリリースのリポジトリURLを取得します。

  2. VMで使用するURLを変換します。

    • yum.oracle.comを、VMで提供されているdnf変数${oci_osmh_yum}に置き換えます。
    • URLの末尾からindex.htmlを削除します。
    • リポジトリ・パスのリストアは変更しません。

    たとえば、次の形式のURL:

    https://yum.oracle.com/repo/OracleLinux/OL8/<repository>/x86_64/index.html

    次のようになります。

    https://${oci_osmh_yum}/repo/OracleLinux/OL8/<repository>/x86_64/
  3. /etc/yum.repos.d/additional.repoなどの個別のリポジトリ・ファイルを作成または編集し、一意の名前のリポジトリ・エントリを追加します。たとえば:

    [additional_repo]
    name=<repository_name>
    baseurl=https://${oci_osmh_yum}/repo/OracleLinux/OL8/<repository>/x86_64/
    sslverify=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
    gpgcheck=1
    enabled=1
  4. リポジトリ・メタデータをリフレッシュし、リポジトリを確認します。

    sudo dnf --refresh repoinfo additional_repo

サード・パーティ・リポジトリの構成

サード・パーティのソフトウェア・ベンダーが提供するリポジトリURLおよびGPGキーを使用します。一部のベンダーは、リポジトリ・ファイルを構成し、GPGキーをインストールまたは構成するRPMを提供します。ベンダーが提供する場合は、ベンダーのドキュメントに従ってインストールし、構成します。それ以外の場合は、リポジトリを別の.repoファイルに追加し、/etc/yum.repos.d/osmh.repoに追加しないでください。次のサンプルURLを、ベンダーの実際のリポジトリおよびキーURLに置き換えます。

ネットワーク・アクセス:サード・パーティのリポジトリには、VMのクライアント・ネットワークを介してアクセスする必要があります。サード・パーティのリポジトリ・ホストがそのネットワークを介してアクセス可能であり、必要なルート、DNSおよびファイアウォール・アクセスが構成されていることを確認します。クライアントネットワークにプロキシが必要な場合は、リポジトリの proxyオプションを承認済みのクライアントネットワークプロキシに設定します。直接アクセスするには、リポジトリ・エントリでproxy=を設定して、Oracle OS Management Hub統合のために/etc/dnf/dnf.confから継承されたプロキシを無効にします。詳細は、DNF Configuration Referenceを参照してください。

  1. /etc/yum.repos.d/third-party.repoなどのリポジトリ・ファイルを作成し、一意の名前のリポジトリ・エントリを追加します。

    [third_party_example]
    name=Example third-party repository
    baseurl=https://repo.example.com/oraclelinux/8/$basearch/
    proxy=
    enabled=1
    gpgcheck=1
    gpgkey=https://repo.example.com/keys/RPM-GPG-KEY-example
    sslverify=1

    パッケージ署名チェックを有効のままにし、ベンダーによって公開されたGPGキーを使用します。

  2. リポジトリ・メタデータをリフレッシュし、リポジトリを確認します。

    sudo dnf --refresh repoinfo third_party_example

詳細については、Managing custom software repositoriesを参照してください。

自動Ksplice更新の構成

Kspliceでは、再起動せずに、サポートされているカーネルおよびユーザー領域のセキュリティ更新を適用できます。次のスクリプトは、VMでの自動Ksplice更新を有効または無効にします。適切なスクリプトを実行し、プロンプトが表示されたらkernel、userspaceまたはallを入力します。デフォルトの選択はkernelです。

有効にすると、自動Ksplice更新によって、VMの起動時およびその後毎日1回、選択したコンポーネントの使用可能な更新がチェックされ、適用されます。これにより、再起動しなくても、サポートされているカーネルおよびユーザー空間のパッケージが最新の状態に保たれます。

ノート: Kspliceユーザー領域の更新が正常に適用されるようにするには、まずKsplice対応のglibcおよびopensslパッケージをインストールします。次のコマンドを実行して、有効なリポジトリからシステム・パッケージを更新します:

sudo dnf update glibc openssl

自動アップデートを有効にする:

sudo /opt/oracle/datainfracc/utils/enable_automatic_ksplice_updates.sh

自動更新を無効にする:

sudo /opt/oracle/datainfracc/utils/disable_automatic_ksplice_updates.sh

詳細は、オフライン・モード用のKsplice拡張クライアントの構成およびオフライン・モード用のKsplice Uptrackサーバーの構成を参照してください。