Melhor maneira de mostrar a arquitetura de um sistema de arquivos especificado?

1

Admitir um sistema de arquivos é instalado em ~ / FS / (que é sua raiz), como posso verificar sua arquitetura sem chroot?

Eu tentei com dpkg --root=~/FS/ --print-architecture , mas ainda imprime a arquitetura do meu sistema de arquivos raiz ("/").

Eu li man-pages de dpkg-architecture , mas não há como especificar um caminho para um sistema de arquivos raiz.

Eu preciso de algo genérico, porque eu preciso dele para um script bash e não apenas para um sistema de arquivos.

Uma alternativa impura para mim é usar:

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

e, em seguida, verifique sua arquitetura, porque eu sei que (no momento) o pacote passwd está instalado em todos os sistemas de arquivos que eu tenho que verificar.

Qualquer melhor proposta (s)?

Observe também que tentei com dpkg por sua simplicidade, eu não preciso imperativamente de um comando dpkg, mas preciso de algo rápido.

Atenciosamente: -)

    
por exe-cute-table 16.07.2015 / 16:05

1 resposta

1

Se você pode tentar usar readelf dessa maneira

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

Para binário de 32 bits

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

então usando readelf você pode consultar o arco em seu caminho       Máquina: Intel 80386

    
por 16.07.2015 / 18:29