GNU/Linux >> Tutoriales Linux >  >> Linux

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

Solución 1:

"uname -m" es el comando que está buscando. Puede ejecutar tanto 32 bits como 64 bits en procesadores Intel y AMD modernos, por lo que "uname -p" no lo ayudará (además, en la mayoría de los casos no funciona en estos días, aquí core2 piensa que la respuesta a "uname -p" es "desconocido").

Buscar la existencia de /usr/lib64 (como se ha sugerido) tampoco lo ayudará, ya que algunos paquetes relacionados con el hardware y el sistema instalarán bibliotecas de 32 bits y 64 bits para estar seguros. En mi sistema (debian) el paquete fakeroot hace justamente eso.

En cuanto a la salida de "uname -m", si es i386 o i686 es de 32 bits, si es x86_64 (o alpha, o ia64 o alguna otra arquitectura de 64 bits que nunca he visto :) es de 64 bits.

(aparte de la diversión, mi servidor FreeBSD de 64 bits devuelve "amd64", lo que puede ser un poco extraño para un Intel quadcore pero totalmente comprensible si conoce la historia de la arquitectura x86 de 64 bits)

Solución 2:

uname -a y busque x86_64. Si desea saber si su CPU puede manejar 64 bits, cat /proc/cpuinfo y busque lm dentro de las banderas.

Solución 3:

para RedHat/CentOS:

$ uname -a
Linux cs-centos 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 12:03:43 EST 2008 i686 athlon i386 GNU/Linux

32 bits

  • i686 y/o i386

64 bits

  • tendría x86_64 en uname -a salida

Solución 4:

Solo para confundir las cosas, puede ejecutar un kernel de 64 bits con un espacio de usuario de 32 bits, que es lo que estoy haciendo. En este caso, uname -m devuelve x86_64 pero no tengo ninguna biblioteca de 64 bits instalada, por lo que la mayoría de los programas de 64 bits no se ejecutarán.

Entonces, una vez que marque uname, debe buscar /lib64/ld-linux-x86-64.so.2 , /lib64/libc-2.7.so y /lib/ld-linux.so.2 , /lib/libc-2.7.so para ver si las bibliotecas de 64 bits y 32 bits están disponibles. Y para estar realmente seguro, ejecute esos archivos y vea si se ejecutan correctamente.

Otra información útil es la salida de lsb_release -a que es multidistribución e informará qué módulos LSB específicos de la arquitectura están disponibles.

Solución 5:

$> getconf LONG_BIT Respuesta:32 o 64.


Linux
  1. Linux:¿cómo saber qué hacer con Grep en Dmesg?

  2. Cómo matar procesos en ejecución en Linux

  3. ¿Cómo matar un proceso que se ejecuta en un puerto particular en Linux?

  4. ¿Comando de Linux para devolver el número de bits (32 o 64)?

  5. ¿Cómo sé que mi CPU admite sistemas operativos de 64 bits en Linux?

Cómo matar el proceso de ejecución de Linux en un puerto particular

Cómo saber si tiene una computadora de 32 o 64 bits en Linux y Windows

Cómo saber los grupos de un usuario de Linux

Cómo saber si la versión de Linux es de 32 bits o de 64 bits

¿Cómo verificar que el sistema Linux sea de 32 bits o de 64 bits?

¿Cómo puedo perfilar el código C++ que se ejecuta en Linux?