softwareが64ビットか32ビット(OSではない)かどうかを確認したい。このソフトウェアはexecutableファイルであり、チェックすると、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