

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AL2023 内核更改自 AL2
<a name="compare-with-al2-kernel"></a>

AL2023 带来了 6.1 内核以及许多配置更改，以进一步优化 Amazon Linux 的云环境。对于大多数用户而言，这些变化应该是完全透明的。

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

的 TTL IPv4 是通过配置的`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)  | 不适用 | 不适用 |  y  |  y  | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 
|  [`CONFIG_INIT_ON_ALLOC_DEFAULT_ON`](kernel-hardening.md#CONFIG_INIT_ON_ALLOC_DEFAULT_ON)  | 不适用 | 不适用 |  n  |  n  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_INIT_ON_FREE_DEFAULT_ON`](kernel-hardening.md#CONFIG_INIT_ON_FREE_DEFAULT_ON)  | 不适用 | 不适用 |  n  |  n  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_IOMMU_DEFAULT_DMA_STRICT`](kernel-hardening.md#CONFIG_IOMMU_DEFAULT_DMA_STRICT)  | 不适用 | 不适用 | 不适用 | 不适用 |  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)  | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 |  y  | 不适用 |  y  | 不适用 |  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  | 不适用 | 不适用 | 不适用 | 不适用 | 
|  [`CONFIG_SHUFFLE_PAGE_ALLOCATOR`](kernel-hardening.md#CONFIG_SHUFFLE_PAGE_ALLOCATOR)  | 不适用 | 不适用 |  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  | 不适用 | 不适用 | 
|  [`CONFIG_RANDOMIZE_MEMORY`](kernel-hardening.md#CONFIG_RANDOMIZE_MEMORY)  | 不适用 |  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)  | 不适用 |  y  |  y  |  y  |  y  | 
|  [`CONFIG_ARM64_PTR_AUTH_KERNEL`](kernel-hardening.md#CONFIG_ARM64_PTR_AUTH_KERNEL)  | 不适用 | 不适用 |  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``CONFIG_DEVMEM`和`/dev/port`（而且`CONFIG_DEVPORT`）。 AL2

 在 5.13 内核中，该`/dev/kmem`代码已从 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)之一。

### 行规程自动加载（`CONFIG_LDISC_AUTOLOAD`）
<a name="CONFIG_LDISC_AUTOLOAD"></a>

 除非请求来自具有`CAP_SYS_MODULE`权限的进程，否则 AL2023 内核不会自动加载线路规范 `TIOCSETD``ioctl`，例如通过使用中的软件加载。

此选项是[内核自我保护项目推荐设置](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  | 不适用 | 不适用 | 
|  [`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)  | 不适用 |  y  | 不适用 |  n  | 不适用 |  n  | 不适用 |  n  | 不适用 |  n  | 

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

 AL2023 `CONFIG_HZ`在两个`aarch64`平台上都`x86-64`设置为 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)  | 不适用 | 不适用 |  y  |  n  | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 | 
|  [`CONFIG_DM_CLONE`](#CONFIG_DM_CLONE)  | 不适用 | 不适用 |  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)  | 不适用 | 不适用 |  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  | 不适用 | 不适用 | 
|  [`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 磁盘标签的卷，则 BSDs可以启动各种卷标。

### 设备映射器更改
<a name="device-mapper"></a>

 对 AL2023 内核中配置的设备映射器目标进行了几处更改。

### eCryptFs 支持
<a name="CONFIG_ECRYPT_FS"></a>

 Amazon Linux 中已弃用了 `ecryptfs` 文件系统。的用户空间组件`ecryptfs`已存在于 AL1、已移除中 AL2，并且 AL2023 不再在`ecryptfs`支持下构建内核。

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

 在 5.10 内核中 AL2添加了对`exFAT`文件系统的支持。它在 4.14 内核 AL2 发布时不存在。 AL2023 继续支持`exFAT`文件系统。

### ext2、ext3 和 ext4 文件系统
<a name="ext4"></a>

 AL2023 随附`CONFIG_EXT4_USE_FOR_EXT2`选项，这意味着`ext4`文件系统代码将用于读取传统`ext2`文件系统。

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

 该内核不再是使用 CONFIG\$1 GFS2 \$1FS 构建的。

### Apple Extended HFS 文件系统支持 (HFS\$1)
<a name="CONFIG_HFSPLUS_FS"></a>

 在中 AL2，只有内`x86-64`核是在支持`hfsplus`文件系统的情况下构建的。 AL2 5.15 内核不`hfsplus`支持任何架构。在中 AL2023，我们完成了对亚马逊 Linux `hfsplus` 支持的弃用。

### HFS 文件系统支持
<a name="CONFIG_HFS_FS"></a>

 在中 AL2，只有内`x86-64`核是在支持`hfs`文件系统的情况下构建的。 AL2 5.15 内核不`hfs`支持任何架构。在中 AL2023，我们完成了对亚马逊 Linux `hfs` 支持的弃用。

### JFS 文件系统支持
<a name="CONFIG_JFS_FS"></a>

 较旧的 AL2 `x86-64`内核是在支持`jfs`文件系统的情况下构建的。 AL2 5.15 内核不`jfs`支持任何架构。两者都不是， AL1 AL2 或者与 JFS 用户空间一起提供。在中 AL2023，我们完成了对亚马逊 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 不再支持Windows 2000Windows XP、或带有MS-DOS样式分区的Windows Vista*动态磁盘*。此代码从来不支持 Windows Vista 所引入的基于 GPT 的较新的动态磁盘。

### 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>

 从5.10内核`ntfs`开始，在亚马逊 Linux 上访问 NTFS 文件系统的`ntfs3`代码已被替换。 AL2 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`)。