BusyBox - BusyBox

BusyBox
BusyBoxLogo.png
Busybox DG834Gt.PNG
Orijinal yazar (lar)Bruce Perens
Geliştirici (ler)Erik Andersen,[1] Rob Landley,[2] Denys Vlasenko[3] ve diğerleri
İlk sürüm4 Kasım 1999; 21 yıl önce (1999-11-04)[4]
Kararlı sürüm1.31.1 (25 Ekim 2019; 12 ay önce (2019-10-25)) [±][5]
Depo Bunu Vikiveri'de düzenleyin
YazılmışC
İşletim sistemiUnix benzeri
Boyut2,1 MB (sıkıştırılmış "tar.bz2")
Tür
LisansGPLv2[6]
İnternet sitesiwww.busybox.ağ

BusyBox bir yazılım paketi bu birkaç sağlar Unix yardımcı programları tek bir çalıştırılabilir dosya. Çeşitli çalışır POSIX gibi ortamlar Linux, Android,[7] ve FreeBSD,[8] Sağladığı araçların çoğu Linux çekirdeği tarafından sağlanan arabirimlerle çalışmak üzere tasarlanmış olsa da. Çok sınırlı kaynaklara sahip gömülü işletim sistemleri için özel olarak oluşturulmuştur. Yazarlar buna "The İsviçre çakısı nın-nin Gömülü Linux ",[9] tek yürütülebilir dosya 300'den fazla ortak komutun temel işlevlerinin yerini aldığından. Olarak yayınlandı ücretsiz yazılım şartlarına göre GNU Genel Kamu Lisansı, versiyon 2.[6]

Tarih

Kökenler

Orijinal olarak yazan Bruce Perens 1995'te ve 1996'da kullanım amacının tamamlandığını beyan etti,[10] BusyBox başlangıçta eksiksiz bir önyüklenebilir tek sistemde disket bu hem bir kurtarma diski hem de bir yükleyici için Debian dağıtım. O zamandan beri, de facto standardı çekirdek Kullanıcı alanı gömülü Linux aygıtları ve Linux dağıtım yükleyicileri için araç seti. Her bir Linux yürütülebilir dosyası birkaç kilobayt ek yük gerektirdiğinden, BusyBox programının iki yüzden fazla programı bir araya getirmesi genellikle önemli miktarda disk alanı ve sistem belleği tasarrufu sağlar.

BusyBox, Enrique Zanardi tarafından yönetildi ve Debian'ın ihtiyaçlarına odaklandı önyükleme disketleri yükleyici sistemi, 1998'in başlarına kadar, Dave Cinege'in Linux Yönlendirici Projesi (LRP). Cinege birkaç ekleme yaptı, modülerleştirilmiş bir yapı ortamı yarattı ve BusyBox'ın odağını genel yüksek seviyeye kaydırdı gömülü sistemler. 1999'da LRP gelişimi yavaşladıkça, Erik Andersen Lineo, Inc., projeyi devraldı ve Aralık 1999 ile Mart 2006 arasında resmi geliştirici oldu. Bu süre zarfında Linux gömülü pazarı büyümede patladı ve BusyBox büyük ölçüde olgunlaşarak hem kullanıcı tabanını hem de işlevselliğini genişletti. Rob Landley 2005'te 2006'nın sonlarına kadar bakım şirketi oldu, ardından şu anki bakım sorumlusu olarak Denys Vlasenko devraldı.

GPLv2 / GPLv3 tartışmaları

Eylül 2006'da, proje sorumlusu Rob Landley ile proje yöneticisi Rob Landley arasındaki yoğun tartışmalar ve tartışmalardan sonra Bruce Perens,[11] BusyBox[12][13] proje GNU Public License Version 3 (GPLv3 ); BusyBox lisansının GPL Sürüm 2 (GPLv2 ) sadece.[14]

Ekim 2006'dan bu yana, Denys Vlasenko, BusyBox'ın bakımını Rob Landley'den devraldı. Oyuncak kutusu, ayrıca lisans tartışmalarının bir sonucu olarak.[12][15]

GPL davaları

BusyBox, 2007'nin sonlarında, lisans koşullarının (GPL) ihlallerini aktif olarak kovuşturmasıyla da öne çıktı. Amerika Birleşik Devletleri New York Güney Bölgesi Bölge Mahkemesi.[16]

Bir GPL ihlaliyle ilgili ilk ABD davası olduğu iddia edilen, gömülü bir cihazda BusyBox'ın kullanılmasıyla ilgiliydi. Dava,[16] 07-CV-8205 davası, 20 Eylül 2007 tarihinde, Yazılım Özgürlüğü Hukuk Merkezi (SFLC) karşısında Andersen ve Landley adına Muson Multimedya Inc., BusyBox kodu bir aygıt yazılımı güncelleme ve şirketle bağlantı kurma girişimleri görünüşe göre başarısız olmuştu. Dava, kaynağın Muson versiyonunun serbest bırakılması ve açıklanmayan bir miktar paranın Andersen ve Landley'e ödenmesi ile çözüldü.[17]

21 Kasım 2007'de SFLC, Andersen ve Landley adına iki şirkete daha benzer iki dava açtı. Xterasys (vaka 07-CV-10455) ve Yüksek Kazançlı Antenler (vaka 07-CV-10456).[18][19] Xterasys davası, kullanılan kaynak kodunun yayınlanması ve açıklanmayan bir ödeme için 17 Aralık'ta karara bağlandı.[20] ve aktif lisans uyumluluğu ve açıklanmayan bir ödeme için 6 Mart 2008'deki Yüksek Kazanımlı Antenler davası.[21] 7 Aralık 2007'de aleyhine bir dava açıldı Verizon Communications Actiontec yönlendiricileri için ürün yazılımı dağıtımı üzerinden;[22][23] bu dava, lisansa uygunluk, özgür yazılım lisanslarına gelecekteki uyumu denetlemek üzere bir görevlinin atanması ve açıklanmayan bir meblağın ödenmesi koşuluyla 17 Mart 2008'de çözüldü.[24] 9 Haziran 2008'de aleyhine başka dava açıldı. Bell Mikro Ürünleri (durum 08-CV-5270) ve SuperMicro (vaka 08-CV-5269),[25] Super Micro davası 23 Temmuz 2008'de karara bağlanıyor.[26] BusyBox ve Bell Microproducts da 17 Ekim'de mahkemeden çıkarıldı.[27]

14 Aralık 2009'da, aralarında aralarında bulunduğu on dört sanığın isimlendirildiği yeni bir dava açıldı. En iyi satın alım, JVC, Samsung ve diğerleri.[28][29][30]Şubat 2010'da Samsung LN52A650 TV yazılımını GPLv2 altında yayınladı,[31] daha sonra tarafından referans olarak kullanılmıştır. SamyGO topluluk projesi.[32]

Yaklaşık 3 Ağustos 2010'da BusyBox, Westinghouse'dan 90.000 $ 'lık üçlü tazminat kararı ve 47.865 $' lık avukat masrafları ve ücretleri ve davada ihlal edici ekipman olarak "muhtemelen çok sayıda yüksek çözünürlüklü TV" bulundurma hakkı kazandı. Yazılım Özgürlüğünün Korunması v. Best Buy ve diğerleri, yukarıdaki paragrafta belirtilen GPL ihlali davası.[33]

Orijinal yazar Bruce Perens ve geliştirici Dave Cinege de dahil olmak üzere başka hiçbir geliştirici, bu eylemlerde veya yerleşim yerlerinde yer almadı. 15 Aralık 2009'da Perens, yasal durumun bazı yönlerinden duyduğu mutsuzluğu ifade eden bir bildiri yayınladı ve özellikle mevcut BusyBox geliştiricilerinin "diğer Busybox geliştiricilerinin telif hakkı bildirimlerinin bazılarını kaldırmış gibi göründüğünü ve değişmiş göründüğünü iddia etti. lisans beyanları ".[34]

Özellikleri

BusyBox, iki yüzden fazla yardımcı programın bir alt kümesini sağlamak için özelleştirilebilir. Burada belirtilen yardımcı programların çoğunu sağlayabilir. Tek Unix Spesifikasyonu (SUS) artı bir kullanıcının bir Linux sisteminde görmeyi bekleyeceği diğerleri. BusyBox, Almquist kabuğu, aynı zamanda A Shell, kül ve sh olarak da bilinir.[35] Özelleştirme için bir alternatif, daha küçük 'sessiz' kabuktur. Eskiden "Msh" ve "lash" mevcuttu.[36]

Tam bir önyükleme sistemi olduğundan, daha da yerini alacak init arka plan programı ve Udev (veya sonraki gün systemd ) kendisini olarak adlandırılmak için kullanıyor içinde başlangıçta ve mdev hotplug zamanında.

BusyBox Web sitesi, uygulanan yardımcı programların tam listesini sağlar.[37]

Tek ikili

Tipik bilgisayar programlarının ayrı bir ikili (çalıştırılabilir ) her uygulama için dosya. BusyBox, her birine çeşitli isimlerle tek bir BusyBox ikili dosyası çağırarak erişilebilen birçok uygulamanın bir kümesi olan tek bir ikili dosyadır (bir sembolik bağlantı veya sabit bağlantı her farklı isim için)[38] uygun argümanlarla belirli bir şekilde.

BusyBox, yürütülebilir dosya formatının (tipik olarak tipik olarak) getirdiği ek yükü azalttığı için tek ikili yaklaşımdan yararlanır. ELF ) ve kodun birden çok uygulama arasında bir kütüphane. Bu teknik, tarafından sağlanan ile benzerdir. Crunchgen[39] komut vermek FreeBSD BusyBox'ın, yardımcı programların basitleştirilmiş sürümlerini sağlaması arasındaki fark (örneğin, ls dosya sıralama yeteneği olmadan komut), tüm yardımcı programların oluşturduğu bir crunchgen toplamı tamamen işlevsel sürümleri sunacaktır.

Boyut optimizasyonu düşünülerek yazılmış rutinlerle birlikte ortak kodun paylaşılması, bir BusyBox sisteminin, BusyBox tarafından değiştirilen yardımcı programların karşılık gelen tam sürümleriyle oluşturulmuş bir sistemden çok daha az depolama alanı kullanmasına neden olabilir. Araştırma[40] karşılaştırıldığında GNU, BusyBox, asmutils ve Perl Standart Unix komutlarının uygulamaları, bazı durumlarda BusyBox'ın diğer uygulamalardan daha hızlı çalışabileceğini, ancak her zaman değil gösterdi.

Komutlar

Resmi BusyBox dokümantasyonu, mevcut komutlara ve bunların komut satırı seçeneklerine genel bir bakışı listeler.

BusyBox komutlarının listesi[41]

Örnekler

BusyBox'ta bulunan programlar, adları BusyBox yürütülebilir dosyasına bir argüman olarak eklenerek çalıştırılabilir:

/ bin / busybox ls

Daha yaygın olarak, istenen komut adları bağlantılıdır ( zor veya simgesel bağlantılar) BusyBox yürütülebilir dosyasına; BusyBox okur argv [0] çağrıldığı adı bulmak ve uygun komutu çalıştırmak için, örneğin sadece

/ bin / ls

sonra / bin / ls bağlantılı / bin / busybox. Bu işe yarar çünkü bir programa iletilen ilk argüman program çağrısı için kullanılan isimdir, bu durumda argüman "/ bin / ls" olacaktır. Busybox, "adının" "ls" olduğunu görür ve "ls" programı gibi davranır.

Aletler ve resepsiyon

BusyBox, üzerinde çalışan birkaç işletim sistemi tarafından kullanılır. gömülü sistemler ve aşağıdaki gibi dağıtımların temel bir bileşenidir OpenWrt, OpenEmbedded (I dahil ederek Yocto Projesi ) ve Buildroot. Keskin Zaurus BusyBox'ı sıradan amaçlar için yoğun bir şekilde kullanır Unix benzeri sistemin kabuğunda gerçekleştirilen görevler.[42]

BusyBox ayrıca aşağıdakilerin önemli bir bileşenidir: VMware ESXi.

Android'de birkaç kök uygulama için gereklidir ve ayrıca bazı "1 Dokunma Kökü" çözümleri ile önceden yüklenmiştir. Kingo Kökü.

Toybox ile ilgili tartışma

Oyuncak kutusu 2006 yılının başlarında GNU Genel Kamu Lisansı GPLv3 / GPLv2 tartışmaları etrafındaki tartışmaların bir sonucu olarak eski Busybox geliştiricisi Rob Landley tarafından. 2011'in sonunda[43] altında yeniden lisanslandı BSD Lisansı proje durduktan sonra.[44] 11 Ocak 2012 tarihinde, Tim Bird, a Sony çalışan, BusyBox'a GNU Genel Kamu Lisansı kapsamında olmayacak bir alternatif oluşturmayı önerdi. Bunun hareketsiz Toybox'a dayanmasını önerdi.[45] Ocak 2012'de bir BSD lisanslı GPL lisanslı BusyBox projesine bir alternatif, şirketlerden sert eleştiriler aldı. Matthew Garrett tek ilgili aracı elinden almak için telif hakkı yaptırımı of Yazılım Özgürlüğünün Korunması grubu.[46] BusyBox temelli davaların başlangıcı Rob Landley, davaların olumlu sonuçlarla sonuçlanmadığı ve onları durdurmak istediği sonucuna vardığında bunun kasıtlı olduğunu söyledi. "uygun gördüğüm şekilde".[47][48]

Ayrıca bakınız

Referanslar

  1. ^ "Erik Andersen'in Ana Sayfası".
  2. ^ Aktif Projeler, Rob Landley'in web sitesi
  3. ^ Denys Vlasenko, BusyBox bakımcısı
  4. ^ http://www.softwarefreedom.org/resources/2009/busybox-complaint-2009-12-14.pdf[kalıcı ölü bağlantı ]
  5. ^ "1.31.1'i Duyur". Alındı 2019-12-19.
  6. ^ a b "BusyBox".
  7. ^ BitCubate X. "BusyBox Classic".
  8. ^ "FreeBSD bağlantı noktasına genel bakış".
  9. ^ 'Gömülü Linux'un İsviçre Çakısı' sloganı kaynağı
  10. ^ https://busybox.net/~landley/forensics.txt
  11. ^ Busybox Davalarına İlişkin Açıklama açık Bruce Perens 'Weblog (2009-12-15, arşivlendi)
  12. ^ a b corbet (2006-10-01). "Meşgul meşgul meşgul kutusu". lwn.net. Alındı 2015-11-21. BusyBox pek çok gömülü sistemde bulunabildiğinden, kendisini GPLv3 anti-DRM tartışması. [...] Ancak gerçek sonuçlar şudur: BusyBox, yalnızca bir sonraki sürümden itibaren GPLv2 olacaktır. "Veya sonraki herhangi bir sürümü" kaldırmanın yasal olarak savunulabilir olduğu ve diğer yalnızca GPLv2 kodunun birleştirilmesinin bu sorunu her durumda zorlayacağı genel olarak kabul edilir.
  13. ^ Landley, Rob (2006-09-09). "Re: GPLv2'yi v3 eğlencesine karşı taşıyın…". lwn.net. Alındı 2015-11-21. Bir saman adam argümanı icat etmeyin lütfen. BusyBox'ı GPLv3 altında lisanslamanın faydasız, gereksiz, aşırı karmaşık ve kafa karıştırıcı olduğunu ve buna ek olarak gerçek dezavantajları olduğunu düşünüyorum. 1) Yararsız: GPLv2'yi asla düşürmeyiz.
  14. ^ GPL sürüm 2 yalnızca BusyBox 1.3.0 için. açık lwn.net
  15. ^ Landley, Robert (2006-09-30). "Şimdi dışarı çıkıyorum. Biraz zaman alabilirim". meşgul kutusu (Mail listesi).
  16. ^ a b BusyBox Geliştiricileri Andersen ve Landley adına SFLC, İlk ABD GPL İhlal Davasını Düzenledi (Yazılım Özgürlüğü Hukuk Merkezi 20 Eylül 2007)
  17. ^ Busybox-Monsoon GPL davasında uzlaşmaya varıldı Arşivlendi 2008-09-24 Wayback Makinesi (Bruce Byfield, Linux.com, 30 Ekim 2007)
  18. ^ Linux hukuk ekibi GPL ihlalleri nedeniyle dava açtı (Martin LaMonica, CNET News.com, 21 Kasım 2007)
  19. ^ "BusyBox Geliştiricileri Adına Açılan GPL İhlal Davalarının İkinci Turu".
  20. ^ "BusyBox Geliştiricileri ve Xterasys Corporation GPL Davasını Çözmeyi Kabul Ediyor".
  21. ^ BusyBox Geliştiricileri ve Yüksek Kazançlı Antenler GPL Davasını Reddetmeyi Kabul Ediyor (SFLC basın açıklaması)
  22. ^ Açık kaynak hukuk grubu BusyBox'a yeniden grev yaparak Verizon'a dava açtı Arşivlendi 2007-12-10 Wayback Makinesi (Grant Gross, Bilgisayar Dünyası, 7 Aralık 2007)
  23. ^ "BusyBox Geliştiricileri Verizon Communications'a Karşı GPL Hak İhlali Davası Açtı".
  24. ^ Verizon Açık Kaynak Yazılım Davasını Çözdü (Paul McDougell, Bilgi Haftası, 17 Mart 2008)
  25. ^ SFLC, BusyBox Geliştiricileri Adına Başka Bir GPL İhlali Davası Açtı (SFLC basın açıklaması)
  26. ^ BusyBox Geliştiricileri ve Supermicro GPL Davasını Sonlandırmayı Kabul Etti: İyi Niyetli Tartışmalar Telif Hakkı İhlali Davasının Reddedilmesiyle Sonuçlandı (SFLC basın açıklaması)
  27. ^ 2008. Andersen - Bell Microproducts, Inc.08-cv-5270, Doc. No. 16 (S.D.N.Y. 17 Ekim 2008) (gönüllü işten çıkarılma bildirimi)
  28. ^ Jason Perlow (16 Aralık 2009). "Günümüz kamuya açık GPL kırbaçlarından nasıl kaçınılır?". zdnet.com. Alındı 2016-03-24. GPL ve diğer Özgür ve Açık Kaynak lisanslarıyla uyumluluk için gerçek standartlar ve prosedürler gerçekten mevcutsa, son SFLC davası gibi kamu kırbaçları ve infazları önlenebilirdi.
  29. ^ Best Buy, Samsung, Westinghouse, GPL davasında 11 isim daha açık cnet.com
  30. ^ The Software Freedom Conservancy, Inc. & Mr. Erik Andersen - BestBuy, Samung, Westinghouse, JVC, Western Digital, Bosch, Phoebe Micro, Humax, ... (New York, 2009)
  31. ^ Görsel Ekran - Açık Kaynak samsung.com'da "Lütfen aşağıdaki bağlantıları indirin GPLv3 ve LGPLv3'ü değil, GPLv2 ve LGPLv2.1'i kullanıyoruz. Model: LN40A650 / LN52A650 / LN52A750 [...] LN52A750.zip" (arşivlenmiş 2010)
  32. ^ Ana Sayfa samygo.tv'de
  33. ^ Jones, Pamela (2010-08-03). "BusyBox ve GPL Yeniden Hakim Oldu - Güncellenmiş 4X". Groklaw. Alındı 2012-09-27.
  34. ^ Bruce Perens, "Busybox davalarına ilişkin açıklama ", perens.com (15 Aralık 2009).
  35. ^ "kül çeşitleri". Arşivlenen orijinal 2010-03-10 tarihinde. Alındı 2008-05-15.
  36. ^ "Kabuk yapılandırmasını yapmak için yeni 'seç' seçeneğini kullanın". 2003-08-08. Alındı 2019-04-02. 'Kül' kabuğu, varsayılan yapılandırmada yaklaşık 60 bin ekler ve busybox ile birlikte gelen en eksiksiz ve en titizce doğru kabuktur. Bu kabuk aslında bir türevidir Debian 'çizgi' kabuğu (Herbert Xu), NetBSD'den 'kül' kabuğunu (Kenneth Almquist tarafından yazılmıştır) taşıyarak oluşturulmuştur.
  37. ^ BusyBox - Gömülü Linux'un İsviçre Çakısı
  38. ^ "BusyBox, gömülü Linux sistemlerini basitleştirir: Küçük ortamlar için küçük bir araç seti". IBM. Arşivlenen orijinal 2008-12-09 tarihinde.
  39. ^ Crunchgen man sayfası -de freebsd.org Arşivlendi 22 Haziran 2007, Wayback Makinesi
  40. ^ Doug Thayer, Keith Miller (16–17 Nisan 2004). "Dört UNIX Koleksiyonunda Dört UNIX Programı: Açık Kaynak Simgesinde Tutarlılık Arayışı" (PDF). Midwest Eğitim ve Bilişim Sempozyumu Bildirileri. Minnesota Üniversitesi, Morris.
  41. ^ "BusyBox Komut Yardımı". Alındı 2013-02-24.
  42. ^ "Yolda Linux".
  43. ^ Landley, Rob. "Lisans değişikliği taahhüdü". Toybox mercurial deposu. Alındı 24 Temmuz 2015.
  44. ^ http://landley.net/toybox/
  45. ^ "Busybox değiştirme projesi". 2012-01-11. Alındı 2014-03-04.
  46. ^ "Garrett: GPL yaptırımlarına karşı devam eden mücadele". LWN.net. 2012-01-31. Alındı 2014-03-04. Buradaki gerçek sorun, [Yazılım Özgürlüğünü Koruma'nın] Busybox'a güvenmesinin, yalnızca bu Busybox kodunu kullanan ihlalcileri hedefleyebilecekleri anlamına geliyor. Şimdiye kadar hiçbir önemli çekirdek telif hakkı sahibi, SFC'nin telif haklarını uygulamasına izin vermeyi teklif etmedi, bunun sonucunda satıcılar bu Busybox değişimine geçerken yaptırım eylemi durma noktasına gelecektir.
  47. ^ "Garrett: GPL yaptırımlarına karşı devam eden mücadele". LWN.net. 2012-01-31. Alındı 2014-03-04. > Bu davaları ilk etapta başlatan ve şimdi de bunu yaptıktan sonra DÜŞÜNCELERİN KORKUNÇLARINA BAŞLAYAN busybox'ın eski koruyucusu olarak, uygun gördüğüm şekilde davaları durdurma hakkına sahip olduğumu düşünüyorum. Asla meşgul kutusu havuzuna eklenen tek bir kod satırı ile sonuçlanmadı. Birden fazla şirketin Linux geliştirmeden tamamen çıkmasına ve gömülü ürünleri için Linux olmayan işletim sistemlerine geçmesine neden oldular ve Android'in "Kullanıcı alanında GPL yok" politikasının arkasındaki nedenin büyük bir bölümünü oluşturdular.
  48. ^ Proffitt Brian (2012/02/02). "GPL uygulaması toplumda alevler yarattı - GPL bebeğini yaptırım banyosu suyuyla dışarı atmak mı?". ITworld. Alındı 2015-03-04.

daha fazla okuma

Dış bağlantılar