Paglabas ng Flatpak 1.8.0 na self-contained package system

Nai-publish bagong matatag na sangay ng toolkit Flatpack 1.8, 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.8:

  • Ang pagpapatupad ng pag-install sa P2P mode ay pinasimple (nagbibigay-daan sa iyong ayusin ang paglo-load ng mga application at runtime set sa pamamagitan ng mga intermediate node o drive para sa mga system na walang koneksyon sa network). Ang suporta para sa pag-install sa pamamagitan ng mga intermediate na host sa lokal na network ay hindi na ipinagpatuloy. Bilang default, ang awtomatikong pag-sideload ng mga repository na matatagpuan sa mga lokal na USB drive ay hindi pinagana. Upang paganahin ang mga intermediate na lokal na repositoryo, dapat mong i-configure ang repositoryo sa pamamagitan ng paggawa ng simbolikong link mula sa /var/lib/flatpak/sideload-repos o
    /run/flatpak/sideload-repos. Pinasimple ng pagbabago ang panloob na pagpapatupad ng P2P mode at pinataas ang kahusayan nito.

  • Idinagdag ang opsyonal na systemd unit para awtomatikong makakita ng mga karagdagang repository sa mga nakakonektang external USB drive.
  • Para sa mga application na may access sa file system, ang /lib directory ng host environment ay ipapasa sa /run/host/lib.
  • Ang mga bagong pahintulot sa pag-access sa FS ay naidagdag - "host-etc" at "host-os", na nagbibigay-daan sa pag-access sa /etc at /usr na mga direktoryo ng system.
  • Para makabuo ng mas mahusay na file parsing code, ginagamit ang GVariant mula sa ostreee variant-schema-compiler.
  • Ang configure build crypt ay nagbibigay ng kakayahang bumuo nang wala
    libsystemd;

  • Pinagana ang pag-mount ng mga Journal socket sa read-only mode.
  • Nagdagdag ng suporta para sa pag-export ng mga direktoryo sa pag-export ng dokumento.
  • Nagbibigay-daan sa direktang access sa mga ALSA audio device para sa mga application na may access sa Pulseaudio.
  • Sa API FlatpakTransaction nagdagdag ng signal na "install-authenticator" na maaaring gamitin ng mga kliyente para i-install ang mga authenticator na kailangan para makumpleto ang isang transaksyon.
  • Pinagana ang paggamit ng impormasyon ng time zone batay sa /etc/localtime mula sa host system, na niresolba ang mga isyung nauugnay sa time zone sa ilang application.
  • Huminto sa pag-install ng env.d file mula sa gdm dahil mas mahusay ang mga systemd generator sa gawaing ito.
  • Sa create-usb utility, ang pag-export ng mga partial commit ay pinagana bilang default.
  • Ang sysusers.d file ay ibinigay upang lumikha ng mga kinakailangang user sa pamamagitan ng systemd.
  • Ang opsyong “-[no-]follow-redirect” ay idinagdag sa mga command na “flatpak remote-add” at “flatpak modify” para i-disable/enable ang redirection sa isa pang repository.
  • Sa sistema
    mga portal Idinagdag ang Spawn API para makuha ang totoong process ID (PID) ng tumatakbong application.

  • Ang lahat ng OCI (Open Container Initiative) na mga repository ay na-convert upang gamitin ang flatpak-oci-authenticator authenticator.
  • Idinagdag ang opsyong "--commit=" sa mga command na "flatpak remote-info" at "flatpak update" upang magtakda ng partikular na bersyon ng mga OCI repository.
  • Nagdagdag ng paunang suporta para sa mga update sa delta para sa mga repositoryo ng OCI.
  • Idinagdag ang command na "flatpak upgrade", na isang alias para sa command na "flatpak update."
  • Ipinatupad ang mga script ng pagkumpleto ng input para sa shell ng command ng isda.

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, Midori, 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 dito ang mga dependency na partikular 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, na may wastong mga setting ng package, walang access sa mga file at proseso ng user o ng pangunahing system, ay 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