Distri - пакетти тез башкаруу технологияларын сыноо үчүн бөлүштүрүү

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

Бөлүштүрүү пакетинин форматынын негизги өзгөчөлүгү пакеттин кысылган тар архивдеринин ордуна SquashFS сүрөттөрү түрүндө жеткирилиши. AppImage жана Snap форматтарына окшош SquashFSди колдонуу пакетти таңгактан чыгарбастан эле "монтаждоо" мүмкүнчүлүгүн берет, бул дисктеги мейкиндикти үнөмдөйт, атомдук өзгөрүүлөргө мүмкүндүк берет жана пакеттин мазмунун заматта жеткиликтүү кылат. Ошол эле учурда, дистри пакеттери, классикалык “deb” форматындагыдай, башка пакеттер менен көз карандылык менен байланышкан жеке компоненттерди гана камтыйт (китепканалар пакеттерде кайталанбайт, бирок көз карандылык катары орнотулат). Башкача айтканда, distri Debian сыяктуу классикалык бөлүштүрүүнүн гранулдуу пакет структурасын орнотулган контейнерлер түрүндөгү тиркемелерди жеткирүү ыкмалары менен айкалыштырууга аракет кылат.

Дистридеги ар бир топтом окуу үчүн гана режимде өзүнүн каталогуна орнотулган (мисалы, zsh менен пакет “/ro/zsh-amd64-5.6.2-3” катары жеткиликтүү), бул коопсуздукка жана кокусунан же зыяндуу өзгөрүүлөрдөн коргойт. /usr/bin, /usr/share жана /usr/lib сыяктуу тейлөө каталогдорунун иерархиясын түзүү үчүн атайын FUSE модулу колдонулат, ал бардык орнотулган SquashFS сүрөттөрүнүн мазмунун бир бүтүнгө бириктирет (мисалы, / ro/share каталогу бардык пакеттерден бөлүшүү подкаталогдоруна мүмкүнчүлүк берет).

Топтомдор негизги дистри жеткирилди орнотуу учурунда чакырылган иштеткичтерден (илгичтер же триггерлер жок) жана пакеттин ар кандай версиялары бири-бири менен жанаша болушу мүмкүн, ошондуктан пакеттерди параллелдүү орнотуу мүмкүн болот. Сунушталган структура пакет менеджеринин иштешин пакеттер жүктөлгөн тармактын өткөрүү жөндөмдүүлүгү менен гана чектейт. Пакетти орнотуу же жаңыртуу атомдук түрдө аткарылат жана мазмунду кайталоону талап кылбайт.

Пакеттерди орнотуудагы чыр-чатактар ​​жоюлат, анткени ар бир пакет өзүнүн каталогу менен байланышкан жана система бир пакеттин ар кандай версияларынын болушуна мүмкүндүк берет (пакеттин акыркы жолу каралышы менен каталогдун мазмуну союздук каталогдорго киргизилген). Пакеттерди куруу да абдан тез жана өзүнчө куруу чөйрөсүндө пакеттерди орнотууну талап кылбайт (/ro каталогунан керектүү көз карандылыктардын өкүлчүлүктөрү куруу чөйрөсүндө түзүлөт).

Колдоого алынган “distri install” жана “distri update” сыяктуу таңгактарды башкаруунун типтүү буйруктары жана маалымат буйруктарынын ордуна стандарттык “ls” утилитасын колдоно аласыз (мисалы, орнотулган пакеттерди көрүү үчүн, жөн гана “ /ro” иерархиясын жана файлдын кайсы пакетке киргенин билүү үчүн бул файлдын шилтемеси кайда алып барарын караңыз).

Эксперимент үчүн сунушталган прототиби бөлүштүрүү комплекти жөнүндө камтыйт 1700 пакет жана даяр орнотуу сүрөттөр негизги ОС катары орнотуу үчүн да, QEMU, Docker, Google Cloud жана VirtualBox менен иштөө үчүн да ылайыктуу орнотуучу менен. Ал шифрленген диск бөлүгүнөн жүктөөнү жана i3 терезе менеджеринин негизинде иш тактасын түзүү үчүн стандарттык тиркемелерди колдойт (Google Chrome браузер катары сунушталат). Берилген бөлүштүрүүнү чогултуу, пакеттерди даярдоо жана түзүү, пакеттерди күзгүлөр аркылуу бөлүштүрүү ж.б.

Source: opennet.ru

Комментарий кошуу