Paglabas ng Flatpak 1.6.0 na self-contained package system

Nai-publish bagong matatag na sangay ng toolkit Flatpack 1.6, na nagbibigay ng system para sa pagbuo ng mga self-contained na pakete na hindi nakatali sa mga partikular na pamamahagi ng Linux at tumatakbo sa isang espesyal na lalagyan na naghihiwalay sa application mula sa iba pang bahagi ng system. Ang suporta para sa pagpapatakbo ng mga pakete ng Flatpak ay ibinibigay para sa Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint at Ubuntu. Ang mga pakete ng Flatpak ay kasama sa repositoryo ng Fedora at sinusuportahan ng katutubong GNOME application manager.

Susi mga inobasyon sa sangay ng Flatpak 1.6:

  • Π’ API Portal ang paraan ng CreateUpdateMonitor ay naidagdag, na nagpapahintulot sa mga application na subaybayan ang hitsura ng mga update at humiling ng pag-install ng na-update na update.
    Upang tanggihan ang pahintulot para sa isang application na mag-install ng mga update nang nakapag-iisa, maaari mong gamitin ang command na "flatpak permission-set flatpak updates $APPID no" (kung tinukoy mo ang "magtanong" sa halip na "hindi", isang dialog ang ipapakita sa bawat oras upang kumpirmahin ang update);


  • Upang gawing simple ang paglikha ng mga humahawak, iminungkahi ang isang aklatan
    libportal, na ginagawang posible na iproseso ang mga kaganapan nang hindi direktang gumagamit ng Portal API at mga signal ng pag-parse na dumarating sa D-Bus.
    Nagbibigay ang Libportal ng mga simpleng asynchronous na layer para sa karamihan "mga portal";

  • Nagdagdag ng bagong pahintulot "--socket=cups" upang magbigay ng direktang access sa CUPS print server;
  • Binago ang protocol at API para sa paghawak ng authentication. Nagdagdag ng authenticator para sa OCI (Open Container Initiative). Ipinatupad ang suporta para sa awtomatikong pag-install ng mga authenticator mula sa panlabas na flatpak repository. Ang isang callback handler ay idinagdag sa FlatpakTransaction upang gamitin ang pag-login at pagpapatunay ng password, katulad ng HTTP na pangunahing paraan ng pagpapatunay;
  • Nagdagdag ng suporta para sa mga protektadong application at system na nangangailangan ng pagpapatunay sa pag-boot;
  • Ang layer ng bubblewrap na ginamit para sa pagkakabukod ay na-update upang palabasin 0.4.0;
  • Nagdagdag ng opsyonal na suporta para sa mga kontrol ng magulang sa pamamagitan ng application sa library libmalcontent, na nagbibigay-daan sa iyong paghigpitan ang pag-access sa ilang uri ng nilalaman;
  • Naka-install na ngayon ang mga extension bago ang application, na nagbibigay-daan sa iyong makakuha ng gumaganang application kaagad pagkatapos makumpleto ang pag-install nito;
  • Ang mga manipulasyon na may mga pansamantalang file ay muling ginawa, na nagpabuti ng pagganap kapag may kakulangan ng libreng puwang sa disk;
  • Upang isagawa ang utos "flatpak enter"Hindi na kailangang gumamit ng sudo;
  • Ang kakayahang maglunsad ng mga nested na nakahiwalay na kapaligiran (sub-sandbox) para sa mga proseso ng bata ay naidagdag sa mga portal;
  • Nagdagdag ng mga bagong command na "flatpak permission-set" at "permission-remove" para kontrolin ang setting ng pahintulot;
  • Nagdagdag ng opsyon na "flatpak install --or-update", na nagsasagawa ng pag-update kung naka-install na ang application;
  • Idinagdag ang command na "flatpak mask" upang ayusin ang bersyon at ipagbawal ang pag-install ng mga update;
  • Para sa mga larawan sa format na OCI (Open Container Initiative), idinagdag ang suporta para sa mga nagbubuklod na label, pagbuo ng kasaysayan ng mga pagbabago sa larawan, at pagpapagana ng mga uri ng docker mime, bilang karagdagan sa mga uri ng OCI mime;
  • Ang default-languages ​​key ay naidagdag sa mga setting upang tukuyin ang listahan ng mga wikang ginamit, bilang karagdagan sa listahan ng system.

Paalalahanan ka namin na ginagawang posible ng Flatpak para sa mga developer ng application na pasimplehin ang pamamahagi ng kanilang mga programa na hindi kasama sa mga karaniwang repositoryo ng pamamahagi sa pamamagitan ng paghahanda isang unibersal na lalagyan nang hindi gumagawa ng hiwalay na mga pagtitipon para sa bawat pamamahagi. Para sa mga gumagamit na may kamalayan sa seguridad, pinapayagan ka ng Flatpak na magpatakbo ng isang kaduda-dudang application sa isang lalagyan, na nagbibigay ng access lamang sa mga function ng network at mga file ng user na nauugnay sa application. Para sa mga user na interesado sa mga bagong produkto, pinapayagan ka ng Flatpak na i-install ang pinakabagong pagsubok at mga stable na release ng mga application nang hindi na kailangang gumawa ng mga pagbabago sa system. Halimbawa, ang kasalukuyang mga pakete ng Flatpak ay mayroon na pupunta para sa LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, atbp.

Upang bawasan ang laki ng package, kasama lang nito ang mga dependency na tukoy sa application, at ang mga pangunahing library ng system at graphics (mga library ng Gtk+, Qt, GNOME at KDE, atbp.) ay idinisenyo bilang mga plug-in na karaniwang runtime na kapaligiran. Ang pangunahing pagkakaiba sa pagitan ng Flatpak at Snap ay ang Snap ay gumagamit ng mga bahagi ng pangunahing kapaligiran ng system at paghihiwalay batay sa pag-filter ng mga tawag sa system, habang ang Flatpak ay gumagawa ng isang lalagyan na hiwalay sa system at nagpapatakbo ng malalaking runtime set, na hindi nagbibigay ng mga pakete bilang mga dependency, ngunit karaniwang mga kapaligiran ng system (halimbawa, lahat ng mga aklatan na kailangan para sa pagpapatakbo ng mga programang GNOME o KDE).

Bilang karagdagan sa karaniwang kapaligiran ng system (runtime), na naka-install sa pamamagitan ng isang espesyal na imbakan, ang mga karagdagang dependency (bundle) na kinakailangan para gumana ang application ay ibinibigay. Sa kabuuan, ang runtime at bundle ang bumubuo sa pagpuno ng container, sa kabila ng katotohanan na ang runtime ay naka-install nang hiwalay at nakatali sa ilang mga container nang sabay-sabay, na nagbibigay-daan sa iyong maiwasan ang pagdoble ng mga system file na karaniwan sa mga container. Ang isang system ay maaaring magkaroon ng ilang magkakaibang runtime na naka-install (GNOME, KDE) o ilang bersyon ng parehong runtime (GNOME 3.26, GNOME 3.28). Ang isang container na may application bilang dependency ay gumagamit ng isang binding lamang sa isang partikular na runtime, nang hindi isinasaalang-alang ang mga indibidwal na package na bumubuo sa runtime. Ang lahat ng nawawalang elemento ay direktang nakabalot sa application. Kapag nabuo ang isang lalagyan, ang mga nilalaman ng runtime ay naka-mount bilang ang /usr partition, at ang bundle ay naka-mount sa /app na direktoryo.

Ang pagpuno ng runtime at application container ay nabuo gamit ang teknolohiya OSTree, kung saan ang larawan ay atomically na-update mula sa isang Git-like repository, na nagpapahintulot sa mga paraan ng pagkontrol ng bersyon na mailapat sa mga bahagi ng pamamahagi (halimbawa, maaari mong mabilis na ibalik ang system sa isang nakaraang estado). Ang mga RPM package ay isinalin sa OSTree repository gamit ang isang espesyal na layer rpm-ostree. Ang hiwalay na pag-install at pag-update ng mga pakete sa loob ng kapaligiran sa pagtatrabaho ay hindi suportado; ang system ay na-update hindi sa antas ng mga indibidwal na bahagi, ngunit sa kabuuan, atomically nagbabago ang estado nito. Nagbibigay ng mga tool upang ilapat ang mga update nang paunti-unti, na inaalis ang pangangailangan na ganap na palitan ang larawan sa bawat update.

Ang nabuong nakahiwalay na kapaligiran ay ganap na independiyente sa pamamahagi na ginamit, at sa wastong mga setting ng package, walang access sa mga file at proseso ng user o ng pangunahing sistema, hindi direktang ma-access ang kagamitan, maliban sa output sa pamamagitan ng DRI, at ang subsystem ng network. Graphics output at input na organisasyon ipinatupad gamit ang Wayland protocol o sa pamamagitan ng X11 socket forwarding. Ang pakikipag-ugnayan sa panlabas na kapaligiran ay batay sa DBus messaging system at isang espesyal na Portals API. Para sa pagkakabukod ginamit interlayer Bubblewrap at tradisyonal na Linux container virtualization na teknolohiya batay sa paggamit ng mga cgroup, namespace, Seccomp at SELinux. Ginagamit ang PulseAudio upang mag-output ng tunog.

Pinagmulan: opennet.ru

Magdagdag ng komento