Distri - usa ka pag-apod-apod alang sa pagsulay sa paspas nga mga teknolohiya sa pagdumala sa pakete

Michael Stapelberg, tagsulat sa i3wm tiled window manager ug kanhi aktibo nga developer sa Debian (nagpabilin mga 170 ka pakete), nagpalambo eksperimento nga pag-apod-apod distri ug usa ka tagdumala sa pakete sa parehas nga ngalan. Ang proyekto gipahimutang ingon usa ka eksplorasyon sa posible nga mga paagi aron madugangan ang paghimo sa mga sistema sa pagdumala sa pakete ug naglangkob sa pipila ka mga bag-ong ideya alang sa pag-apod-apod sa pagtukod. Ang package manager code gisulat sa Go ug giapod-apod sa ubos sa lisensya sa BSD.

Usa ka hinungdanon nga bahin sa format sa pakete sa pag-apod-apod mao nga ang pakete gihatag sa porma sa mga imahe sa SquashFS, imbes nga mga gi-compress nga tar archive. Ang paggamit sa SquashFS, susama sa mga format sa AppImage ug Snap, nagtugot kanimo sa "pag-mount" sa usa ka pakete nga dili kinahanglan nga i-unpack kini, nga makatipig sa espasyo sa disk, nagtugot sa mga pagbag-o sa atomo, ug naghimo sa mga sulud sa pakete nga dali nga ma-access. Sa samang higayon, ang mga distri nga pakete, sama sa klasiko nga "deb" nga pormat, naglangkob lamang sa mga indibidwal nga mga sangkap nga nalambigit sa mga dependency sa ubang mga pakete (ang mga librarya dili doble sa mga pakete, apan gi-install isip mga dependency). Sa laing pagkasulti, ang distri naningkamot sa paghiusa sa granular nga istruktura sa pakete sa mga klasiko nga pag-apod-apod sama sa Debian sa mga pamaagi sa paghatud sa mga aplikasyon sa porma sa mga naka-mount nga sudlanan.

Ang matag pakete sa distri gi-mount sa kaugalingon nga direktoryo sa read-only mode (pananglitan, ang package nga adunay zsh magamit ingon "/ro/zsh-amd64-5.6.2-3"), nga adunay positibo nga epekto sa seguridad ug nanalipod batok sa aksidente o malisyoso nga mga pagbag-o. Aron maporma ang usa ka hierarchy sa mga direktoryo sa serbisyo, sama sa /usr/bin, /usr/share ug /usr/lib, gigamit ang usa ka espesyal nga module sa FUSE, nga naghiusa sa mga sulud sa tanan nga na-install nga mga imahe sa SquashFS sa usa ka tibuuk (pananglitan, ang / ro/share nga direktoryo naghatag og access sa pagpaambit sa mga subdirectory gikan sa tanang mga pakete).

Mga pakete sa distri sukaranan gihatud gikan sa mga handler nga gitawag sa panahon sa pag-instalar (walay mga kaw-it o mga trigger), ug lain-laing mga bersyon sa usa ka package mahimong mag-uban sa usag usa, mao nga parallel instalar sa mga package mahimong posible. Ang gisugyot nga estraktura naglimite sa performance sa package manager lamang sa network throughput diin ang mga package gi-download. Ang aktuwal nga pag-instalar o pag-update sa pakete gihimo sa atomiko ug wala magkinahanglan og pagdoble sa sulod.

Ang mga panagsumpaki kung ang pag-install sa mga pakete giwagtang tungod kay ang matag pakete adunay kalabotan sa kaugalingon nga direktoryo ug gitugotan sa sistema ang presensya sa lainlaing mga bersyon sa usa ka pakete (ang sulud sa direktoryo nga adunay bag-o nga pagbag-o sa pakete gilakip sa mga direktoryo sa unyon). Ang mga pakete sa pagtukod kusog usab kaayo ug wala magkinahanglan og pag-instalar sa mga pakete sa usa ka bulag nga palibot sa pagtukod (mga representasyon sa gikinahanglan nga mga dependency gikan sa /ro nga direktoryo gihimo sa pagtukod sa palibot).

Gisuportahan tipikal nga package management commands, sama sa "distri install" ug "distri update", ug imbes nga information commands, mahimo nimong gamiton ang standard nga "ls" utility (pananglitan, aron matan-aw ang mga naka-install nga pakete, ipakita lang ang listahan sa mga direktoryo sa " /ro" hierarchy, ug aron mahibal-an kung unsang pakete ang gilakip sa file, tan-awa kung diin ang link gikan sa kini nga file nanguna).

Ang prototype distribution kit nga gisugyot alang sa eksperimento naglakip sa mga 1700 ka bag ug andam instalar nga mga larawan nga adunay usa ka installer, nga angay alang sa pag-instalar isip nag-unang OS ug alang sa pagdagan sa QEMU, Docker, Google Cloud ug VirtualBox. Gisuportahan niini ang pag-boot gikan sa usa ka naka-encrypt nga partition sa disk ug usa ka hugpong sa mga sumbanan nga aplikasyon alang sa paghimo sa usa ka desktop base sa manager sa bintana sa i3 (gitanyag ang Google Chrome ingon usa ka browser). Gihatag usa ka kompleto nga toolkit alang sa pag-assemble sa usa ka pag-apod-apod, pag-andam ug paghimo og mga pakete, pag-apod-apod sa mga pakete pinaagi sa mga salamin, ug uban pa.

Source: opennet.ru

Idugang sa usa ka comment