비지박스

BusyBox
비지박스
BusyBoxLogo.png
Busybox DG834Gt.PNG
원저작자브루스 페렌스
개발자에릭 [1]안데르센, 롭 랜들리,[2] 데니스 블라센코[3]
초기 릴리즈1999년 11월 4일, 22년 전(1999-11-04)[4]
안정된 릴리스1.34.1(2021년 9월 30일, 10개월(2021-09-30) [±][5]
저장소
기입처C
운영 체제Unix와 같은
크기2.1 MB (압축된 "tar.bz2")
유형
면허증.1.3.0 이후: GPL-2.0만[6]
1.2.2.1까지: GPL-2.0 이후[7]
웹 사이트www.busybox.net

BusyBox하나의 실행 파일에 여러 Unix 유틸리티를 제공하는 소프트웨어 스위트입니다.Linux, [8]Android [9]FreeBSD같은 다양한 POSIX 환경에서 실행되지만 많은 툴이 Linux 커널에서 제공하는 인터페이스와 함께 작동하도록 설계되었습니다.리소스가 매우 제한된 임베디드 운영 체제용으로 특별히 작성되었습니다.300개가 넘는 일반적인 명령어의 기본 기능을 하나의 실행 파일로 대체하기 때문에 저자들은 이것을 "임베디드 리눅스의 스위스 군용 나이프"[10]라고 명명했습니다.GNU General Public License 버전 [6]2의 조건에 따라 무료 소프트웨어로 출시됩니다.

역사

오리진스

1995년에 Bruce Perens에 의해 쓰여져 1996년에 [11]사용 완료라고 선언된 BusyBox는 처음에는 복구 디스크와 Debian 배포판의 설치 역할을 모두 수행할 수 있는 완전한 부팅 시스템을 하나의 플로피 디스크에 저장하는 것을 목표로 했습니다.그 후, 임베디드 Linux 디바이스와 Linux 디스트리뷰션 인스톨러를 위한 사실상의 표준 코어 유저 스페이스 툴 세트로 확장되었습니다.Linux 실행 파일마다 몇 킬로바이트의 오버헤드가 필요하기 때문에 BusyBox 프로그램을 200개 이상의 프로그램을 조합하면 디스크 용량과 시스템 메모리가 대폭 절약되는 경우가 많습니다.

BusyBox는 Enrique Zanardi에 의해 유지되어 1998년 초 Dave Cinege가 Linux Router Project(LRP)를 인수할 때까지 Debian 부트플로피 설치 시스템의 요구에 초점을 맞췄습니다.Cinege는 몇 가지 추가 작업을 수행하고 모듈화된 빌드 환경을 구축했으며 BusyBox의 초점을 일반적인 고급 임베디드 시스템으로 전환했습니다.1999년 LRP의 개발이 늦어지자 당시 Lineo사의 에릭 앤더슨이 프로젝트를 인수하여 1999년 12월부터 2006년 3월까지 공식 유지보수가 되었습니다.이 기간 동안 Linux 임베디드 시장은 폭발적으로 성장했고 BusyBox는 사용자 기반과 기능을 확장하면서 크게 성장했습니다.2005년 Rob Landley가 2006년 후반까지 유지보수를 맡았고, 그 후 Denys Vlasenco가 현재의 유지보수를 맡았다.

GPLv2/GPLv3의 문제

2006년 9월, 프로젝트 메인터넌스 Rob Landley와 [12]Bruce Perens의 격렬한 논의와 논쟁 끝에 BusyBox[13][14] 프로젝트는 GNU Public License Version 3(GPLv3)을 채택하지 않기로 결정했습니다.BusyBox 라이선스는 GPL-2.0 [15]전용으로 명확해졌습니다.

2006년 10월 이후 Denys Vlasenko는 Toybox를 설립한 Rob Landley로부터 BusyBox의 유지보수 권한을 넘겨받았으며, 이 또한 라이선스 [13][16]논쟁의 결과입니다.

GPL 소송

2007년 말, BusyBox는 미국 [17]뉴욕 남부지방법원에서 라이선스 조건(GPL) 위반을 적극적으로 기소하는 것으로도 유명해졌다.

GPL 위반에 대한 미국의 첫 번째 소송이라고 주장된 것은 임베디드 기기에서의 BusyBox 사용에 관한 것이었다.[17]소송(사례 07-CV-8205)은 2007년 9월 20일 Andersen과 Landley를 대신해 Milon Multimedia Inc.에 대한 소프트웨어 자유법률센터(SFLC)에 의해 Milon Multimedia Inc.의 펌웨어 업그레이드에서 BusyBox 코드가 발견되어 이 회사와 접촉하려는 시도가 명백히 실패한 후 제기되었습니다.이 사건은 몬순판 출처를 공개하고 앤더슨과 [18]랜들리에 알려지지 않은 금액을 지불함으로써 해결되었다.

2007년 11월 21일 SFLC는 Andersen과 Landley를 대신하여 Xterasys(케이스 07-CV-10455)와 High-Gain Antenna(케이스 07-CV-10456)[19][20]라는 두 개의 회사를 상대로 유사한 소송을 제기했습니다.Xterasys 사건은 사용된 소스 코드 공개 및 미공개 [21]지불로 12월 17일에 해결되었으며, High-Gain Antenna 사건은 2008년 3월 6일에 라이센스 컴플라이언스와 미공개 [22]지불로 해결되었습니다.2007년 12월 7일 Actiontec [23][24]라우터용 펌웨어 배포에 관한 소송이 Verizon Communications에 제기되었습니다.이 소송은 라이선스 컴플라이언스, 무료 소프트웨어 라이선스의 향후 컴플라이언스를 감독하는 담당자의 임명 및 미공개 [25]금액 지불을 조건으로 2008년 3월 17일에 해결되었습니다.2008년 6월 9일, Bell Microducts(케이스 08-CV-5270) 및 Super Micro(케이스 08-CV-5269)[26]에 대한 추가 소송이 제기되었으며, Super Micro 사건은 2008년 [27]7월 23일에 해결되었습니다.BusyBox와 Bell Microproducts도 10월 [28]17일 법정 밖에서 합의를 보았다.

2009년 12월 14일, 베스트바이, JVC, 삼성 [29][30][31]14명의 피고인을 지명하는 새로운 소송이 제기되었다.2010년 2월에 삼성은 나중에 Samy에 의해 참고 자료로 사용된 [32]GPLv2로 LN52A650 TV 펌웨어를 출시했습니다.GO 커뮤니티 [33]프로젝트

2010년 8월 3일쯤, BusyBox는 위 [34]조항에서 지적한 소프트웨어 자유 보수성 v. 베스트 바이 등의 소송에서 침해 장비로서 Westinghouse로부터 9만달러의 손해와 47,865달러의 변호사 비용 및 수수료에 대한 디폴트 판결과 "많은 고화질 TV" 소유를 승소했습니다.

원작자인 Bruce Perens와 관리자인 Dave Cinege를 포함한 다른 개발자들은 이러한 행동이나 정착촌에 참가하지 않았다.2009년 12월 15일 페렌스는 법적 상황의 일부 측면에 대한 불만을 표명하는 성명을 발표했으며, 특히 현재 BusyBox 개발자들은 "다른 BusyBox 개발자들의 저작권 정보 일부를 삭제한 것으로 보이며 라이센스 정보를 변경한 것으로 보인다"[35]고 주장했다.

특징들

BusyBox는 200개가 넘는 유틸리티의 서브셋을 제공하도록 커스터마이즈할 수 있습니다.싱글 유닉스 사양(SUS)에 기재되어 있는 유틸리티의 대부분을 제공할 수 있습니다.또, Linux 시스템에서는 유저가 볼 수 있는 그 외의 많은 유틸리티도 이용할 수 있습니다.BusyBox는 A Shell, ash 및 [36]sh라고도 하는 Almquist 쉘을 사용합니다.커스터마이즈 대신 작은 '휴시' 셸을 사용할 수 있습니다.예전에는 "Msh"와 "lash"를 사용할 [37]수 있었습니다.

완전한 부트스트랩시스템이기 때문에 스타트업 시 init, 핫플러그 시 mdev라고 불리는 것을 사용하여 init 데몬과 udev(또는 최신 systemd)를 더욱 치환합니다.

BusyBox 웹사이트는 구현된 [38]유틸리티의 전체 목록을 제공합니다.

싱글 바이너리

일반적인 컴퓨터 프로그램에는 응용 프로그램별로 별도의 바이너리(실행 파일) 파일이 있습니다.BusyBox는 여러 응용 프로그램의 집합체인 단일 바이너리이며,[39]바이너리는 적절한 인수를 사용하여 특정 방식으로 다양한 이름으로 단일 BusyBox 바이너리를 호출하여 액세스할 수 있습니다.

BusyBox는 실행 파일 형식(일반적으로 ELF)에 의해 발생하는 오버헤드를 줄이고 라이브러리 없이도 여러 응용 프로그램 간에 코드를 공유할 수 있기 때문에 단일 바이너리 접근 방식의 이점을 제공합니다.이 기술은 FreeBSDcrunchgen[40] 명령에서 제공되는 것과 유사하지만, BusyBox는 유틸리티의 단순화된 버전(예를 들어 파일 정렬 기능이 없는 명령)을 제공하는 반면, 모든 유틸리티의 크런치 생성 합계는 완전한 기능을 제공합니다.

크기 최적화를 염두에 두고 작성된 루틴과 함께 공통 코드를 공유하면 BusyBox 시스템이 해당 유틸리티의 전체 버전을 BusyBox로 대체하여 구축한 시스템보다 훨씬 적은 스토리지 공간을 사용할 수 있습니다.표준[41] Unix 명령어의 GNU, BusyBox, asmutilsPerl 구현을 비교한 연구에 따르면 상황에 따라 BusyBox가 다른 구현보다 더 빠르게 수행될 수 있지만 항상 그렇지는 않습니다.

명령어

공식 BusyBox 문서에는 사용 가능한 명령어와 해당 명령줄 옵션의 개요가 나와 있습니다.

BusyBox[42] 명령어 목록

BusyBox에 포함된 프로그램은 BusyBox 실행 파일에 인수로 이름을 추가하는 것만으로 실행할 수 있습니다.

/bin/busybox ls

일반적으로 원하는 명령 이름은 BusyBox 실행 파일에 링크됩니다(하드 또는 심볼릭 링크 사용). BusyBox는 argv[0]를 읽고 호출할 이름을 찾고 적절한 명령을 실행합니다(예:

/bin/ls

/bin/ls가 /bin/ls 상자에 링크된 후.이것은 프로그램에 전달되는 첫 번째 인수가 프로그램 호출에 사용되는 이름이기 때문에 작동하며, 이 경우 인수는 "/bin/ls"가 됩니다.BusyBox는 "이름"이 "ls"로 표시되고 "ls" 프로그램처럼 작동합니다.

기기 및 수신

BusyBox는 임베디드 시스템에서 실행되는 여러 운영 체제에서 사용되며 OpenWrt, OpenEmbedded(Yocto Project 포함), Buildroot와 같은 배포의 필수 구성 요소입니다.Sharp Zaurus는 시스템 [43]쉘에서 수행되는 일반적인 Unix와 유사한 작업에 BusyBox를 광범위하게 활용합니다.

또한 BusyBox는 VMware ESXi Alpine Linux의 필수 컴포넌트이며, 둘 다 임베디드 디스트리뷰션이 아닙니다.

이것은 Android의 여러 루트 애플리케이션에 필요하며 Kingo Root와 같은 "1 Tap Root" 솔루션도 함께 프리 인스톨 됩니다.

토이박스 논란

Toybox는 GPLv3/GPLv2 논의의 결과로 2006년 초에 BusyBox의 전 유지관리자인 Rob Landley에 의해 GPL-2.0 전용 라이선스로 시작되었습니다.2011년 말[44], 프로젝트가 [45]정지된 후 BSD-2-Clause 라이선스에 따라 유물이 되었다.2013년 3월에는 0BSD 라이선스로 [46]다시 유물이 되었다.2012년 1월 11일 소니의 직원 Tim Bird는 GNU General Public License가 아닌 BusyBox의 대안을 만들 것을 제안했다.휴면중인 토이박스에 [47]기반을 두고 있다고 하더군2012년 1월, BSD 라이선스를 취득한 BusyBox 프로젝트의 대체 BSD 라이선스 제안으로 Matthew GarrettSoftware Freedom Conservancy [48]그룹저작권 집행에 관련된 유일한 툴을 빼앗은 것에 대해 혹독한 비판을 받았습니다.BusyBox에 기반을 둔 소송의 시작자인 Rob Landley는 소송이 희망했던 긍정적인 결과를 초래하지 않았고, [49][50]"가 보기에 어떤 방식으로든" 소송을 중지하고 싶었기 때문에 이것은 의도적인 것이라고 응답했습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Erik Andersen's Homepage".
  2. ^ 액티브 프로젝트, Rob Landley 웹사이트
  3. ^ Denys Vlasenko, BusyBox 유지보수 담당
  4. ^ "Archived copy" (PDF). www.softwarefreedom.org. Archived from the original (PDF) on September 24, 2015. Retrieved June 30, 2022.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  5. ^ "Release history". Retrieved November 26, 2021.
  6. ^ a b "BusyBox".
  7. ^ "busybox-1.2.2.1.tar.bz2". From changelog: This is the last release of BusyBox under the old "GPLv2 or later" dual license. Future versions (containing changes after svn 16112) will just be GPLv2 only, without the "or later".
  8. ^ BitCubate X. "BusyBox Classic".
  9. ^ "FreeBSD port overview".
  10. ^ '임베디드 리눅스의 스위스 군용 나이프' 슬로건 출처
  11. ^ https://busybox.net/~landley/backet.txt[베어 URL 플레인텍스트 파일]
  12. ^ Bruce Perens's WeblogBusybox 소송에 관한 스테이트먼트(2009년 12월 15일 아카이브)
  13. ^ a b corbet (October 1, 2006). "Busy busy busybox". lwn.net. Retrieved November 21, 2015. Since BusyBox can be found in so many embedded systems, it finds itself at the core of the GPLv3 anti-DRM debate. [...]The real outcomes, however, are this: BusyBox will be GPLv2 only starting with the next release. It is generally accepted that stripping out the "or any later version" is legally defensible, and that the merging of other GPLv2-only code will force that issue in any case
  14. ^ Landley, Rob (September 9, 2006). "Re: Move GPLv2 vs v3 fun…". lwn.net. Retrieved November 21, 2015. Don't invent a straw man argument please. I consider licensing BusyBox under GPLv3 to be useless, unnecessary, overcomplicated, and confusing, and in addition to that it has actual downsides. 1) Useless: We're never dropping GPLv2.
  15. ^ lwn.net의 BusyBox 1.3.0 전용 GPL 버전2
  16. ^ Landley, Robert (September 30, 2006). "I'm going out now. I may be some time". busybox (Mailing list).
  17. ^ a b SFLC는 BusyBox 개발자 Andersen과 Landley를 대신하여 미국 GPL 위반 소송을 최초로 제기합니다(2007년 9월 20일 소프트웨어 자유 법률 센터).
  18. ^ Byfield, Bruce (October 30, 2007). "Settlement reached in Busybox-Monsoon GPL case". Linux.com. Archived from the original on September 24, 2008.
  19. ^ Linux 법무팀이 GPL 위반으로 소송을 제기 2007년 12월 13일 Wayback Machine에서 보관 (Martin LaMonica, CNET News.com, 2007년 11월 21일)
  20. ^ "Second Round of GPL Infringement Lawsuits Filed on Behalf of BusyBox Developers".
  21. ^ "BusyBox Developers and Xterasys Corporation Agree to Settle GPL Lawsuit".
  22. ^ BusyBox 개발자와 고이득 안테나, GPL 소송 각하 합의 (SFLC 보도자료)
  23. ^ Gross, Grant (December 7, 2007). "Open-source legal group strikes again on BusyBox, suing Verizon". Computerworld.
  24. ^ "BusyBox Developers File GPL Infringement Lawsuit Against Verizon Communications".
  25. ^ Verizon, 오픈 소스 소프트웨어 소송 해결 (Paul McDougell, 정보)2008년 3월 17일 주)
  26. ^ SFLC가 BusyBox Developers를 대신하여 GPL 위반 소송을 다시 제기(SFLC 보도자료)
  27. ^ BusyBox Developers와 Supermicro가 GPL 소송 종료에 합의: 성실한 논의로 저작권 침해 소송 기각(SFLC 보도자료)
  28. ^ 2008년 안데르센 대 벨 마이크로프로덕츠, Inc., 제08-cv-5270호, Doc.제16호(2008년 10월 17일 S.D.N.Y.) (자발 해고 통지)
  29. ^ Perlow, Jason (December 16, 2009). "How to avoid modern day public GPL floggings". zdnet.com. Retrieved March 24, 2016. Public floggings and executions like the recent SFLC lawsuit could be avoided if actual standards and procedures for compliance with the GPL and other Free and Open Source licenses actually existed.
  30. ^ 베스트 바이, 삼성, 웨스팅 하우스, cnet.com의 GPL 소송에서 11명이름을 올렸습니다.
  31. ^ The Software Freedom Conservancy, Inc. & Mr. Erik Andersen vs BestBuy, Samung, Westinghouse, JVC, Western Digital, Bosch, Phoebe Micro, Humax, ... (뉴욕, 2009)
  32. ^ 비주얼 디스플레이 - samsung.com의 오픈 소스 "아래 링크를 다운로드해 주세요.저희는 GPLv3 및 LGPLv3가 아닌 GPLv2LGPLv2.1을 사용합니다.모델: LN40A650 / LN52A650 / LN52A750 . zip " ( ... LN52A750 . ZIP ) ( 2010 )
  33. ^ main_samygo의 페이지.텔레비전
  34. ^ Jones, Pamela (August 3, 2010). "BusyBox and the GPL Prevail Again - Updated 4Xs". Groklaw. Retrieved September 27, 2012.
  35. ^ Bruce Perens, "Busybox 소송에 관한 성명", perens.com (2009년 12월 15일)
  36. ^ "ash variants". Archived from the original on March 10, 2010. Retrieved May 15, 2008.
  37. ^ "Use the new 'select' option to make the shell config". August 8, 2003. Retrieved April 2, 2019. The 'ash' shell adds about 60k in the default configuration and is the most complete and most pedantically correct shell included with busybox. This shell is actually a derivative of the Debian 'dash' shell (by Herbert Xu), which was created by porting the 'ash' shell (written by Kenneth Almquist) from NetBSD.
  38. ^ Busy Box – 임베디드 Linux의 스위스 군용 나이프
  39. ^ "BusyBox simplifies embedded Linux systems: A small toolkit for small environments". IBM. Archived from the original on December 9, 2008.
  40. ^ crunchgen(1)FreeBSD 일반 명령어 매뉴얼
  41. ^ Thayer, Doug; Miller, Keith (April 16–17, 2004). "Four UNIX Programs in Four UNIX Collections: Seeking Consistency in an Open Source Icon" (PDF). Proceedings of Midwest Instruction and Computing Symposium. University of Minnesota, Morris.
  42. ^ "BusyBox Command Help". Retrieved February 24, 2013.
  43. ^ "Linux on the Road".
  44. ^ Landley, Rob. "License change commit". Toybox mercurial repository. Retrieved July 24, 2015.
  45. ^ "Toybox news".
  46. ^ Landley, Rob. "Simplify license text, as mentioned on the mailing list". Toybox mercurial repository. Retrieved June 29, 2021.
  47. ^ "Busybox replacement project". January 11, 2012. Retrieved March 4, 2014.
  48. ^ "Garrett: The ongoing fight against GPL enforcement". LWN.net. January 31, 2012. Retrieved March 4, 2014. The real problem here is that the [Software Freedom Conservancy's] reliance on Busybox means that they're only able to target infringers who use that Busybox code. No significant kernel copyright holders have so far offered to allow the SFC to enforce their copyrights, with the result that enforcement action will grind to a halt as vendors move over to this Busybox replacement.
  49. ^ "Garrett: The ongoing fight against GPL enforcement". LWN.net. January 31, 2012. Retrieved March 4, 2014. >As the ex-maintainer of busybox who STARTED those lawsuits in the first place and now HUGELY REGRETS ever having done so, I think I'm entitled to stop the lawsuits in whatever way I see fit. They never resulted in a single line of code added to the busybox repository. They HAVE resulted in more than one company exiting Linux development entirely and switching to non-Linux operating systems for their embedded products, and they're a big part of the reason behind Android's "No GPL in userspace" policy.
  50. ^ Proffitt, Brian (February 2, 2012). "GPL enforcement sparks community flames - Throwing the GPL baby out with the enforcement bath water?". ITworld. Retrieved March 4, 2015.

추가 정보

외부 링크