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 сыяктуу Text User Interface (TUI) тиркемелери үчүн жакшыртылган колдоо.
  • Архив режиминде репозиторийлер менен иштөө үчүн оптималдаштырылган куруу-жаңыртуу-репо утилитасына “ostree prune” буйругун тезирээк ишке ашыруу кошулду.
  • CVE-2021-41133 порталынын механизмин ишке ашыруудагы аялуулугу, seccomp эрежелеринде монтаждоо бөлүмдөрү менен байланышкан жаңы системалык чалууларды бөгөттөөнүн жоктугу менен байланышкан. Алсыздык колдонмого контейнерден тышкаркы ресурстарга кирүү мүмкүнчүлүгүн уюштуруу үчүн колдонулган “порталдын” текшерүү механизмдерин айланып өтүү үчүн уяланган кум чөйрөсүн түзүүгө мүмкүндүк берди.

    Натыйжада, чабуулчу монтаждоо менен байланышкан системалык чалууларды аткаруу менен, кумдук обочолонуу механизмин айланып өтүп, хост чөйрөсүнүн мазмунуна толук мүмкүнчүлүк ала алат. Аялуулукту Wayland, Pipewire жана pipewire-pulse колдонгондор сыяктуу 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'ге негизделген.

Изоляция үчүн Cgroups, аттар мейкиндиктери, Seccomp жана SELinux колдонууга негизделген Bubblewrap катмары жана салттуу Linux контейнерин виртуалдаштыруу технологиялары колдонулат. PulseAudio үн чыгаруу үчүн колдонулат. Бул учурда, обочолонуу өчүрүлүшү мүмкүн, аны көптөгөн популярдуу пакеттердин иштеп чыгуучулары файл тутумуна жана тутумдагы бардык түзмөктөргө толук мүмкүнчүлүк алуу үчүн колдонушат. Мисалы, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity жана VLC үй каталогуна толук кирүү мүмкүнчүлүгүн калтырган чектелген изоляция режими менен келет.

Эгерде үй каталогуна кирүү мүмкүнчүлүгү бар топтомдор бузулса, пакеттин сүрөттөмөсүндө "кумкоргон" энбелгиси бар экенине карабастан, чабуулчу өзүнүн кодун аткаруу үчүн ~/.bashrc файлын гана өзгөртүшү керек. Өзүнчө маселе - пакеттерге өзгөртүүлөрдү көзөмөлдөө жана көп учурда негизги долбоор же бөлүштүрүүлөр менен байланышпаган пакет куруучуларга ишеним.

Source: opennet.ru

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