Keluaran sistem pakej sara diri Flatpak 1.14.0

Cawangan stabil baharu kit alat Flatpak 1.14 telah diterbitkan, yang menyediakan sistem untuk membina pakej serba lengkap yang tidak terikat dengan pengedaran Linux tertentu dan dijalankan dalam bekas khas yang mengasingkan aplikasi daripada sistem yang lain. Sokongan untuk menjalankan pakej Flatpak disediakan untuk Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux dan Ubuntu. Pakej Flatpak disertakan dalam repositori Fedora dan disokong oleh pengurus aplikasi GNOME asli.

Inovasi utama dalam cawangan Flatpak 1.14:

  • Anda boleh membuat direktori untuk fail dalam keadaan (.local/state) dan tetapkan pembolehubah persekitaran XDG_STATE_HOME yang menghala ke direktori ini.
  • Menambah semakan bersyarat dalam bentuk "have-kernel-module-name" untuk menentukan kehadiran modul kernel (analog universal semakan have-intel-gpu yang dicadangkan sebelum ini, dan bukannya ungkapan "have-kernel-module-i915 ” kini boleh digunakan).
  • Perintah "flatpak document-unexport β€”doc-id=..." telah dilaksanakan.
  • Eksport metadata Appstream untuk digunakan dalam persekitaran utama disediakan.
  • Menambahkan peraturan penyelesaian arahan flatpak untuk cangkerang Ikan
  • Akses rangkaian kepada perkhidmatan X11 dan PulseAudio dibenarkan (jika tetapan yang sesuai ditambah).
  • Cawangan utama dalam repositori Git telah dinamakan semula daripada "tuan" kepada "utama", kerana perkataan "tuan" baru-baru ini dianggap tidak betul dari segi politik.
  • Skrip pelancaran kini ditulis semula jika aplikasi itu dinamakan semula.
  • Menambahkan pilihan "--include-sdk" dan "--include-debug" pada arahan pemasangan untuk memasang fail SDK dan debuginfo.
  • Menambah sokongan untuk parameter "DeploySideloadCollectionID" pada fail flatpakref dan flatpakrepo. Apabila ditetapkan, ID koleksi akan ditetapkan apabila menambah repositori jauh dan bukan selepas memuatkan metadata.
  • Membenarkan penciptaan persekitaran kotak pasir bersarang untuk pengendali dalam sesi dengan nama MPRIS (Spesifikasi Antaramuka Jauh Pemain Media) yang berasingan.
  • Utiliti baris perintah kini menyediakan maklumat tentang penggunaan sambungan masa jalan yang lapuk.
  • Perintah nyahpasang melaksanakan permintaan pengesahan sebelum mengalih keluar sambungan masa jalan atau masa jalan yang masih digunakan.
  • Menambahkan sokongan untuk pilihan "--socket=gpg-agent" pada arahan seperti "flatpak run".
  • Kerentanan telah diperbaiki dalam libostree yang berpotensi membenarkan pengguna memadamkan fail sewenang-wenangnya pada sistem melalui manipulasi pengendali flatpak-system-helper (menghantar permintaan padam dengan nama cawangan yang diformat khas). Masalahnya hanya muncul dalam versi lama Flatpak dan libostree yang dikeluarkan sebelum 2018 (< 0.10.2) dan tidak menjejaskan keluaran semasa.

Biar kami ingatkan anda bahawa Flatpak membenarkan pembangun aplikasi untuk memudahkan pengedaran program mereka yang tidak termasuk dalam repositori pengedaran standard dengan menyediakan satu bekas universal tanpa membuat pemasangan berasingan untuk setiap pengedaran. Bagi pengguna yang mementingkan keselamatan, Flatpak membenarkan anda menjalankan aplikasi yang boleh dipersoalkan dalam bekas, menyediakan akses hanya kepada fungsi rangkaian dan fail pengguna yang dikaitkan dengan aplikasi itu. Bagi pengguna yang berminat dengan produk baharu, Flatpak membenarkan anda memasang ujian terkini dan keluaran aplikasi yang stabil tanpa perlu membuat perubahan pada sistem. Sebagai contoh, pakej Flatpak dibina untuk LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, dsb.

Untuk mengurangkan saiz pakej, ia termasuk hanya kebergantungan khusus aplikasi, dan sistem asas dan perpustakaan grafik (pustaka GTK, Qt, GNOME dan KDE, dsb.) direka bentuk sebagai persekitaran masa jalan standard pemalam. Perbezaan utama antara Flatpak dan Snap ialah Snap menggunakan komponen persekitaran sistem utama dan pengasingan berdasarkan panggilan sistem penapisan, manakala Flatpak mencipta bekas yang berasingan daripada sistem dan beroperasi dengan set masa jalan yang besar, tidak menyediakan pakej sebagai kebergantungan, tetapi standard persekitaran sistem (contohnya, semua perpustakaan yang diperlukan untuk pengendalian program GNOME atau KDE).

Sebagai tambahan kepada persekitaran sistem standard (masa jalan), dipasang melalui repositori khas, kebergantungan tambahan (bundle) yang diperlukan untuk operasi aplikasi dibekalkan. Secara keseluruhannya, masa jalan dan berkas membentuk pengisian bekas, walaupun pada hakikatnya masa jalan dipasang secara berasingan dan diikat pada beberapa bekas sekaligus, yang membolehkan anda mengelakkan penduaan fail sistem yang biasa kepada bekas. Satu sistem boleh memasang beberapa masa jalan yang berbeza (GNOME, KDE) atau beberapa versi masa jalan yang sama (GNOME 3.40, GNOME 3.42). Bekas dengan aplikasi sebagai kebergantungan menggunakan pengikatan hanya pada masa jalan tertentu, tanpa mengambil kira pakej individu yang membentuk masa jalan. Semua elemen yang hilang dibungkus secara langsung dengan aplikasi. Apabila bekas dibentuk, kandungan masa jalan dilekapkan sebagai partition /usr dan bundle itu dipasang dalam direktori /app.

Masa jalan dan bekas aplikasi dibina menggunakan teknologi OSTree, di mana imej dikemas kini secara atom daripada repositori seperti Git, yang membenarkan kaedah kawalan versi digunakan pada komponen pengedaran (contohnya, anda boleh melancarkan semula sistem dengan cepat kepada keadaan sebelumnya). Pakej RPM diterjemahkan ke dalam repositori OSTree menggunakan lapisan rpm-ostree khas. Pemasangan berasingan dan kemas kini pakej dalam persekitaran kerja tidak disokong; sistem dikemas kini bukan pada tahap komponen individu, tetapi secara keseluruhan, mengubah keadaannya secara atom. Menyediakan alatan untuk menggunakan kemas kini secara berperingkat, menghapuskan keperluan untuk menggantikan imej sepenuhnya dengan setiap kemas kini.

Persekitaran terpencil yang dijana sepenuhnya bebas daripada pengedaran yang digunakan dan, dengan tetapan pakej yang betul, tidak mempunyai akses kepada fail dan proses pengguna atau sistem utama, tidak boleh mengakses peralatan secara langsung, kecuali output melalui DRI, dan panggilan ke subsistem rangkaian. Output grafik dan organisasi input dilaksanakan menggunakan protokol Wayland atau melalui pemajuan soket X11. Interaksi dengan persekitaran luaran adalah berdasarkan sistem pemesejan DBus dan API Portal khas.

Untuk pengasingan, lapisan Bubblewrap dan teknologi virtualisasi bekas Linux tradisional digunakan, berdasarkan penggunaan cgroup, ruang nama, Seccomp dan SELinux. PulseAudio digunakan untuk mengeluarkan bunyi. Dalam kes ini, pengasingan boleh dilumpuhkan, yang digunakan oleh pembangun banyak pakej popular untuk mendapatkan akses penuh kepada sistem fail dan semua peranti dalam sistem. Contohnya, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity dan VLC datang dengan mod pengasingan terhad yang meninggalkan akses penuh kepada direktori rumah. Jika pakej dengan akses kepada direktori rumah terjejas, walaupun terdapat label "kotak pasir" dalam perihalan pakej, penyerang hanya perlu menukar fail ~/.bashrc untuk melaksanakan kodnya. Isu yang berasingan ialah kawalan perubahan pada pakej dan kepercayaan dalam pembina pakej, yang selalunya tidak dikaitkan dengan projek atau pengedaran utama.

Sumber: opennet.ru

Tambah komen