更新虛擬機器的作業系統
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 更新中的命令檔來啟用命令檔。
開始之前
- 規劃維護時段。部分套裝程式更新需要重新啟動,而且可能會中斷 VM 上執行的應用程式或資料庫。
- 若為雙節點 VM 叢集,請一次更新一個 VM。請先檢查叢集和資料庫狀況,再更新其他 VM。
- VM 設定為透過系統和 CPS 網路存取 Oracle OS Management Hub
yum儲存區域。如需網路需求的資訊,請參閱 Network Setup 。存取這些儲存區域不需要其他組態。 - 如果您設定第三方儲存區域,請確認 VM 可以透過用戶端網路進行存取。
- 以具備
sudo權限的opc使用者身分連線 VM。
套用作業系統套裝程式更新
-
使用 SSH 連線至 VM。
-
檢查是否有可用的更新:
sudo dnf check-updatednf命令會列出 VM 上啟用之儲存區域的可用套裝程式更新。複查清單並確認啟用的儲存區域適用於此 VM。 -
若要更新所有已安裝的套裝軟體,請執行以下動作:
sudo dnf upgrade複查提議的交易並加以確認以繼續。
若要更新一個套裝軟體以及任何必要的相依性,請指定套裝軟體名稱。例如,若要更新
bash套裝軟體,請執行:sudo dnf upgrade bash如需有關
dnf命令的詳細資訊,請參閱 DNF 命令參照和更新 Oracle Linux 上的軟體。 -
如果更新了許多套裝軟體,Oracle 建議重新啟動 VM,讓核心套裝軟體以更新的版本執行。若要檢查是否需要重新啟動,請執行下列動作:
sudo dnf needs-restarting -r -
如果需要重新啟動,請在計畫性維護時段期間重新啟動 VM,然後再確認其應用程式和資料庫可供使用。
設定其他 Oracle Linux 儲存區域
Oracle OS Management Hub (OSMH) 可管理 /etc/yum.repos.d/osmh.repo 中的儲存區域組態。請勿將儲存庫新增至此檔案。在個別的儲存區域檔案中新增任何其他儲存區域。
-
在 Oracle Linux Yum Server 上,取得 VM Oracle Linux 發行版本的儲存庫 URL。
-
轉換 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/ - 將
-
建立或編輯個別的儲存區域檔案 (例如
/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 -
重新整理儲存區域描述資料並驗證儲存區域:
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 組態參考。
-
建立儲存區域檔案 (例如
/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 金鑰 。
-
重新整理儲存區域描述資料並驗證儲存區域:
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 從屬端。