本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 AL2023 上更新 Linux 核心
重要
從 2026 年 8 月 17 日開始,AL2023 的預設核心將從 6.1 變更為 6.18。從 al2023-ami-kernel-default AMIs 啟動的新執行個體將啟動核心 6.18。已執行的執行個體不受影響,且會保留其開機時所使用的核心。若要保留特定核心版本,請從版本特定的 AMIs 啟動,例如 al2023-ami-kernel-6.1。
對於 FIPS 工作負載,請注意,預設核心不一定是 FIPS 驗證的核心。如果您需要 FIPS 模式,請參閱 AWS 網站上的 AL2023 FIPS 常見問答集
AL2023 上的 Linux 核心版本
AL2023 定期包含以 Linux 核心長期支援 (LTS) 版本為基礎的新核心版本。
AL2023 最初於 2023 年 3 月發行,採用核心 6.1。
2025 年 4 月,AL2023 新增對 Linux 核心 6.12 的支援。此核心新增了新功能,包括 EEVDF 排程、FUSE 傳遞 I/O 支援、新的 Futex API,以及 eBPF 的改善。核心 6.12 也允許使用者空間程式在執行階段使用使用者空間陰影堆疊和記憶體密封來保護自己。
2026 年 3 月,AL2023 新增對 Linux 核心 6.18 的支援。更新的核心 6.18 可進一步改善處理器支援、虛擬化、安全性和效能。值得注意的功能包括改善跨架構的 IOMMU 功能,以及用於管理 CPU 漏洞緩解的攻擊向量控制。效能增強是透過更快速的 FSCRYPT 操作、記憶體管理改進,以及將 Sheaves 作為新的選擇加入、每個 CPU 陣列型快取層進行加密最佳化。
將 AL2023 更新至較新的核心版本
AL2023 現在每年都會將預設核心更新為最新版本。al2023-ami-kernel-default AMIs 將移至最新的 LTS 核心。新啟動的執行個體會自動使用新的核心版本,這是隨時掌握最新安全性修正和效能改善的最簡單方法。
如果您偏好繼續使用較早的核心版本或選擇特定版本,您可以選取預先安裝所需核心的 AMI 或升級現有的 AL2023 EC2 執行個體,以核心 6.1、6.12 或 6.18 執行 AL2023。如需 AL2023 核心支援時段和範圍的詳細資訊,請參閱 AL2023 核心生命週期。
使用特定核心版本執行 AL2023 AMI
您可以選擇使用透過 AWS 主控台或查詢 SSM 以取得特定參數預先安裝的特定核心來執行 AL2023 AMI。要查詢的 SSM 金鑰以 開頭,/aws/service/ami-amazon-linux-latest/後面接著其中一個
對於核心 6.18
-
al2023-ami-kernel-6.18-arm64適用於 arm64 架構 -
al2023-ami-minimal-kernel-6.18-arm64適用於 arm64 架構 (最小 AMI) -
al2023-ami-kernel-6.18-x86_64適用於 x86_64 架構 -
al2023-ami-minimal-kernel-6.18-x86_64適用於 x86_64 架構 (最小 AMI)
對於核心 6.12
-
al2023-ami-kernel-6.12-arm64適用於 arm64 架構 -
al2023-ami-minimal-kernel-6.12-arm64適用於 arm64 架構 (最小 AMI) -
al2023-ami-kernel-6.12-x86_64適用於 x86_64 架構 -
al2023-ami-minimal-kernel-6.12-x86_64適用於 x86_64 架構 (最小 AMI)
對於核心 6.1
-
al2023-ami-kernel-6.1-arm64適用於 arm64 架構 -
al2023-ami-minimal-kernel-6.1-arm64適用於 arm64 架構 (最小 AMI) -
al2023-ami-kernel-6.1-x86_64適用於 x86_64 架構 -
al2023-ami-minimal-kernel-6.1-x86_64適用於 x86_64 架構 (最小 AMI)
如需選取 AL2023 AMIs的詳細資訊使用 SSM 參數 和 啟動 AL2023 AWS CLI,請參閱 。
將 AL2023 執行個體更新為較新的核心
您可以透過下列步驟,將執行中的 AL2023 執行個體從核心 6.1 或 6.12 就地升級至核心 6.18:
偵測目前的核心並設定目標版本:
# Automatically detect current kernel version BEFORE upgrade$CURRENT_KERNEL=$(uname -r)$SOURCE_VERSION=""$if [[ $CURRENT_KERNEL == *"6.12"* ]]; thenSOURCE_VERSION="6.12"elseSOURCE_VERSION=""fi# Save the source version to a persistent location for use after reboot$echo "${SOURCE_VERSION}" | sudo tee /var/lib/source_kernel_version > /dev/null# Set your target version$TARGET_VERSION="6.18"$echo "Current kernel: ${SOURCE_VERSION:-6.1}"$echo "Upgrading to kernel ${TARGET_VERSION}"安裝目標核心套件:
$sudo dnf install -y kernel${TARGET_VERSION}取得目標核心套件的最新版本:
$version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1)將新核心設為預設核心:
$sudo grubby --set-default "/boot/vmlinuz-$version"重新啟動您的系統:
$sudo reboot解除安裝先前的核心:
# Read the source kernel version from the saved file$SOURCE_VERSION=$(sudo cat /var/lib/source_kernel_version)# Uninstall the source kernel$sudo dnf remove -y kernel${SOURCE_VERSION}將額外的核心套件取代為其目標核心對等項目:
# Set your target version$TARGET_VERSION="6.18"$for pkg in bpftool kernel-debuginfo kernel-debuginfo-common kernel-headers \kernel-modules-extra-common perf python3-perf; docase "$pkg" inkernel-*)src="kernel${SOURCE_VERSION}${pkg#kernel}"tgt="kernel${TARGET_VERSION}${pkg#kernel}" ;;*)src="${pkg}${SOURCE_VERSION}"tgt="${pkg}${TARGET_VERSION}" ;;esacrpm -q "$src" && sudo dnf -y swap "$src" "$tgt"done# kernel-tools and kernel-tools-devel must be removed and reinstalled# together due to version dependency requirements$if rpm -q "kernel${SOURCE_VERSION}-tools"; thensudo dnf -y remove kernel${SOURCE_VERSION}-tools kernel${SOURCE_VERSION}-tools-develsudo dnf -y install kernel${TARGET_VERSION}-tools kernel${TARGET_VERSION}-tools-develfi(選用) 解除安裝先前核心版本的 kernel-devel:
$rpm -q kernel${SOURCE_VERSION}-devel && sudo dnf remove -y kernel${SOURCE_VERSION}-devel
降級至較舊的核心版本
如果您在任何時候需要降級至較早的核心版本,請使用下列步驟:
偵測目前的核心並設定目標版本:
# Automatically detect current kernel version BEFORE downgrade$CURRENT_KERNEL=$(uname -r)$SOURCE_VERSION=""$if [[ $CURRENT_KERNEL == *"6.12"* ]]; thenSOURCE_VERSION="6.12"elif [[ $CURRENT_KERNEL == *"6.18"* ]]; thenSOURCE_VERSION="6.18"fi# Save the source version to a persistent location for use after reboot$echo "${SOURCE_VERSION}" | sudo tee /var/lib/source_kernel_version > /dev/null# Set your target version (change this to your desired kernel)# Use "" for kernel 6.1, "6.12" for kernel 6.12$TARGET_VERSION=""$echo "Downgrading from kernel ${SOURCE_VERSION:-6.1} to kernel ${TARGET_VERSION:-6.1}"將額外的核心套件取代為其目標核心對等項目:
$for pkg in bpftool kernel-debuginfo kernel-debuginfo-common kernel-headers \kernel-modules-extra-common python3-perf; docase "$pkg" inkernel-*)src="kernel${SOURCE_VERSION}${pkg#kernel}"tgt="kernel${TARGET_VERSION}${pkg#kernel}" ;;*)src="${pkg}${SOURCE_VERSION}"tgt="${pkg}${TARGET_VERSION}" ;;esacrpm -q "$src" && sudo dnf -y swap "$src" "$tgt"done# perf requires --allowerasing due to libtraceevent conflicts$rpm -q "perf${SOURCE_VERSION}" && sudo dnf -y swap "perf${SOURCE_VERSION}" "perf${TARGET_VERSION}" --allowerasing# kernel-tools and kernel-tools-devel must be removed and reinstalled# together due to version dependency requirements$if rpm -q "kernel${SOURCE_VERSION}-tools"; thensudo dnf -y remove kernel${SOURCE_VERSION}-tools kernel${SOURCE_VERSION}-tools-develsudo dnf -y install kernel${TARGET_VERSION}-tools kernel${TARGET_VERSION}-tools-develfi安裝目標核心套件:
$sudo dnf install -y kernel${TARGET_VERSION}取得目標核心套件的最新版本:
$version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1)將目標核心設為預設核心:
$sudo grubby --set-default "/boot/vmlinuz-$version"重新啟動您的系統:
$sudo reboot解除安裝來源核心:
# Read the source kernel version from the saved file$SOURCE_VERSION=$(sudo cat /var/lib/source_kernel_version)# Uninstall the source kernel$sudo dnf remove -y kernel${SOURCE_VERSION}
AL2023 核心 - 常見問答集
1. 核心更新後是否需要重新啟動?
每個對執行中核心的變更都需要重新啟動。
2. 如何讓多個執行個體的核心up-to-date?
Amazon Linux 不提供管理執行個體機群的設施。我們建議您使用 AWS Systems Manager
3. 如何檢查目前執行的核心版本?
在 AL2023 執行個體上執行此命令:
$uname -r
4. AL2023 建議我使用哪個核心?
我們建議您升級至最新的 AL2023 核心 6.18,但所有其他 AL2023 核心仍受支援。升級前測試您的工作負載。
5. 我現有的應用程式是否適用於任何 AL2023 核心?
是。AL2023 支援具有相同使用者空間套件和相容性的所有可用核心 (6.1、6.12 和 6.18)。建議您先測試工作負載,再切換到較新的核心。
6. 如何為核心 6.12 或 6.18 安裝核心標頭、開發套件和額外模組?
請執行:
$version=$(uname -r | grep -oP '^\d+\.\d+')$sudo dnf install -y kernel${version}-modules-extra-$(uname -r) kernel${version}-headers-$(uname -r) kernel${version}-devel-$(uname -r)
7. AL2023 核心將支援多久?
根據定義的 AL2023 核心生命週期,所有支援的核心 (6.1、6.12 和 6.18) 都會繼續接收安全性和維護更新。
8. 預設核心變更時會發生什麼情況?
al2023-ami-kernel-default-* SSM 參數會解析為執行最新核心版本的 AMI。已執行的執行個體不會受到影響;只有從預設 AMI 啟動的新執行個體會啟動新的核心。若要保留在特定的核心版本上,請使用版本特定的 SSM 參數,例如 ,al2023-ami-kernel-6.1-*而非預設值。如需詳細資訊,請參閱 使用 SSM 參數 和 啟動 AL2023 AWS CLI。
9. 如果我需要 FIPS 驗證密碼編譯,應該使用哪個核心?
目前,只有核心 6.1 中的密碼編譯已完成 FIPS 140-3 驗證 (NIST 密碼編譯模組驗證計劃網站上的憑證 #5369