خود کفیل پیکجوں کے سسٹم کی ریلیز فلیٹ پیک 1.14.0

Flatpak 1.14 ٹول کٹ کی ایک نئی مستحکم شاخ شائع کی گئی ہے، جو خود ساختہ پیکجز بنانے کے لیے ایک ایسا نظام فراہم کرتی ہے جو مخصوص لینکس ڈسٹری بیوشنز سے منسلک نہیں ہوتے اور ایک خاص کنٹینر میں چلتے ہیں جو ایپلیکیشن کو باقی سسٹم سے الگ کر دیتا ہے۔ آرک لینکس، سینٹوس، ڈیبیان، فیڈورا، جینٹو، میجیا، لینکس منٹ، آلٹ لینکس اور اوبنٹو کے لیے فلیٹ پیک پیکجوں کو چلانے کے لیے معاونت فراہم کی گئی ہے۔ Flatpak پیکجز فیڈورا ریپوزٹری میں شامل ہیں اور مقامی 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 پارٹیشن کے طور پر نصب کیا جاتا ہے، اور بنڈل کو /app ڈائریکٹری میں نصب کیا جاتا ہے۔

رن ٹائم اور ایپلیکیشن کنٹینرز OSTree ٹیکنالوجی کا استعمال کرتے ہوئے بنائے گئے ہیں، جس میں گٹ نما ذخیرے سے تصویر کو جوہری طور پر اپ ڈیٹ کیا جاتا ہے، جو تقسیم کے اجزاء پر ورژن کنٹرول کے طریقوں کو لاگو کرنے کی اجازت دیتا ہے (مثال کے طور پر، آپ سسٹم کو تیزی سے رول بیک کر سکتے ہیں۔ پچھلی حالت)۔ RPM پیکجوں کا ترجمہ OSTree ریپوزٹری میں ایک خاص rpm-ostree پرت کا استعمال کرتے ہوئے کیا جاتا ہے۔ کام کرنے والے ماحول میں پیکجوں کی علیحدہ تنصیب اور اپ ڈیٹ تعاون یافتہ نہیں ہے؛ سسٹم کو انفرادی اجزاء کی سطح پر نہیں، بلکہ مجموعی طور پر، جوہری طور پر اس کی حالت کو تبدیل کرتے ہوئے اپ ڈیٹ کیا جاتا ہے۔ ہر اپ ڈیٹ کے ساتھ تصویر کو مکمل طور پر تبدیل کرنے کی ضرورت کو ختم کرتے ہوئے، بتدریج اپ ڈیٹس کو لاگو کرنے کے لیے ٹولز فراہم کرتا ہے۔

تیار کردہ الگ تھلگ ماحول استعمال شدہ تقسیم سے مکمل طور پر آزاد ہے اور، پیکج کی مناسب ترتیبات کے ساتھ، صارف یا مرکزی نظام کی فائلوں اور عمل تک رسائی نہیں ہے، ڈی آر آئی کے ذریعے آؤٹ پٹ کے استثناء کے ساتھ، آلات تک براہ راست رسائی نہیں کر سکتا، اور نیٹ ورک سب سسٹم کو کال کرتا ہے۔ گرافکس آؤٹ پٹ اور ان پٹ تنظیم کو Wayland پروٹوکول یا X11 ساکٹ فارورڈنگ کے ذریعے لاگو کیا جاتا ہے۔ بیرونی ماحول کے ساتھ تعامل DBus پیغام رسانی کے نظام اور ایک خصوصی پورٹلز API پر مبنی ہے۔

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

ماخذ: opennet.ru

نیا تبصرہ شامل کریں