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

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

Verificar se site está online via linha de comando

Como ordenar arquivos por tamanho

Como programar um keylogger em Python [Vídeo]

SED - texto para maiúsculas, minúsculas, pascal case e camel case

Como somar todos os números contidos num arquivo texto

Leitura recomendada

Wi-Fi no Dell Inspiron 1525 - Configurando Broadcom 4312 LP-PHY no Linux Mint 14/15

Placa wireless Ralink no sidux

Como resolver o travamento do Ubuntu nos Avell W1511/G1511

Instalação da placa de rede sem fio RT3562STA

Configurando o modem cs-11 da Nokia no 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