Tho*_*ard 50 scripting ubuntu debian architecture cpu-architecture
我正在尝试编写一个脚本,该脚本将根据机器的架构确定操作。我已经uname -m习惯收集架构线了,但是我不知道有多少个ARM架构,也不知道一个是armhf, armel, 还是arm64.
由于这是需要这种脚本来确定脚本的部分是否可以运行或不,我试图找到一个简单的方法来确定该架构armhf,armel或arm64。是否有可用于输出或者任何单行或简单的命令armhf,armel或arm64?
该脚本是专门为 Debian 和 Ubuntu 系统编写的,我正在考虑这一点(如果您不在这些发行版之一上,它会自动退出,但是如果命令存在)
编辑:最近了解到 armel 已死,并且 arm64 软件构建器(PPA 或基于虚拟的)并不是最稳定的。所以我有一个通配符搜索查找arm*和假设 armhf,但仍然有必要找出一个返回三个之一的一个 liner - 无论是 Ubuntu/Debian 命令还是内核调用或其他东西。
Ste*_*itt 99
在 Debian 和衍生产品上,
dpkg --print-architecture
Run Code Online (Sandbox Code Playgroud)
将输出运行它的机器的主要架构。这将armhf在运行 32 位 ARM Debian 或 Ubuntu(或衍生版本)arm64的机器上,在运行 64 位 ARM 的机器上。
请注意,运行架构可能与硬件架构甚至内核架构不同。i386在 64 位 Intel 或 AMD CPU 上运行Debian是可能的,我相信armhf在 64 位 ARM CPU 上运行是可能的。甚至可以在内核上拥有大部分i386二进制文件(因此主要架构是i386)amd64...