Ngaleupaskeun sistem bungkusan mandiri Flatpak 1.14.0

Cabang stabil anyar tina toolkit Flatpak 1.14 parantos diterbitkeun, anu nyayogikeun sistem pikeun ngawangun bungkusan mandiri anu henteu kabeungkeut kana distribusi Linux khusus sareng dijalankeun dina wadah khusus anu ngasingkeun aplikasi tina sistem anu sanés. Rojongan pikeun ngajalankeun bungkusan Flatpak disayogikeun pikeun Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux sareng Ubuntu. Paket Flatpak kalebet dina gudang Fedora sareng dirojong ku manajer aplikasi GNOME asli.

Inovasi konci dina cabang Flatpak 1.14:

  • Kasebut nyaéta dimungkinkeun pikeun nyieun hiji diréktori pikeun file dina kaayaan (.lokal / kaayaan) tur nyetel XDG_STATE_HOME variabel lingkungan ngarah kana diréktori ieu.
  • Nambahkeun cek kondisional tina bentuk "gaduh-kernel-modul-ngaran" pikeun nangtukeun ayana modul kernel (analog universal tina cék gaduh-intel-gpu anu diusulkeun saméméhna, tinimbang anu éksprési "gaduh-kernel-modul-i915. ” ayeuna tiasa dianggo).
  • Paréntah "flatpak document-unexport -doc-id=..." parantos dilaksanakeun.
  • Ékspor metadata Appstream pikeun dianggo di lingkungan utama disayogikeun.
  • Ditambahkeun aturan parantosan paréntah flatpak pikeun cangkang Lauk
  • Aksés jaringan kana jasa X11 sareng PulseAudio diidinan (upami setélan anu cocog ditambah).
  • Cabang utama dina gudang Git geus diganti tina "master" jadi "utama", saprak kecap "master" geus anyar dianggap politis lepat.
  • Skrip peluncuran ayeuna ditulis deui upami aplikasina diganti.
  • Ditambahkeun pilihan "--include-sdk" sareng "--include-debug" kana paréntah install pikeun masang file SDK sareng debuginfo.
  • Ditambahkeun dukungan pikeun parameter "DeploySideloadCollectionID" kana file flatpakref sareng flatpakrepo. Nalika disetél, ID kempelan bakal diatur nalika nambihan gudang jauh, sareng henteu saatos ngamuat metadata.
  • Diidinan nyiptakeun lingkungan sandbox nested pikeun pawang dina sési kalayan nami MPRIS (Media Player Remote Interfacing Spésifikasi) anu misah.
  • Utiliti garis paréntah ayeuna nyayogikeun inpormasi ngeunaan panggunaan ekstensi runtime anu luntur.
  • Paréntah uninstall ngalaksanakeun pamundut konfirmasi sateuacan ngahapus runtime atanapi runtime ekstensi anu masih dianggo.
  • Ditambahkeun dukungan pikeun pilihan "--socket = gpg-agent" pikeun paréntah sapertos "flatpak run".
  • Kerentanan parantos dibenerkeun dina libostree anu berpotensi ngamungkinkeun pangguna pikeun ngahapus file sawenang-wenang dina sistem ngaliwatan manipulasi panangan flatpak-system-helper (ngintunkeun pamundut ngahapus kalayan nami cabang anu diformat khusus). Masalahna ngan ukur muncul dina versi Flatpak sareng libostree anu langkung lami dileupaskeun sateuacan 2018 (<0.10.2) sareng henteu mangaruhan sékrési ayeuna.

Hayu urang ngingetan yén Flatpak ngamungkinkeun pamekar aplikasi pikeun nyederhanakeun distribusi programna anu henteu kalebet dina repositori distribusi standar ku nyiapkeun hiji wadah universal tanpa nyiptakeun rakitan anu misah pikeun tiap distribusi. Pikeun pangguna anu sadar kaamanan, Flatpak ngamungkinkeun anjeun pikeun ngajalankeun aplikasi anu diragukeun dina wadah, ngan ukur masihan aksés kana fungsi jaringan sareng file pangguna anu aya hubunganana sareng aplikasi. Pikeun pangguna anu resep kana produk anyar, Flatpak ngamungkinkeun anjeun masang tés pangénggalna sareng sékrési stabil aplikasi tanpa kedah parobihan kana sistem. Contona, bungkusan Flatpak diwangun pikeun LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, jsb.

Pikeun ngurangan ukuran pakét, éta ngawengku ngan gumantungna aplikasi-spésifik, sarta sistem dasar sarta perpustakaan grafik (GTK, Qt, GNOME jeung perpustakaan KDE, jsb) dirancang salaku plug-in lingkungan runtime baku. Beda konci antara Flatpak sareng Snap nyaéta Snap ngagunakeun komponén lingkungan sistem utama sareng isolasi dumasar kana nyaring sauran sistem, sedengkeun Flatpak nyiptakeun wadah anu misah tina sistem sareng beroperasi sareng set runtime anu ageung, henteu nyayogikeun bungkusan salaku katergantungan, tapi standar. lingkungan sistem (contona, sadaya perpustakaan anu dipikabutuh pikeun operasi program GNOME atanapi KDE).

Salian lingkungan sistem standar (runtime), dipasang ngaliwatan gudang husus, kabebasan tambahan (bundle) diperlukeun pikeun operasi aplikasi disadiakeun. Dina total, runtime sareng bundle ngabentuk ngeusian wadahna, sanaos kanyataan yén runtime dipasang sacara misah sareng dihijikeun ka sababaraha wadah sakaligus, anu ngamungkinkeun anjeun ngahindarkeun duplikat file sistem anu umum pikeun wadah. Hiji sistem tiasa dipasang sababaraha waktos jalan anu béda (GNOME, KDE) atanapi sababaraha vérsi waktos jalan anu sami (GNOME 3.40, GNOME 3.42). Wadahna kalawan aplikasi salaku kagumantungan ngagunakeun hiji ngariung ngan ka runtime husus, tanpa nyokot kana akun bungkusan individu nu nyieun nepi runtime nu. Sadaya unsur anu leungit dibungkus langsung sareng aplikasi. Nalika wadahna kabentuk, eusi runtime dipasang salaku partisi / usr, sareng bungkusan dipasang dina diréktori / aplikasi.

Wadah runtime sareng aplikasi diwangun nganggo téknologi OSTree, dimana gambarna diropéa sacara atom tina gudang sapertos Git, anu ngamungkinkeun metode kontrol versi diterapkeun kana komponén distribusi (contona, anjeun tiasa gancang ngagulung deui sistem ka a kaayaan saméméhna). Paket RPM ditarjamahkeun kana gudang OSTree nganggo lapisan rpm-ostree khusus. Pamasangan misah sareng apdet bungkusan dina lingkungan kerja henteu dirojong; sistem diropéa henteu dina tingkat komponén individu, tapi sacara gembleng, sacara atom ngarobih kaayaanana. Nyadiakeun parabot pikeun nerapkeun apdet incrementally, ngaleungitkeun kabutuhan pikeun sakabéhna ngaganti gambar jeung unggal update.

Lingkungan terasing anu dibangkitkeun sagemblengna bebas tina distribusi anu dianggo sareng, kalayan setélan pakét anu leres, henteu gaduh aksés kana file sareng prosés pangguna atanapi sistem utama, henteu tiasa langsung ngaksés alat, iwal kaluaran via DRI, jeung nelepon ka subsistem jaringan. Output grafik sareng organisasi input dilaksanakeun nganggo protokol Wayland atanapi via diteruskeun stop kontak X11. Interaksi jeung lingkungan éksternal dumasar kana sistem olahtalatah DBus sarta Portals API husus.

Pikeun isolasi, lapisan Bubblewrap sareng téknologi virtualisasi wadah Linux tradisional dianggo, dumasar kana panggunaan cgroups, namespaces, Seccomp sareng SELinux. PulseAudio dipaké pikeun kaluaran sora. Dina hal ieu, isolasi tiasa ditumpurkeun, anu dianggo ku pamekar seueur bungkusan populér pikeun kéngingkeun aksés pinuh kana sistem file sareng sadaya alat dina sistem. Contona, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, sarta VLC hadir kalawan mode isolasi kawates nu ninggalkeun aksés pinuh ka diréktori imah. Lamun bungkusan kalawan aksés ka diréktori imah anu compromised, sanajan ayana "sandboxed" labél dina pedaran pakét, lawan ngan perlu ngarobah ~/.bashrc file sangkan ngaéksekusi kode na. Masalah anu misah nyaéta kadali parobahan bungkusan sareng kapercayaan ka tukang pakét, anu sering henteu aya hubunganana sareng proyék atanapi distribusi utama.

sumber: opennet.ru

Tambahkeun komentar