Réponses:
Vous pouvez utiliser la file
commande 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
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 -S
commande saisit le package auquel le fichier appartient réellement. apt-cache show package
La 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
cut -d: -f1
serait 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. Peutxargs -r
- être est plus approprié au cas où ladpkg -S
commande retourne vide.