Comment vérifier si mon logiciel est 32 bits ou 64 bits

30

Je veux vérifier si mon logiciel est 64 bits ou 32 bits (pas le système d'exploitation). Ce logiciel est un fichier exécutable , et lorsque je le vérifie, aucune information n'est donnée s'il s'agit de 64 bits ou 32 bits.

Comment vérifier si mon logiciel est 64 bits ou 32 bits?

Levan
la source

Réponses:

39

Vous pouvez utiliser la filecommande pour vérifier quel format a cet exécutable. Par exemple:

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
la source
4

Cette commande simple vous montrera si le fichier exécutable est 32 bits (i386) ou 64 bits (amd64).

Syntaxe:

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

Exemple:

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

Explication:

dpkg -Scommande saisit le package auquel le fichier appartient réellement. apt-cache show packageLa commande affichera les détails du package. À partir de ces détails, awk ne saisit que la partie Architecture et la redirige vers stdout.

OU

Vous pouvez également essayer cette commande,

$ dpkg -l $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/ii/ {print $4}'
amd64
Avinash Raj
la source
1
cut -d: -f1serait plus court ici, et notez que cela ne fonctionne que pour les packages installés, pas un fichier aléatoire dans votre dossier de départ. Peut xargs -r- être est plus approprié au cas où la dpkg -Scommande retourne vide.
Lekensteyn
Cela ne fonctionne que si le logiciel provient d'apt / dpkg, tandis que l'autre réponse fonctionne toujours, peu importe d'où il vient.
Joseph Sible-Reinstate Monica