Համակարգային կոմունալ ծառայությունների մինիմալիստական ​​փաթեթի թողարկում BusyBox 1.35

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

Добавить комментарий