更新虛擬機器的作業系統

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 包括支援的核心和使用者空間安全更新的 Ksplice ,而無需重新啟動 VM。Ksplice 預設為停用。使用設定自動 Ksplice 更新中的命令檔來啟用命令檔。

開始之前

套用作業系統套裝程式更新

  1. 使用 SSH 連線至 VM。

  2. 檢查是否有可用的更新:

    sudo dnf check-update

    dnf 命令會列出 VM 上啟用之儲存區域的可用套裝程式更新。複查清單並確認啟用的儲存區域適用於此 VM。

  3. 若要更新所有已安裝的套裝軟體,請執行以下動作:

    sudo dnf upgrade

    複查提議的交易並加以確認以繼續。

    若要更新一個套裝軟體以及任何必要的相依性,請指定套裝軟體名稱。例如,若要更新 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 取代為 ${oci_osmh_yum} (VM 上提供的 dnf 變數)。
    • 從 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 金鑰。部分廠商提供 RPM,可設定儲存庫檔案並安裝或設定 GPG 金鑰。如果供應商提供,請依照廠商說明文件進行安裝和設定。否則,請在個別的 .repo 檔案中新增儲存庫;請勿將其新增至 /etc/yum.repos.d/osmh.repo。將下列範例 URL 取代為廠商的實際儲存庫和金鑰 URL。

網路存取:必須透過 VM 的用戶端網路存取第三方儲存庫。確定第三方儲存區域主機可透過該網路連線,並且已設定必要的路由、DNS 和防火牆存取。如果用戶端網路需要代理伺服器,請將儲存庫的 proxy 選項設定為已核准的用戶端網路代理伺服器。若要直接存取,請在儲存區域項目中設定 proxy=,以停用繼承自 /etc/dnf/dnf.conf 的代理主機以進行 Oracle OS Management Hub 整合。如需詳細資訊,請參閱 DNF 組態參考。

  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

如需詳細資訊,請參閱管理自訂軟體儲存庫。

設定自動 Ksplice 更新

Ksplice 可以套用支援的核心和使用者空間安全更新,無須重新啟動。下列命令檔啟用或停用 VM 上的自動 Ksplice 更新。執行適當的命令檔,然後在出現提示時輸入 kernel、userspace 或 all。預設選項為 kernel。

如果啟用,當 VM 在之後每天啟動一次時,自動 Ksplice 會更新所選元件的檢查並套用可用的更新。這樣可以讓支援的核心與使用者空間套件保持在最新狀態,不需要重新啟動 。

注意:若要讓 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 從屬端。