Я хочу проверить, составляет ли мое программное обеспечение 64 бита или 32 бита (не ОС). Это программное обеспечение является исполняемым файлом, и когда я проверяю его, никакая информация не дана, если это 64-разрядное или 32-разрядным.
Как я проверяю, является ли мое программное обеспечение 64-разрядным или 32-разрядным?
Можно использовать эти 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
Эта простая команда покажет Вам, является ли исполняемый файл 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 захватывает только часть Архитектуры и перенаправляет ее к stdout.
ИЛИ
можно попробовать эту команду также,
$ dpkg -l $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/ii/ {print $4}'
amd64