假设文件系统安装在 ~/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