Determinando a arquitetura Linux a partir de arquivos

Determinando a arquitetura Linux a partir de arquivos

Eu tenho um sistema com uma /usrpartição irrecuperável. Com medo de que as unidades estejam estragando, inicializei-o em um ambiente LiveCD e não consigo lembrar qual era a arquitetura de instalação, o máximo que tenho é o CentOS 5.5.

Por causa do ambiente Live, nenhum dos métodos padrão funciona, como uname ouchecking /proc.

Aqui está o kernel que foi usado: vmlinuz-2.6.18-194.32.1.el5 Existe algo que eu possa verificar no arquivo para descobrir se a arquitetura é de 32 ou 64 bits?

Ou algo mais que eu possa ver no sistema de arquivos? Nada /usrfuncionará porque essa partição está morta.

Responder1

file vmlinuz-2.6.18-194.32.1.el5lhe dirá para qual arquitetura o kernel foi compilado. Se houver um arquivo /boot/config-2.6.18-194.32.1.el5, ele fornecerá mais informações sobre as opções de compilação do kernel, incluindo a arquitetura do processador.

ls /lib*dirá qual arquitetura a área do usuário suporta. Por exemplo, se houver /lib/ld-linux.so.2um sistema x86, você terá pelo menos suporte básico de 32 bits. Se houver /lib/ld-linux-x86-64.so.2ou /lib64/ld-linux-x86-64.so.2você tiver pelo menos suporte básico de 64 bits (AMD64). file /bin/lsinformará de quais utilitários de arquitetura são compilados (geralmente, todo o ambiente de usuário do sistema operacional é compilado para uma arquitetura, talvez com bibliotecas adicionais para outra ABI para aplicativos personalizados).

O kernel e a área do usuário nem sempre têm a mesma arquitetura. Os kernels Amd64 podem executar programas de usuário de 32 bits (mas não o contrário). Se você quiser saber se possui uma edição de 32 ou 64 bits do CentOS, verifique se /bin/lsé um programa de 32 ou 64 bits.

Responder2

Basta executar filena imagem do kernel. Ele mostrará em qual arquitetura o binário foi compilado. file vmlinuz-2.6.18-194.32.1.el5.

EDIT: A execução do arquivo no kernel do OP não retorna a arquitetura exata, portanto a resposta não é válida. Vou tentar em meus kernels e ver se consigo mais informações.

Responder3

Procure um diretório /lib64, se estiver lá e não estiver vazio, você provavelmente teve uma instalação de 64 bits; se não estiver, então era de 32 bits.

Responder4

Ainda funciona rpm/ yumfunciona? rpm -q kerneldevo dizer, se estiver x86_64no final, é uma configuração de 64 bits.

informação relacionada