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

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

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

  • Steam ойынын жеткізу қызметі үшін клиентпен flatpak бумасында пайдаланылатын кірістірілген құм жәшігінің орталарын басқару жақсартылған. Кірістірілген құм жәшіктерде /usr және /app каталогтарының жеке иерархияларын жасауға рұқсат етіледі, ол Steam-де Steam клиентімен ортадан оқшауланған өзіндік /usr бөлімі бар бөлек контейнерде ойындарды іске қосу үшін пайдаланылады.
  • Бірдей қолданба идентификаторы (app-ID) бар барлық бума даналары /tmp және $XDG_RUNTIME_DIR каталогтарын ортақ пайдаланады. Қажет болса, “--allow=per-app-dev-shm” жалауын пайдаланып, /dev/shm ортақ каталогын пайдалануды қосуға болады.
  • gdb сияқты мәтіндік пайдаланушы интерфейсі (TUI) қолданбалары үшін жақсартылған қолдау.
  • «Ostree prune» пәрменінің жылдамырақ орындалуы мұрағат режимінде репозиторийлермен жұмыс істеу үшін оңтайландырылған құрастыру-жаңарту-репо утилитасына қосылды.
  • Seccomp ережелерінде бөлімдерді орнатуға қатысты жаңа жүйелік шақыруларды блоктаудың болмауымен байланысты портал механизмін жүзеге асырудағы CVE-2021-41133 осалдығы түзетілді. Осалдық қолданбаға контейнерден тыс ресурстарға кіруді ұйымдастыру үшін пайдаланылатын «портал» тексеру механизмдерін айналып өту үшін кірістірілген құм жәшігін жасауға мүмкіндік берді.

    Нәтижесінде, шабуылдаушы орнатуға қатысты жүйелік қоңырауларды орындау арқылы құм жәшігінің оқшаулау механизмін айналып өтіп, хост ортасының мазмұнына толық қол жеткізуі мүмкін. Осалдықты тек Wayland, Pipewire және pipewire-импульс пайдаланатын AF_UNIX ұяшықтарына тікелей қатынасу мүмкіндігін беретін пакеттерде ғана пайдалануға болады. 1.12.0 шығарылымында осалдық толығымен жойылмады, сондықтан 1.12.1 жаңартуы тез арада шығарылды.

Естеріңізге сала кетейік, 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

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