ఫ్లాట్ప్యాక్ 1.12 యొక్క కొత్త స్టేబుల్ బ్రాంచ్ విడుదల చేయబడింది, ఇది నిర్దిష్ట డిస్ట్రిబ్యూషన్లకు కట్టుబడి ఉండని స్వీయ-నియంత్రిత ప్యాకేజీలను నిర్మించడానికి ఒక వ్యవస్థను అందిస్తుంది. Linux మరియు అప్లికేషన్ను సిస్టమ్లోని మిగిలిన భాగాల నుండి వేరుచేసే ఒక ప్రత్యేక కంటైనర్లో అమలు చేయబడుతుంది. ఆర్చ్ కోసం ఫ్లాట్ప్యాక్ ప్యాకేజీలను అమలు చేయడానికి మద్దతు అందించబడింది. Linux, CentOS, Debian, ఫెడోరా, జెంటూ, మాగేయా, Linux మింట్, ఆల్ట్ Linux и Ubuntuఫ్లాట్ప్యాక్ ప్యాకేజీలు ఫెడోరా రిపోజిటరీలో చేర్చబడ్డాయి మరియు ప్రామాణిక గ్నోమ్ అప్లికేషన్ మేనేజర్లో మద్దతు ఇవ్వబడతాయి.
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 వేడిగా విడుదల చేయబడింది.
గుర్తుంచుకోవలసిన విషయం ఏమిటంటే, ప్రామాణిక పంపిణీ రిపోజిటరీలలో చేర్చబడని తమ ప్రోగ్రామ్ల పంపిణీని సులభతరం చేయడానికి, ఫ్లాట్ప్యాక్ అప్లికేషన్ డెవలపర్లకు వీలు కల్పిస్తుంది. ఇది ప్రతి పంపిణీకి ప్రత్యేక బిల్డ్లను సృష్టించకుండా, ఒకే, సార్వత్రిక కంటైనర్ను సృష్టిస్తుంది. భద్రత పట్ల శ్రద్ధ వహించే వినియోగదారుల కోసం, ఫ్లాట్ప్యాక్ ఒక సందేహాస్పదమైన అప్లికేషన్ను కంటైనర్లో నడపడానికి అనుమతిస్తుంది, కేవలం ఆ అప్లికేషన్కు సంబంధించిన నెట్వర్క్ ఫంక్షన్లు మరియు యూజర్ ఫైల్లకు మాత్రమే యాక్సెస్ ఇస్తుంది. కొత్త విడుదలలపై ఆసక్తి ఉన్న వినియోగదారుల కోసం, ఫ్లాట్ప్యాక్ సిస్టమ్లో ఎలాంటి మార్పులు చేయకుండానే అప్లికేషన్ల యొక్క తాజా టెస్టింగ్ మరియు స్టేబుల్ విడుదలలను ఇన్స్టాల్ చేయడానికి అనుమతిస్తుంది. ఉదాహరణకు, లిబ్రెఆఫీస్, మిడోరి, జింప్, ఇంక్స్కేప్, కెడెన్లైవ్, స్టీమ్, 0 AD, విజువల్ స్టూడియో కోడ్, VLC, స్లాక్, స్కైప్ మరియు టెలిగ్రామ్ డెస్క్టాప్ కోసం ఫ్లాట్ప్యాక్ ప్యాకేజీలు నిర్మించబడ్డాయి. Android స్టూడియో, మొదలైనవి.
ప్యాకేజీ పరిమాణాన్ని తగ్గించడానికి, ఇది అప్లికేషన్-నిర్దిష్ట డిపెండెన్సీలను మాత్రమే కలిగి ఉంటుంది మరియు ప్రాథమిక సిస్టమ్ మరియు గ్రాఫిక్స్ లైబ్రరీలు (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పై ఆధారపడి ఉంటుంది.
ఇన్సులేషన్ కోసం, బబుల్వ్రాప్ పొర మరియు సాంప్రదాయ Linux cgroups, namespaces, Seccomp మరియు SE ల వాడకం ఆధారంగా కంటైనర్ వర్చువలైజేషన్ టెక్నాలజీలుLinuxఆడియో అవుట్పుట్ కోసం పల్స్ఆడియో ఉపయోగించబడుతుంది. ఐసోలేషన్ను డిసేబుల్ చేయవచ్చు, దీనిని అనేక ప్రముఖ ప్యాకేజీల డెవలపర్లు ఫైల్ సిస్టమ్కు మరియు సిస్టమ్లోని అన్ని డివైజ్లకు పూర్తి యాక్సెస్ పొందడానికి ఉపయోగిస్తారు. ఉదాహరణకు, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, మరియు VLC వంటి ప్యాకేజీలు పరిమిత ఐసోలేషన్ మోడ్తో వస్తాయి, ఇది హోమ్ డైరెక్టరీకి పూర్తి యాక్సెస్ను అనుమతిస్తుంది.
ప్యాకేజీ వివరణలో “శాండ్బాక్స్డ్” లేబుల్ ఉన్నప్పటికీ, హోమ్ డైరెక్టరీకి యాక్సెస్తో ప్యాకేజీలు రాజీపడినట్లయితే, దాడి చేసే వ్యక్తి తన కోడ్ని అమలు చేయడానికి ~/.bashrc ఫైల్ను మాత్రమే మార్చాలి. ప్రత్యేక సమస్య ఏమిటంటే, ప్యాకేజీలకు మార్పుల నియంత్రణ మరియు ప్యాకేజీ బిల్డర్లపై నమ్మకం, వారు తరచుగా ప్రధాన ప్రాజెక్ట్ లేదా పంపిణీలతో సంబంధం కలిగి ఉండరు.
మూలం: opennet.ru
