Utgivelse av systemet for selvstendige pakker Flatpak 1.14.0

En ny stabil version av Flatpak-verktygssatsen 1.14 har publicerats, som tillhandahÄller ett system för att bygga fristÄende paket som inte Àr bundna till specifika Linux-distributioner och som körs i en speciell behÄllare som isolerar applikationen frÄn resten av systemet. Stöd för körning av Flatpak-paket har sÀkerstÀllts för Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux och Ubuntu. Flatpak-paket Àr inkluderade i Fedora-repositoriet och stöds i det inbyggda applikationshanteringsprogrammet GNOME.

Nyckelnyheter i Flatpak 1.14-serien:

  • Skapande av katalog för filer i tillstĂ„nd (.local/state) och faststĂ€llande av en miljövariabel för att peka pĂ„ denna katalog, XDG_STATE_HOME, har sĂ€kerstĂ€llts.
  • Villkorliga kontroller av typen "have-kernel-module- namn" har lagts till för att bestĂ€mma nĂ€rvaron av kĂ€rnmoduler (en universell motsvarighet till den tidigare föreslagna kontrollen have-intel-gpu, dĂ€r det nu istĂ€llet gĂ„r att anvĂ€nda uttrycket "have-kernel-module-i915").
  • Kommandot "flatpak document-unexport —doc-id=
" har implementerats.
  • Export av Appstream-metadata för anvĂ€ndning i huvudmiljön har sĂ€kerstĂ€llts.
  • Autocompletionsregler för Flatpak-kommandon har lagts till för kommandoraden Fish.
  • NĂ€tverksĂ„tkomst till X11- och PulseAudio-tjĂ€nster har tillĂ„tits (med rĂ€tt instĂ€llningar).
  • Huvudgrenen i Git-repositoriet har döpts om frĂ„n "master" till "main", eftersom ordet "master" under senare tid har ansetts politiskt inkorrekt.
  • Överskrivning av startskript har sĂ€kerstĂ€llts vid omdöpning av applikationen.
  • Alternativen "—include-sdk" och "—include-debug" har lagts till i install-kommandot för installation av SDK och debuginfo-filer.
  • Stödet för parametern "DeploySideloadCollectionID" har lagts till i flatpakref och flatpakrepo-filer, vilket gör att samlings-ID:t kommer att stĂ€llas in vid tillĂ€gg av det fjĂ€rran repositoriet, istĂ€llet för efter att metadata har laddats ner.
  • Skapande av inbĂ€ddade sandbox-miljöer för hanterare i sessioner med separata MPRIS-namn (Media Player Remote Interfacing Specification) har tillĂ„tits.
  • Verktygen för kommandoraden har sĂ€kerstĂ€llt att information om anvĂ€ndning av förĂ„ldrade runtime-tillĂ€gg visas.
  • I uninstall-kommandot har en bekrĂ€ftelsefrĂ„ga införts innan borttagning av runtime eller runtime-tillĂ€gg som fortfarande anvĂ€nds.
  • I kommandon som "flatpak run" har stöd för alternativet "—socket=gpg-agent" lagts till.
  • I libostree har en sĂ„rbarhet Ă„tgĂ€rdats som potentiellt kan tillĂ„ta en anvĂ€ndare att ta bort godtyckliga filer i systemet genom manipulation av flatpak-systemhelper (genom att skicka en begĂ€ran om borttagning med ett sĂ€rskilt formaterat grennamn). Problemet uppstĂ„r endast i gamla versioner av Flatpak och libostree, som utfĂ€rdades före 2018 (< 0.10.2), och pĂ„verkar inte nuvarande utgĂ„vor.

Det Àr viktigt att pÄminna om att Flatpak ger utvecklare av applikationer möjlighet att förenkla distributionen av sina program, som inte ingÄr i standardförrÄden för distributioner, genom att förbereda en universell container utan att behöva skapa separata versioner för varje distribution. AnvÀndare som vÀrnar om sÀkerhet kan köra tveksamma applikationer i en container som ger Ätkomst endast till nÀtverksfunktioner och anvÀndarfiler relaterade till applikationen. AnvÀndare som Àr intresserade av nyheter kan installera de senaste test- och stabila versionerna av applikationer utan att behöva göra Àndringar i systemet. Till exempel byggs Flatpak-paket för LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio etc.

För att minska paketets storlek ingÄr endast applikationsspecifika beroenden, medan grundlÀggande system- och grafiska bibliotek (GTK, Qt, GNOME och KDE-bibliotek etc.) presenteras som anslutningsbara standardruntime-miljöer. Huvudskillnaden mellan Flatpak och Snap Àr att Snap anvÀnder komponenter frÄn det underliggande systemet och isolering baserat pÄ filtrering av systemanrop, medan Flatpak skapar en separat container frÄn systemet och opererar med stora runtime-satser, vilket tillhandahÄller standardiserade systemmiljöer (till exempel alla bibliotek som krÀvs för att köra GNOME- eller KDE-program).

Förutom den typiska systemmiljön (runtime) som installeras via ett sÀrskilt lager, levereras ytterligare beroenden (bundle) som krÀvs för att applikationen ska fungera. Tillsammans utgör runtime och bundle innehÄllet i containern, dÀr runtime installeras separat och kan kopplas till flera containrar, vilket förhindrar duplicering av gemensamma systemfiler för containrar. Flera olika runtime (GNOME, KDE) eller flera versioner av samma runtime (GNOME 3.40, GNOME 3.42) kan installeras pÄ ett system. Containern med applikationen som beroende anvÀnder bindningen endast till en specifik runtime, utan att ta hÀnsyn till de enskilda paketen som utgör runtime. Alla saknade element packas tillsammans med applikationen. Vid skapandet av containern monteras innehÄllet i runtime som delen /usr, medan bundle monteras i katalogen /app.

InnehÄllet i runtime och applikationscontainrar skapas med hjÀlp av teknologin OSTree, dÀr bilden atomÀrt uppdateras frÄn ett Git-liknande arkiv, vilket möjliggör tillÀmpning av versionshanteringsmetoder pÄ distributionskomponenter (till exempel kan systemet snabbt ÄterstÀllas till ett tidigare tillstÄnd). RPM-paket översÀtts till OSTree-förvaret med hjÀlp av ett sÀrskilt lager rpm-ostree. Separat installation och uppdatering av paket inom arbetsmiljön stöds inte, systemet uppdateras inte pÄ nivÄn av enskilda komponenter utan helt, och Àndrar atomÀrt sitt tillstÄnd. Verkyg erbjuds för inkrementell tillÀmpning av uppdateringar, vilket eliminerar behovet av att helt byta bild vid varje uppdatering.

Det isolerade miljön som skapas Àr helt oberoende av den anvÀnda distributionen och, vid korrekt paketering, har ingen Ätkomst till anvÀndarens eller huvudsystemets filer och processer, kan inte direkt interagera med hÄrdvaran, förutom utmatning via DRI, och anrop till nÀtverksystemet. Grafikutmatning och hantering av inmatning realiseras med protokollet Wayland eller genom vidarekoppling av X11-socket. Interaktionen med den externa miljön baseras pÄ meddelandebytesystemet DBus och ett sÀrskilt API för Portals.

För isolering anvÀnds ett skikt av Bubblewrap och traditionella Linux-teknologier för containervirtualisering, baserade pÄ anvÀndning av cgroups, namnrymder (namespaces), Seccomp och SELinux. PulseAudio anvÀnds för ljudutmatning. Isoleringen kan dock stÀngas av, vilket utnyttjas av utvecklare av mÄnga populÀra paket för att fÄ full tillgÄng till filsystemet och alla enheter i systemet. Till exempel levereras paket som GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity och VLC med en begrÀnsad isoleringslÀge som lÄter full tillgÄng till hemkatalogen. Vid komprometterade paket med tillgÄng till hemkatalogen, trots en mÀrkning av paketets beskrivning med "sandboxed", rÀcker det för en angripare att Àndra filen ~\/ .bashrc för att köra sin kod. En separat frÄga Àr kontrollen över Àndringar i paketen och förtroendet för paketbyggare, som ofta inte Àr kopplade till huvudprojektet eller distributioner.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster