Skip to content

Busybox

비지박스(BusyBox)는 하나의 실행 파일 안에 스트립 다운된 일부 유닉스 도구들을 제공하는 소프트웨어이다. 리눅스, 안드로이드, FreeBSD와 같은 다양한 POSIX 환경에서 실행되지만 도구들 중 다수가 리눅스 커널이 제공하는 인터페이스와 함께 동작하도록 설계되어 있다. 자원이 매우 적은 임베디드 운영 체제를 위해 작성되었다. 제작자들은 이를 임베디드 리눅스의 스위스 군용 칼로 불렀는데, 그 이유는 하나의 실행 파일이 300개 이상의 개별 명령들의 기본 기능들을 대체하기 때문이다. GNU GPL v2 조항에 의거하여 자유 소프트웨어로 출시된다.

간단히....

BusyBox는 수많은 UNIX 명령행 유틸리티의 기능을 하나의 실행 파일 안에 통합시킨 소프트웨어이다.

공식 슬로건은 "임베디드 리눅스 업계의 스위스 아미 나이프(The Swiss Army Knife of Embedded Linux)".

상세

몇백 KB 정도밖에 안 되는 작은 바이너리 속에 필수 UNIX 유틸리티 350여개의 기능이 얼추 들어가 있기 때문에, 임베디드 환경에서 널리 이용된다. BusyBox를 사용하는 임베디드 리눅스 환경에서 ls -al /bin 을 찍어 보면 수많은 명령어가 busybox로 심볼릭 링크되어 있는 모습을 볼 수 있다.

물론 용량 제약 때문에 각 명령어가 제공하는 기능들이 간략화되었기 때문에, GNU Coreutils나 POSIX/SUS 스펙에 비교하면 은근히 기능들이 빠져 있다는 단점이 있다.

BusyBox를 컴파일할 때 원하는 명령어("applet")를 포함할지 여부를 선택할 수 있다. 만약 350개의 유틸리티 모두가 필요하지 않다고 생각해서 덜어낸다면 몇십 KB밖에 안 하는 BusyBox 바이너리를 만들 수도 있다.

BusyBox는 GNU GPLv2 하에 배포되는 자유 소프트웨어이다.

사용처

주로 시스템 관련 파일이 깨지면 사용한다. 다음과 같이 사용:

busybox ls ...
busybox cp ...

See also

Favorite site