BusyBox 1.35 minimalistik tizim yordam dasturlari to'plamining chiqarilishi

BusyBox 1.35 to'plamining chiqarilishi bitta bajariladigan fayl sifatida ishlab chiqilgan va 1 MB dan kam bo'lgan o'rnatilgan tizim resurslarini minimal iste'mol qilish uchun optimallashtirilgan standart UNIX yordam dasturlari to'plamini amalga oshirish bilan taqdim etilgan. Yangi 1.35 filialining birinchi versiyasi beqaror sifatida joylashtirilgan; to'liq barqarorlashtirish taxminan bir oy ichida kutilayotgan 1.35.1 versiyasida ta'minlanadi. Loyiha kodi GPLv2 litsenziyasi ostida tarqatiladi.

BusyBox-ning modulli tabiati paketda amalga oshirilgan ixtiyoriy yordamchi dasturlar to'plamini o'z ichiga olgan bitta yagona bajariladigan faylni yaratishga imkon beradi (har bir yordamchi dastur ushbu faylga ramziy havola ko'rinishida mavjud). Kommunal xizmatlar to'plamining hajmi, tarkibi va funksionalligi yig'ish amalga oshirilayotgan o'rnatilgan platformaning ehtiyojlari va imkoniyatlariga qarab o'zgarishi mumkin. Paket o'z-o'zidan mavjud; uclibc bilan statik tarzda qurilganda, Linux yadrosi ustida ishlaydigan tizim yaratish uchun siz /dev katalogida bir nechta qurilma fayllarini yaratishingiz va konfiguratsiya fayllarini tayyorlashingiz kerak. Oldingi versiya 1.34 bilan solishtirganda, odatiy BusyBox 1.35 yig'ilishining RAM iste'moli 1726 baytga oshdi (1042344 dan 1044070 baytgacha).

BusyBox proshivkada GPL buzilishlariga qarshi kurashda asosiy vositadir. BusyBox ishlab chiquvchilari nomidan Software Freedom Conservancy (SFC) va Software Freedom Law Center (SFLC) GPL dasturlarining manba kodiga sud orqali ham, tashqarida ham kirishni ta'minlamaydigan kompaniyalarga bir necha bor muvaffaqiyatli ta'sir ko'rsatdi. - sud bitimlari. Shu bilan birga, BusyBox muallifi bunday himoyaga keskin e'tiroz bildiradi - bu uning biznesini buzadi deb hisoblaydi.

BusyBox 1.35 da quyidagi o'zgarishlar ta'kidlangan:

  • Find yordam dasturi fayl ko'rsatilgan nomga ega fayl bilan bir xil inodedan foydalanayotganligini tekshirish uchun "-samefile name" opsiyasini qo'llaydi. Vaqtni taqqoslash uchun yagona kod va kirish vaqtini va fayl yaratishni tekshirish uchun "-amin", "-atime", "-cmin" va "-ctime" opsiyalari qo'shildi.
  • Mktemp yordam dasturi vaqtinchalik fayllar bilan bog'langan yo'llar hisoblanganiga nisbatan asosiy katalogni belgilash uchun "--tmpdir" variantini qo'shdi.
  • Qurilmaning haqiqiy raqamini e'tiborsiz qoldirish uchun "-ignore-devno" cpio yordam dasturiga qo'shilgan (0 har doim yoziladi) va arxivda saqlashdan oldin inodeni qayta raqamlash uchun "-renumber-inodes".
  • Awk yordam dasturida "printf %%" iborasi sozlangan.
  • libbb kutubxonasiga oΚ»nga yaqin oΚ»zgarishlar kiritildi. Realpathning coreutils to'plamidagi hamkasbi bilan yaxshilangan muvofiqligi.
  • Boshqa qobiqlar bilan muvofiqlikni yaxshilashga qaratilgan kul va hush buyruq qobig'i uchun ko'plab tuzatishlar taklif qilingan. Ash bashga o'xshash ERR tuzoqlarini qo'llab-quvvatladi, -E va $FUNCNAME o'rnatdi va "${s:}" iborasi yordamida stringni tezroq qidirishni qo'shdi. Kul va jimlikda "${x//\*/|}" operatsiyalarining bajarilishi tezlashdi.
  • Asosiy nom yordam dasturi bir qo'ng'iroqda bir nechta nomlarni o'tkazish uchun "-a" va keyingi "SUFFIX" belgilarini olib tashlash uchun "-s SUFFIX" opsiyalarini qo'llaydi.
  • Blkdiscard yordam dasturiga "-f" (force) opsiyasi qo'shildi.
  • httpd xatoli sahifalar uchun Last-Modified/ETag/Content-Length sarlavhalarini yuborishni to'xtatdi.
  • httpd va telnetd standart tarmoq portini o'zgartirish imkoniyatini beradi.
  • Juda uzun fayl nomlari bilan arxivlarni qayta ishlashda barcha mavjud xotiralar sarflanishiga olib kelgan tardagi zaiflik tuzatildi.
  • P256 va x25519 ilovalari TLS kodida qayta ishlangan.
  • Wget yordam dasturi fayllarni jo'natish uchun "--post-file" opsiyasini amalga oshiradi va "--post-data" va "--post-file" opsiyalari uchun Content-Type sarlavhasi mazmunini sozlash imkonini beradi.
  • Vaqt tugashi yordam dasturi endi qo'shimcha KILL_SECS soniya ichida buyruq bajarilmasa, SIGKILL signalini yuborish uchun "-k KILL_SECS" opsiyasini qo'llab-quvvatlaydi.
  • IP yordam dasturiga qurilmalar uchun netns parametrini o'rnatish qo'llab-quvvatlandi.
  • Kaliy yordam dasturi belgilangan oyni ko'rsatish uchun "-m" opsiyasini amalga oshiradi.
  • Sana va teginish yordamchi dasturlari sanalarda vaqt zonasining ofsetini belgilashga imkon beradi.
  • vi muharririda ~/.exrc faylini qo'llab-quvvatlash qo'shildi va "-c" va EXINIT bilan ishlash o'zgartirildi.
  • Ed yordam dasturida o'qish/yozish buyruqlarini bajarish natijasi POSIX-1.2008 spetsifikatsiyasiga muvofiqlashtiriladi. "-p" opsiyasi uchun qo'shimcha yordam.
  • N bayt bilan taqqoslashni cheklash uchun cmp yordam dasturiga "-n N" opsiyasi qo'shildi.

Bundan tashqari, bir necha kun oldin, BusyBox-ning o'xshashi bo'lgan Toybox 0.8.6 chiqarildi, sobiq BusyBox ta'minotchisi tomonidan ishlab chiqilgan va 0BSD litsenziyasi ostida tarqatilgan. Toybox-ning asosiy maqsadi ishlab chiqaruvchilarga o'zgartirilgan komponentlarning dastlabki kodini ochmasdan minimalistik standart yordamchi dasturlardan foydalanish imkoniyatini berishdir. Imkoniyatlar bo'yicha Toybox hamon BusyBox-dan ortda qolmoqda, ammo rejalashtirilgan 296 ta asosiy buyruqdan 217 tasi (83 tasi to'liq va 374 tasi qisman) allaqachon amalga oshirilgan.

Toybox 0.8.6 yangiliklari qatorida tizim tasvirlarini yaratish uchun skriptlarning takomillashtirilganligini, sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace va hexdump buyruqlari qo'shilganligini qayd etishimiz mumkin. Amalga oshirilgan "sana -s", "pmap -p", "tail -F -s", "o'ldirish -0β€³, qayta yuklash/to'xtatish/off -d", "tail -baytlar -liniyalar", "i2cdetect -q" , "find -quit -lname -ilname -d", "cut -d $'\n'", "cut -nb", "cpio -ignore-devno -renumber-inodes", "tar -selinux", "split -n", "grep -L".

Manba: opennet.ru

a Izoh qo'shish