>  기사  >  운영 및 유지보수  >  리눅스 비지박스가 뭐야?

리눅스 비지박스가 뭐야?

青灯夜游
青灯夜游원래의
2022-11-11 10:20:273244검색

busybox는 Linux 시스템에서 소프트웨어를 개발하기 위한 개발 도구로, 가장 일반적으로 사용되는 300개 이상의 Linux 명령 및 도구를 통합한 소프트웨어입니다. 간단히 말해서 BusyBox는 Linux의 많은 도구와 명령을 통합하고 압축하며 Linux 시스템 자체 셸도 포함하는 큰 도구 상자와 같습니다. BusyBox는 특히 작은 크기의 운영 체제가 중요한 경우 GNU Coreutils의 탁월한 대안입니다.

리눅스 비지박스가 뭐야?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

BusyBox는 특히 Docker 사용자들 사이에서 점점 더 인기를 얻고 있으며 많은 Docker 이미지는 BusyBox를 사용하여 최소한의 이미지를 제공합니다.

Linux 명령을 당연하게 여기고 ls, mv 및 기타 유사한 명령이 Linux의 일부라고 생각하는 경우 이는 많은 사용자에게 특히 혼란스러울 수 있습니다. 사실 이러한 명령은 GNU Coreutils 패키지의 일부이고 대부분의 Linux에서는 배포판은 사전 설치되어 있습니다.

GNU Coreutils는 사실상 다양한 UNIX/Linux 명령 제공자입니다. 왜냐하면 항상 대안이 있고 BusyBox는 GNU Coreutils의 대안 중 하나이기 때문입니다.

BusyBox가 무엇인가요?

busybox는 Linux 시스템에서 소프트웨어를 개발하기 위한 개발 도구입니다.

BusyBox는 약 400개의 일반적인 UNIX/Linux 명령의 간소화된 구현을 제공하는 오픈 소스 프로젝트입니다.

BusyBox는 가장 일반적으로 사용되는 300개 이상의 Linux 명령 및 도구를 통합하는 소프트웨어입니다. BusyBox에는 ls, cat, echo 등과 같은 몇 가지 간단한 도구뿐만 아니라 grep, find, mount 및 telnet과 같은 더 크고 복잡한 도구도 포함되어 있습니다. 어떤 사람들은 BusyBox를 Linux 도구의 스위스 군용 칼이라고 부릅니다. 간단히 말해서 BusyBox는 Linux의 많은 도구와 명령을 통합하고 압축하며 Linux 시스템 자체 셸도 포함하는 큰 도구 상자와 같습니다.

BusyBox 구현은 일반적이지 않고 거의 사용되지 않는 명령 옵션을 제거하고 모든 것이 1MB 미만입니다. 이 최소한의 이미지는 임베디드 시스템과 IoT 세계는 물론 클라우드 컴퓨팅 세계에서도 인기가 있는 이유입니다.

크기를 보지 마십시오. BusyBox는 클래식 편집기(역시 라이트 버전)처럼 sed 및 awk 범위를 갖고 있으며, 자체 쉘도 포함하고 있으며 PID 1로 시작할 수 있는 init 명령도 포함하고 있습니다. BusyBox를 Systemd, OpenRC 등을 대체하도록 구성할 수 있음을 의미합니다.

BusyBox는 특히 작은 크기의 운영 체제가 중요한 경우 GNU Coreutils의 훌륭한 대안입니다.

BusyBox는 mv, mkdir, ls 등과 같은 널리 사용되는 Linux 명령을 제공하지만 이러한 명령에 대한 일반적인 옵션만 포함되어 있습니다. 이 미니멀리즘이 BusyBox의 USP입니다.

BusyBox에 전체 Linux 명령 옵션이 없는 것이 문제인가요?

필요에 따라 다릅니다. 실제로 대부분의 사람들은 명령의 모든 옵션이 필요하지 않습니다. 일부 Linux 명령에는 50개 이상의 옵션이 있으며 단일 Linux 명령의 모든 옵션을 사용해 본 적이 없을 것입니다.

BusyBox는 거의 사용되지 않는 옵션을 줄입니다. 예를 들어 ls 명령에는 긴 목록 출력(ls -l)에서 그룹 이름을 제거하는 옵션 G가 있습니다.

리눅스 비지박스가 뭐야?

이제 이 옵션은 필요하지 않을 것 같습니다. 그렇기 때문에 BusyBox의 ls 구현에는 이 옵션이 존재하지 않습니다. 그룹 이름을 포함하지 않는 출력이 필요한 경우에는 다음과 같이 하면 됩니다. 해야 할 일은 이렇게 하는 것입니다. 이 목적으로 cut 또는 awk 명령을 사용하십시오.

또 다른 예를 들어주세요. 다음은 GNU Coreutils의 mv 명령에 대한 도움말 페이지입니다.

Usage: mv [OPTION]... [-T] SOURCE DEST
  or:  mv [OPTION]... SOURCE... DIRECTORY
  or:  mv [OPTION]... -t DIRECTORY SOURCE...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.

Mandatory arguments to long options are mandatory for short options too.
      --backup[=CONTROL]       make a backup of each existing destination file
  -b                           like --backup but does not accept an argument
  -f, --force                  do not prompt before overwriting
  -i, --interactive            prompt before overwrite
  -n, --no-clobber             do not overwrite an existing file
If you specify more than one of -i, -f, -n, only the final one takes effect.
      --strip-trailing-slashes  remove any trailing slashes from each SOURCE
                                 argument
  -S, --suffix=SUFFIX          override the usual backup suffix
  -t, --target-directory=DIRECTORY  move all SOURCE arguments into DIRECTORY
  -T, --no-target-directory    treat DEST as a normal file
  -u, --update                 move only when the SOURCE file is newer
                                 than the destination file or when the
                                 destination file is missing
  -v, --verbose                explain what is being done
  -Z, --context                set SELinux security context of destination
                                 file to default type
      --help     display this help and exit
      --version  output version information and exit

이제 BusyBox의 mv 명령에 대한 도움말 페이지는 다음과 같습니다.

Usage: mv [-fin] SOURCE DEST
or: mv [-fin] SOURCE... DIRECTORY

Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY

 -f Don't prompt before overwriting
 -i Interactive, prompt before overwrite
 -n Don't overwrite an existing file

차이가 보이나요?

BusyBox를 얻는 방법은 무엇입니까?

BusyBox를 다양한 방법으로 얻을 수 있습니다.

현재 Linux 배포판에서 BusyBox를 경험하고 싶다면 배포판의 패키지 관리자(예: Apt, DNF 또는 Yum)를 사용하여 설치할 수 있습니다.

Ubuntu에서는 다음 명령을 사용하여 BusyBox를 설치할 수 있습니다.

sudo apt install busybox

그런 다음 BusyBox 버전의 명령을 실행하려면 앞에 busybox를 추가해야 합니다.

busybox cat sample.txt

BusyBox가 명령을 구현하지 않으면 "애플릿을 찾을 수 없습니다"라는 오류가 발생합니다.

abhishek@LHB:~$ busybox xyz
xyz: applet not found

또는 BusyBox의 Docker 이미지를 다운로드하여 실행 중인 컨테이너에서 사용해 볼 수도 있습니다.

Docker가 설치되어 있는지 확인하고 공식 docker 이미지를 가져옵니다.

docker pull busybox

이미지에서 컨테이너를 실행하고 BusyBox 셸을 입력합니다.

docker run -it --rm busybox

여기에서 실행하는 모든 Linux 명령은 BusyBox에서 나옵니다. 명시적으로 지정할 필요는 없습니다.

리눅스 비지박스가 뭐야?

결론적으로 일반 Linux 시스템에서는 BusyBox를 사용할 필요가 없습니다. 이미 GNU Coreutils의 전체 Linux 명령 버전이 있습니다. 라이트 버전을 설치할 필요가 없습니다.

하지만 BusyBox는 임베디드 장치나 IoT 장치를 위한 최소 Linux 운영 체제를 구성할 때와 같은 특수 영역에서 사용됩니다. Docker 이미지의 크기를 작게 유지하려는 경우에도 마찬가지입니다.

관련 추천: "Linux 비디오 튜토리얼"

위 내용은 리눅스 비지박스가 뭐야?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.