BusyBox 1.31 жүйелік утилиталарының минималистік жиынтығының шығарылымы

Жіберген пакет шығару BusyBox 1.31 бір орындалатын файл ретінде құрастырылған және белгіленген өлшемі 1 Мбайттан аз жүйелік ресурстарды тұтыну үшін оңтайландырылған стандартты UNIX утилиталарының жиынтығын жүзеге асырумен. Жаңа тармақтың 1.31 бірінші шығарылымы тұрақсыз болып табылады, толық тұрақтандыру шамамен бір айдан кейін күтілетін 1.31.1 нұсқасында қамтамасыз етіледі. Жоба коды GPLv2 лицензиясы бойынша таратылады.

BusyBox модульдік сипаты пакетте іске асырылған утилиталардың ерікті жиынын қамтитын бір орындалатын файлды жасауға мүмкіндік береді (әр қызметтік бағдарлама осы файлға символдық сілтеме түрінде қол жетімді). Утилиталар жинағының мөлшері, құрамы және функционалдығы құрастыру жүргізіліп жатқан ендірілген платформаның қажеттіліктері мен мүмкіндіктеріне байланысты өзгеруі мүмкін. Пакет өздігінен қамтылған; uclibc көмегімен статикалық түрде салынған кезде, Linux ядросының үстінде жұмыс жүйесін жасау үшін, /dev каталогында бірнеше құрылғы файлдарын жасап, конфигурация файлдарын дайындау қажет. Алдыңғы шығарылым 1.30-мен салыстырғанда, әдеттегі BusyBox 1.31 жинағының ЖЖҚ тұтынуы 86 байтқа (1008478-ден 1008392 байтқа дейін) азайды.

BusyBox микробағдарламада GPL бұзушылықтарымен күресудің негізгі құралы болып табылады. Software Freedom Conservancy (SFC) және Software Freedom Law Center (SFLC) BusyBox әзірлеушілері атынан сот, және осы жолмен қорытындылар соттан тыс келісімдер GPL бағдарламаларының бастапқы кодына қол жеткізуді қамтамасыз етпейтін компанияларға бірнеше рет сәтті әсер етті. Сонымен қатар, BusyBox авторы қолынан келгеннің бәрін жасайды нысандар мұндай қорғауға қарсы - бұл оның бизнесін бұзады деп есептейді.

Келесі өзгерістер BusyBox 1.31 ішінде бөлектелген:

  • Жаңа командалар қосылды: ts (TSP (Time-Stamp Protocol) протоколы үшін клиент пен серверді іске асыру) және i2ctransfer (I2C хабарламаларын жасау және жіберу);
  • udhcp жүйесіне DHCP опцияларына қолдау қосылды 100 (уақыт белдеуі туралы ақпарат) және IPv101 үшін 6 (TZ дерекқорындағы уақыт белдеуінің атауы);
  • udhcpd ішіндегі клиенттерге статикалық хост атауын байланыстыруға қолдау қосылды;
  • Күл және үнсіз қабықшалар "BASE#nnnn" сандық литералдарын жүзеге асырады. ulimit пәрменінің орындалуы «-i RLIMIT_SIGPENDING» және «-q RLIMIT_MSGQUEUE» опцияларын қоса, bash үйлесімді етіп жасалды. «Wit -n» қолдауы қосылды. Bash-үйлесімді EPOCH айнымалылары қосылды;
  • Hush қабығы әдепкі бойынша қосылған қабық опцияларын тізімдейтін "$-" айнымалысын жүзеге асырады;
  • Мәндерді сілтеме бойынша беру коды жоғары ағыннан bc-ге ауыстырылды, бос функцияларды қолдау қосылды және 36-ға дейінгі ibase мәндерімен жұмыс істеу мүмкіндігі;
  • brctl-де барлық командалар псевдо-FS /sys көмегімен жұмысқа түрлендірілді;
  • fsync және синхрондау утилиталарының коды біріктірілді;
  • httpd енгізу жақсарды. HTTP тақырыптарын өңдеу және прокси режимінде жұмыс істеу жақсартылған. MIME түрлерінің тізіміне SVG және JavaScript кіреді;
  • «-c» опциясы жоғалтуға (цикл құрылғысымен байланысты файл өлшемін мәжбүрлі екі рет тексеру), сондай-ақ бөлімдерді сканерлеу опциясына қосылды. орнату және жоғалту /dev/loop-control көмегімен жұмыс істеуге қолдау көрсетеді;
  • Ntpd ішінде SLEW_THRESHOLD мәні 0.125-тен 0.5-ке дейін ұлғайтылды;
  • sysctl-ге нөлдік мәндерді тағайындауға қолдау қосылды;
  • Қарау үшін «-n SEC» опциясында бөлшек мәндерге қолдау қосылды;
  • mdev файлын фондық процесс ретінде іске қосу мүмкіндігі қосылды;
  • wget утилитасы журналды жазу үшін файлды көрсету үшін «-o» жалауын жүзеге асырады. Жүктеп алудың басталуы және аяқталуы туралы хабарландырулар қосылды;
  • telnetd үшін AYT IAC пәрменіне қолдау қосылды;
  • vi-ге 'dG' пәрмені қосылды (ағымдағы жолдан файлдың соңына дейін мазмұнды жою);
  • dd пәрменіне 'oflag=append' опциясы қосылды;
  • Жеке ағындарды сканерлеуді қосу үшін жоғарғы қызметтік бағдарламаға '-H' жалауы қосылды.

Сондай-ақ, екі апта бұрын орын алды босату Toybox 0.8.1, BusyBox аналогы, бұрынғы BusyBox қызметшісі және әзірлеген таратылды BSD лицензиясы бойынша. Toybox-тың негізгі мақсаты өндірушілерге модификацияланған компоненттердің бастапқы кодын ашпай-ақ стандартты утилиталардың минималистік жиынтығын пайдалану мүмкіндігін беру болып табылады. Toybox мүмкіндіктеріне сәйкес артта қалу BusyBox-тан, бірақ жоспарланған 188 негізгі команданың 220-і қазірдің өзінде орындалды.

Toybox 0.8.1 инновацияларының ішінде мыналарды атап өтуге болады:

  • Android жүйесін Toybox утилиталарына негізделген ортада құру үшін жеткілікті функционалдық деңгейге қол жеткізілді.
  • Жаңа mcookie және devmem командалары қамтылған, ал қайта жазылған tar, gunzip және zcat пәрмендері сынақ тармағынан жылжытылады.
  • Тестілеу үшін vi жаңа енгізуі ұсынылды.
  • Табу пәрмені енді "-бүтін аты/-iwholename" опцияларын қолдайды.
    «-printf» және «-контекст»;

  • grep-ке "--exclude-dir" опциясы қосылды;
  • Echo енді «-E» опциясын қолдайды.
  • Орнату үшін "UUID" қолдауы қосылды.
  • Күн пәрмені енді TZ ортасының айнымалысында көрсетілген уақыт белдеуін ескереді.
  • Салыстырмалы ауқымдарға (+N) sed-ге қолдау қосылды.
  • ps, жоғарғы және iotop шығысының оқылуы жақсартылған.

Ақпарат көзі: opennet.ru

пікір қалдыру