비지박스 버전을 확인하는 방법(비지박스에서)?

비지박스 버전을 확인하는 방법(비지박스에서)?

임베디드 시스템에서 busybox를 사용하고 있는데 버전을 확인하고 싶습니다. 비지박스에서 비지박스 버전을 확인하는 방법은 무엇입니까?

답변1

busybox 바이너리를 다음과 같이 호출하면 busyboxBusybox 버전, 말도 안되는 몇 줄, 바이너리에 포함된 유틸리티 목록이 포함된 줄을 얻게 됩니다.

busybox | head -1

--help대부분의 유틸리티는 첫 번째 줄에 버전 번호를 입력하여 호출하면 사용법 메시지를 표시합니다 .

ls --help 2>&1 | head -1

답변2

--help사용량을 확인하려면 플래그와 함께 명령을 실행하여 busybox를 실행하는 시스템의 버전을 확인할 수 있습니다 . 호출의 첫 번째 줄에는 busybox 버전에 대한 설명이 포함되어 있습니다.

$ cat --help
BusyBox v1.18.4 (2011-03-13 15:36:03 CET) multi-call binary.

Usage: cat [FILE]...

Concatenate FILEs and print them to stdout

busybox를 실행하고 있지 않지만 시스템에 설치되어 있는 경우 다음과 같이 유틸리티 중 하나를 인스턴스화하여 확인할 수 있습니다.

$ busybox cat --help

(편집:질 노트명령을 사용하지 않고 busybox 바이너리를 호출하여 동일한 헤더를 얻을 수도 있습니다.)

마지막으로 매뉴얼 페이지 끝에 해당 버전을 보여주는 메모가 있습니다.

$ man busybox | tail -n 1
version 1.18.4    2011-03-13     BUSYBOX(1)

답변3

언급되지 않았으니 sh --help괜찮습니다.

# sh --help
BusyBox v1.27.1 (2020-06-11 08:53:57 UTC) multi-call binary.

Usage: sh [-/+OPTIONS] [-/+o OPT]... [-c 'SCRIPT' [ARG0 [ARGS]] / FILE [ARGS]]

Unix shell interpreter
# _

답변4

busybox 버전을 확인하는 또 다른 방법은 원본 프로그램 파일을 보고 BusyBox가 포함된 줄만 표시하는 것입니다.

strings $(which busybox) | grep \\\<BusyBox

or 

strings /bin/busybox | grep 'BusyBox'

이것도 작동합니다. "."이 있는 "v"를 찾는 방식으로 작동합니다. 다음 "v"와 "." 사이에는 공백 문자가 없습니다.

strings /bin/busybox | grep '[ ][v][^ ]*[.]'

내가 보는 출력은 다음과 같습니다.

syslogd started: BusyBox v1.32.0
BusyBox v1.32.0 (2020-11-03 15:21:44 +03)

관련 정보