Flatpak 1.14.0 өзін-өзі қамтамасыз ететін пакеттер жүйесін шығару

Flatpak 1.14 құралдар жинағының жаңа тұрақты тармағы жарияланды, ол белгілі бір Linux дистрибутивтерімен байланысы жоқ және қолданбаны жүйенің қалған бөлігінен оқшаулайтын арнайы контейнерде жұмыс істейтін дербес пакеттерді құру жүйесін қамтамасыз етеді. Flatpak пакеттерін іске қосу үшін қолдау Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux және Ubuntu үшін ұсынылады. Flatpak пакеттері Fedora репозиторийіне кіреді және GNOME қолданбасының жергілікті менеджері қолдау көрсетеді.

Flatpak 1.14 филиалындағы негізгі инновациялар:

  • Күйдегі файлдар үшін каталог жасауға болады (.local/state) және осы каталогты көрсететін XDG_STATE_HOME ортасының айнымалы мәнін орнатуға болады.
  • Ядро модульдерінің болуын анықтау үшін «бар-ядро-модуль-аты» пішінінің шартты тексерулері қосылды (бұрын ұсынылған have-intel-gpu тексеруінің әмбебап аналогы, оның орнына «бар-ядро-модуль-i915» өрнегі. ” енді қолдануға болады).
  • “flatpak document-unexport —doc-id=…” пәрмені орындалды.
  • Негізгі ортада пайдалану үшін Appstream метадеректерін экспорттау қамтамасыз етілген.
  • Fish қабығына арналған flatpak пәрменін аяқтау ережелері қосылды
  • X11 және PulseAudio қызметтеріне желіге кіруге рұқсат етіледі (егер тиісті параметрлер қосылса).
  • Git репозиторийіндегі негізгі тармақ «шеберден» «негізгіге» өзгертілді, өйткені «шебер» сөзі жақында саяси тұрғыдан дұрыс емес деп саналды.
  • Қолданбаның атауы өзгертілсе, іске қосу сценарийлері енді қайта жазылады.
  • SDK және debuginfo файлдарын орнату үшін орнату пәрменіне "--include-sdk" және "--include-debug" опциялары қосылды.
  • flatpakref және flatpakrepo файлдарына "DeploySideloadCollectionID" параметріне қолдау қосылды. Орнатылған кезде жинақ идентификаторы метадеректерді жүктегеннен кейін емес, қашықтағы репозиторийді қосқанда орнатылады.
  • Бөлек MPRIS (Media Player Remote Interfacing Specification) атаулары бар сеанстардағы өңдеушілер үшін кірістірілген құм жәшік орталарын жасауға рұқсат етілген.
  • Пәрмен жолы утилиталары енді ескірген орындау уақыты кеңейтімдерін пайдалану туралы ақпаратты береді.
  • Жою пәрмені әлі де қолданыста болатын орындау уақытын немесе орындау уақыты кеңейтімдерін жою алдында растау сұрауын жүзеге асырады.
  • «flatpak run» сияқты пәрмендерге «--socket=gpg-agent» опциясына қолдау қосылды.
  • Lifter-де осалдық түзетілді, ол пайдаланушыға flatpak-жүйелік көмекші өңдеушісін өңдеу (арнайы пішімделген филиал атауы бар жою сұрауын жіберу) арқылы жүйедегі ерікті файлдарды жоюға мүмкіндік беруі мүмкін. Мәселе тек 2018 жылға дейін шығарылған Flatpak және libostree ескі нұсқаларында (< 0.10.2) пайда болады және ағымдағы шығарылымдарға әсер етпейді.

Естеріңізге сала кетейік, Flatpak қолданбаларды әзірлеушілерге стандартты тарату репозиторийлеріне кірмейтін өз бағдарламаларын таратуды жеңілдету арқылы бір әмбебап контейнерді әр дистрибутив үшін жеке жинақтарды жасамай-ақ дайындауға мүмкіндік береді. Қауіпсіздікті сезінетін пайдаланушылар үшін Flatpak қолданбамен байланысты желі функциялары мен пайдаланушы файлдарына ғана қол жеткізуді қамтамасыз ететін контейнерде күмәнді қолданбаны іске қосуға мүмкіндік береді. Жаңа өнімдерге қызығушылық танытқан пайдаланушылар үшін Flatpak жүйеге өзгертулер енгізуді қажет етпей-ақ соңғы сынақты және қолданбалардың тұрақты шығарылымдарын орнатуға мүмкіндік береді. Мысалы, Flatpak пакеттері LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio және т.б.

Пакет өлшемін азайту үшін ол тек қолданбаға тән тәуелділіктерді қамтиды және негізгі жүйелік және графикалық кітапханалар (GTK, Qt, GNOME және KDE кітапханалары және т.б.) қосылатын модульдің стандартты орындалу ортасы ретінде жасалған. Flatpak пен Snap арасындағы негізгі айырмашылық мынада: Snap негізгі жүйе ортасының құрамдастарын және жүйелік қоңырауларды сүзуге негізделген оқшаулауды пайдаланады, ал Flatpak жүйеден бөлек контейнер жасайды және пакеттерді тәуелділік ретінде емес, стандартты түрде қамтамасыз ететін үлкен жұмыс уақыты жиындарымен жұмыс істейді. жүйе орталары (мысалы, GNOME немесе KDE бағдарламаларының жұмысына қажетті барлық кітапханалар).

Арнайы репозиторий арқылы орнатылған стандартты жүйелік ортаға (орындалу уақыты) қосымша қосымшаның жұмысына қажетті қосымша тәуелділіктер (бума) жеткізіледі. Орындау уақыты бөлек орнатылып, бірден бірнеше контейнерге байланыстырылғанына қарамастан, жалпы орындалу уақыты мен бума контейнердің толтырылуын құрайды, бұл контейнерлерге ортақ жүйелік файлдардың қайталануын болдырмауға мүмкіндік береді. Бір жүйеде орнатылған бірнеше әртүрлі орындалу уақыты (GNOME, KDE) немесе бір орындалу уақытының бірнеше нұсқасы (GNOME 3.40, GNOME 3.42) болуы мүмкін. Тәуелділік ретінде қолданбасы бар контейнер орындау уақытын құрайтын жеке бумаларды есепке алмай, тек белгілі бір орындалу уақытына байланыстыруды пайдаланады. Барлық жетіспейтін элементтер қолданбамен тікелей пакеттелген. Контейнер қалыптасқан кезде, орындалу уақыты мазмұны /usr бөлімі ретінде орнатылады, ал бума /app каталогында орнатылады.

Орындау уақыты мен қолданбалы контейнерлер OSTree технологиясы арқылы құрастырылған, онда кескін Git тәрізді репозиторийден атомдық түрде жаңартылады, бұл тарату құрамдастарына нұсқаны басқару әдістерін қолдануға мүмкіндік береді (мысалы, жүйені жылдам кері айналдыруға болады). алдыңғы күй). RPM бумалары OSTree репозиторийіне арнайы rpm-ostree қабаты арқылы аударылады. Жұмыс ортасында пакеттерді бөлек орнатуға және жаңартуға қолдау көрсетілмейді, жүйе жеке компоненттер деңгейінде емес, жалпы күйін атомдық түрде өзгерте отырып жаңартылады. Жаңартуларды біртіндеп қолдану үшін құралдарды қамтамасыз етеді, бұл әр жаңартумен кескінді толығымен ауыстыру қажеттілігін болдырмайды.

Жасалған оқшауланған орта пайдаланылған таратудан толығымен тәуелсіз және пакеттің дұрыс параметрлерімен пайдаланушының немесе негізгі жүйенің файлдары мен процестеріне қол жеткізе алмайды, DRI арқылы шығысты қоспағанда, жабдыққа тікелей қол жеткізе алмайды, және желілік ішкі жүйеге қоңыраулар. Графикалық шығыс және енгізуді ұйымдастыру Wayland хаттамасы арқылы немесе X11 ұяшығын бағыттау арқылы жүзеге асырылады. Сыртқы ортамен өзара әрекеттесу DBus хабар алмасу жүйесіне және арнайы Portals API интерфейсіне негізделген.

Оқшаулау үшін топтарды, аттар кеңістігін, Seccomp және SELinux пайдалану негізінде Bubblewrap қабаты және дәстүрлі Linux контейнерлік виртуалдандыру технологиялары қолданылады. PulseAudio дыбысты шығару үшін пайдаланылады. Бұл жағдайда оқшаулауды өшіруге болады, оны көптеген танымал пакеттерді әзірлеушілер файлдық жүйеге және жүйедегі барлық құрылғыларға толық қол жеткізу үшін пайдаланады. Мысалы, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity және VLC үй каталогына толық қолжетімділікті қалдыратын шектеулі оқшаулау режимімен келеді. Бума сипаттамасында «құмсалғыш» белгісінің болуына қарамастан, үй каталогына рұқсаты бар бумалар бұзылса, шабуылдаушы өз кодын орындау үшін ~/.bashrc файлын ғана өзгертуі керек. Бөлек мәселе - бумаларға өзгерістерді бақылау және көбінесе негізгі жобамен немесе таратулармен байланыстырылмайтын бума құрастырушыларға сену.

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

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