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 sistema para sa pagbuo ng mga self-contained na pakete na hindi nakatali sa mga partikular na distribusyon. Linux at isinasagawa sa isang espesyal na lalagyan na naghihiwalay sa aplikasyon mula sa iba pang bahagi ng sistema. May suporta para sa pagpapatakbo ng mga pakete ng Flatpak na ibinibigay para sa Arch. Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint at UbuntuAng mga pakete ng Flatpak ay kasama sa repositoryo ng Fedora at sinusuportahan sa karaniwang tagapamahala ng aplikasyon ng GNOME.

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 mga update at humiling ng pag-install ng update.
    Upang huwag paganahin ang pahintulot na mag-install ng mga update nang mag-isa, 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 nagpapahintulot sa pagproseso ng kaganapan nang hindi direktang gumagamit ng Portal API at mga signal ng pag-parse na dumarating sa D-Bus.
    Nagbibigay ang Libportal ng simple, asynchronous na tumatakbong mga layer para sa karamihan "mga portal";
  • Nagdagdag ng bagong pahintulot "--socket=cups" upang magbigay ng direktang access sa CUPS print server;
  • Ang authentication protocol at API ay nabago. Naidagdag ang isang authenticator para sa OCI (Open Container Initiative). Naipatupad na ang suporta para sa awtomatikong pag-install ng mga authenticator mula sa panlabas na repositoryo ng flatpak. Ang isang callback handler ay idinagdag sa FlatpakTransaction upang paganahin ang pag-login at pagpapatunay ng password, katulad ng HTTP na pangunahing paraan ng pagpapatunay.
  • Nagdagdag ng suporta para sa mga secure na application at system na nangangailangan ng pagpapatunay sa pag-boot;
  • Ang bubblewrap insulation layer na ginamit ay na-update sa release 0.4.0;
  • Nagdagdag ng opsyonal na suporta para sa mga kontrol ng magulang sa pamamagitan ng paggamit ng 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 app, na nagbibigay-daan sa iyong makakuha ng gumaganang app kaagad pagkatapos makumpleto ang pag-install nito;
  • Ang pagmamanipula ng mga pansamantalang file ay muling ginawa, na nagpabuti ng pagganap sa ilalim ng mga kondisyon ng hindi sapat na libreng espasyo sa disk;
  • Upang isagawa ang utos "flatpak enter» hindi na nangangailangan ng paggamit ng sudo;
  • Ang mga portal ay mayroon na ngayong kakayahang maglunsad ng mga nested na nakahiwalay na kapaligiran (mga sub-sandbox) para sa mga proseso ng bata;
  • Nagdagdag ng mga bagong command na "flatpak permission-set" at "permission-remove" para pamahalaan ang mga setting ng pahintulot;
  • Idinagdag ang opsyong "flatpak install --or-update" upang magsagawa ng pag-update kung naka-install na ang application;
  • Idinagdag ang command na "flatpak mask" upang i-lock ang bersyon at maiwasan ang pag-install ng mga update;
  • Para sa mga larawang OCI (Open Container Initiative), nagdagdag kami ng suporta para sa mga nagbubuklod na label, pagbuo ng kasaysayan ng pagbabago ng imahe, at kasama ang mga uri ng mime ng Docker bilang karagdagan sa mga uri ng mime ng OCI;
  • Ang default-languages ​​key ay naidagdag sa mga setting upang tukuyin ang listahan ng mga wikang gagamitin, 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 build para sa bawat pamamahagi. Para sa mga gumagamit na may kamalayan sa seguridad, pinapayagan sila 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 pinakabagong development, pinapayagan sila ng Flatpak na i-install ang pinakabagong pagsubok at stable na release ng mga application nang hindi gumagawa ng anumang pagbabago sa system. Halimbawa, ang mga pakete ng Flatpak ay kasalukuyang 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 imahe ay atomically na-update mula sa isang Git-like repository, na nagpapahintulot sa mga paraan ng kontrol ng bersyon na mailapat sa mga bahagi ng pamamahagi (halimbawa, ang system ay maaaring mabilis na ibalik 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 resultang nakahiwalay na kapaligiran ay ganap na independiyente sa pamamahagi na ginamit, at sa wastong mga setting ng package, wala itong access sa mga file at proseso ng user o ng host system, at hindi direktang ma-access ang hardware, maliban sa output sa pamamagitan ng DRI, o ang network subsystem. Graphics output at pamamahala ng input 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 para sa Linux mga teknolohiya ng container virtualization batay sa paggamit ng mga cgroup, namespace, Seccomp at SELinuxAng PulseAudio ay ginagamit para sa output ng audio.

Pinagmulan: opennet.ru

Bumili ng maaasahang pagho-host para sa mga site na may proteksyon ng DDoS, mga server ng VPS VDS 🔥 Bumili ng maaasahang website hosting na may proteksyon ng DDoS, VPS VDS servers | ProHoster