

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 從 AL2 的 AL2023 核心變更 AL2
<a name="compare-with-al2-kernel"></a>

AL2023 帶來 6.1 核心，以及許多組態變更，以進一步最佳化雲端的 Amazon Linux。對於大多數使用者而言，這些變更應該是完全透明的。

## IPv4 TTL
<a name="ipv4-ttl"></a>

IPv4 的 TTL 是透過 設定`sysctl`，預設值存在於 中`/etc/sysctl.d/00-defaults.conf`。此值可透過一般`sysctl`方法自訂。如需詳細資訊，請參閱 `sysctl``man`頁面。

 AL2 將`net.ipv4.ip_default_ttl`值設定為 255，而 AL2023 將其設定為 127。這使得 Amazon Linux 預設值與其他主要 Linux 發行版本一致。不建議在沒有證明需要的情況下變更此預設值。

## 重視安全的核心設定變更
<a name="security-kernel-config-changes"></a>


| `CONFIG` 選項 | AL2/4.14/aarch64 | AL2/4.14/x86\$164 | AL2/5.10/aarch64 | AL2/5.10/x86\$164 | AL2023/6.1/aarch64 | AL2023/6.1/x86\$164 | AL2023/6.12/aarch64 | AL2023/6.12/x86\$164 | AL2023/6.18/aarch64 | AL2023/6.18/x86\$164 | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_BUG_ON_DATA_CORRUPTION`](kernel-hardening.md#CONFIG_BUG_ON_DATA_CORRUPTION)  |  n  |  y  |  n  |  y  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_DEFAULT_MMAP_MIN_ADDR`](kernel-hardening.md#CONFIG_DEFAULT_MMAP_MIN_ADDR)  |  4096  |  4096  |  4096  |  4096  |  65536  |  65536  |  65536  |  65536  |  65536  |  65536  | 
|  [`CONFIG_DEVMEM`](#CONFIG_DEVMEM)  |  n  |  y  |  n  |  y  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEVPORT`](#CONFIG_DEVPORT)  |  n  |  y  |  n  |  y  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_FORTIFY_SOURCE`](#CONFIG_FORTIFY_SOURCE)  |  n  |  y  |  n  |  y  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_HARDENED_USERCOPY_FALLBACK`](kernel-hardening.md#CONFIG_HARDENED_USERCOPY_FALLBACK)  | N/A | N/A |  y  |  y  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_INIT_ON_ALLOC_DEFAULT_ON`](kernel-hardening.md#CONFIG_INIT_ON_ALLOC_DEFAULT_ON)  | N/A | N/A |  n  |  n  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_INIT_ON_FREE_DEFAULT_ON`](kernel-hardening.md#CONFIG_INIT_ON_FREE_DEFAULT_ON)  | N/A | N/A |  n  |  n  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_IOMMU_DEFAULT_DMA_STRICT`](kernel-hardening.md#CONFIG_IOMMU_DEFAULT_DMA_STRICT)  | N/A | N/A | N/A | N/A |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_LDISC_AUTOLOAD`](#CONFIG_LDISC_AUTOLOAD)  |  y  |  y  |  y  |  y  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_SCHED_CORE`](kernel-hardening.md#CONFIG_SCHED_CORE)  | N/A | N/A | N/A | N/A | N/A |  y  | N/A |  y  | N/A |  y  | 
|  [`CONFIG_SCHED_STACK_END_CHECK`](kernel-hardening.md#CONFIG_SCHED_STACK_END_CHECK)  |  n  |  y  |  n  |  y  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_DMESG_RESTRICT`](#CONFIG_SECURITY_DMESG_RESTRICT)  |  n  |  n  |  n  |  n  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_SELINUX_DISABLE`](#CONFIG_SECURITY_SELINUX_DISABLE)  |  y  |  y  |  y  |  y  |  n  |  n  | N/A | N/A | N/A | N/A | 
|  [`CONFIG_SHUFFLE_PAGE_ALLOCATOR`](kernel-hardening.md#CONFIG_SHUFFLE_PAGE_ALLOCATOR)  | N/A | N/A |  y  |  y  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SLAB_FREELIST_HARDENED`](kernel-hardening.md#CONFIG_SLAB_FREELIST_HARDENED)  |  n  |  y  |  y  |  y  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SLAB_FREELIST_RANDOM`](kernel-hardening.md#CONFIG_SLAB_FREELIST_RANDOM)  |  n  |  n  |  y  |  y  |  y  |  y  |  y  |  y  |  y  |  y  | 

### x86-64 專屬且重視安全的核心設定變更
<a name="security-kernel-config-changes-x86-64-specific"></a>


| `CONFIG` 選項 | AL2/4.14/x86\$164 | AL2/5.10/x86\$164 | AL2023/6.1/x86\$164 | AL2023/6.12/x86\$164 | AL2023/6.18/x86\$164 | 
| --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_AMD_IOMMU`](kernel-hardening.md#CONFIG_AMD_IOMMU)  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_AMD_IOMMU_V2`](kernel-hardening.md#CONFIG_AMD_IOMMU_V2)  |  m  |  m  |  y  | N/A | N/A | 
|  [`CONFIG_RANDOMIZE_MEMORY`](kernel-hardening.md#CONFIG_RANDOMIZE_MEMORY)  | N/A |  y  |  y  |  y  |  y  | 

### aarch64 (ARM/Graviton) 專屬且重視安全的核心設定變更
<a name="security-kernel-config-changes-aarch64-specific"></a>


| `CONFIG` 選項 | AL2/4.14/aarch64 | AL2/5.10/aarch64 | AL2023/6.1/aarch64 | AL2023/6.12/aarch64 | AL2023/6.18/aarch64 | 
| --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_ARM64_PTR_AUTH`](kernel-hardening.md#CONFIG_ARM64_PTR_AUTH)  | N/A |  y  |  y  |  y  |  y  | 
|  [`CONFIG_ARM64_PTR_AUTH_KERNEL`](kernel-hardening.md#CONFIG_ARM64_PTR_AUTH_KERNEL)  | N/A | N/A |  y  |  y  |  y  | 
|  [`CONFIG_ARM64_SW_TTBR0_PAN`](kernel-hardening.md#CONFIG_ARM64_SW_TTBR0_PAN)  |  y  |  y  |  y  |  y  |  y  | 

### `/dev/mem`、`/dev/kmem` 和 `/dev/port`
<a name="CONFIG_DEVMEM"></a>

 Amazon Linux 2023 完全停用 `/dev/mem`、 和 `/dev/port`(`CONFIG_DEVMEM` 和 `CONFIG_DEVPORT`)，以 AL2 中已有的限制為基礎。

 `/dev/kmem` 程式碼已在 5.13 核心中從 Linux 完全移除，而在 AL2 中停用時，現在不適用於 AL2023。

此選項是[核心自我保護專案建議設定](https://kspp.github.io/Recommended_Settings)之一。

### `FORTIFY_SOURCE`
<a name="CONFIG_FORTIFY_SOURCE"></a>

 AL2023 會在所有支援的架構`CONFIG_FORTIFY_SOURCE`上啟用 。此功能是安全強化功能。編譯器可以確定和驗證緩衝區大小時，此功能可以偵測常見字符串和記憶體函數中的緩衝區溢出。

此選項是[核心自我保護專案建議設定](https://kspp.github.io/Recommended_Settings)之一。

### Line Discipline 自動載入 (`CONFIG_LDISC_AUTOLOAD`)
<a name="CONFIG_LDISC_AUTOLOAD"></a>

 AL2023 核心不會自動載入行紀律，例如使用 `TIOCSETD` 的軟體`ioctl`，除非請求來自具有 `CAP_SYS_MODULE`許可的程序。

此選項是[核心自我保護專案建議設定](https://kspp.github.io/Recommended_Settings)之一。

### `dmesg` 無權限使用者的存取權 (`CONFIG_SECURITY_DMESG_RESTRICT`)
<a name="CONFIG_SECURITY_DMESG_RESTRICT"></a>

 根據預設，AL2023 不允許無權限使用者存取 `dmesg`。

此選項是[核心自我保護專案建議設定](https://kspp.github.io/Recommended_Settings)之一。

### SELinux `selinuxfs`停用
<a name="CONFIG_SECURITY_SELINUX_DISABLE"></a>

 AL2023 會停用已棄用`CONFIG_SECURITY_SELINUX_DISABLE`的核心選項，這會啟用在載入政策之前停用 SELinux 的執行期方法。

此選項是[核心自我保護專案建議設定](https://kspp.github.io/Recommended_Settings)之一。

## 其他核心設定變更
<a name="general-kernel-config-changes"></a>


| `CONFIG` 選項 | AL2/4.14/aarch64 | AL2/4.14/x86\$164 | AL2/5.10/aarch64 | AL2/5.10/x86\$164 | AL2023/6.1/aarch64 | AL2023/6.1/x86\$164 | AL2023/6.12/aarch64 | AL2023/6.12/x86\$164 | AL2023/6.18/aarch64 | AL2023/6.18/x86\$164 | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_HZ`](#CONFIG_HZ)  |  100  |  250  |  100  |  250  |  100  |  100  |  100  |  100  |  100  |  100  | 
|  [`CONFIG_NR_CPUS`](#CONFIG_NR_CPUS)  |  4096  |  8192  |  4096  |  8192  |  4096  |  8192  |  4096  |  8192  |  4096  |  8192  | 
|  [`CONFIG_PANIC_ON_OOPS`](#CONFIG_PANIC_ON_OOPS)  |  y  |  n  |  y  |  n  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_PANIC_ON_OOPS_VALUE`](#CONFIG_PANIC_ON_OOPS_VALUE)  |  1  |  0  |  1  |  0  |  1  |  1  |  1  |  1  | N/A | N/A | 
|  [`CONFIG_PPP`](#CONFIG_PPP)  |  m  |  m  |  m  |  m  |  m  |  m  |  m  |  m  |  m  |  m  | 
|  [`CONFIG_SLIP`](#CONFIG_SLIP)  |  m  |  m  |  m  |  m  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_XEN_PV`](#CONFIG_XEN_PV)  | N/A |  y  | N/A |  n  | N/A |  n  | N/A |  n  | N/A |  n  | 

### CONFIG\$1HZ
<a name="CONFIG_HZ"></a>

 `x86-64` 和 `aarch64`平台上的 AL2023 都`CONFIG_HZ`設定為 100。

### CONFIG\$1NR\$1CPUS
<a name="CONFIG_NR_CPUS"></a>

 AL2023 會`CONFIG_NR_CPUS`設定為接近 Amazon EC2 中 CPU 核心數量上限的數字。

### 意外錯誤
<a name="CONFIG_PANIC_ON_OOPS"></a>

 AL2023 核心在響起時會驚慌。此功能相當於在核心命令列以 `oops=panic` 啟動。

 核心意外是核心偵測到內部錯誤的地方，這可能會影響系統的進一步可靠性。

### PPP 和 SLIP 支援
<a name="CONFIG_PPP"></a>

 AL2023 不支援 SLIP 通訊協定，但可在最新的 AL2023 核心中支援 PPP 通訊協定。

### Xen PV 訪客支援
<a name="CONFIG_XEN_PV"></a>

 AL2023 不支援以 Xen PV 訪客身分執行。

## 核心檔案系統支援
<a name="kernel-fs-changes"></a>

AL2 中核心將支援掛載的檔案系統中有幾項變更，以及核心將剖析的分割結構描述中的變更。


| `CONFIG` 選項 | AL2/4.14/aarch64 | AL2/4.14/x86\$164 | AL2/5.10/aarch64 | AL2/5.10/x86\$164 | AL2023/6.1/aarch64 | AL2023/6.1/x86\$164 | AL2023/6.12/aarch64 | AL2023/6.12/x86\$164 | AL2023/6.18/aarch64 | AL2023/6.18/x86\$164 | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_AFS_FS`](#CONFIG_AFS_FS)  |  n  |  m  |  n  |  m  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_AF_RXRPC`](#CONFIG_AF_RXRPC)  |  n  |  m  |  n  |  m  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_BSD_DISKLABEL`](#CONFIG_BSD_DISKLABEL)  |  y  |  y  |  y  |  y  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_CRAMFS`](#CONFIG_CRAMFS)  |  m  |  m  |  m  |  m  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_CRAMFS_BLOCKDEV`](#CONFIG_CRAMFS_BLOCKDEV)  | N/A | N/A |  y  |  n  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_DM_CLONE`](#CONFIG_DM_CLONE)  | N/A | N/A |  n  |  n  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DM_ERA`](#CONFIG_DM_ERA)  |  m  |  n  |  m  |  n  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DM_INTEGRITY`](#CONFIG_DM_INTEGRITY)  |  n  |  m  |  n  |  m  |  m  |  m  |  m  |  m  |  m  |  m  | 
|  [`CONFIG_DM_LOG_WRITES`](#CONFIG_DM_LOG_WRITES)  |  n  |  n  |  m  |  m  |  m  |  m  |  m  |  m  |  m  |  m  | 
|  [`CONFIG_DM_SWITCH`](#CONFIG_DM_SWITCH)  |  m  |  n  |  m  |  n  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DM_VERITY`](#CONFIG_DM_VERITY)  |  m  |  n  |  m  |  n  |  m  |  m  |  m  |  m  |  m  |  m  | 
|  [`CONFIG_ECRYPT_FS`](#CONFIG_ECRYPT_FS)  |  n  |  m  |  n  |  m  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_EXFAT_FS`](#CONFIG_EXFAT_FS)  | N/A | N/A |  m  |  m  |  m  |  m  |  m  |  m  |  m  |  m  | 
|  [`CONFIG_EXT2_FS`](#CONFIG_EXT2_FS)  |  n  |  m  |  n  |  m  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_EXT3_FS`](#CONFIG_EXT3_FS)  |  n  |  m  |  n  |  m  |  n  |  n  |  n  |  n  | N/A | N/A | 
|  [`CONFIG_GFS2_FS`](#CONFIG_GFS2_FS)  |  m  |  m  |  m  |  m  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_HFSPLUS_FS`](#CONFIG_HFSPLUS_FS)  |  n  |  m  |  n  |  m  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_HFS_FS`](#CONFIG_HFS_FS)  |  n  |  m  |  n  |  m  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_JFS_FS`](#CONFIG_JFS_FS)  |  n  |  n  |  n  |  n  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_LDM_PARTITION`](#CONFIG_LDM_PARTITION)  |  n  |  y  |  n  |  y  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_MAC_PARTITION`](#CONFIG_MAC_PARTITION)  |  n  |  y  |  n  |  y  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_NFS_V2`](#CONFIG_NFS_V2)  |  n  |  m  |  n  |  m  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_NTFS_FS`](#CONFIG_NTFS_FS)  |  n  |  m  |  n  |  n  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_ROMFS_FS`](#CONFIG_ROMFS_FS)  |  n  |  m  |  n  |  m  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_SOLARIS_X86_PARTITION`](#CONFIG_SOLARIS_X86_PARTITION)  |  n  |  y  |  n  |  y  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_SQUASHFS_ZSTD`](#CONFIG_SQUASHFS_ZSTD)  |  n  |  y  |  n  |  y  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SUN_PARTITION`](#CONFIG_SUN_PARTITION)  |  n  |  y  |  n  |  y  |  n  |  n  |  n  |  n  |  n  |  n  | 

### Andrew 檔案系統支援 (AFS)
<a name="CONFIG_AFS_FS"></a>

核心在建置時，不再支援 `afs` 檔案系統。AL2 未隨附 的使用者空間支援`afs`。

### cramfs 支援
<a name="CONFIG_CRAMFS"></a>

 核心在建置時，不再支援 `cramfs` 檔案系統。AL2023 中的後續版本是`squashfs`檔案系統。

### BSD 磁碟標籤支援
<a name="CONFIG_BSD_DISKLABEL"></a>

 核心在建置時，不再支援 BSD 磁碟標籤。如果需要讀取有 BSD 磁碟標籤的磁碟區，則可啟動各種 BSD。

### 裝置映射器變更
<a name="device-mapper"></a>

 AL2023 核心中設定的 Device Mapper 目標有幾項變更。

### eCryptFS 支援
<a name="CONFIG_ECRYPT_FS"></a>

 `ecryptfs` 檔案系統已在 Amazon Linux 中棄用。的使用者空間元件`ecryptfs`存在於 AL1 中，在 AL2 中移除，AL2023 不再使用 `ecryptfs`支援建置核心。

### exFAT
<a name="CONFIG_EXFAT_FS"></a>

 `exFAT` 檔案系統的支援已新增至 AL2 的 5.10 核心。使用 4.14 核心的 AL2 啟動時不存在。AL2023 會繼續支援`exFAT`檔案系統。

### ext2、ext3 和 ext4 檔案系統
<a name="ext4"></a>

 AL2023 隨附 `CONFIG_EXT4_USE_FOR_EXT2`選項，這表示`ext4`檔案系統程式碼將用於讀取舊版`ext2`檔案系統。

### CONFIG\$1GFS2\$1FS
<a name="CONFIG_GFS2_FS"></a>

 此核心不再使用配置 CONFIG\$1GFS2\$1FS 建置。

### Apple Extended HFS 檔案系統支援 (HFS \$1)
<a name="CONFIG_HFSPLUS_FS"></a>

 在 AL2 `x86-64` 中，只有核心是使用 `hfsplus` 檔案系統支援建置的。AL2 5.15 核心不包含對任何架構的`hfsplus`支援。在 AL2023 中，我們在 Amazon Linux 中完成取代`hfsplus`支援。

### HFS 檔案系統支援
<a name="CONFIG_HFS_FS"></a>

 在 AL2 `x86-64` 中，只有核心是使用 `hfs` 檔案系統支援建置的。AL2 5.15 核心不包含對任何架構的`hfs`支援。在 AL2023 中，我們在 Amazon Linux 中完成棄用`hfs`支援。

### JFS 檔案系統支援
<a name="CONFIG_JFS_FS"></a>

 較舊的 AL2 `x86-64` 核心是透過`jfs`檔案系統支援所建置。AL2 5.15 核心不包含對任何架構的`jfs`支援。AL1 或 AL2 都不隨附於 JFS 使用者空間。在 AL2023 中，我們在 Amazon Linux 中完成取代`jfs`支援。

 上游 Linux 核心正在[考慮移除 `JFS`](https://lore.kernel.org/lkml/Y8DvK281ii6yPRcW@infradead.org/)。因此，如果您在`JFS`檔案系統上有資料，您應該將其遷移到另一個檔案系統。在 2024 年， `JFS`已從所有目前的 Amazon Linux 核心中移除。

### Windows 邏輯磁碟管理員 （動態磁碟） 支援 (`CONFIG_LDM_PARTITION`)
<a name="CONFIG_LDM_PARTITION"></a>

 AL2023 不再支援具有MS-DOS樣式分割區的 Windows XP、 Windows 2000或 Windows Vista *動態磁碟*。此程式碼從未支援隨 推出的較新 GPT 型動態磁碟Windows Vista。

### Macintosh 分割對應支援
<a name="CONFIG_MAC_PARTITION"></a>

 AL2023 不再支援傳統 Macintosh 分割區映射。現代的 macOS 版本預設建立現代的 GPT 分割表，而不是這種舊類型。

### NFSv2 支援
<a name="CONFIG_NFS_V2"></a>

 AL2023 不再支援 NFSv2，但繼續支援 NFSv3, NFSv4, NFSv4.1 和 NFSv4.2. 我們建議您遷移至 NFSv3 或更新版本。

### NTFS (`CONFIG_NTFS_FS`)
<a name="CONFIG_NTFS_FS"></a>

 從 AL2 的 5.10 核心開始，取代`ntfs`存取 Amazon Linux 上 NTFS 檔案系統的`ntfs3`程式碼。AL2023 不再包含`ntfs`程式碼，並且完全依賴`ntfs3`程式碼來存取 NTFS 檔案系統。

### romfs 檔案系統
<a name="CONFIG_ROMFS_FS"></a>

 `squashfs` 檔案系統是 Amazon Linux `romfs` 檔案系統的後續系統，而 AL2023 核心的建置不再支援 `romfs`。

### Solaris x86 硬碟分割格式
<a name="CONFIG_SOLARIS_X86_PARTITION"></a>

 AL2023 不再支援 Solaris x86 硬碟分割區格式。

### `squashfs` zstd 壓縮
<a name="CONFIG_SQUASHFS_ZSTD"></a>

 AL2023 在所有支援的架構上新增對zstd壓縮`squashfs`檔案系統的支援。

### Sun 分割表支援
<a name="CONFIG_SUN_PARTITION"></a>

 AL2023 不再包含對 Sun 分割區資料表格式 () 的支援`CONFIG_SUN_PARTITION`。