- aarch64
- armel
- armhf
- ppc64le
- s390x
- x86_64
这些是 Debian 系 Linux 发行版(如 Debian、Ubuntu、Deepin 等)中用来标识软件包所适用硬件架构的代码。简单来说,它们告诉你这个软件是为哪种 CPU 编译的。
选择错误的架构会导致软件无法安装或运行,因此理解它们的含义非常重要。
各架构代码详解
| 架构代码 | 全称 / 解释 | 常见硬件设备 / 场景 |
|---|---|---|
| x86_64 | 即 amd64。64 位 x86 架构。 | 绝大多数个人电脑(PC)、服务器(Intel 或 AMD 的 64 位处理器)、云主机。 |
| aarch64 | 即 arm64。64 位 ARM 架构(ARMv8 及以上)。 | 树莓派 3/4/5、苹果 M 系列 Mac(运行 Linux 时)、大多数 Android 设备、AWS Graviton 服务器。 |
| armhf | ARM hard float(ARM 硬浮点)。32 位 ARM 架构,要求 CPU 支持硬件浮点运算单元(FPU)。 | 较新的 32 位 ARM 设备(如树莓派 2、BeagleBone Black)及大多数 ARMv7 架构的手机开发板。 |
| armel | ARM EABI little-endian(ARM 嵌入式软浮点)。32 位 ARM 架构,使用软件模拟浮点运算。 | 非常老旧的 ARM 设备(如 ARMv4t、ARMv5te),性能较低,已逐渐被淘汰。 |
| ppc64le | PowerPC 64-bit Little Endian。64 位 PowerPC 架构,采用小端字节序。 | IBM Power 系列服务器(如 POWER8、POWER9),常用于高性能计算和企业级数据库。 |
| s390x | IBM System/390 64-bit。64 位 IBM 大型主机架构。 | IBM Z 系列大型机(以前称 System/390),用于银行、金融等关键任务场景。 |
重点区分:armel 与 armhf
这两个都是 32 位 ARM 架构,但浮点运算的处理方式完全不同,因此 不兼容:
- armel(软浮点):
- 使用通用整数寄存器来模拟浮点运算。
- 速度慢,但兼容所有旧版 ARM CPU。
- armhf(硬浮点):
- 直接使用专用的硬件浮点单元(FPU)进行计算。
- 速度快得多,但要求 CPU 必须包含 FPU(现代 ARM CPU 基本都支持)。
注意:在下载软件或编译程序时,如果你的设备是 32 位 ARM,必须清楚自己属于 armel 还是 armhf(现代设备几乎都是 armhf)。
如何选择正确的版本?
查询当前系统架构: 在终端运行以下命令之一:
bashuname -m # 或 dpkg --print-architecture # Debian/Ubuntu 专用输出对照:
- 如果显示
x86_64,就选 x86_64。 - 如果显示
aarch64,就选 aarch64。 - 如果显示
armv7l或armv8l(32 位模式),通常选 armhf(除非设备极老)。 - 如果显示
ppc64le,就选 ppc64le。 - 如果显示
s390x,就选 s390x。
- 如果显示
安装软件包时: 使用
apt包管理器时,系统会自动选择匹配架构的版本。但若手动下载.deb文件或编译源码,务必核对上述架构标识。