Flatpak 1.12.0 бие даасан багц системийг гаргасан

Flatpak 1.12 хэрэгслийн шинэ тогтвортой салбар хэвлэгдэн гарсан бөгөөд энэ нь тодорхой Линукс түгээлтүүдтэй холбоогүй, програмыг системийн бусад хэсгээс тусгаарладаг тусгай саванд ажилладаг бие даасан багцуудыг бий болгох системийг хангадаг. Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux болон Ubuntu-д Flatpak багцуудыг ажиллуулах дэмжлэг үзүүлдэг. 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-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 багцуудыг тусгай rpm-ostree давхарга ашиглан OSTree репозитор руу хөрвүүлдэг. Ажлын орчинд багцуудыг тусад нь суулгах, шинэчлэхийг дэмждэггүй, систем нь бие даасан бүрэлдэхүүн хэсгүүдийн түвшинд шинэчлэгддэггүй, харин бүхэлдээ төлөвийг нь атомаар өөрчилдөг. Шинэчлэлтүүдийг үе шаттайгаар хэрэгжүүлэх хэрэгслүүдээр хангаж, шинэчлэлт бүрт зургийг бүрэн солих шаардлагагүй болно.

Үүсгэсэн тусгаарлагдсан орчин нь ашигласан түгээлтээс бүрэн хамааралгүй бөгөөд багцын зөв тохиргоог хийснээр хэрэглэгчийн болон үндсэн системийн файл, процесст хандах боломжгүй, DRI-ээр дамжуулж гаралтыг эс тооцвол төхөөрөмжид шууд хандах боломжгүй, болон сүлжээний дэд систем рүү залгах. Графикийн гаралт ба оролтын зохион байгуулалтыг Wayland протокол эсвэл X11 залгуур дамжуулалт ашиглан гүйцэтгэдэг. Гадаад орчинтой харилцах нь DBus мессежийн систем болон тусгай Portals API дээр суурилдаг.

Тусгаарлахын тулд бүлгүүд, нэрийн орон зай, Seccomp, SELinux зэрэгт суурилсан Bubblewrap давхарга болон уламжлалт Линуксийн контейнер виртуалчлалын технологийг ашигладаг. PulseAudio нь дуу гаргахад ашиглагддаг. Энэ тохиолдолд тусгаарлалтыг идэвхгүй болгож болох бөгөөд үүнийг олон алдартай багцын хөгжүүлэгчид файлын систем болон системийн бүх төхөөрөмжид бүрэн нэвтрэх боломжийг олгодог. Жишээлбэл, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, VLC зэрэг нь гэрийн лавлах руу бүрэн нэвтрэх боломжийг олгодог хязгаарлагдмал тусгаарлах горимтой.

Хэрэв багцын тайлбарт "sandboxed" гэсэн шошго байгаа хэдий ч гэрийн лавлах руу нэвтрэх эрхтэй багцууд эвдэрсэн бол халдагч өөрийн кодыг ажиллуулахын тулд зөвхөн ~/.bashrc файлыг өөрчлөх хэрэгтэй. Тусдаа асуудал бол багцын өөрчлөлтийг хянах, үндсэн төсөл эсвэл түгээлттэй холбоогүй багц бүтээгчид итгэх явдал юм.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх