ఫ్లాట్‌పాక్ 1.14.0 స్వీయ-నియంత్రణ ప్యాకేజీ సిస్టమ్ విడుదల

Flatpak 1.14 టూల్‌కిట్ యొక్క కొత్త స్థిరమైన బ్రాంచ్ ప్రచురించబడింది, ఇది నిర్దిష్ట Linux పంపిణీలతో ముడిపడి ఉండని స్వీయ-నియంత్రణ ప్యాకేజీలను రూపొందించడానికి సిస్టమ్‌ను అందిస్తుంది మరియు మిగిలిన సిస్టమ్ నుండి అప్లికేషన్‌ను వేరుచేసే ప్రత్యేక కంటైనర్‌లో నడుస్తుంది. Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux మరియు Ubuntu కోసం Flatpak ప్యాకేజీలను అమలు చేయడానికి మద్దతు అందించబడింది. ఫ్లాట్‌పాక్ ప్యాకేజీలు ఫెడోరా రిపోజిటరీలో చేర్చబడ్డాయి మరియు స్థానిక గ్నోమ్ అప్లికేషన్ మేనేజర్ ద్వారా మద్దతిస్తుంది.

Flatpak 1.14 బ్రాంచ్‌లోని కీలక ఆవిష్కరణలు:

  • రాష్ట్రంలో (.local/state) ఫైల్‌ల కోసం డైరెక్టరీని సృష్టించడం సాధ్యమవుతుంది మరియు ఈ డైరెక్టరీకి సూచించే XDG_STATE_HOME ఎన్విరాన్‌మెంట్ వేరియబుల్‌ను సెట్ చేయడం సాధ్యపడుతుంది.
  • కెర్నల్ మాడ్యూల్స్ ఉనికిని గుర్తించడానికి "have-kernel-module-name" ఫారమ్ యొక్క షరతులతో కూడిన తనిఖీలు జోడించబడ్డాయి (గతంలో ప్రతిపాదించబడిన have-intel-gpu చెక్ యొక్క యూనివర్సల్ అనలాగ్, దానికి బదులుగా "have-kernel-module-i915 వ్యక్తీకరణ ” ఇప్పుడు ఉపయోగించవచ్చు).
  • “flatpak document-unexport —doc-id=...” ఆదేశం అమలు చేయబడింది.
  • ప్రధాన వాతావరణంలో ఉపయోగం కోసం Appstream మెటాడేటా ఎగుమతి అందించబడింది.
  • ఫిష్ షెల్ కోసం flatpak కమాండ్ పూర్తి నియమాలు జోడించబడ్డాయి
  • X11 మరియు PulseAudio సేవలకు నెట్‌వర్క్ యాక్సెస్ అనుమతించబడుతుంది (తగిన సెట్టింగ్‌లు జోడించబడితే).
  • Git రిపోజిటరీలోని ప్రధాన శాఖ "మాస్టర్" నుండి "మెయిన్"గా పేరు మార్చబడింది, ఎందుకంటే "మాస్టర్" అనే పదం ఇటీవల రాజకీయంగా తప్పుగా పరిగణించబడింది.
  • అప్లికేషన్ పేరు మార్చబడినట్లయితే లాంచ్ స్క్రిప్ట్‌లు ఇప్పుడు తిరిగి వ్రాయబడతాయి.
  • SDK మరియు debuginfo ఫైల్‌లను ఇన్‌స్టాల్ చేయడానికి ఇన్‌స్టాల్ కమాండ్‌కు "--include-sdk" మరియు "--include-debug" ఎంపికలు జోడించబడ్డాయి.
  • flatpakref మరియు flatpakrepo ఫైల్‌లకు “DeploySideloadCollectionID” పరామితి కోసం మద్దతు జోడించబడింది. సెట్ చేసినప్పుడు, రిమోట్ రిపోజిటరీని జోడించేటప్పుడు సేకరణ ID సెట్ చేయబడుతుంది మరియు మెటాడేటాను లోడ్ చేసిన తర్వాత కాదు.
  • ప్రత్యేక MPRIS (మీడియా ప్లేయర్ రిమోట్ ఇంటర్‌ఫేసింగ్ స్పెసిఫికేషన్) పేర్లతో సెషన్‌లలో హ్యాండ్లర్‌ల కోసం నెస్టెడ్ శాండ్‌బాక్స్ ఎన్విరాన్‌మెంట్‌లను రూపొందించడానికి అనుమతించబడింది.
  • కమాండ్ లైన్ యుటిలిటీలు ఇప్పుడు పాత రన్‌టైమ్ పొడిగింపుల ఉపయోగం గురించి సమాచారాన్ని అందిస్తాయి.
  • అన్‌ఇన్‌స్టాల్ కమాండ్ ఇప్పటికీ ఉపయోగంలో ఉన్న రన్‌టైమ్ లేదా రన్‌టైమ్ పొడిగింపులను తీసివేయడానికి ముందు నిర్ధారణ అభ్యర్థనను అమలు చేస్తుంది.
  • “flatpak run” వంటి ఆదేశాలకు “--socket=gpg-agent” ఎంపికకు మద్దతు జోడించబడింది.
  • ఫ్లాట్‌పాక్-సిస్టమ్-హెల్పర్ హ్యాండ్లర్ (ప్రత్యేకంగా ఫార్మాట్ చేయబడిన బ్రాంచ్ పేరుతో తొలగింపు అభ్యర్థనను పంపడం) యొక్క మానిప్యులేషన్ ద్వారా సిస్టమ్‌లోని ఏకపక్ష ఫైల్‌లను తొలగించడానికి వినియోగదారుని అనుమతించగల ఒక దుర్బలత్వం libostreeలో పరిష్కరించబడింది. సమస్య 2018కి ముందు విడుదలైన Flatpak మరియు libostree యొక్క పాత వెర్షన్‌లలో మాత్రమే కనిపిస్తుంది (<0.10.2) మరియు ప్రస్తుత విడుదలలను ప్రభావితం చేయదు.

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

ఒక వ్యాఖ్యను జోడించండి