はじめに
Linuxサーバー上で各種パッケージの導入やバイナリのデプロイを進める際、稼働環境のCPUアーキテクチャを正しく把握しておくことは極めて重要です。冗長なマニュアルを読み解く手間を省き、ターミナルから arch コマンドをはじめとする関連ユーティリティを駆使して、マシンのアーキテクチャ情報を手早く正確に特定するアプローチを解説します。
archコマンドでハードウェアアーキテクチャを即座に判定する
ホストマシンのマシンハードウェア種別およびアーキテクチャ名をダイレクトに取得したい場合、arch コマンドが最もシンプルで適しています。
実行結果として得られる x86_64 は、一般的なIntelやAMD互換の64ビット実行基盤であることを意味します。
⚙️ [主要オプション]
--help : 基本的な使用構文や指定可能なパラメータの一覧ヘルプを表示して終了します。--version : 導入されているツールのバージョン詳細およびライセンス表記を出力して終了します。

一方、システムプロファイルを出力する定番コマンド uname にマシン種別を指定するオプションを付与した uname -m も広く利用されています。このコマンドは機能面において arch と実質的に同一の情報を返します。
こちらも同様に x86_64 が返答されることから、内部的には共通のシステムカーネル情報を参照していることが分かります。

パッケージマネージャ視点でのアーキテクチャ識別 (dpkg)
DebianおよびUbuntu系の環境では、OSのパッケージ管理機構(dpkg / APT)が認識するネイティブバイナリのアーキテクチャ名を確認できる dpkg --print-architecture が用意されています。
先ほどの arch がハードウェア名として x86_64 を返したのに対し、Debian系エコシステムではこの64ビットPC環境を amd64 という識別子で取り扱う違いが確認できます。

さらに、システムにメインアーキテクチャとは異なるバイナリの共存・実行(マルチアーキテクチャ環境)が構成されているかを調査するには、dpkg --print-foreign-architectures を実行します。
このコマンドを実行しても何も標準出力に戻らない場合、現在のOSには amd64 以外の補助アーキテクチャ(32ビットの i386 など)が追加登録されていないことを示しています。

lscpuによるCPU動作モードおよび詳細構造の解析
CPUの構造やプロセッサ機能をより多角的に調査できる lscpu を利用するため、該当ツール群を内包する util-linux パッケージを最新状態へ更新・インストールしておきます。

出力される膨大なプロセッサ情報の中から必要な項目だけを抽出するため、lscpu に grep -E を組み合わせてアーキテクチャ、対応動作モード、エンディアン形式に絞り込みます。
実行結果から、プロセッサ基盤は x86_64 であり、下位互換性として32ビットと64ビットの双方を実行可能なモード(32-bit, 64-bit)を備えていることが読み取れます。
あわせて、メモリ上に下位バイトから順次配置していく Little Endian 方式が採用されている点も一目で把握できます。

シェルスクリプトによるアーキテクチャ自動判別と条件分岐
インフラ構築の自動化などで重宝する、環境のアーキテクチャを動的に検知して処理を分岐させるシェルスクリプトのひな形を作成します。cat << 'EOF' > test_arch.sh を使ってテスト用のスクリプトファイルを生成しましょう。
スクリプト内では arch の出力を変数 ARCH へ格納し、if-elif-else 構文を用いて一般的な x86_64 と ARM基盤である aarch64 を判別するロジックを構成します。

書き出したスクリプトを直接実行できるようにするため、chmod +x test_arch.sh コマンドで実行権限を付与します。

./test_arch.sh を叩いてスクリプトを動かし、アーキテクチャ判定の挙動を検証します。
検証環境の仕様に基づき x86_64 の条件に一致し、Detected architecture: 64-bit Intel/AMD (x86_64) というメッセージが正常に出力されました。

動作確認が完了したら、作業環境をクリーンに保つため rm -f test_arch.sh で検証用スクリプトを削除しておきます。

本記事では、Linuxシステムにおいて arch コマンドを起点にCPUアーキテクチャやシステム仕様を的確に判定するテクニックを紹介しました。
適切なパッケージ選定やクロスプラットフォーム対応スクリプトを作成する際の基礎知識として、ぜひ現場でご活用ください。