马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一、先搞清楚要查什么
拿到一台 Linux 机器,第一件事不是急着装机,而是看清楚它到底是什么架构。判断通常绕不开四个维度:CPU 架构(x86_64 / aarch64 / i686)、位数(32 位还是 64 位)、发行版与版本、内核。这四项决定了你下哪个安装包、写哪套脚本。
uname -a
uname -m
uname -m 的输出最直观:
x86_64(或 amd64):64 位 Intel/AMD。
aarch64(或 arm64):64 位 ARM,树莓派、鲲鹏、Apple M 系列虚拟机常见。
armv7l / armv6l:32 位 ARM。
i686 / i386:32 位 x86,现在基本只在老设备上见。
riscv64:RISC-V 64 位。
二、发行版和版本号
cat /etc/os-release
cat /etc/redhat-release
lsb_release -a
Debian 系(Ubuntu、Debian)用 dpkg --print-architecture 看包架构;Red Hat 系(CentOS、Rocky、Alma、openEuler)用 rpm --print-architecture。这两条命令给出的就是包文件名里那个 amd64 或 x86_64。
dpkg --print-architecture
rpm --print-architecture
三、CPU 细节
lscpu
lscpu | grep -E 'Architecture|CPU\(s\)|Model name|Socket|Core|Thread'
重点看四行:Architecture(整体架构)、CPU 数、Model name(具体型号)、Socket 与 Core 数。要判断是否支持虚拟化,看 flag 里有没有 vmx(Intel)或 svm(AMD):
lscpu | grep -o -E 'vmx|svm'
grep -o -m1 -E 'vmx|svm' /proc/cpuinfo
四、内核与位数
uname -r
file /bin/ls
getconf LONG_BIT
getconf LONG_BIT 返回 64 就是 64 位系统;file /bin/ls 会显示二进制是 64 位 ELF 还是 32 位,比看文档准。
五、内存与磁盘
free -h
df -h
lsblk
六、ARM 与 x86 交叉的那些坑
- x86 机器上装 ARM 镜像跑不起来(除非用 QEMU 模拟),Docker 场景尤其容易踩:构建时
docker build --platform linux/arm64 或走 buildx 模拟。
- ARM 板子上的显卡驱动、Docker 镜像绝大多数只有 amd64 版本,拉不到镜像时先查架构再怪网络。
- 32 位老系统跑不动大内存(超过 4GB 就浪费了),也不是所有新软件还出 32 位包。
- 同一发行版不同大版本,包名可能变(比如 Ubuntu 22.04 之后的
fcitx 与 fcitx5),查包前先看版本。
- 脚本里硬编码
x86_64 判断,在鲲鹏/树莓派环境直接装不上,用 uname -m 变量化更稳。
七、一条命令快速全景
echo "== arch =="; uname -m; echo "== kernel =="; uname -r; echo "== os =="; . /etc/os-release && echo "$PRETTY_NAME"; echo "== cpu =="; lscpu | head -3
四行输出基本就能定下这台机器的身份,后面选包、写脚本、比对配置都有依据。
qidao123.com企服评测-应用市场 编辑提示
本文按 CPU 架构、位数、发行版版本与内核四个维度给出 Linux 系统架构识别命令全集,含各架构对照表与 ARM/x86 交叉场景的常见坑。批量巡检环境建议把关键命令固化成一键脚本输出比对,避免人工逐个登录确认。企业部署前应确认基础镜像架构与硬件一致,减少模拟运行带来的性能损耗。
|