आत्म-पर्याप्त प्याकेजहरूको प्रणालीको रिलीज Flatpak 1.14.0

Flatpak 1.14 टूलकिटको नयाँ स्थिर शाखा प्रकाशित गरिएको छ, जसले विशेष लिनक्स वितरणमा बाँधिएको र प्रणालीको बाँकी भागबाट अनुप्रयोगलाई अलग गर्ने विशेष कन्टेनरमा चल्ने आत्म-निहित प्याकेजहरू निर्माण गर्न प्रणाली प्रदान गर्दछ। Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux र Ubuntu को लागि Flatpak प्याकेजहरू चलाउनको लागि समर्थन प्रदान गरिएको छ। Flatpak प्याकेजहरू Fedora भण्डारमा समावेश गरिएका छन् र नेटिभ GNOME अनुप्रयोग प्रबन्धकद्वारा समर्थित छन्।

Flatpak 1.14 शाखामा प्रमुख आविष्कारहरू:

  • Обеспечено создание каталога для файлов в состоянием (.local/state) и выставление указывающей на этот каталог переменной окружения XDG_STATE_HOME.
  • Добавлены условные проверки вида «have-kernel-module-имя» для определения наличия модулей ядра (универсальный аналог ранее предлагаемой проверке have-intel-gpu, вместо которой теперь можно использовать выражение «have-kernel-module-i915»).
  • Реализована команда «flatpak document-unexport —doc-id=…».
  • Обеспечен экспорт метаданных Appstream для использования в основном окружении.
  • Добавлены правила автодополнения команд flatpak для командной оболочки Fish
  • Разрешён сетевой доступ к сервисам X11 и PulseAudio (при добавлении соответствующих настроек).
  • Основная ветка в Git-репозитории переименована с «master» на «main», так как слово «master» считается последнее время неполиткорректным.
  • Обеспечена перезапись скриптов запуска в случае переименования приложения.
  • В команду install добавлены опции «—include-sdk» и «—include-debug» для установки SDK и файлов debuginfo.
  • В файлы flatpakref и flatpakrepo добавлена поддержка параметра «DeploySideloadCollectionID», при установке которого идентификатор коллекции будет выставлен во время добавления удалённого репозитория, а не после загрузки метаданных.
  • Разрешено создание вложенных sandbox-окружений для обработчиков в сеансах с отдельными именами MPRIS (Media Player Remote Interfacing Specification).
  • В утилитах командной строки обеспечен вывод сведений об использовании устаревших runtime-расширений.
  • В команде uninstall реализован запрос подтверждения перед удалением runtime или runtime-расширений, которые ещё используются.
  • В команды подобные «flatpak run» добавлена поддержка опции «—socket=gpg-agent».
  • В libostree устранена уязвимость, потенциально позволяющая пользователю удалить произвольные файлы в системе через манипуляции с обработчиком flatpak-system-helper (отправке запроса на удаление со специально оформленным именем ветки). Проблема проявляется только в старых версиях Flatpak и libostree, выпущенных до 2018 года (< 0.10.2), и не затрагивает актуальные выпуски.

हामी तपाईंलाई सम्झना गरौं कि 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 ले प्रणालीबाट अलग कन्टेनर सिर्जना गर्दछ र ठूलो रनटाइम सेटहरूसँग सञ्चालन गर्दछ, प्याकेजहरूलाई निर्भरताको रूपमा प्रदान गर्दैन, तर मानक प्रदान गर्दछ। ones प्रणाली वातावरण (उदाहरणका लागि, GNOME वा KDE कार्यक्रमहरू सञ्चालनका लागि आवश्यक सबै पुस्तकालयहरू)।

मानक प्रणाली वातावरण (रनटाइम) को अतिरिक्त, एक विशेष भण्डार मार्फत स्थापित, अतिरिक्त निर्भरताहरू (बन्डल) अनुप्रयोगको सञ्चालनको लागि आवश्यक आपूर्ति गरिन्छ। कुलमा, रनटाइम र बन्डलले कन्टेनरको भरण बनाउँदछ, रनटाइम अलग-अलग स्थापना गरिएको छ र एकै पटक धेरै कन्टेनरहरूमा बाँधिएको छ, जसले तपाईंलाई कन्टेनरहरूमा सामान्य प्रणाली फाइलहरू नक्कल गर्नबाट बच्न अनुमति दिन्छ। एउटा प्रणालीमा धेरै फरक रनटाइमहरू (GNOME, KDE) वा एउटै रनटाइम (GNOME 3.40, GNOME 3.42) को धेरै संस्करणहरू स्थापित हुन सक्छन्। निर्भरताको रूपमा एप्लिकेसन भएको कन्टेनरले रनटाइम बनाउने व्यक्तिगत प्याकेजहरूलाई ध्यानमा नराखी एक निश्चित रनटाइममा मात्र बाइन्डिङ प्रयोग गर्दछ। सबै छुटेका तत्वहरू अनुप्रयोगसँग सीधा प्याकेज गरिएका छन्। जब कन्टेनर बनाइन्छ, रनटाइम सामग्रीहरू /usr विभाजनको रूपमा माउन्ट गरिन्छ, र बन्डल / एप डाइरेक्टरीमा माउन्ट गरिन्छ।

रनटाइम र एप्लिकेसन कन्टेनरहरू OSTree टेक्नोलोजी प्रयोग गरेर बनाइएका छन्, जसमा छविलाई Git-जस्तो भण्डारबाट आणविक रूपमा अद्यावधिक गरिएको छ, जसले संस्करण नियन्त्रण विधिहरूलाई वितरण कम्पोनेन्टहरूमा लागू गर्न अनुमति दिन्छ (उदाहरणका लागि, तपाइँ प्रणालीलाई द्रुत रूपमा रोल ब्याक गर्न सक्नुहुन्छ। अघिल्लो अवस्था)। RPM प्याकेजहरू विशेष rpm-ostree तह प्रयोग गरेर OSTree भण्डारमा अनुवाद गरिन्छ। काम गर्ने वातावरण भित्र प्याकेजहरूको अलग स्थापना र अद्यावधिक समर्थित छैन; प्रणाली व्यक्तिगत कम्पोनेन्टको स्तरमा अद्यावधिक गरिएको छैन, तर समग्र रूपमा, परमाणु रूपमा यसको अवस्था परिवर्तन गर्दै। प्रत्येक अपडेटको साथ छविलाई पूर्ण रूपमा प्रतिस्थापन गर्ने आवश्यकतालाई हटाउँदै, बढ्दो रूपमा अद्यावधिकहरू लागू गर्न उपकरणहरू प्रदान गर्दछ।

उत्पन्न गरिएको पृथक वातावरण प्रयोग गरिएको वितरणबाट पूर्ण रूपमा स्वतन्त्र छ र, उचित प्याकेज सेटिङहरूसँग, प्रयोगकर्ता वा मुख्य प्रणालीका फाइलहरू र प्रक्रियाहरूमा पहुँच छैन, र DRI र कलहरू मार्फत आउटपुटको अपवाद बाहेक, उपकरणहरूमा सीधै पहुँच गर्न सक्दैन। नेटवर्क उपप्रणालीमा। ग्राफिक्स आउटपुट र इनपुट संगठन Wayland प्रोटोकल वा X11 सकेट फर्वार्डिङ मार्फत लागू गरिन्छ। बाह्य वातावरण संग अन्तरक्रिया DBus सन्देश प्रणाली र एक विशेष पोर्टल API मा आधारित छ।

Для изоляции используется прослойка Bubblewrap и традиционные для Linux технологии контейнерной виртуализации, основанные на использовании cgroups, пространств имён (namespaces), Seccomp и SELinux. Для вывода звука применяется PulseAudio. При этом изоляция может быть отключена, чем пользуются разработчики многих популярных пакетов для получения полного доступа к ФС и всем устройствам в системе. Например, с ограниченным режимом изоляции, оставляющим полный доступ к домашнему каталогу, поставляются пакеты GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity и VLC. В случае компрометации пакетов с доступом к домашнему каталогу, несмотря на наличие в описании пакета метки «sandboxed», атакующему для выполнения своего кода достаточно изменить файл ~/.bashrc. Отдельным вопросом является контроль за внесением изменений в пакеты и доверие к сборщикам пакетов, которые часто не связаны с основным проектом или дистрибутивами.

स्रोत: opennet.ru

एक टिप्पणी थप्न