Cómo verificar si mi software es de 32 bits o de 64 bits

30

Quiero verificar si mi software es de 64 bits o 32 bits (no el sistema operativo). Este software es un archivo ejecutable , y cuando lo reviso, no se proporciona información si es de 64 bits o de 32 bits.

¿Cómo verifico si mi software es de 64 bits o de 32 bits?

Levan
fuente

Respuestas:

39

Puede usar el filecomando para verificar qué formato tiene ese ejecutable. Por ejemplo:

file /usr/bin/gedit
/usr/bin/gedit: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x5a388215eb6f60b420fc3b6d68ec52d563071f84, stripped
Radu Rădeanu
fuente
4

Este simple comando le mostrará si el archivo ejecutable es de 32 bits (i386) o de 64 bits (amd64).

Sintaxis:

apt-cache show $(dpkg -S /path/to/the/file | awk -F ':' '{print $1 }') | awk '/Architecture:/ {print $2}' -

Ejemplo:

$ apt-cache show $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/Architecture:/ {print $2}' -
amd64

Explicación:

dpkg -SEl comando toma el paquete al que pertenece realmente el archivo. apt-cache show packageEl comando mostrará los detalles sobre el paquete. De esos detalles, awk toma solo la parte de Arquitectura y la redirige a stdout.

O

Puedes probar este comando también,

$ dpkg -l $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/ii/ {print $4}'
amd64
Avinash Raj
fuente
1
cut -d: -f1sería más corto aquí, y tenga en cuenta que esto solo funciona para paquetes instalados, no para algún archivo aleatorio en su carpeta de inicio. Quizás xargs -rsea ​​más apropiado en caso de que el dpkg -Scomando regrese vacío.
Lekensteyn
Esto solo funciona si el software proviene de apt / dpkg, mientras que la otra respuesta siempre funciona sin importar de dónde venga.
Joseph Sible: reinstala a Mónica el