리눅스 CPU 아키텍처 확인: arch 명령어 실습 완벽 가이드

개요

리눅스 환경에서 패키지 설치나 바이너리 배포 시 시스템 아키텍처 확인은 필수적인 첫 단계입니다. 복잡한 man 페이지를 읽는 대신, 터미널에서 arch 명령어와 연관 도구들을 직접 실행하며 내 서버의 아키텍처를 빠르고 정확하게 파악하는 방법을 알아봅니다.

arch 명령어로 시스템 하드웨어 아키텍처 확인하기

arch 명령어는 현재 시스템의 컴퓨터 아키텍처 및 머신 하드웨어 이름을 확인하는 명령어입니다.
실행 결과로 출력된 x86_64는 64비트 인텔/AMD 호환 아키텍처 환경임을 나타냅니다.
⚙️ [주요 옵션]

--help : 사용법과 지원하는 옵션 요약 정보를 화면에 표시하고 종료합니다.
--version : 프로그램의 버전 정보와 라이선스 정보를 출력하고 종료합니다.

arch

uname -m 명령어는 시스템 정보 출력 명령어인 uname에 머신(machine) 하드웨어 옵션을 지정한 것으로, arch 명령어와 동일하게 시스템의 CPU 아키텍처 이름을 출력합니다.
실행 결과 역시 arch와 동일하게 x86_64가 출력되며, 내부적으로 같은 하드웨어 정보를 참조함을 알 수 있습니다.

uname -m

패키지 관리 관점의 아키텍처 확인 (dpkg)

dpkg --print-architecture 명령어는 현재 시스템의 데비안 계열 패키지 관리자(dpkg/APT)가 기본으로 사용하는 기본 바이너리 아키텍처를 출력합니다.
앞서 arch 명령어가 출력한 하드웨어 명칭 x86_64와 달리, 패키지 관리 체계에서는 64비트 x86 환경을 amd64라는 아키텍처 이름으로 식별함을 보여줍니다.

dpkg –print-architecture

dpkg --print-foreign-architectures 명령어는 시스템에 기본 아키텍처 외에 추가로 설치 및 실행을 허용하도록 설정된 외장(멀티) 아키텍처 목록을 출력합니다.
실행 결과 아무런 값도 출력되지 않은 것은 현재 64비트(amd64) 외에 32비트(i386) 등 다른 보조 아키텍처 패키지 환경이 활성화되어 있지 않음을 의미합니다.

dpkg –print-foreign-architectures

lscpu로 CPU 동작 모드 및 상세 아키텍처 분석

lscpu 명령어를 사용하기 위해 관련 도구가 포함된 util-linux 패키지를 최신 상태로 업데이트하고 설치합니다.

sudo apt-get update -qq && sudo apt-get install -y util-linux

lscpu 명령어에 grep -E 필터를 적용하여 CPU 아키텍처, 지원 동작 모드, 바이트 순서(Endian) 정보만 선별해 출력합니다.
실행 결과 아키텍처는 x86_64로 확인되며, 32비트와 64비트 바이너리를 모두 실행할 수 있는 하위 호환 모드(32-bit, 64-bit)를 지원함을 알 수 있습니다.
또한 메모리 바이트 저장 방식으로 최하위 바이트부터 먼저 기록하는 Little Endian 방식을 채택하고 있음을 명확하게 보여줍니다.

lscpu | grep -E ‘Architecture|CPU op-mode|Byte Order’

쉘 스크립트에서 arch 명령어를 활용한 아키텍처별 분기 처리

시스템의 아키텍처를 감지하여 조건문으로 분기 처리하는 실습용 쉘 스크립트를 생성하기 위해 cat << 'EOF' > test_arch.sh 명령어를 실행합니다.
arch 명령어의 실행 결과를 변수 ARCH에 할당하고 if-elif-else 조건문을 통해 x86_64 및 aarch64 환경을 구분하도록 작성합니다.

cat « ‘EOF’ > test_arch.sh
#!/bin/bash
ARCH=$(arch)
if [ “$ARCH” = “x86_64” ]; then
echo “Detected architecture: 64-bit Intel/AMD (x86_64)”
elif [ “$ARCH” = “aarch64” ]; then
echo “Detected architecture: 64-bit ARM (aarch64)”
else
echo “Detected architecture: $ARCH”
fi
EOF

생성한 스크립트 파일을 직접 실행할 수 있도록 chmod +x test_arch.sh 명령어를 사용하여 실행 권한을 부여합니다.

chmod +x test_arch.sh

./test_arch.sh 명령어로 스크립트를 실행하여 아키텍처 감지 동작을 확인합니다.
현재 환경의 아키텍처인 x86_64 조건에 매칭되어 Detected architecture: 64-bit Intel/AMD (x86_64) 메시지가 정상적으로 출력됩니다.

./test_arch.sh

실습을 마친 후 테스트 환경을 정리하기 위해 rm -f test_arch.sh 명령어를 실행하여 임시 생성한 스크립트 파일을 삭제합니다.

rm -f test_arch.sh

지금까지 arch 명령어를 사용하여 리눅스 시스템의 CPU 아키텍처를 확인하는 방법을 간단하게 살펴보았습니다.
패키지 설치나 환경 구축 전 시스템의 기본 아키텍처를 빠르게 파악해야 할 때 유용하게 활용해 보시기 바랍니다.