Skip to main content

Archコマンドを使ってコンピュータのアーキテクチャタイプを調べる

Simple Tools and Techniques for Reversing a binary - bin 0x06 (六月 2026)

Simple Tools and Techniques for Reversing a binary - bin 0x06 (六月 2026)
Anonim

理論的には、まずコンピュータのアーキテクチャを知っているはずです。なぜなら、最初にLinuxをインストールしたからです。

もちろん、Linuxをコンピュータにインストールしていない場合や、パッケージをコンパイルして実行する前にアーキテクチャを知っている必要があります。

アーキテクチャの種類は明らかだと思うかもしれませんが、Chromebookを考慮すると、x86_64またはアームベースの可能性があります。コンピュータが32ビットであるか、 64ビット。

アーキテクチャの種類

では、どのようなタイプがありますか? Debianのダウンロードページをチェックするだけで、以下のアーキテクチャが一覧表示されます:

  • amd64
  • アーム64
  • 武器
  • アームフ
  • i386
  • ミップス
  • ミセル
  • powerpc
  • ppc64el
  • s390ex

他の潜在的なアーキテクチャにはi486、i586、i686、ia64、alpha、sparcなどがあります。

次のコマンドを実行すると、コンピュータのアーキテクチャが表示されます。

アーチ

本質的に、archコマンドは以下のコマンドを表現する簡単な方法です:

uname -m

unameは、アーキテクチャの種類がごく一部であるコンピュータに関するすべての種類のシステム情報を出力するために使用されます。

単独でunameと入力すると、実行中のオペレーティングシステム(Linuxなど)が表示されます。一方、uname -aはunameコマンドから利用可能なすべての情報を表示します。

  • カーネル名
  • ノード名
  • カーネルリリース
  • カーネルバージョン
  • マシンハードウェア(すなわち、アーチコマンドと同じ)
  • プロセッサー
  • ハードウェアプラットフォーム
  • オペレーティング・システム

スイッチを使用して、表示したい情報だけを指定することができます。

  • uname -a - すべての情報を表示する
  • uname -s - カーネル(Linuxなど)を表示します。
  • uname -n - ネットワークホスト名(localhost.localdomain)を表示します。
  • uname -r - カーネルのリリースを示します(つまり、3.10.0-229.14.1.e17.x86_64
  • uname -v - カーネルのバージョンを示します(つまり、#1 SMP Tue Sep 15 15:05:51 UTC 2015)
  • uname -m - アーキテクチャ(x86_64など)を示します。
  • uname -p - プロセッサタイプ(x86_64など)を示します。
  • uname -i - ハードウェアプラットフォーム(x86_64)
  • uname -o - オペレーティングシステム

次のコマンドを入力して、unameとarchのマニュアル全体を見ることができます。

情報coreutilsのuname呼び出し

man archを入力すると、archコマンドの詳細を得ることもできます。

archコマンド自体には2つのスイッチしかありません:

  • arch --help - ヘルプページを表示する
  • arch --version - バージョン番号を表示する

このガイドを完了するには、システムが32ビットまたは64ビットのどちらを実行しているかを次のコマンドで確認します。

  • getconf LONG_BIT

getconfは実際には設定値を取得します。これは、POSIXプログラマーのマニュアルの一部です。 LONG_BITは、長い整数のサイズを返します。 32を返した場合は32ビットシステムを、64を返した場合は64ビットシステムを持っています。

しかし、この方法は馬鹿馬鹿しいことではなく、すべてのアーキテクチャで動作するとは限りません。

getconfコマンドの詳細については、man getconfを端末ウィンドウに入力するか、このWebページを参照してください。

明らかにuname -mよりもarchをタイプするほうが簡単ですが、archコマンドは非推奨であり、将来すべてのバージョンのLinuxで使用できない可能性があります。したがって、代わりにunameコマンドを使用する必要があります。