本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
比較 AL2 與 AL2023
下列主題說明 AL2 與 AL2023 之間的主要差異。
主題
- 新增、升級和移除的套件
- 支援各個版本
- 命名和版本控制變更
- 最佳化
- Python 2.7 已替換為 Python 3
- 安全性更新
- 穩定性的確定性升級
- 源自多個上游
- AMI 根檔案系統和預設的 Amazon EBS 磁碟區類型
- 網路系統服務
- 整合控制群組階層 (cgroup v2)
- 任務排程
- glibc、gcc 和 binutils 的套件
- 套件管理工具
- 日誌系統
- curl 和 libcurl 的套件變更
- GNU Privacy Guard (GNUPG)
- Amazon Corretto 作為預設 JVM
- AWS CLI V2
- UEFI Preferred
- SSH 伺服器預設組態變更
- Extra Packages for Enterprise Linux (EPEL)
- 使用 cloud-init
- 圖形桌面支援
- 編譯器三元組
- 32 位元 x86 (i686) 套件
- lsb_release 和 system-lsb-core 套件
- AL2023 核心變更自 AL2
- 比較 Amazon Linux 2 與 Amazon 2023 AMI 安裝的套件
- 比較 Amazon Linux 2 與 Amazon 2023 最小 AMI 安裝的套件
- 比較 Amazon Linux 2 與 Amazon 2023 基本容器映像安裝的套件
新增、升級和移除的套件
AL2023 包含數千個可供使用的軟體套件。如需 AL2023 中新增、升級或移除的所有套件完整清單 (與舊版 Amazon Linux 相比),請參閱 AL2023 中的 Package 件變更。
要請求在 AL2023 中添加或更改軟件包,請在亞馬遜-linux-2023 軟件庫
支援各個版本
對於 AL2023,我們提供五年支援。
如需詳細資訊,請參閱 發行節奏。
命名和版本控制變更
AL2023 支援 AL2 支援平台識別的相同機制。AL2023 還導入用於平台識別的新檔案。
如需詳細資訊,請參閱 命名和版本控制。
最佳化
AL2023 可最佳化開機時間,以縮短從執行個體啟動到執行客戶工作負載的時間。這些最佳化涵蓋 Amazon EC2 執行個體核心組態、cloud-init
組態,以及作業系統套件內建的功能,例如 kmod
和 systemd
。
如需關於最佳化的詳細資訊,請參閱 效能與操作最佳化。
Python 2.7 已替換為 Python 3
AL2 為 Python 2.7 提供支援和安全修補直到 2025 年 6 月為止,這包含在我們對 AL2 核心套件的長期支援 (LTS) 承諾中。這種支持超出了 2020 年一月的 Python 2.7 end-of-life 的上游 Python 社區聲明。
AL2 使用的yum
軟件包管理器,它有一個硬依賴於 Python 2.7。在 AL2023 中,dnf
套件管理器已遷移到 Python 3,不再需要 Python 2.7。AL2023 已經完全轉移到 Python 3。
注意
AL2023 已移除 Python 2.7,任何需要 Python 的作業系統組件都編寫為配合 Python 3 運作。若要繼續使用由 Amazon Linux 提供並支援的 Python 版本,請將 Python 2 程式碼轉換為 Python 3。
如需有關 Amazon Linux 的 Python 詳細資訊,請參閱 AL2023 中的 Python。
安全性更新
SELinux
預設情況下,適用於 AL2023 的 Security Enhanced Linux (SELinux) 是 enabled
且會設為 permissive
模式。在 permissive
模式中,會記錄權限遭拒的情形,但不會強制執行。
SELinux 是 Amazon Linux 核心的安全功能,在 AL2 是 disabled
。SELinux 是核心功能和公用程式的集合,為核心的主要子系統提供強制存取控制 (MAC) 架構。
如需詳細資訊,請參閱 設定 AL2023 的環境管理系統模式。
如需有關 SELinux 儲存庫、工具和策略的詳細資訊,請參閱 SELinux Notebook
OpenSSL 3
AL2023 具有 Open Secure Sockets Layer version 3 (OpenSSL 3) 加密工具組的功能。AL2023 支援 TLS 1.3 和 TLS 1.2 網路通訊協定。
AL2 預設隨附 OpenSSL 1.0.2。您可以針對 OpenSSL 1.1.1 建置應用程式。
如需有關 OpenSSL 的詳細資訊,請參閱 OpenSSL 遷移指南
如需詳細資訊,請參閱 安全更新和功能。
IMDSV2
根據預設,任何使用 AL2023 AMI 啟動的執行個體都IMDSv2只需要,而您的預設躍點限制將設定為 2,以支援容器化工作負載支援。這是透過將 imds-support
參數設為 v2.0
來完成。如需詳細資訊,請參閱 Amazon EC2 使用者指南中的設定 AMI。
注意
工作階段記號的有效時間介於 1 秒到 6 小時之間。用來導向 IMDSv2 查詢的 API 要求的位址如下:
-
IPv4:169.254.169.254
-
IPv6:fd00:ec2::254
您可以手動覆寫這些設定,並IMDSv1使用「執行個體中繼資料」選項啟動屬性 您也可以使用 IAM 控制來強制執行不同的IMDS設定。如需設定和使用執行個體中繼資料服務的詳細資訊,請參閱 Amazon EC2 使用者指南中的使用IMDSv2、設定新執行個體的執行個體中繼資料選項和修改現有執行個體的執行個體中繼資料選項。
移除 log4j 熱修補 (log4j-cve-2021-44228-hotpatch
)
注意
AL2023 未隨附 log4j-cve-2021-44228-hotpatch
套件。
為了響應 CVE-2021-44228
該熱修補是一種緩解措施,讓您有時間修補 log4j
。AL2023 的第一個正式上市 (GA) 版本是在 CVE-2021-44228
在 Amazon Linux 上執行自己的log4j
版本的使用者應確保已更新為不受 CVE-2021-44228
AL2023 提供有關 更新 AL2023 的指引,讓您隨時掌握最新的安全修補。安全建議發佈在 Amazon Linux 安全中心
穩定性的確定性升級
通過版本化存儲庫功能進行確定性升級,默認情況下,每個 AL2023 AMI 都會鎖定到特定的存儲庫版本。您可以使用決定性升級,在套件版本和更新之間取得更高的一致性。每個主要或次要版本都包含特定的儲存庫版本。
AL2023 的新功能會預設啟用確定性升級。與 AL2 和其他舊版本使用的手動增量鎖定方法相比,這是一大改進。
如需詳細資訊,請參閱 透過 AL2023 上的版本化儲存庫使用確定性升級。
源自多個上游
AL2023 以 RPM 為基礎,並包含源自多個版本的 Fedora 及其他發行版本的元件,例如 CentOS 9 Stream。Amazon Linux 核心源自直接從 kernel.org 發行的長期支援 (LTS) 發行版,並從其他發行版中獨立選出。
如需詳細資訊,請參閱 與 Fedora 的關係。
AMI 根檔案系統和預設的 Amazon EBS 磁碟區類型
AL2023 AMI 和 AL2 的根檔案系統都使用 XFS 檔案系統。對於 AL2023,根裝置檔案系統的 mkfs
選項已針對 Amazon EC2 進一步最佳化。AL2023 也支援許多其他檔案系統,您可以在其他磁碟區使用這些檔案系統,以符合您的特定需求。
AL2023 AMI 預設使用 Amazon EBS gp3
磁碟區,而 AL2 AMI 預設使用 Amazon EBS gp2
磁碟區。您可以在啟動執行個體時變更磁碟區類型。
如需 Amazon EBS 磁碟區類型的詳細資訊,請參閱 Amazon EBS 一般用途磁碟區
如需有關啟動 Amazon EC2 執行個體的詳細資訊,請參閱 Amazon EC2 使用者指南中的啟動執行個體。
網路系統服務
systemd-networkd
系統服務管理 AL2023 中的網路介面。這是與 AL2 不同的變更,且後者使用 ISC dhclient 或 dhclient
。
如需詳細資訊,請參閱 網路服務。
整合控制群組階層 (cgroup v2)
控制群組 (cgroup) 是 Linux 核心功能,用於階層式整理處理程序並為其分配系統資源。控制組廣泛用於執行容器執行期,並由 systemd
執行。
AL2 支持cgroupv1和 AL2023 支持cgroupv2。如果執行容器化工作負載 (例如 使用以 AL2023 為基礎的 Amazon ECS AMI 託管容器化工作負載 時),這就值得注意。
雖然 AL2023 仍然包含可讓系統執行使用的程式碼cgroupv1,但這不是建議或受支援的組態,而且會在 future 的 Amazon Linux 主要版本中完全移除。
低階 Linux 核心介面
容器之外的一個常見使用案例是建立對其可使用的系統資源有限制的systemd
單位。如需詳細資訊,請參閱系統資源控制。
任務排程
cronie
套件預設安裝在 AL2 AMI 上,為排誠定期任務的傳統 crontab
方式提供支援。在 AL2023 中,cronie
默認情況下不包括在內。因此,依預crontab
設不再提供支援。
您可以選擇性安裝 cronie
套件以使用傳統 cron
工作。由於 systemd
提供的新增功能,建議您遷移至 systemd
計時器。
glibc、gcc 和 binutils 的套件
AL2023 包含許多與 AL2 相同的核心套件。
我們已更新以下三個 AL2023 核心工具鏈套件。
套件名稱 | AL2 | AL2023 |
---|---|---|
glibc |
2.26 |
2.34 |
gcc |
7.3 |
11.3 |
binutils |
2.29 |
2.39 |
如需詳細資訊,請參閱 核心工具鏈套件 glibc、gcc、binutils。
套件管理工具
AL2023 的預設軟體套件管理工具為 DNF。DNF 是 AL2 套件管理工具 YUM 的後續工具。
如需詳細資訊,請參閱 套件管理工具。
日誌系統
在 AL2023 中,日誌系統套件已從 AL2 變更。AL2023 預設不會安裝 rsyslog
,因此預設無法在 AL2 中使用文字型日誌檔,例如 /var/log/messages
。AL2023 的預設組態為 systemd-journal
,並可使用 journalctl
檢查。雖然 rsyslog
是 AL2023 的選用套件,但建議使用基於 systemd
的新 journalctl
介面和相關套件。如需詳細資訊,請參閱 journalctl
curl
和 libcurl
的套件變更
AL2023 將 curl
和 libcurl
套件的常用通訊協定和功能區分為 curl-minimal
和 libcurl-minimal
。這可讓大多數使用者減少磁碟、記憶體和相依性佔用量,也是 AL2023 AMI 和容器的預設套件。
如果需要 curl
的完整功能 (例如 gopher://
的支援),請執行下列命令來安裝 curl-full
和 libcurl-full
套件。
$
dnf swap libcurl-minimal libcurl-full
$
dnf swap curl-minimal curl-full
GNU Privacy Guard (GNUPG)
AL2023 將 gnupg2
套件的最小和完整功能區分 gnupg2-minimal
和 gnupg2-full
套件。預設僅安裝 gnupg2-minimal
套件。此套件提供在 rpm
套件中驗證數位簽章所需的最小功能。
如需 gnupg2
的更多功能,例如從金鑰伺服器下載金鑰,請確定已安裝 gnupg2-full
套件。執行下列命令以交換 gnupg2-minimal
和 gnupg2-full
。
$
dnf swap gnupg2-minimal gnupg2-full
Amazon Corretto 作為預設 JVM
AL2023 隨附 Amazon Corretto
如果您要從 AL2 遷移,則可以從 AL2 上的等效OpenJDK
版本平滑過渡到. Amazon Corretto
AWS CLI V2
AL2023 隨附第 2 AWS CLI 版,而 AL2 則隨附的第 1 版。 AWS CLI
UEFI Preferred
預設情況下,在支援 UEFI 韌體的執行個體類型上使用 AL2023 AMI 啟動的任何執行個體都會在 UEFI 模式下啟動。這是透過將 Boot Mode AMI 參數設為 uefi-preferred
來完成。如需詳細資訊,請參閱 Amazon EC2 使用者指南中的開機模式。
SSH 伺服器預設組態變更
對於 AL2023 AMI,我們已變更隨發行版本產生的 sshd
主機金鑰類型。我們也已捨棄某些舊金鑰類型,以免在啟動時產生這些金鑰類型。使用者端必須支援 rsa-sha2-256
和 rsa-sha2-512
通訊協定,或是支援 ssh-ed25519
使用 ed25519
金鑰。ssh-rsa
簽章會預設停用。
此外,預設 sshd_config
檔案中的 AL2023 組態設定包含 UseDNS=no
。這項新設定代表 DNS 減損不太可能防止您與執行個體建立 ssh
工作階段。此項取捨是 authorized_keys
檔案中的 from=
行項目將無法解析。由於 hostname.domain
,hostname.domain
sshd
不再嘗試解析 DNS 名稱,因此必須將每個逗號分隔
值轉換為對應的 IP 地址。hostname.domain
如需詳細資訊,請參閱 預設 SSH 伺服器組態。
Extra Packages for Enterprise Linux (EPEL)
Extra Packages for Enterprise Linux (EPEL) 是 Fedora 社群的專案,目的是為企業級 Linux 作業系統建立大量套件。該項目主要生產 RHEL 和 CentOS 套件。AL2 與 CentOS 7 高度相容。因此,許多 EPEL7 套件都在 AL2 上運作。但是,AL2023 不支援 EPEL 或 EPEL 形式的儲存庫。
使用 cloud-init
在 AL2023 中,cloud-init 會管理套件儲存庫。在舊版的 Amazon Linux 中,cloud-init 預設安裝安全更新。這不是 AL2023 的預設值。用於在啟動時進行更新 releasever
的新確定性升級功能說明 AL2023 在啟動時啟用套件更新的方法。如需詳細資訊,請參閱 在 AL2023 中管理套件和作業系統更新 及 穩定性的確定性升級。
使用 AL2023 時,您可以將 cloud-init 與 SELinux 搭配使用。如需詳細資訊,請參閱 使用 cloud-init 來啟用 enforcing 模式。
Cloud-init 使用 HTTP(S) 以從遠端位置載入 cloud-init 的組態內容。在舊版本中,當遠端資源無法使用時,Amazon Linux 不會提醒您。在 AL2023 中,不可用的遠端資源會產生嚴重錯誤,並且 cloud-init 執行失敗。AL2 的這種行為變更提供更安全的「失敗關閉」預設行為。
如需詳細資訊,請參閱 自訂 cloud-init 和 cloud-init 文件
圖形桌面支援
AL2023 以雲端為中心,並針對使用 Amazon EC2 進行最佳化,目前不包含圖形或桌面環境。若要提供意見反應 GitHub,請參閱 https://github.com/
編譯器三元組
AL2023針對 GCC 和 LLVM
設定編譯器三元組,以指出 amazon
是供應商。
因此,AL2 aarch64-redhat-linux-gcc
在 AL2023 上變成 aarch64-amazon-linux-gcc
。
對於大多數用戶來說,這應該是完全透明的,並且可能只會影響那些在 AL2023 上構建編譯器的用戶。
32 位元 x86 (i686) 套件
作為 AL1 的 2014.09 版本的
如果您需要在 AL2023 上執行 32 位元二進位檔案,則可在基於 AL2023 的 AL2 容器內部使用 AL2 的 32 位元使用者空間。
lsb_release
和 system-lsb-core
套件
在過去,某些軟體會調用 lsb_release
命令 (在 AL2 中由套件 system-lsb-core
提供) 以取得關於執行軟體所用的 Linux 發行版資訊。Linux 標準規範 (LSB) 已導入此命令,且 Linux 發行版已加以採用。Linux 發行版已發展為使用更簡單的標準,以將此資訊保留在 /etc/os-release
和其他相關檔案內。
os-release
標準源自 systemd
。如需詳細資訊,請參閱系統作業系統版本文件
AL2023 不隨附 lsb_release
命令,也不包含 system-lsb-core
套件。軟體應完成 os-release
標準的轉換,以維持與 Amazon Linux 和其他主要 Linux 發行版的相容性。