특정 ARM 아키텍처 문자열을 결정하는 쉬운 명령 줄 방법? armhf, armel또는은

컴퓨터의 아키텍처를 기반으로 작업을 결정하는 스크립트를 작성하려고합니다. 이미 사용 uname -m하지만 내가 얼마나 많은 ARM 아키텍처 모르는, 아키텍처 라인을 수집 할 수 없으며, 내가 한인지 알고 armhf, armel또는 arm64.

이것은 스크립트의 일부를 실행할 수 있는지 여부를 확인이 스크립트가 필요합니다, 나는 아키텍처가 있는지 확인하는 간단한 방법을 찾기 위해 노력하고 armhf, armelarm64. 출력 중 어느 하나에 이용 될 수있는 한 줄 또는 간단한 명령 있는가 armhf, armel또는은 arm64?

이 스크립트는 데비안과 우분투 시스템을 위해 특별히 작성되었으며, 이것을 염두에두고 태그를 작성하고 있습니다 (그 배포판 중 하나에 있지 않으면 자동으로 종료되지만, 명령이 존재합니다)


편집 : 최근 armel이 죽었고 arm64 소프트웨어 빌더 (PPA 또는 가상 기반)가 가장 안정적이지 않다는 것을 알게되었습니다. 그래서 와일드 카드를 찾고 arm*armhf를 가정하고 있지만 우분투 / 데비안 명령이든 커널 호출이든 관계없이 세 가지 중 하나를 반환하는 하나의 라이너를 찾아야합니다.



답변

dpkg --print-architecture

실행되는 컴퓨터의 기본 아키텍처를 출력합니다. 이것은 armhf32 비트 ARM Debian 또는 Ubuntu (또는 파생 제품)를 arm64실행하는 시스템과 64 비트 ARM을 실행하는 시스템에 있습니다.

실행중인 아키텍처는 하드웨어 아키텍처 또는 커널 아키텍처와 다를 수 있습니다. i38664 비트 Intel 또는 AMD CPU에서 데비안 을 실행할 수 armhf있으며 64 비트 ARM CPU 에서 실행할 수 있다고 생각합니다 . 커널 에 i386바이너리 가 많을 수도 있습니다 (따라서 기본 아키텍처는 i386) amd64.