Distri - dosbarthiad ar gyfer profi technolegau rheoli pecynnau cyflym

Michael Stapelberg, awdur rheolwr ffenestri teils i3wm a chyn-ddatblygwr Debian gweithredol (cynnal tua 170 o becynnau), yn datblygu dosbarthiad arbrofol distri a rheolwr pecyn o'r un enw. Mae'r prosiect wedi'i leoli fel archwiliad o ffyrdd posibl o gynyddu perfformiad systemau rheoli pecynnau ac mae'n ymgorffori rhai syniadau newydd ar gyfer dosbarthiadau adeiladu. Mae cod y rheolwr pecyn wedi'i ysgrifennu yn Go a dosbarthu gan dan y drwydded BSD.

Nodwedd allweddol o fformat pecyn y dosbarthiad yw bod y pecyn yn cael ei gyflwyno ar ffurf delweddau SquashFS, yn lle archifau tar cywasgedig. Mae defnyddio SquashFS, yn debyg i fformatau AppImage a Snap, yn caniatáu ichi “osod” pecyn heb orfod ei ddadbacio, sy'n arbed lle ar y ddisg, yn caniatáu newidiadau atomig, ac yn gwneud cynnwys y pecyn yn hygyrch ar unwaith. Ar yr un pryd, mae pecynnau distri, fel yn y fformat “deb” clasurol, yn cynnwys cydrannau unigol yn unig sy'n gysylltiedig â dibyniaethau â phecynnau eraill (nid yw llyfrgelloedd yn cael eu dyblygu mewn pecynnau, ond maent yn cael eu gosod fel dibyniaethau). Mewn geiriau eraill, mae distri yn ceisio cyfuno strwythur pecyn gronynnog dosbarthiadau clasurol fel Debian â'r dulliau o gyflwyno cymwysiadau ar ffurf cynwysyddion wedi'u gosod.

Mae pob pecyn yn y distri wedi'i osod yn ei gyfeiriadur ei hun yn y modd darllen yn unig (er enghraifft, mae'r pecyn gyda zsh ar gael fel “/ ro/zsh-amd64-5.6.2-3”), sy'n cael effaith gadarnhaol ar ddiogelwch a amddiffyn rhag newidiadau damweiniol neu faleisus. I ffurfio hierarchaeth o gyfeiriaduron gwasanaeth, megis /usr/bin, /usr/share a /usr/lib, defnyddir modiwl FUSE arbennig, sy'n cyfuno cynnwys yr holl ddelweddau SquashFS sydd wedi'u gosod yn un cyfanwaith (er enghraifft, y / Mae cyfeiriadur ro/share yn darparu mynediad i is-gyfeiriaduron rhannu o bob pecyn).

Pecynnau yn y distri yn sylfaenol cyflwyno o drinwyr a elwir yn ystod gosod (dim bachau neu sbardunau), a gall fersiynau gwahanol o becyn gydfodoli â'i gilydd, felly mae gosod pecynnau yn gyfochrog yn dod yn bosibl. Mae'r dyluniad arfaethedig yn cyfyngu perfformiad y rheolwr pecyn i'r trwygyrch rhwydwaith y mae'r pecynnau'n cael eu lawrlwytho drwyddo yn unig. Mae gosodiad neu ddiweddariad gwirioneddol y pecyn yn cael ei berfformio'n atomig ac nid oes angen dyblygu cynnwys.

Mae gwrthdaro wrth osod pecynnau yn cael eu dileu gan fod pob pecyn yn gysylltiedig â'i gyfeiriadur ei hun ac mae'r system yn caniatáu presenoldeb gwahanol fersiynau o un pecyn (mae cynnwys y cyfeiriadur gydag adolygiad mwy diweddar o'r pecyn wedi'i gynnwys yng nghyfeirlyfrau'r undeb). Mae pecynnau adeiladu hefyd yn gyflym iawn ac nid oes angen gosod pecynnau mewn amgylchedd adeiladu ar wahân (mae cynrychioliadau o'r dibyniaethau angenrheidiol o'r cyfeiriadur /ro yn cael eu creu yn yr amgylchedd adeiladu).

Cefnogwyd gorchmynion rheoli pecynnau nodweddiadol, fel “distri install” a “distri update”, ac yn lle gorchmynion gwybodaeth, gallwch ddefnyddio'r cyfleustodau safonol “ls” (er enghraifft, i weld pecynnau wedi'u gosod mae'n ddigon i arddangos rhestr o gyfeiriaduron yn yr hierarchaeth “/ro”, ac er mwyn darganfod pa becyn y mae'r ffeil wedi'i gynnwys ynddo, gwelwch ble mae'r ddolen o'r ffeil hon yn arwain).

Mae'r pecyn dosbarthu prototeip a gynigir ar gyfer arbrofi yn cynnwys tua 1700 o fagiau ac yn barod delweddau gosod gyda gosodwr, sy'n addas i'w osod fel y prif OS ac ar gyfer rhedeg yn QEMU, Docker, Google Cloud a VirtualBox. Mae'n cefnogi cychwyn o raniad disg wedi'i amgryptio a set o gymwysiadau safonol ar gyfer creu bwrdd gwaith yn seiliedig ar reolwr ffenestri i3 (cynigir Google Chrome fel porwr). Darperir pecyn cymorth cyflawn ar gyfer cydosod dosbarthiad, paratoi a chynhyrchu pecynnau, dosbarthu pecynnau trwy ddrychau, ac ati.

Ffynhonnell: opennet.ru

Ychwanegu sylw