Как проверить, является ли мое программное обеспечение 32-битным или 64-битным - proUbuntu
29 голосов
/ 22 марта 2014

Я хочу проверить, является ли мое программное обеспечение 64-битным или 32-битным (не ОС). Это программное обеспечение является исполняемым файлом, и когда я проверяю его, информация не указывается, является ли она 64-разрядной или 32-разрядной.

Как проверить, является ли мое программное обеспечение 64-битным или 32-битным?

Ответы [ 2 ]

37 голосов
/ 22 марта 2014

Вы можете использовать команду file, чтобы проверить, какой формат имеет этот исполняемый файл. Например:

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
4 голосов
/ 23 марта 2014

Эта простая команда покажет вам, является ли исполняемый файл 32-битным (i386) или 64-битным (amd64).

Синтаксис:

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

Пример:

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

Пояснение:

dpkg -S команда захватывает пакет, к которому фактически принадлежит файл. apt-cache show package команда показывает подробности о пакете. Из этих подробностей awk берет только часть Архитектура и перенаправляет ее на стандартный вывод.

OR

Вы можете попробовать эту команду также,

$ dpkg -l $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/ii/ {print $4}'
amd64
...