գործիքակազմի նոր կայուն ճյուղ , որը տրամադրում է ինքնուրույն փաթեթներ կառուցելու համակարգ, որոնք կապված չեն Linux-ի որոշակի բաշխումների հետ և աշխատում են հատուկ կոնտեյների մեջ, որը մեկուսացնում է ծրագիրը համակարգի մնացած մասից։ Flatpak փաթեթների գործարկման աջակցությունը տրամադրվում է Arch Linux-ի համար, , Debian, Fedora, Gentoo, Mageia, Linux Mint և Ubuntu: Flatpak փաթեթները ներառված են Fedora-ի պահոցում և աջակցվում են GNOME հավելվածի հայրենի կառավարչի կողմից:
Բանալի Flatpak 1.8 մասնաճյուղում.
- P2P ռեժիմով տեղադրման պարզեցված իրականացում (թույլ է տալիս կազմակերպել ծրագրերի և գործարկման ժամանակի հավաքածուների բեռնումը միջանկյալ հանգույցների կամ պահեստային սարքերի միջոցով՝ առանց ցանցային կապի համակարգերի համար): Տեղական ցանցում միջանկյալ հոսթերի միջոցով տեղադրման աջակցությունը դադարեցվել է։ Տեղական USB կրիչների վրա գտնվող պահոցների ավտոմատ բեռնումը (կողային բեռնում) լռելյայնորեն անջատված է: Միջանկյալ տեղական պահոցները միացնելու համար դուք պետք է կարգավորեք պահոցը՝ ստեղծելով սիմվոլիկ հղում /var/lib/flatpak/sideload-repos-ից կամ
/run/flatpak/sideload-պահոցներ։ Փոփոխությունը հնարավորություն տվեց պարզեցնել P2P ռեժիմի ներքին ներդրումը և բարձրացնել դրա արդյունավետությունը։ - Ավելացվել է լրացուցիչ systemd միավոր՝ միացված արտաքին USB կրիչների վրա լրացուցիչ պահոցներ ավտոմատ կերպով հայտնաբերելու համար։
- Ֆայլային համակարգին մուտք ունեցող ծրագրերի համար հոսթ միջավայրի /lib գրացուցակը վերահասցեագրվում է /run/host/lib։
- Ավելացվել են ֆայլային համակարգին մուտք գործելու նոր թույլտվություններ՝ «host-etc» և «host-os», որոնք թույլ են տալիս մուտք գործել /etc և /usr համակարգի գրացուցակներ։
- Ավելի արդյունավետ ֆայլերի վերլուծության կոդ ստեղծելու համար օգտագործվում է ostreee-ի GVariant-ը։ .
- Կարգավորման կառուցման սկրիպտը հնարավորություն է տալիս կառուցել առանց
libsystemd; - Համոզված է, որ Journal socket-ները կարող են տեղադրվել միայն ընթերցման ռեժիմում։
- Ավելացվել է աջակցություն փաստաթղթերի արտահանմանը գրացուցակներ արտահանելու համար։
- Թույլատրվել է ALSA ձայնային սարքերին անմիջական մուտք այն հավելվածների համար, որոնք մուտք ունեն Pulseaudio-ին։
- API-ում Ավելացվել է «install-authenticator» ազդանշան, որը կարող են օգտագործել հաճախորդները՝ գործարքն ավարտելու համար անհրաժեշտ նույնականացուցիչները տեղադրելու համար։
- Հնարավորություն է տրվել օգտագործել ժամային գոտու տվյալները՝ հիմնվելով հյուրընկալող համակարգի /etc/localtime-ի վրա, ինչը լուծել է ժամային գոտու հետ կապված խնդիրները որոշ ծրագրերում։
- env.d ֆայլի տեղադրումը gdm-ից դադարեցվեց, քանի որ systemd գեներատորներն այս աշխատանքն ավելի լավ են կատարում։
- Create-usb օգտակար ծրագիրը լռելյայնորեն միացրել է մասնակի կատարման արտահանումը։
- Տրամադրվել է sysusers.d ֆայլը՝ systemd-ի միջոցով անհրաժեշտ օգտատերեր ստեղծելու համար։
- «flatpak remote-add» և «flatpak modify» հրամաններին ավելացվել է «--[no-]follow-redirect» տարբերակը՝ այլ պահոց վերահասցեավորումը միացնելու/անջատելու համար։
- Համակարգի մեջ
Ավելացվել է Spawn API՝ աշխատող ծրագրի իրական գործընթացի նույնականացուցիչը (PID) ստանալու համար։ - Բոլոր OCI (Բաց կոնտեյներների նախաձեռնություն) պահոցները տեղափոխվել են flatpak-oci-authenticator նույնականացուցիչն օգտագործելու համար։
- «--commit=» տարբերակը ավելացվել է «flatpak remote-info» և «flatpak update» հրամաններին՝ OCI պահոցների որոշակի տարբերակը նշելու համար։
- Ավելացվել է OCI պահոցների դելտա թարմացումների սկզբնական աջակցությունը։
- Ավելացվել է «flatpak upgrade» հրամանը, որը «flatpak update» հրամանի կեղծանունն է։
- Ներդրվել են մուտքագրման լրացման սկրիպտներ ձկան կճեպի համար։
Հիշեցնենք, որ Flatpak-ը ծրագրային ապահովման մշակողներին հնարավորություն է տալիս պարզեցնել իրենց այն ծրագրերի բաշխումը, որոնք չեն ներառվում ստանդարտ բաշխման պահոցներում՝ պայմանավորված... մեկ ունիվերսալ կոնտեյներ՝ առանց յուրաքանչյուր բաշխման համար առանձին հավաքներ ստեղծելու: Անվտանգության գիտակցությամբ զբաղվող օգտատերերի համար Flatpak-ը թույլ է տալիս կասկածելի հավելված գործարկել կոնտեյներով՝ ապահովելով միայն հավելվածի հետ կապված ցանցային գործառույթների և օգտագործողի ֆայլերի մուտքը: Նոր ապրանքներով հետաքրքրված օգտատերերի համար Flatpak-ը թույլ է տալիս տեղադրել հավելվածների վերջին թեստային և կայուն թողարկումները՝ առանց համակարգում փոփոխություններ կատարելու անհրաժեշտության: Օրինակ, ներկայումս Flatpak փաթեթներն արդեն կան LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio և այլնի համար։
Փաթեթի չափը նվազեցնելու համար այն ներառում է միայն ծրագրային կախվածություններ, իսկ հիմնական համակարգային և գրաֆիկական գրադարանները (Gtk+, Qt, GNOME և KDE գրադարաններ և այլն) նախագծված են որպես միացվող ստանդարտ աշխատանքային միջավայրեր։ Flatpak-ի և Snap-ի միջև հիմնական տարբերությունն այն է, որ Snap-ը օգտագործում է հյուրընկալող համակարգի միջավայրի բաղադրիչները և մեկուսացումը՝ հիմնվելով համակարգային զանգերի ֆիլտրման վրա, մինչդեռ Flatpak-ը ստեղծում է համակարգից առանձին կոնտեյներ և գործում է մեծ աշխատանքային ժամանակի հավաքածուների վրա՝ տրամադրելով տիպիկ համակարգային միջավայրեր որպես կախվածություններ (օրինակ՝ GNOME կամ KDE ծրագրերը գործարկելու համար անհրաժեշտ բոլոր գրադարանները), այլ ոչ թե փաթեթներ։
Ի լրումն ստանդարտ համակարգի միջավայրի (աշխատանքի), տեղադրված է հատուկ , տրամադրվում են հավելվածի աշխատանքի համար անհրաժեշտ լրացուցիչ կախվածություններ (փաթեթ): Ընդհանուր առմամբ, գործարկման ժամանակը և փաթեթը կազմում են կոնտեյների լցոնումը, չնայած այն հանգամանքին, որ գործարկման ժամանակը տեղադրված է առանձին և կապված է միանգամից մի քանի կոնտեյների հետ, ինչը թույլ է տալիս խուսափել բեռնարկղերի համար սովորական համակարգի ֆայլերի կրկնօրինակումից: Մեկ համակարգում կարող են տեղադրվել մի քանի տարբեր գործարկման ժամանակներ (GNOME, KDE) կամ նույն գործարկման ժամանակի մի քանի տարբերակներ (GNOME 3.26, GNOME 3.28): Հավելվածը որպես կախվածություն ունեցող կոնտեյները օգտագործում է կապակցում միայն կոնկրետ գործարկման ժամանակի համար՝ առանց հաշվի առնելու աշխատաժամանակը կազմող առանձին փաթեթները։ Բոլոր բացակայող տարրերը փաթեթավորված են անմիջապես հավելվածի հետ: Երբ ձևավորվում է կոնտեյներ, գործարկման ժամանակի բովանդակությունը տեղադրվում է որպես /usr միջնորմ, իսկ փաթեթը տեղադրվում է /app գրացուցակում:
Գործարկման և կիրառական բեռնարկղերի լցոնումը ձևավորվում է տեխնոլոգիայի միջոցով , որտեղ պատկերը ատոմային կերպով թարմացվում է Git-ի նման պահոցից՝ թույլ տալով տարբերակի վերահսկման մեթոդներ կիրառել բաշխման բաղադրիչների վրա (օրինակ՝ դուք կարող եք արագ վերադարձնել համակարգը նախկին վիճակին)։ RPM փաթեթները թարգմանվում են OSTree պահոց՝ օգտագործելով հատուկ շերտ . Աշխատանքային միջավայրում փաթեթների առանձին տեղադրումը և թարմացումը չի ապահովվում, համակարգը թարմացվում է ոչ թե առանձին բաղադրիչների մակարդակով, այլ որպես ամբողջություն՝ ատոմային կերպով փոխելով իր վիճակը: Ապահովում է գործիքներ՝ թարմացումները աստիճանաբար կիրառելու համար՝ վերացնելով յուրաքանչյուր թարմացումով պատկերն ամբողջությամբ փոխարինելու անհրաժեշտությունը:
Արդյունքում ստացված մեկուսացված միջավայրը լիովին անկախ է օգտագործվող բաշխումից և, պատշաճ փաթեթի կարգավորումներով, չունի մուտք օգտատիրոջ կամ հիմնական համակարգի ֆայլերին և գործընթացներին, չի կարող ուղղակիորեն մուտք գործել սարքավորումներ, բացառությամբ DRI-ի միջոցով ելքային տվյալների և ցանցային ենթահամակարգի։ Գրաֆիկական ելքային և մուտքային տվյալների կազմակերպում օգտագործելով Wayland արձանագրությունը կամ X11 վարդակից փոխանցման միջոցով: Արտաքին միջավայրի հետ փոխգործակցությունը հիմնված է DBus հաղորդագրությունների համակարգի և հատուկ Portal API-ի վրա: Մեկուսացման համար միջաշերտ և ավանդական Linux կոնտեյներների վիրտուալացման տեխնոլոգիաներ, որոնք հիմնված են cgroups-ի, namespace-ների, Seccomp-ի և SELinux-ի օգտագործման վրա: PulseAudio-ն օգտագործվում է ձայն արտաբերելու համար:
Source: opennet.ru
