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.648 ]

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

Preparando seu GNU/Linux para o horário de verão 2011/2012

Como atualizar o navegador padrão no Debian

O comando lastlog

Como executar seu código-fonte a partir do Vim

Como fazer "quit" no SED

Leitura recomendada

Instalando drivers de placas de vídeo ATI no Ubuntu Linux

SM56 Motorola com driver Smartlink

Linux no notebook CCE j94a e família

Problema de som no Ubuntu - /dev/dsp: Arquivo ou diretório não encontrado

Áudio do Acer 5542 com Ubuntu

  

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