Distri – пакеттерді жылдам басқару технологияларын сынауға арналған дистрибутив

Майкл Степелберг, i3wm плиткалы терезе менеджерінің авторы және бұрынғы белсенді Debian әзірлеушісі (170-ке жуық бума сақталған), дамытады эксперименттік бөлу distri және аттас пакет менеджері. Жоба пакеттерді басқару жүйелерінің өнімділігін арттырудың мүмкін жолдарын зерттеу ретінде орналастырылған және дистрибутивтерді құруға арналған кейбір жаңа идеяларды қамтиды. Пакет менеджерінің коды Go және ішінде жазылған таралады BSD лицензиясы бойынша.

Дистрибьютор пакеті пішімінің негізгі ерекшелігі пакеттің қысылған тар мұрағаттарының орнына SquashFS кескіндері түрінде жеткізілуі болып табылады. AppImage және Snap пішімдеріне ұқсас SquashFS пайдалану буманы орамнан шығармай-ақ «монтаждауға» мүмкіндік береді, бұл дискілік кеңістікті үнемдейді, атомдық өзгерістерге мүмкіндік береді және бума мазмұнына бірден қол жетімді етеді. Сонымен қатар, дистри бумалары классикалық «deb» пішіміндегідей, басқа бумалармен тәуелділіктермен байланыстырылған жеке құрамдастарды ғана қамтиды (кітапханалар бумаларда қайталанбайды, бірақ тәуелділіктер ретінде орнатылады). Басқаша айтқанда, distri Debian сияқты классикалық дистрибутивтердің түйіршікті пакет құрылымын орнатылған контейнерлер түріндегі қосымшаларды жеткізу әдістерімен біріктіруге тырысады.

Distri ішіндегі әрбір бума тек оқуға арналған режимде өз каталогына орнатылады (мысалы, zsh бумасы «/ro/zsh-amd64-5.6.2-3» ретінде қол жетімді), бұл қауіпсіздікке оң әсер етеді және қорғайды. кездейсоқ немесе зиянды өзгерістерге қарсы. /usr/bin, /usr/share және /usr/lib сияқты қызмет каталогтарының иерархиясын қалыптастыру үшін барлық орнатылған SquashFS кескіндерінің мазмұнын бір бүтінге біріктіретін арнайы FUSE модулі пайдаланылады (мысалы, / ro/share каталогы барлық пакеттерден ортақ ішкі каталогтарға қол жеткізуді қамтамасыз етеді).

Пакеттер дистриде негізінен жеткізілген орнату кезінде шақырылған өңдеушілерден (ілгектер немесе триггерлер жоқ) және буманың әртүрлі нұсқалары бір-бірімен бірге болуы мүмкін, сондықтан бумаларды параллель орнату мүмкін болады. Ұсынылған құрылым пакет менеджерінің өнімділігін пакеттер жүктелетін желі өткізу қабілетімен ғана шектейді. Буманы нақты орнату немесе жаңарту атомдық түрде орындалады және мазмұнның қайталануын қажет етпейді.

Бумаларды орнату кезіндегі қайшылықтар жойылады, өйткені әрбір бума өз каталогымен байланысты және жүйе бір буманың әртүрлі нұсқаларының болуына мүмкіндік береді (пакеттің соңғы нұсқасы бар каталогтың мазмұны одақ каталогтарына енгізілген). Бумаларды құру да өте жылдам және бөлек құрастыру ортасында бумаларды орнатуды қажет етпейді (/ro каталогынан қажетті тәуелділіктердің өкілдері құрастыру ортасында жасалады).

Қолдау көрсетіледі «distri install» және «distri update» сияқты пакетті басқарудың типтік пәрмендері және ақпараттық пәрмендердің орнына стандартты «ls» утилитасын пайдалануға болады (мысалы, орнатылған бумаларды көру үшін « /ro» иерархиясын және файлдың қай бумаға кіретінін білу үшін осы файлдағы сілтеме қайда апаратынын қараңыз).

Экспериментке ұсынылған прототипті тарату жинағы шамамен қамтиды 1700 пакет және дайын орнату суреттері негізгі ОЖ ретінде орнату үшін де, QEMU, Docker, Google Cloud және VirtualBox жүйелерінде де жұмыс істеу үшін қолайлы орнатушымен. Ол шифрланған диск бөлімінен және i3 терезе менеджері негізінде жұмыс үстелін жасауға арналған стандартты қолданбалар жинағынан жүктеуді қолдайды (Google Chrome браузер ретінде ұсынылады). Берілген таратуды құрастыруға, пакеттерді дайындауға және жасауға, айна арқылы пакеттерді таратуға және т.б.

Ақпарат көзі: opennet.ru

пікір қалдыру