All Products
Search
Document Center

Alibaba Cloud Linux:Differences between Alibaba Cloud Linux 3 and CentOS 7

Last Updated:Apr 02, 2026

Alibaba Cloud Linux 3 is the recommended migration target for CentOS 7, which reached end of life (EOL). This topic covers the differences between the two distributions so you can assess the impact before migrating.

For more information, see CentOS EOL guidance and Maintenance support for operating systems.

Breaking changes that require action

The following changes may break your applications or scripts after migration. Review these before you migrate.

Kernel and core toolchain

The core toolchain versions are higher in Alibaba Cloud Linux 3. After migration, recompile your applications to adapt to the dynamic link libraries (DLLs) used in Alibaba Cloud Linux 3—otherwise, applications may fail to identify DLL files.

Component CentOS 7 x86 Alibaba Cloud Linux 3 x86 Alibaba Cloud Linux 3 Arm64
gcc 4.8.5_44.el7 10.2.1_3.8.al8 10.2.1-3.5.al8
glibc 2.17_326.el7_9 2.32_1.16.al8 2.32-1.12.al8
Kernel 3.10.0-1160.114.2.el7 5.10.134-16.1.al8
binutils 2.27_44.base.el7_9.1 2.35_12.2.al8
systemd 219_78.el7_9.9 239_74.0.3.al8
grub2 2.02_0.87.0.2.el7.centos.14 2.02-148.0.1.al8.1

For kernel version differences, see the Kernel differences section.

Python default interpreter

In CentOS 7, /usr/bin/python points to Python 2. In Alibaba Cloud Linux 3, it points to Python 3. If your scripts or programs call python xxx.py, they may behave differently or fail after migration.

Component CentOS 7 x86 Alibaba Cloud Linux 3 x86 and Arm64
Python Python 2, Python 3.4, Python 3.6 Python 2, Python 3.6, Python 3.8, Python 3.11

Default Java installation

Running yum install java installs different JDKs depending on the distribution:

  • CentOS 7: installs java-1.8.0-openjdk

  • Alibaba Cloud Linux 3: installs java-1.8.0-alibaba-dragonwell (Alibaba's OpenJDK distribution)

To install OpenJDK in Alibaba Cloud Linux 3, run yum install java-1.8.0-openjdk.

Component CentOS 7 x86 Alibaba Cloud Linux 3 x86 and Arm64
java-1.8.0-alibaba-dragonwell 3:8.15.16.372-2.al8
java-1.8.0-openjdk 1:1.8.0.412.b08-1.el7_9 1:1.8.0.412.b08-2.0.1.1.al8

Default MySQL installation

Running yum install mysql installs different database packages:

  • CentOS 7: installs MariaDB

  • Alibaba Cloud Linux 3: installs MySQL

Component CentOS 7 x86 Alibaba Cloud Linux 3 x86 and Arm64
mysql 8.0.36-1.0.1.1.al8
mariadb 5.5.68-1.el7 3:10.5.22-1.0.1.al8

System tool replacements

Three core system tools are replaced in Alibaba Cloud Linux 3. Update your scripts and automation accordingly.

Function CentOS 7 Alibaba Cloud Linux 3 Notes
Package management YUM DNF
Network packet filtering iptables nftables Update firewall rules to use nftables syntax.
Container runtime Docker Podman Docker Community Edition (CE) can also be installed for self-deployment.

File system support

Alibaba Cloud Linux 3 supports ext4 and XFS, but not Btrfs. If your workload uses Btrfs, migrate data to ext4 or XFS before switching.

Kconfig parameter CentOS 7 x86 Alibaba Cloud Linux 3 x86 Alibaba Cloud Linux 3 Arm64
CONFIG_BTRFS_FS m (enabled as module) Not set Not set

Other component version differences

The following component versions are updated in Alibaba Cloud Linux 3. No action is typically required unless your application depends on a specific version.

If you compile and install component versions not available in the YUM repository in CentOS 7, you may be unable to log in to the system or run applications after migration. Compile such components in Alibaba Cloud Linux 3, or install them from the Alibaba Cloud Linux 3 YUM repository.
Component CentOS 7 x86 Alibaba Cloud Linux 3 x86 and Arm64
golang 1.20.12-1.el7 1.20.12-8.0.1.al8
nginx 1:1.20.1-10.el7 1:1.20.1-1.0.3.al8
php 5.4.16-48.el7 7.4.33-1.0.1.al8
postgresql 9.2.24-9.el7_9 13.14-1.0.1.al8
redis 3.2.12-2.el7 6.2.7-1.0.2.al8
openssl 1.0.2k_26.el7_9 1.1.1k_12.0.1.al8

Port differences

Alibaba Cloud Linux 3 listens on different ports compared to CentOS 7. Update your firewall rules if needed.

Protocol Port Service CentOS 7 Alibaba Cloud Linux 3
TCP/UDP 111 rpcbind Yes (TCP/UDP) Yes (TCP/UDP/TCP6/UDP6)
TCP 22 SSH Yes Yes
TCP 25 SMTP Yes No
UDP 68 DHCP Yes (NetworkManager process) Yes (dhclient process)
UDP/UDP6 323 chronyd Yes Yes
TCP/UDP 5355 systemd-resolve No Yes

Notable differences:

  • Port 25 (SMTP) is open in CentOS 7 but not in Alibaba Cloud Linux 3.

  • Port 5355 (systemd-resolve) is open in Alibaba Cloud Linux 3 but not in CentOS 7.

  • UDP 68 (DHCP) is managed by the NetworkManager process in CentOS 7 and by the dhclient process in Alibaba Cloud Linux 3.

Kernel differences

sysctl parameters

Changed parameters

The following sysctl parameters have different default values in Alibaba Cloud Linux 3. In most cases, no action is required—these defaults are tuned for cloud environments.

Parameter CentOS 7 value Alibaba Cloud Linux 3 value Description
kernel.panic 0 (read/write) 1 (read/write) Controls whether the kernel restarts automatically after a panic. 0 = no restart; >0 = restart after n seconds; <0 = restart immediately. Alibaba Cloud Linux 3 restarts after 1 second by default. No action required.
kernel.watchdog_thresh 10 (read/write) 50 (read/write) Watchdog timeout period in seconds. Increased to reduce false-positive alerts in cloud environments where network links are more complex. No action required.
kernel.nmi_watchdog 1 (read/write) 0 (read/write) Hard lockup detection using Non-Maskable Interrupts (NMIs). NMIs are not supported in Elastic Compute Service (ECS), so this is disabled by default. If you use bare metal instances and need hard lockup detection, enable it manually.
kernel.hung_task_timeout_secs 120 (read/write) 240 (read/write) Timeout in seconds before a process in the D (TASK_UNINTERRUPTIBLE) state triggers a warning. Increased to reduce false-positive alerts in cloud environments. No action required.
vm.drop_caches 0 (read/write) — (write-only) Read permission removed in Alibaba Cloud Linux 3. In CentOS 7, reading this parameter could mislead users into thinking it indicates a non-cached mode, when it actually initiates a cache-clearing task. No action required.
vm.dirty_ratio 30 (read/write) 40 (read/write) Maximum percentage of system memory that can be filled with dirty pages before processes are forced to write. Set by the tuned daemon based on the active performance profile. No action required unless you have custom tuning scripts.
vm.numa_zonelist_order default (read/write) Node (read/write) Controls zone selection order during NUMA memory allocation. This option became a no-op in newer kernel versions—manual control is no longer needed. No action required.
net.ipv4.tcp_mem — (read/write) — (read/write) Maximum memory TCP can allocate. For the same memory specification, the default buffer size in Alibaba Cloud Linux 3 is approximately half that of CentOS 7, due to an updated initialization algorithm (commit b66e91ccbc34ebd5a2f90f9e1bc1597e2924a500). No action required.
net.ipv4.tcp_fastopen 0 (read/write) 1 (read/write) Controls TCP Fast Open. 0 = disabled; 1 = enabled for outbound connections only. Enabled by default in Alibaba Cloud Linux 3 (commit e1cfcbe82b4534bd0f99fef92a6d33843fd85e0e). No action required.
net.ipv4.tcp_fack 1 (read/write) 0 (read/write) TCP Forward Acknowledgment (FACK) is replaced by the RACK (Recent Acknowledgment) algorithm and is disabled. No action required (commit 713bafea92920103cd3d361657406cf04d0e22dd).
net.core.somaxconn 128 (read/write) 4,096 (read/write) Maximum length of the socket listening queue. Increased from 128 to 4,096 to meet server workload requirements (commit 19f92a030ca6d772ab44b22ee6a01378a8cb32d4). No action required.
net.core.default_qdisc pfifo_fast (read/write) fq_codel (read/write) Default queuing discipline. Changed to Fair Queuing Controlled Delay (FQ-CoDel) to prevent bufferbloat. No action required.

Removed parameters

The following sysctl parameters from CentOS 7 are not available in Alibaba Cloud Linux 3. If your configuration files or scripts reference these parameters, remove or replace them.

Parameter CentOS 7 default Reason removed Recommended action
kernel.panic_on_stackoverflow 0 Replaced by kernel stack guard pages, which perform detection automatically (commit 117ed45485413b1977bfc638c32bf5b01d53c62b). Remove from configuration files. No replacement needed.
kernel.random.read_wakeup_threshold 64 Removed during kernel version iteration (commit c95ea0c69ffda19381c116db2be23c7e654dac98). Remove from configuration files. No replacement needed.
kernel.compat-log 1 Virtual 8086 mode is not supported on x86 64-bit architectures. The warning logs this option produced are no longer needed (commit 9dcfcda5768eda793e15a1a73da38cfd1fc1a47a). Remove from configuration files. No replacement needed.
kernel.numa_balancing_settle_count 4 Linux now uses more precise metrics to distinguish task loads; frequency threshold control via this option is no longer needed (commit 1bd53a7efdc988163ec4c25f656df38dbe500632). Remove from configuration files. No replacement needed.
kernel.sched_shares_window_ns 10,000,000 This option had no effect in CentOS 7 (commit 3c3fcb45d524feb5d14a14f332e3eec7f2aff8f3). Remove from configuration files. No replacement needed.
kernel.sched_time_avg_ms 1,000 Replaced by the per-entity load tracking (PELT) algorithm for real-time scheduling (commit 5fd778915ad29184a5ff8eb82d1118f6916b79e4). Remove from configuration files. No replacement needed.
vm.hugepages_treat_as_movable 0 Removed because it caused issues with the memory hot-swap feature (commit d6cb41cc44c63492702281b1d329955ca767d399). Remove from configuration files. No replacement needed.
vm.nr_pdflush_threads 0 This option had no effect in CentOS 7 (commit b35bd0d9f8a8ea17aae40893e18274d191a2d2c5). Remove from configuration files. No replacement needed.
net.ipv4.tcp_tw_recycle 0 Removed because it conflicts with TCP timestamp randomization used in NAT environments (commit 4396e46187ca5070219b81773c4e65088dac50cc). Remove from configuration files.
net.ipv4.tcp_thin_dupack 0 Replaced by the TCP RACK algorithm (commit 4a7f6009441144783e5925551c72e3f2e1b0839b). Remove from configuration files. No replacement needed.
net.ipv4.tcp_max_ssthresh 0 Replaced by a more effective automated slow-start method (commit 9f9843a751d0a2057f9f3d313886e7e5e6ebaac9). Remove from configuration files. No replacement needed.
fs.negative-dentry-limit 0 CentOS 7-specific feature; not part of the Linux community kernel. Removed in CentOS 8 and later. See Red Hat KB. Remove from configuration files. No replacement needed.
fs.may_detach_mounts 0 CentOS 7-specific feature; not part of the Linux community kernel. Removed in CentOS 8 and later. See Red Hat KB. Remove from configuration files. No replacement needed.

/sys/ parameters

Path CentOS 7 Alibaba Cloud Linux 3 Notes
/sys/block/\<blk\>/queue/read_ahead_kb 128 4,096 The tuned daemon sets this value. A large read-ahead value may reduce performance for database workloads and increase disk I/O. If this affects your workload, set the value back to 128.
/sys/module/virtio_net/parameters/napi_tx Enabled Controls whether NAPI is used for the virtio_net send queue. In some benchmark scenarios, enabling NAPI prevents TCP packet assembly and reduces throughput. To disable it, set virtio_net.napi_tx=0.

Kernel command line parameters

Parameter CentOS 7 Alibaba Cloud Linux 3 Description
cgroup.memory=nokmem Not configured Configured Disables kernel memory accounting (CONFIG_MEMCG_KMEM) for cgroups. Disabling it improves system performance. See the OpenAnolis community for details.
crashkernel=auto Configured Not configured Automatically calculates reserved memory for the kdump service. Alibaba Cloud Linux 3 images have the crashkernel reserved memory size preconfigured, so removing this parameter from the default settings has no impact.
net.ifnames=0 Configured Configured Restores legacy network interface naming (eth0, eth1) and disables the systemd predictable naming feature. Configured by default in both distributions. Network interface naming changes can affect compatibility. For more information, see What do I do if the "Unsupported network configuration" error message appears?.

Kconfig parameters

The following kernel configuration parameters differ between the two distributions.

Parameter CentOS 7 x86 Alibaba Cloud Linux 3 x86 Alibaba Cloud Linux 3 Arm64 Description
CONFIG_NR_CPUS 5,120 1,024 1,024 Maximum CPU cores supported. No Alibaba Cloud instances have more than 1,024 cores, so this has no practical impact.
CONFIG_NODES_SHIFT 10 6 6 Maximum NUMA nodes supported (2^6 = 64 nodes). No Alibaba Cloud instances have more than 64 NUMA nodes, so this has no practical impact.
CONFIG_PREEMPT_NONE Not set y Not set Kernel preemption mode. Alibaba Cloud Linux 3 on x86 uses no-preemption mode for better cloud performance. This mode is disabled in Alibaba Cloud Linux 3 for Arm64 due to historical reasons. Starting from kernel version 5.10.134-17, you can use a kernel command line parameter to change the default preemption mode dynamically.
CONFIG_PREEMPT_VOLUNTARY y Not set y Voluntary preemption mode. Enabled in CentOS 7 and Alibaba Cloud Linux 3 Arm64.
CONFIG_BTRFS_FS m Not set Not set Alibaba Cloud Linux 3 supports ext4 and XFS file systems, but not Btrfs. If your workload uses Btrfs, migrate data to ext4 or XFS before switching.