BusyBox 1.35 փաթեթի թողարկումը ներկայացվում է ստանդարտ UNIX կոմունալ ծառայությունների մի շարքի ներդրմամբ, որը նախագծված է որպես մեկ գործարկվող ֆայլ և օպտիմիզացված է 1 ՄԲ-ից պակաս սահմանված չափով համակարգի ռեսուրսների նվազագույն սպառման համար: Նոր մասնաճյուղի 1.35-ի առաջին թողարկումը դիրքավորվում է որպես անկայուն, ամբողջական կայունացում կտրամադրվի 1.35.1 տարբերակում, որը սպասվում է մոտ մեկ ամսից: Ծրագրի կոդը բաշխվում է GPLv2 լիցենզիայի ներքո:
BusyBox-ի մոդուլային բնույթը հնարավորություն է տալիս ստեղծել մեկ միասնական գործարկվող ֆայլ, որը պարունակում է փաթեթում ներդրված կոմունալ ծառայությունների կամայական շարք (յուրաքանչյուր կոմունալ հասանելի է այս ֆայլի խորհրդանշական հղման տեսքով): Կոմունալ ծառայությունների հավաքածուի չափը, կազմը և ֆունկցիոնալությունը կարող են տարբեր լինել՝ կախված ներկառուցված հարթակի կարիքներից և հնարավորություններից, որի համար իրականացվում է հավաքումը: Փաթեթը ինքնամփոփ է, երբ uclibc-ով ստատիկ կառուցված է, Linux միջուկի վերևում աշխատող համակարգ ստեղծելու համար անհրաժեշտ է միայն սարքի մի քանի ֆայլ ստեղծել /dev գրացուցակում և պատրաստել կազմաձևման ֆայլեր: Նախորդ թողարկման 1.34-ի համեմատ, տիպիկ BusyBox 1.35 հավաքի RAM-ի սպառումն ավելացել է 1726 բայթով (1042344-ից մինչև 1044070 բայթ):
BusyBox-ը հիմնական գործիքն է որոնվածում GPL-ի խախտումների դեմ պայքարում: Software Freedom Conservancy (SFC) և Software Freedom Law Center (SFLC) BusyBox ծրագրավորողների անունից բազմիցս հաջողությամբ ազդել են այն ընկերությունների վրա, որոնք հասանելիություն չեն տրամադրում GPL ծրագրերի սկզբնական կոդին՝ ինչպես դատարանների, այնպես էլ արտասահմանյան միջոցով: - դատական պայմանագրեր. Միևնույն ժամանակ, BusyBox-ի հեղինակը կտրականապես դեմ է նման պաշտպանությանը՝ կարծելով, որ դա փչացնում է իր բիզնեսը:
Հետևյալ փոփոխությունները ընդգծված են BusyBox 1.35-ում.
- Find utility-ն իրականացնում է «-samefile name» տարբերակը՝ ստուգելու, թե արդյոք ֆայլը օգտագործում է նույն ինոդը, ինչ նշված անունով ֆայլը: Ժամանակի համեմատության միասնական կոդ և ավելացված տարբերակներ «-amin», «-atime», «-cmin» և «-ctime»՝ ստուգելու մուտքի ժամանակը և ֆայլի ստեղծումը:
- «--tmpdir» տարբերակը ավելացվել է mktemp կոմունալ ծրագրին, որպեսզի նշվի բազային գրացուցակը, որով հաշվարկվում են ժամանակավոր ֆայլերի հետ կապված ուղիները:
- «-ignore-devno» տարբերակներն ավելացվել են cpio կոմունալ՝ սարքի իրական համարն անտեսելու համար (0-ն միշտ գրված է) և «-renumber-inodes»՝ նախքան այն արխիվում պահելը, ինոդը վերահամարակալելու համար:
- awk կոմունալում «printf %%» արտահայտությունը ճշգրտվել է:
- Ավելացվել է մոտ մեկ տասնյակ փոփոխություն libbb գրադարանում: Realpath-ի բարելավված համատեղելիությունը coreutils հավաքածուի իր գործընկերոջ հետ:
- Մեծ թվով շտկումներ են առաջարկվել ash and hush հրամանատարական պատյանների համար, որոնք ուղղված են այլ պատյանների հետ համատեղելիության բարելավմանը: Ash-ն ավելացրել է bash-անման ERR թակարդների աջակցություն, սահմանել -E և $FUNCNAME, ինչպես նաև ավելի արագ տողերի որբերում՝ օգտագործելով «${s:}» արտահայտությունը: Մոխրի և լռության պայմաններում «${x//\*/|}» գործողությունների կատարումն արագացված է:
- Basename կոմունալն իրականացնում է «-a» տարբերակները՝ մեկ զանգով մի քանի անուններ փոխանցելու համար, իսկ «-s SUFFIX»՝ վերջացող «SUFFIX» նիշերը հեռացնելու համար:
- Ավելացվեց «-f» (ուժեղ) տարբերակը՝ blkdiscard կոմունալը:
- httpd-ը դադարեցրել է վերջին փոփոխված/ETag/Content-Length վերնագրեր ուղարկելը սխալներով էջերի համար:
- httpd-ը և telnetd-ը ապահովում են ցանցի լռելյայն պորտը փոխելու հնարավորություն:
- Ուղղվել է tar-ի խոցելիությունը, որի պատճառով ամբողջ հասանելի հիշողությունը սպառվել է շատ երկար ֆայլերի անուններով արխիվները մշակելիս:
- P256-ի և x25519-ի իրականացումը վերամշակվել է TLS կոդում:
- Wget կոմունալն իրականացնում է «--post-file» տարբերակը ֆայլեր ուղարկելու համար և թույլ է տալիս հարմարեցնել Content-Type վերնագրի բովանդակությունը «--post-data» և «--post-file» տարբերակների համար:
- Timeout կոմունալն այժմ աջակցում է «-k KILL_SECS» տարբերակը՝ ուղարկելու SIGKILL ազդանշան, եթե հրամանը չի ավարտվում լրացուցիչ KILL_SECS վայրկյանների ընթացքում:
- Սարքերի համար netns պարամետրը սահմանելու աջակցությունն ավելացվել է ip կոմունալ:
- Cal utility-ն իրականացնում է «-m» տարբերակը՝ նշված ամիսը ցուցադրելու համար:
- Ամսաթիվը և հպման կոմունալ ծառայությունները թույլ են տալիս նշել ժամային գոտու փոխհատուցումը ամսաթվերով:
- vi խմբագրիչում ավելացվել է ~/.exrc ֆայլի աջակցությունը և փոխվել է «-c»-ի և EXINIT-ի կառավարումը:
- ed utility-ում կարդալու/գրելու հրամանների կատարման արդյունքը համապատասխանեցվում է POSIX-1.2008 ճշգրտմանը: Ավելացվեց աջակցություն «-p» տարբերակին:
- Ավելացվեց «-n N» տարբերակն cmp կոմունալ՝ N բայթով համեմատությունը սահմանափակելու համար:
Բացի այդ, մի քանի օր առաջ թողարկվեց Toybox 0.8.6-ը՝ BusyBox-ի անալոգը, որը մշակվել է BusyBox-ի նախկին սպասարկողի կողմից և տարածվել 0BSD լիցենզիայի ներքո: Toybox-ի հիմնական նպատակն է արտադրողներին տրամադրել ստանդարտ կոմունալ ծառայությունների մինիմալիստական փաթեթ օգտագործելու հնարավորություն՝ առանց փոփոխված բաղադրիչների սկզբնական կոդը բացելու: Հնարավորությունների առումով Toybox-ը դեռ զիջում է BusyBox-ին, սակայն նախատեսված 296-ից արդեն իրականացվել են 217 հիմնական հրամաններ (83-ը՝ ամբողջությամբ և 374-ը՝ մասնակի)։
Toybox 0.8.6-ի նորամուծություններից կարելի է նշել համակարգային պատկերներ ստեղծելու սկրիպտների կատարելագործումը, sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace և hexdump հրամանների ավելացումը։ Իրականացված տարբերակները «date -s», «pmap -p», «tail -F -s», «kill -0», reboot/halt/poweroff -d», «tail –bytes –lines», «i2cdetect -q» , "find -quit -lname -ilname -d", "cut -d $'\n'", "cut -nb", "cpio -ignore-devno -renumber-inodes", "tar -selinux", "split" -n», «grep -L»:
Source: opennet.ru