¿Cómo verifico si tengo un SO de 32 bits o de 64 bits?

489

Descargué e instalé Ubuntu desde el sitio oficial. Sin embargo, no sé si instalé la versión de 32 bits o de 64 bits.

En Windows 7, podía hacer clic con el botón derecho en Mi PC y enumeraba qué versión era.

¿Hay una manera fácil de verificar en Ubuntu?

Solo bolivianos aquí
fuente
Pregunta similar: askubuntu.com/questions/189640/…
Wilf
La arquitectura de instalación y la arquitectura del núcleo son dos cosas diferentes. Por ejemplo, implementé el soporte multiarch de Debian a través de dpkg --add-architecture amd64e instalé algunos amd64paquetes en mi Ubuntu 16.04 de 32 bits. Ahora ejecuto la instalación de 32 bits con el núcleo de 64 bits sin problema. Entonces, mientras dpkg --print-architectureimprime i386, uname -mimprime x86_64. Consulte wiki.debian.org/Multiarch/HOWTO (es un proceso complicado)
kenn

Respuestas:

629

Sé al menos 2 formas. Abra una terminal ( Ctrl+ Alt+ T) y escriba:

  1. uname -a

    Resultado para Ubuntu de 32 bits:

    Linux discworld 2.6.38-8-generic # 42-Ubuntu SMP Lun 11 de abril 03:31:50 UTC 2011 i686 i686 i386 GNU / Linux

    mientras que Ubuntu de 64 bits mostrará:

    Linux discworld 2.6.38-8-generic # 42-Ubuntu SMP Lun 11 de abril 03:31:50 UTC 2011 x86_64 x86_64 x86_64 GNU / Linux

    Versión más corta:

    $ uname -i
    x86_64
    

    o

  2. file /sbin/init

    Resultado para Ubuntu de 32 bits:

    / sbin / init: objeto compartido LSF ELF de 32 bits , Intel 80386 , versión 1 (SYSV), vinculado dinámicamente (usa libs compartidas), para GNU / Linux 2.6.15, despojado

    mientras que para la versión de 64 bits se vería así:

    / sbin / init: ELF objeto compartido LSB de 64 bits , x86-64 , versión 1 (SYSV), vinculado dinámicamente (usa libs compartidas), para GNU / Linux 2.6.15, despojado

    Lo mismo para sistemas que usan systemd (16.04):

    file /lib/systemd/systemd

    Resultado para 64 bits:

    / lib / systemd / systemd: objeto compartido LSF ELF de 64 bits , x86-64 , versión 1 (SYSV), vinculado dinámicamente, intérprete /lib64/ld-linux-x86-64.so.2, para GNU / Linux 2.6. 32, BuildID [sha1] = 54cc7ae53727d3ab67d7ff5d66620c0c589d62f9, despojado
Rinzwind
fuente
11
El método 2, que consiste en "olfatear" el contenido (binario) de un ejecutable ampliamente disponible, es bastante indirecto y extraño. Si bien funciona para la mayoría de las configuraciones, la mera presencia de un ejecutable de 64 bits no debería ser una forma confiable de detectar la arquitectura del sistema operativo en ejecución . Especialmente cuando lo consideras multiarch, ia32_libsy, especialmente en tu initejemplo,upstart
MestreLion
8
Probablemente tenga razón, pero el Método 1 me mostró una i686salida de 32 o 64 no se me mostró
Aleks
66
@aleks de 32 bits (vea el texto resaltado: `i686 i686 i386` en la respuesta)
Rinzwind
es de 32 bits, he usado el segundo método, pero el primero no me mostró nada parecido i386:) pero su respuesta ayudó. muchas gracias
Aleks
1
# file /sbin/init- /sbin/init: symbolic link to advenedizo '' - # file /sbin/upstart-/sbin/upstart: ELF 64-bit LSB shared object, x86-64...
Nakilon
142

Ubuntu 12.04+ con Unity

  • Presione Comando (mac) o la tecla de ventana.
  • Escriba Detailsy seleccione el icono "Detalles"
  • Lea el campo "Tipo de sistema operativo"
  • El sistema operativo de 64 bits leerá "64 bits"

ingrese la descripción de la imagen aquí

Alternativa para obtener la pantalla anterior:

  • haga clic en Menú del sistema (engranaje en la esquina superior derecha)
  • haga clic en "Acerca de esta computadora"

Sé que las respuestas del terminal son buenas, pero supongo que esta es la respuesta de la GUI. :)

Ubuntu 11.04 con Unity

  • Presione Comando (mac) o la tecla de ventana.
  • Escriba System infoy seleccione el icono Información del sistema
  • Lea el campo "Tipo de sistema operativo"
  • El sistema operativo de 64 bits leerá "64 bits"
Frank Henard
fuente
14
+1: Se prefiere la forma de la GUI sobre los comandos de terminal para un usuario que está acostumbrado a Windows y que solicita específicamente una forma fácil .
MestreLion
1
Además, otra forma (GUI) de llegar a la misma pantalla:System Menu (top right corner, near the clock) -> System Settings -> Details
MestreLion
Con una manera fácil definitivamente en mente: por favor, ¡cualquiera que ejecute Ubuntus más antiguo, proporcione su equivalente de GUI! Especialmente para Lucid Lynx (ya que el LTS es compatible hasta 2015 y, por lo tanto, podría estar funcionando en las computadoras portátiles de las personas).
JP
1
@JP: Para Ubuntus mayores, como Lucid Lynx, la forma de GUI más fácil que conozco es el Monitor del sistema de Gnome . Su Systempestaña muestra la arquitectura.
MestreLion
1
La ventana GUI es encantadora, pero imagina si lo harás por un minuto si estás ejecutando la edición del servidor sin la GUI instalada.
Chris
79

Una manera muy fácil y corta es:

Abra la Terminal, escriba lo siguiente y presione Enter.

getconf LONG_BIT

El número resultante (en mi caso 64) es la respuesta.

terminal - getconf LONG_BIT

Cristiana Nicolae
fuente
77
En mi sistema de 32 bits, esto también da la respuesta correcta. De todos los comandos enumerados en varias respuestas, el resultado de este es el más sencillo.
Stephen Ostermiller
Excepto: $ getconf LONGBIT getconf: variable no reconocida 'LONGBIT'
Auspex
1
Te estás perdiendo el guión bajo @Auspex LONG_BIT
Michael
@Michael Maldición, así que lo estaba. No sé cómo lo logré, y habiendo actualizado esas dos máquinas a 64 bits en el último mes, ahora es bastante discutible ;-) ¡Gracias, de todos modos!
Auspex
58

Referencia: ¿Cómo sé si estoy ejecutando Linux de 32 bits o 64 bits?

Usa el comando:

uname -m

Normalmente obtendrá:

i686

para 32 bits (o posiblemente i586 o i386) y:

x86_64

para 64 bits.

Hemant Metalia
fuente
Es difícil creer que / etc / release no parezca mencionarlo.
rogerdpack
uname -mpida todas las cosas mencionadas en uname -a, a pesar de que generalmente son todos iguales ...
Wilf
27

Abra la terminal e intente el archcomando. Si su salida es x86_64, entonces es de 64 bits. Si dice i686, i386, etc., entonces es de 32 bits.

Sin embargo, la mejor manera de determinar la arquitectura es ejecutar el archcomando y googlear la salida.

aneeshep
fuente
11
arches igual que uname -m(incluso se indica en la página de manual). ;-)
htorque
En mi computadora (Ubuntu 9.04), el comando arch parece no existir. Entonces diría que uname -m es más confiable.
Jonathan Sternberg el
@ JonathanSternberg: fue agregado unos meses después, desarrollado por los mismos autores unamee incluido en el mismo coreutilspaquete. Entonces, desde Ubuntu 10.04 en adelante, ambos comandos están disponibles.
MestreLion
21

dpkg --print-architecture El comando mostrará si ha instalado un sistema operativo Ubuntu de 32 o 64 bits.

En sistemas de 64 bits

$ dpkg --print-architecture
amd64          

En sistemas de 32 bits

$ dpkg --print-architecture
i386

``

Avinash Raj
fuente
66
El único método hasta ahora para detectar correctamente un sistema operativo de 32 bits que ejecuta un núcleo de 64 bits.
Dan Garthwaite
8

Comprobador de arquitectura

ingrese la descripción de la imagen aquí

Enlace de descarga

  1. Descargalo
  2. Extraelo.
  3. Marque el archivo ejecutable Architecture Checker.sh y ejecútelo.

El guión es básicamente esto:

#!/bin/bash
ARCH=$(uname -m)
if [ "$ARCH" = "i686" ]; then
 zenity --info --title="Architecture Checker" --text="Your Architecture is 32-Bit"
fi
if [ "$ARCH" = "x86_64" ]; then
 zenity --info --title="Architecture Checker" --text="Your Architecture is 64-Bit"
fi

Deberá estar en un archivo de texto ejecutable y zenitydeberá instalarse.

Lincity
fuente
8
¿Honestamente necesita descargar y extraer ese archivo de 8 líneas? Simplemente póngalo en un bloque de código aquí.
kiri
y cuando la salida de uname -mno es i686... buen uso de zenity, podría usar notify-sendsin embargo.
Wilf
5

Vaya a Configuración del sistema y en la sección Sistema , presione Detalles . Obtendrá todos los detalles, incluido su sistema operativo, su procesador, así como el hecho de si el sistema está ejecutando una versión de 64 bits o una de 32 bits.

usuario265559
fuente
Eso parece maravilloso Pero no sé cómo "Ir a la configuración del sistema". (Por cierto) estoy usando 12.4 MATE.
Papou
3

Abra el Centro de software de Ubuntu y busque lib32. Si eso arroja algún resultado, está en una instalación de 64 bits (los resultados son bibliotecas de compatibilidad para ejecutar aplicaciones de 32 bits en una instalación de 64 bits).

No es exactamente una mejor respuesta, pero al menos no requiere una terminal ... ;-)

Editar

Encontré uno aún más fácil: abra Ayuda -> Acerca de Mozilla Firefox y lo verá allí mismo ... ;-)

En la parte inferior, muestra la "cadena de agente de usuario", por ejemplo, en mi sistema de 64 bits:

Mozilla/5.0 (X11; U; Linux x86_64; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

o en mi sistema de 32 bits:

Mozilla/5.0 (X11; U; Linux i686; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

x86_64es de 64 bits, i686es de 32 bits

(Pero esta todavía no es la respuesta que debería estar allí;))

JanC
fuente
2
Pura GUI, claro, pero bastante frágil ... los paquetes cuyos nombres ( o descripciones ) contienen lib32seguramente no son una forma confiable de detectar arquitectura.
MestreLion
2

El botón de encendido (superior, extremo derecho) tiene la opción "Acerca de esta computadora". :)

Pimienta
fuente
2
no el 12.04 LTS
törzsmókus
1

Hasta donde puedo recordar, es posible instalar el núcleo x86_64 en un sistema de 32 bits. Como algunos escribieron aquí, debe mirar qué bibliotecas tiene / qué paquetes ha instalado en su sistema. Entonces, la forma más segura de ver es verificar si tiene /lib64y si es un enlace simbólico /lib.

Otra forma posible es verificar en qué paquetes ha descargado /var/cache/apt/archive. Si contienen _amd64.deb, es un sistema de 64 bits, es decir, si ha instalado paquetes y no ha borrado su caché.

Todo eso se puede hacer desde Konqueror / Dolphin simplemente señalando y haciendo clic o:

ls -la / |grep lib
Osis
fuente
1

Debe tener en cuenta que puede tener una CPU de 64 bits mientras instala un núcleo de 32 bits. Es decir, si su CPU es 64, no significa que su sistema operativo sea 64, depende de lo que haya instalado.

man uname

   -m, --machine
          print the machine hardware name

   -p, --processor
          print the processor type or "unknown"

   -i, --hardware-platform
          print the hardware platform or "unknown"

por lo que para obtener el uso de la plataforma de hardware uname -mo uname -po uname -itiempo para conseguir el tipo de núcleo que es mejor getconf LONG_BITde comandos.

Comprueba esta pregunta SO

Maythux
fuente
En realidad no es relevante para la pregunta: tiene una CPU de 64 bits y quiere saber qué sistema operativo se instaló.
Auspex
0

Eche un vistazo a sus fuentes de software en Synaptic o Software Center. Si no ha eliminado su fuente original, por ejemplo, cdrom, indicará (?) La arquitectura. Es una GUI pero no dirá '32 bits' ni '64 bits'.

fuera de sintonía
fuente
-1

No estoy seguro de cómo se llama un sistema operativo de 32 bits.

Para ser específicos, mi distribución de kernel y escritorio es un Debian / Sid de 64 bits, pero uso habitualmente schrootpara ejecutar un deboostrapDebian de 32 bits dentro de un chrootentorno ed (para fines de prueba).

¿Crees que mi entorno de 32 bits debería llamarse 32 bits (creo que sí) o 64 bits (después de todo, se ejecuta dentro de un núcleo de 64 bits)? En ese entorno uname -mdice i686y todas las bibliotecas y ejecutables y procesos son de 32 bits.

Para fines prácticos uname -mdebería ser suficiente. El filecomando puede decirle si un ejecutable ELF es de 32 bits o de 64 bits.

Vea el syscall de la personalidad específica de Linux (2) (y también el de uname (2) ).

Y la información de hardware sobre su procesador es visible, por ejemplo, con

 cat /proc/cpuinfo

su salida es la misma en mi sistema de escritorio de 64 bits y en mi entorno schroot-ed de 32 bits.

Basile Starynkevitch
fuente
44
-1: agregaste mucha confusión innecesaria sin agregar ninguna información nueva útil. ¿Por qué decir que "no estás seguro de cómo llamas a un sistema operativo de 32 bits"? Esa es una pregunta bastante directa, una que conoces . Su chrootejemplo no tiene sentido: es similar a una máquina virtual, por lo que, por supuesto, se uname -mgenerará i686si lo arranca con un sistema operativo de 32 bits. Pero el "host" todavía tiene 64 bits, y uname -mlo dirá si lo ejecuta fuera del entorno chroot
MestreLion
2
Además, /proc/cpuinfoes engañoso: muestra las capacidades de la CPU y no la arquitectura del sistema operativo instalado (y en ejecución) real. Prácticamente todas las CPU de escritorio vendidas en los últimos 5 años son de 64 bits, pero esto no tiene absolutamente nada que ver con la pregunta. Y, por supuesto, informa lo mismo en ambos escenarios, ya que el hardware de su CPU es el mismo y es capaz de ejecutar sistemas operativos de 32 y 64 bits.
MestreLion
@MestreLion, lo que Basile está tratando de decir es que, en algunos casos, por ejemplo, cuando usa LXC o chroot, puede ejecutar un sistema de solo 32 bits con un núcleo de 64 bits. En estos casos, unamele dirá la arquitectura del núcleo, 64 bits, mientras que otros métodos le dirá la arquitectura del usuario, 32 bits, y no está claro cuál de los dos es "la" arquitectura.
Joni
@Joni: Ok, entiendo. Pero ese es un escenario de esquina extrema, y ​​seguramente no es el caso del OP.
MestreLion
Probablemente no sea el caso del OP, solo quería aclarar el punto que Basile estaba tratando de hacer (Además, ¿parece que mi edición anterior para corregir la respuesta fue rechazada? En este entorno se uname -mgenerará la arquitectura del núcleo que es x86_64, no i686. )
Joni