显示指定文件系统架构的最佳方式?

显示指定文件系统架构的最佳方式?

假设文件系统安装在 ~/FS/ (它的根目录)中,如何在不使用 chroot 的情况下检查其架构?

我尝试过,dpkg --root=~/FS/ --print-architecture但它仍然打印我的根文件系统的架构(“/”)。

我已经阅读了手册页dpkg-architecture,但是没有办法指定根文件系统的路径。

我需要一些通用的东西,因为我需要它用于 bash 脚本,而不仅仅是一个文件系统。

对我来说一个不干净的替代方法是使用:

dpkg --root=~/FS/ -l | grep [[:space:]]passwd[[:space:]]

然后检查它的架构,因为我知道(目前)该passwd包已安装在我必须检查的所有文件系统上。

还有更好的建议吗?

另请注意我尝试使用dpkg它的简单性,我并不迫切需要 dpkg 命令,但我需要一些快速的东西。

亲切的问候 :-)

答案1

如果你可以尝试用readelf这种方式

readelf -a /boot/vmlinuz-2.6.18-308.el5  | egrep "(Class:|Machine:)"
Class:                             ELF64
Machine:                           Advanced Micro Devices X86-64

对于 32 位二进制

readelf -a test  | egrep "(Class:|Machine:)"
  Class:                             ELF32

因此readelf您可以使用路径查询 arch 机器:Intel 80386

相关内容