Distri – platinimas, skirtas greito paketų valdymo technologijų testavimui

Michaelas Stapelbergas, i3wm plytelių langų tvarkyklės autorius ir buvęs aktyvus Debian kūrėjas (prižiūrėjo apie 170 paketų), vystosi eksperimentinis paskirstymas distri ir to paties pavadinimo paketų tvarkyklė. Projektas yra pozicionuojamas kaip galimų būdų, kaip padidinti paketų valdymo sistemų našumą, tyrimas ir įkūnija kai kurias naujas paskirstymo kūrimo idėjas. Paketo tvarkyklės kodas parašytas Go ir išplatino pagal BSD licenciją.

Pagrindinė platinimo paketo formato ypatybė yra ta, kad paketas pristatomas kaip SquashFS vaizdai, o ne suspausti tar archyvai. Naudojant SquashFS, panašiai kaip „AppImage“ ir „Snap“ formatai, galite „prijungti“ paketą jo neišpakuojant, o tai taupo vietos diske, leidžia atlikti atominius pakeitimus ir padaryti paketo turinį iš karto pasiekiamą. Tuo pačiu metu distri paketuose, kaip ir klasikiniame „deb“ formate, yra tik atskiri komponentai, susieti priklausomybėmis su kitais paketais (bibliotekos paketuose nedubliuojamos, o įdiegiamos kaip priklausomybės). Kitaip tariant, „distri“ bando derinti klasikinių platinimų, tokių kaip „Debian“, granuliuotą paketų struktūrą su taikomųjų programų pristatymo prijungtų konteinerių pavidalu metodais.

Kiekvienas distri paketas yra įtrauktas į savo katalogą tik skaitymo režimu (pavyzdžiui, paketą su zsh galima įsigyti kaip „/ro/zsh-amd64-5.6.2-3“), o tai turi teigiamą poveikį saugumui ir apsaugo nuo atsitiktinių ar kenkėjiškų pakeitimų. Norėdami sudaryti paslaugų katalogų, tokių kaip /usr/bin, /usr/share ir /usr/lib, hierarchiją, naudojamas specialus FUSE modulis, kuris sujungia visų įdiegtų SquashFS vaizdų turinį į vieną visumą (pavyzdžiui, / ro/share katalogas suteikia prieigą prie visų paketų bendrinimo pakatalogių).

Pakuotės distri iš esmės pristatyta iš tvarkyklių, iškviestų diegimo metu (jokių kabliukų ar trigerių), o skirtingos paketo versijos gali egzistuoti viena su kita, todėl lygiagretus paketų diegimas tampa įmanomas. Siūloma struktūra riboja paketų tvarkyklės našumą tik tinklo pralaidumu, per kurį paketai atsisiunčiami. Tikrasis paketo įdiegimas arba atnaujinimas atliekamas atomiškai ir nereikia kartoti turinio.

Konfliktai diegiant paketus pašalinami, nes kiekvienas paketas yra susietas su savo katalogu, o sistema leidžia turėti skirtingas vieno paketo versijas (katalogo su naujesne paketo versija yra įtrauktas į sąjungos katalogus). Paketų kūrimas taip pat yra labai greitas ir nereikia diegti paketų atskiroje kūrimo aplinkoje (būtinų priklausomybių atvaizdai iš /ro katalogo sukuriami kūrimo aplinkoje).

Palaikoma tipiškos paketų valdymo komandos, tokios kaip „distri install“ ir „distri update“, o vietoj informacijos komandų galite naudoti standartinę „ls“ programą (pavyzdžiui, norėdami peržiūrėti įdiegtus paketus, tiesiog parodykite katalogų sąrašą „ /ro“ hierarchiją ir norėdami sužinoti, į kurį paketą failas įtrauktas, pažiūrėkite, kur veda šio failo nuoroda).

Eksperimentavimui siūlomas prototipo platinimo rinkinys apima apie 1700 pakuotės ir pasiruošę diegimo vaizdai su diegimo programa, tinkama tiek diegti kaip pagrindinė OS, tiek veikti QEMU, Docker, Google Cloud ir VirtualBox. Jis palaiko paleidimą iš užšifruoto disko skaidinio ir standartinių programų rinkinį, skirtą darbalaukiui sukurti pagal i3 langų tvarkyklę („Google Chrome“ siūloma kaip naršyklė). Jeigu visas įrankių rinkinys paskirstymo surinkimui, paketų paruošimui ir generavimui, paketų paskirstymui per veidrodžius ir kt.

Šaltinis: opennet.ru

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