Flatpak 1.12 టూల్కిట్ యొక్క కొత్త స్థిరమైన బ్రాంచ్ ప్రచురించబడింది, ఇది నిర్దిష్ట Linux పంపిణీలతో ముడిపడి ఉండని స్వీయ-నియంత్రణ ప్యాకేజీలను రూపొందించడానికి సిస్టమ్ను అందిస్తుంది మరియు మిగిలిన సిస్టమ్ నుండి అప్లికేషన్ను వేరుచేసే ప్రత్యేక కంటైనర్లో నడుస్తుంది. Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux మరియు Ubuntu కోసం Flatpak ప్యాకేజీలను అమలు చేయడానికి మద్దతు అందించబడింది. ఫ్లాట్పాక్ ప్యాకేజీలు ఫెడోరా రిపోజిటరీలో చేర్చబడ్డాయి మరియు స్థానిక గ్నోమ్ అప్లికేషన్ మేనేజర్ ద్వారా మద్దతిస్తుంది.
Flatpak 1.12 బ్రాంచ్లోని కీలక ఆవిష్కరణలు:
- స్టీమ్ గేమ్ డెలివరీ సేవ కోసం క్లయింట్తో ఫ్లాట్పాక్ ప్యాకేజీలో ఉపయోగించిన సమూహ శాండ్బాక్స్ పరిసరాల యొక్క మెరుగైన నిర్వహణ. సమూహ శాండ్బాక్స్లలో, /usr మరియు /యాప్ డైరెక్టరీల యొక్క ప్రత్యేక సోపానక్రమాల సృష్టి అనుమతించబడుతుంది, ఇది Steam క్లయింట్తో పర్యావరణం నుండి వేరుచేయబడిన దాని స్వంత /usr విభజనతో ప్రత్యేక కంటైనర్లో గేమ్లను ప్రారంభించడానికి ఆవిరిలో ఉపయోగించబడుతుంది.
- ఒకే అప్లికేషన్ ఐడెంటిఫైయర్ (యాప్-ID)తో ఉన్న అన్ని ప్యాకేజీ ఉదంతాలు /tmp మరియు $XDG_RUNTIME_DIR డైరెక్టరీలను భాగస్వామ్యం చేస్తాయి. ఐచ్ఛికంగా, “--allow=per-app-dev-shm” ఫ్లాగ్ని ఉపయోగించి, మీరు /dev/shm షేర్డ్ డైరెక్టరీని ఉపయోగించడాన్ని ప్రారంభించవచ్చు.
- gdb వంటి టెక్స్ట్ యూజర్ ఇంటర్ఫేస్ (TUI) అప్లికేషన్లకు మెరుగైన మద్దతు.
- "ostree prune" కమాండ్ యొక్క వేగవంతమైన అమలు బిల్డ్-అప్డేట్-రెపో యుటిలిటీకి జోడించబడింది, ఆర్కైవ్ మోడ్లో రిపోజిటరీలతో పని చేయడానికి ఆప్టిమైజ్ చేయబడింది.
- పోర్టల్ మెకానిజం అమలులో ఉన్న దుర్బలత్వం CVE-2021-41133, సెకాంప్ నియమాలలో మౌంటు విభజనలకు సంబంధించిన కొత్త సిస్టమ్ కాల్లను నిరోధించకపోవటంతో సంబంధం కలిగి ఉంది, పరిష్కరించబడింది. కంటెయినర్ వెలుపలి వనరులకు యాక్సెస్ని నిర్వహించడానికి ఉపయోగించే “పోర్టల్” ధృవీకరణ మెకానిజమ్లను దాటవేయడానికి ఒక సమూహ శాండ్బాక్స్ను రూపొందించడానికి దుర్బలత్వం అప్లికేషన్ను అనుమతించింది.
ఫలితంగా, దాడి చేసే వ్యక్తి, మౌంటు-సంబంధిత సిస్టమ్ కాల్లను చేయడం ద్వారా, శాండ్బాక్స్ ఐసోలేషన్ మెకానిజంను దాటవేయవచ్చు మరియు హోస్ట్ ఎన్విరాన్మెంట్ యొక్క కంటెంట్లకు పూర్తి ప్రాప్యతను పొందవచ్చు. వేలాండ్, పైప్వైర్ మరియు పైప్వైర్-పల్స్ ఉపయోగించే AF_UNIX సాకెట్లకు నేరుగా యాక్సెస్తో అప్లికేషన్లను అందించే ప్యాకేజీలలో మాత్రమే దుర్బలత్వం ఉపయోగించబడవచ్చు. విడుదల 1.12.0లో, దుర్బలత్వం పూర్తిగా తొలగించబడలేదు, కాబట్టి అప్డేట్ 1.12.1 వేడిగా విడుదల చేయబడింది.
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.40, GNOME 3.42). రన్టైమ్ను రూపొందించే వ్యక్తిగత ప్యాకేజీలను పరిగణనలోకి తీసుకోకుండా, డిపెండెన్సీగా అప్లికేషన్తో కూడిన కంటైనర్ నిర్దిష్ట రన్టైమ్కు మాత్రమే బైండింగ్ను ఉపయోగిస్తుంది. అన్ని తప్పిపోయిన అంశాలు అప్లికేషన్తో నేరుగా ప్యాక్ చేయబడతాయి. కంటైనర్ ఏర్పడినప్పుడు, రన్టైమ్ కంటెంట్లు /usr విభజనగా మౌంట్ చేయబడతాయి మరియు బండిల్ /app డైరెక్టరీలో మౌంట్ చేయబడుతుంది.
రన్టైమ్ మరియు అప్లికేషన్ కంటైనర్లు OSTree సాంకేతికతను ఉపయోగించి నిర్మించబడ్డాయి, దీనిలో చిత్రం Git-వంటి రిపోజిటరీ నుండి పరమాణుపరంగా నవీకరించబడుతుంది, ఇది పంపిణీ భాగాలకు సంస్కరణ నియంత్రణ పద్ధతులను వర్తింపజేయడానికి అనుమతిస్తుంది (ఉదాహరణకు, మీరు సిస్టమ్ను త్వరగా ఒక స్థితికి మార్చవచ్చు మునుపటి రాష్ట్రం). RPM ప్యాకేజీలు ప్రత్యేక rpm-ostree లేయర్ని ఉపయోగించి OSTree రిపోజిటరీలోకి అనువదించబడతాయి. పని వాతావరణంలో ప్యాకేజీల యొక్క ప్రత్యేక సంస్థాపన మరియు నవీకరణకు మద్దతు లేదు; సిస్టమ్ వ్యక్తిగత భాగాల స్థాయిలో కాదు, మొత్తంగా, పరమాణుపరంగా దాని స్థితిని మారుస్తుంది. ప్రతి నవీకరణతో చిత్రాన్ని పూర్తిగా భర్తీ చేయవలసిన అవసరాన్ని తొలగిస్తూ, అప్డేట్లను క్రమంగా వర్తింపజేయడానికి సాధనాలను అందిస్తుంది.
ఉత్పత్తి చేయబడిన వివిక్త వాతావరణం ఉపయోగించిన పంపిణీ నుండి పూర్తిగా స్వతంత్రంగా ఉంటుంది మరియు ప్యాకేజీ యొక్క సరైన సెట్టింగ్లతో, వినియోగదారు లేదా ప్రధాన సిస్టమ్ యొక్క ఫైల్లు మరియు ప్రక్రియలకు ప్రాప్యత లేదు, DRI ద్వారా అవుట్పుట్ మినహా పరికరాలను నేరుగా యాక్సెస్ చేయలేరు, మరియు నెట్వర్క్ సబ్సిస్టమ్కి కాల్లు. గ్రాఫిక్స్ అవుట్పుట్ మరియు ఇన్పుట్ ఆర్గనైజేషన్ వేలాండ్ ప్రోటోకాల్ ఉపయోగించి లేదా X11 సాకెట్ ఫార్వార్డింగ్ ద్వారా అమలు చేయబడతాయి. బాహ్య వాతావరణంతో పరస్పర చర్య DBus మెసేజింగ్ సిస్టమ్ మరియు ప్రత్యేక పోర్టల్స్ APIపై ఆధారపడి ఉంటుంది.
ఐసోలేషన్ కోసం, cgroups, namespaces, Seccomp మరియు SELinux వినియోగం ఆధారంగా బబుల్వ్రాప్ లేయర్ మరియు సాంప్రదాయ Linux కంటైనర్ వర్చువలైజేషన్ టెక్నాలజీలు ఉపయోగించబడతాయి. పల్స్ ఆడియో సౌండ్ అవుట్పుట్ చేయడానికి ఉపయోగించబడుతుంది. ఈ సందర్భంలో, ఐసోలేషన్ నిలిపివేయబడుతుంది, ఇది ఫైల్ సిస్టమ్ మరియు సిస్టమ్లోని అన్ని పరికరాలకు పూర్తి ప్రాప్యతను పొందడానికి అనేక ప్రసిద్ధ ప్యాకేజీల డెవలపర్లచే ఉపయోగించబడుతుంది. ఉదాహరణకు, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity మరియు VLC పరిమిత ఐసోలేషన్ మోడ్తో వస్తాయి, ఇవి హోమ్ డైరెక్టరీకి పూర్తి ప్రాప్యతను వదిలివేస్తాయి.
ప్యాకేజీ వివరణలో “శాండ్బాక్స్డ్” లేబుల్ ఉన్నప్పటికీ, హోమ్ డైరెక్టరీకి యాక్సెస్తో ప్యాకేజీలు రాజీపడినట్లయితే, దాడి చేసే వ్యక్తి తన కోడ్ని అమలు చేయడానికి ~/.bashrc ఫైల్ను మాత్రమే మార్చాలి. ప్రత్యేక సమస్య ఏమిటంటే, ప్యాకేజీలకు మార్పుల నియంత్రణ మరియు ప్యాకేజీ బిల్డర్లపై నమ్మకం, వారు తరచుగా ప్రధాన ప్రాజెక్ట్ లేదా పంపిణీలతో సంబంధం కలిగి ఉండరు.
మూలం: opennet.ru