Como descobrir se sua instalação GNU/Linux é 32 ou 64 bits

Publicado por Fábio Berbert de Paula em 17/12/2012

[ Hits: 159.710 ]

Blog: https://fabio.automatizando.dev

 


Como descobrir se sua instalação GNU/Linux é 32 ou 64 bits



Dica rápida sobre como descobrir se a instalação de seu sistema operacional GNU/Linux é 32 ou 64 bits.

Abra um terminal e comande:

uname -m

Possíveis retornos para 32 bits são:
  • i386
  • i486
  • i586
  • i686

E para 64 bits:
  • x86_64

A saída também irá variar para diferentes arquiteturas, tais como PowerPC, Alpha, SPARC.

Uma forma alternativa seria testar seus arquivos executáveis. Exemplo em arquiteturas 32 bits:

file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=xxx, stripped

E em 64 bits:

file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

Porém apresentará resultado ineficaz caso tenham sido instalados pacotes 32 bits em arquitetura 64 bits. Recomendo sempre o uso do uname.

Outras dicas deste autor

Ferramentas CASE para Linux

Como suprimir a emissão de luz azul da tela via linha de comando

Vim - implemente um "substituir tudo" no modo BOSS

Descubra o quanto você já gastou na Google Play

Apache2 - Forçando redirecionamento do site para o www

Leitura recomendada

Samsung R480 - controle da luz de fundo

Instalar placa de rede wireless D-Link DWA-525 no Ubuntu 10.10

Impressora HP Color LaserJet 2600n USB (e similares) no GNU/Linux

Colocando sua Nvidia série 8 para funcionar no Ubuntu 7.04

Fazendo o drive de disquete (floppy) funcionar no Ubuntu 10.04 LTS

  

Comentários
[1] Comentário enviado por Sir Emerick em 17/12/2012 - 11:12h

ola;)

muito legal esta dica!

e vc usa qual 32 ou 64?

quando vai fazer uma nova instalação vc prefere qual a 32 ou 64? ou se baseia na quantidade de memoria?


[2] Comentário enviado por ByPeters em 17/12/2012 - 14:56h

### Conheço duas maneiras.

$ uname -m
$ arch


[3] Comentário enviado por eldermarco em 17/12/2012 - 15:40h

E uma maneira de saber se você pode ou não rodar um sistema de 64 bits na sua máquina é através do comando lscpu, que dá informações referentes a sua CPU.

$ lscpu | grep Architecture
Architecture: x86_64

Se a saída, assim como a minha, for x86_64, então você poderá rodar um sistema de 64 bits.

[4] Comentário enviado por eldermarco em 17/12/2012 - 15:46h

E colaborando com mais uma forma de descobrir essa informação (mas a que o Fábio passou é melhor e mais adequada), pode-se utilizar também o comando getconf

$ getconf LONG_BIT
64

Se ele retornar 64 é porque você está executando um sistema de 64 bits. Se for 32, é porque você está em um sistema de 32 bits. Note que o seu processador pode ser de 64 bits, mas você pode estar executando um sistema de 32. Sendo assim, o comando acima irá retornar 32 e não 64, já que ele não está fazendo referência ao processador.

[5] Comentário enviado por removido em 30/10/2013 - 09:46h

Uma forma agora para descobrir se o hardware suporta 32 ou 64 bits é ler /proc/cpuinfo e localizar nas flags a flag "lm" e se o "clflush size" está em 64 ou então com "lshw -C processor" e ver o resultado da linha "Width" se apresentar 64.

exemplos:
root@darkstar:~# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i3 CPU M 330 @ 2.13GHz
stepping : 2
cpu MHz : 933.000
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips : 4256.49
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

root@darkstar:# lshw -C processor | head -13
*-cpu:0
description: CPU
product: Intel(R) Core(TM) i3 CPU M 350 @ 2.27GHz
vendor: Intel Corp.
physical id: 4
bus info: cpu@0
version: 6.5.5
serial: 0002-0655-0000-0000-0000-0000
slot: CPU 1
size: 933MHz
capacity: 3200MHz
width: 64 bits
clock: 133MHz

[6] Comentário enviado por seshirosl em 22/06/2015 - 14:32h


[4] Comentário enviado por eldermarco em 17/12/2012 - 15:46h

E colaborando com mais uma forma de descobrir essa informação (mas a que o Fábio passou é melhor e mais adequada), pode-se utilizar também o comando getconf

$ getconf LONG_BIT
64

Se ele retornar 64 é porque você está executando um sistema de 64 bits. Se for 32, é porque você está em um sistema de 32 bits. Note que o seu processador pode ser de 64 bits, mas você pode estar executando um sistema de 32. Sendo assim, o comando acima irá retornar 32 e não 64, já que ele não está fazendo referência ao processador.


Queria agradecer ao eldermarco, pois precisava dentro de um Shell Script, fazer um if de acordo com a Arch do meu sistema e não estava conseguindo fazer as comparações de outras formas, mas com o retorno de "$ getconf LONG_BIT" funcionou corretamente!

Obrigado e um abraço!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts