更新 IoT Edge for Linux on Windows
適用於: IoT Edge 1.5 IoT Edge 1.4
重要
IoT Edge 1.5 LTS 和 IoT Edge 1.4 LTS 為支援的版本。 IoT Edge 1.4 LTS 於 2024 年 11 月 12 日結束生命週期。 如果您是舊版,請參閱更新 IoT Edge。
當 Windows 上的適用於 Linux 的 IoT Edge 應用程式發行新版本時,您想要更新 IoT Edge 裝置以取得最新功能和安全性改善。 本文提供在新版本發行時如何更新 IoT Edge for Linux on Windows 裝置的相關資訊。
針對 IoT Edge for Linux on Windows,IoT Edge 會在 Windows 裝置上託管的 Linux 虛擬機器中執行。 此虛擬機已預安裝IoT Edge,且沒有套件管理員,因此您無法手動更新或變更任何 VM 元件。 系統會改用 Microsoft Update 管理虛擬機器,以自動讓元件保持最新狀態。
EFLOW 虛擬機器的設計理念是要透過 Microsoft Update 可靠地進行更新。 虛擬機器作業系統具備 A/B 更新資料分割配置,可利用這些子集保障每次更新安全,並在更新流程期間發生錯誤時啟用復原至舊版的功能。
每次更新都包含兩個主要元件,這些元件可能會更新為最新版本。 第一個是 EFLOW 虛擬機器和內部元件。 如需 EFLOW 的詳細資訊,請參閱 Azure IoT Edge for Linux on Windows 組合。 這也包括虛擬機器基本作業系統。 EFLOW 虛擬機器是以 Microsoft CBL-Underr 為基礎,每次更新都會提供效能和安全性修正,讓 OS 保有最新的 CVE 修補檔。 在 EFLOW 版本資訊中,版本會指出所使用的 CBL-Mariner 版本,使用者也可以檢查 CBL-Releaser 版本,以取得每個版本已修正的 CVE 清單。
第二個元件是執行 EFLOW 虛擬機器並與其 Interop 所需的 Windows 執行階段元件群組。 虛擬機生命週期和 Interop 是透過不同的元件來管理:WSSDAgent、EFLOWProxy 服務和 PowerShell 模組。
EFLOW 更新是循序的,您必須依序更新至每個版本。 若要取得最新版本,您必須使用最新的可用版本執行全新安裝,或將所有先前的服務更新套用至所需的版本。
重要
使用本文中所述的任何方法,支援從EFLOW 1.4 LTS 升級至 EFLOW 1.5 LTS。 不需要任何特殊步驟,才能從EFLOW 1.4 LTS 升級至 EFLOW 1.5 LTS。
若要尋找 Azure IoT Edge for Linux on Windows 的最新版本,請參閱 EFLOW 發行版本。
使用 Microsoft Update 來更新
若要接收 IoT Edge for Linux on Windows 更新,您應設定 Windows 主機以接收其他 Microsoft 產品的更新。 根據預設,Microsoft EFLOW 安裝期間開啟更新。 如果在 EFLOW 安裝之後需要自訂設定,您可以使用下列步驟來開啟/關閉此選項:
開啟 Windows 主機上的 [設定]。
選取 [更新與安全性]。
選取 [進階選項]。
將 [在更新 Windows 時接收其他 Microsoft 產品的更新] 按鈕切換為 [開啟]。
使用 Windows Server Update Services (WSUS) 來更新
IoT Edge for Linux on Windows 更新支援使用 WSUS 的內部部署更新。 如需 WSUS 的詳細資訊,請參閱裝置管理概觀 - WSUS。
離線手動更新
在網際網路連線遭限制或有限的情況下,您可能會想以離線模式,手動套用 EFLOW 更新。 使用 Microsoft Update 離線機制就有可能完成。 您可以採用下列步驟,手動下載並安裝 IoT Edge for Linux on Windows 更新:
檢查目前的 EFLOW 安裝版本。 開啟 [ 設定] ,然後選取 [應用程式 與>功能]。 搜尋 Azure IoT Edge。
從 EFLOW - Microsoft Update 目錄搜尋並下載必要的更新。
從已下載的 .cab 檔案擷取 AzureIoTEdge.msi。
安裝已擷取的 AzureIoTEdge.msi。
管理 Microsoft Update
如先前所述,Windows 更新上的適用於 Linux 的 IoT Edge 是使用 Microsoft Update 通道提供服務。 若要變更接收 EFLOW 更新,您必須管理Microsoft更新。 下列清單包含自動開啟或關閉Microsoft更新的方式。 如需管理 OS 更新的詳細資訊,請參閱 OS 更新。
CSP 原則 - 使用 Update/AllowMUUpdateService CSP 原則 - 如需 Microsoft Update CSP 原則的詳細資訊,請參閱原則 CSP - MU 更新。
手動管理 Microsoft Update - 如需如何加入至 Microsoft Update 的詳細資訊,請參閱加入至 Microsoft Update。
EFLOW 1.1LTS 與 EFLOW 1.4LTS 之間的移轉
IoT Edge for Linux on Windows 不支援不同版本定型之間的移轉。 如果您想要從 1.1LTS 或 1.4LTS 版本移至連續版本 (CR) 版本或 viceversa,您必須卸載目前的版本並安裝新的所需版本。
EFLOW 1.1LTS 與 EFLOW 1.4LTS 之間的移轉是 EFLOW 1.1LTS (1.1.2212.12122) 的部分更新。 此移轉會處理從 1.1LTS 版本移轉至 1.4LTS 版本的 EFLOW VM,包括下列專案:
- IoT Edge 執行階段
- IoT Edge 設定
- 容器
- 網路和 VM 設定
- 儲存檔案
若要在 EFLOW 1.1LTS 和 EFLOW 1.4LTS 之間進行移轉,請按照下列步驟進行。
取得最新的 Azure EFLOW 1.1LTS (1.1.2212.12122) 更新。 如果您使用 Windows Update,檢查更新以取得最新 EFLOW 更新。
針對自動下載移轉 (需要網際網路連線),請略過此步驟。 如果 EFLOW VM 有限制/沒有網際網路存取,請在開始移轉前下載必要檔案。
開啟提升權限的 PowerShell 工作階段
開始 EFLOW 移轉
注意
您可以使用包含
Start-EflowMigration
cmdlet 的-autoConfirm
旗標來移轉單一 cmdlet。 如果指定Confirm-EflowMigration
不需要呼叫 ,即可繼續 1.4 移轉。- 如果您使用自動下載移轉選項,請執行下列 Cmdlet
Start-EflowMigration
- 如果您在步驟 2 下載 MSI,請使用下載檔案來套用移轉
Start-EflowMigration -standaloneMsiPath "<path-to-folder>\AzureIoTEdge_LTS_1.4.2.12122_X64.msi"
- 如果您使用自動下載移轉選項,請執行下列 Cmdlet
確認 EFLOW 移轉
- 如果您使用自動下載移轉選項,請執行下列 Cmdlet
Confirm-EflowMigration
- 如果您在步驟 2 下載 MSI,請使用下載檔案來套用移轉
Confirm-EflowMigration -updateMsiPath "<path-to-folder>\AzureIoTEdge_LTS_Update_1.4.2.12122_X64.msi"
- 如果您使用自動下載移轉選項,請執行下列 Cmdlet
警告
如果移轉失敗,EFLOW VM 將會還原至原始的 1.1LTS 版本。
如果您要取消移轉或手動將 EFLOW VM 還原至先前的狀態,您可以使用下列 cmdlets Start-EflowMigration
,然後使用 Restore-EflowPriorToMigration
。
如需詳細資訊,請使用 Get-Help <cmdlet> -full
命令以查看 Start-EflowMigration
、Confirm-EflowMigration
和 Restore-EflowPriorToMigration
cmdlet 文件。