Flatpak 1.14.0 સ્વ-સમાયેલ પેકેજ સિસ્ટમનું પ્રકાશન

Flatpak 1.14 ટૂલકીટની નવી સ્થિર શાખા પ્રકાશિત કરવામાં આવી છે, જે સ્વયં-સમાયેલ પેકેજો બનાવવા માટે એક સિસ્ટમ પ્રદાન કરે છે જે ચોક્કસ Linux વિતરણો સાથે જોડાયેલા નથી અને વિશિષ્ટ કન્ટેનરમાં ચલાવવામાં આવે છે જે બાકીની સિસ્ટમમાંથી એપ્લિકેશનને અલગ પાડે છે. Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux અને Ubuntu માટે Flatpak પેકેજો ચલાવવા માટે સપોર્ટ આપવામાં આવે છે. Flatpak પેકેજો Fedora રિપોઝીટરીમાં સમાવવામાં આવેલ છે અને મૂળ જીનોમ એપ્લિકેશન મેનેજર દ્વારા આધારભૂત છે.

ફ્લેટપેક 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 લાઇબ્રેરીઓ, વગેરે) પ્લગ-ઇન પ્રમાણભૂત રનટાઇમ પર્યાવરણ તરીકે ડિઝાઇન કરવામાં આવી છે. ફ્લેટપેક અને સ્નેપ વચ્ચેનો મુખ્ય તફાવત એ છે કે સ્નેપ મુખ્ય સિસ્ટમ પર્યાવરણના ઘટકોનો ઉપયોગ કરે છે અને ફિલ્ટરિંગ સિસ્ટમ કૉલ્સના આધારે અલગતા કરે છે, જ્યારે ફ્લેટપેક સિસ્ટમથી અલગ કન્ટેનર બનાવે છે અને મોટા રનટાઈમ સેટ સાથે કામ કરે છે, જે પેકેજોને નિર્ભરતા તરીકે નહીં, પરંતુ માનક તરીકે પ્રદાન કરે છે. સિસ્ટમ પર્યાવરણો (ઉદાહરણ તરીકે, GNOME અથવા KDE પ્રોગ્રામના સંચાલન માટે જરૂરી બધી લાઇબ્રેરીઓ).

સ્ટાન્ડર્ડ સિસ્ટમ એન્વાયર્નમેન્ટ (રનટાઇમ) ઉપરાંત, વિશિષ્ટ રિપોઝીટરી દ્વારા ઇન્સ્ટોલ કરવામાં આવે છે, એપ્લિકેશનના સંચાલન માટે જરૂરી વધારાની નિર્ભરતા (બંડલ) પૂરી પાડવામાં આવે છે. કુલ મળીને, રનટાઇમ અને બંડલ કન્ટેનરને ભરવાનું નિર્માણ કરે છે, તે હકીકત હોવા છતાં કે રનટાઇમ અલગથી ઇન્સ્ટોલ કરેલું છે અને એક સાથે અનેક કન્ટેનર સાથે જોડાયેલ છે, જે તમને કન્ટેનરમાં સામાન્ય સિસ્ટમ ફાઇલોની નકલ કરવાનું ટાળવા દે છે. એક સિસ્ટમમાં ઘણા જુદા જુદા રનટાઇમ ઇન્સ્ટોલ થઈ શકે છે (GNOME, KDE) અથવા સમાન રનટાઇમ (GNOME 3.40, GNOME 3.42) ની ઘણી આવૃત્તિઓ. ડિપેન્ડન્સી તરીકે એપ્લિકેશન સાથેનું કન્ટેનર રનટાઈમ બનાવે છે તેવા વ્યક્તિગત પેકેજોને ધ્યાનમાં લીધા વિના માત્ર ચોક્કસ રનટાઈમ માટે બંધનકર્તાનો ઉપયોગ કરે છે. બધા ખૂટતા તત્વો સીધા એપ્લિકેશન સાથે પેક કરવામાં આવે છે. જ્યારે કન્ટેનર બને છે, ત્યારે રનટાઇમ સમાવિષ્ટો /usr પાર્ટીશન તરીકે માઉન્ટ થાય છે, અને બંડલ /app ડિરેક્ટરીમાં માઉન્ટ થયેલ છે.

રનટાઇમ અને એપ્લીકેશન કન્ટેનર OSTree ટેક્નોલોજીનો ઉપયોગ કરીને બનાવવામાં આવે છે, જેમાં ઇમેજને ગિટ-જેવા રિપોઝીટરીમાંથી પરમાણુ રીતે અપડેટ કરવામાં આવે છે, જે વર્ઝન કંટ્રોલ પદ્ધતિઓને વિતરણ ઘટકો પર લાગુ કરવાની મંજૂરી આપે છે (ઉદાહરણ તરીકે, તમે સિસ્ટમને ઝડપથી રોલબેક કરી શકો છો. અગાઉની સ્થિતિ). RPM પેકેજો ખાસ rpm-ostree સ્તરની મદદથી OSTree રિપોઝીટરીમાં અનુવાદિત થાય છે. કાર્યકારી વાતાવરણમાં પેકેજોનું અલગ ઇન્સ્ટોલેશન અને અપડેટ સપોર્ટેડ નથી; સિસ્ટમ વ્યક્તિગત ઘટકોના સ્તરે નહીં, પરંતુ સમગ્ર રીતે, તેની સ્થિતિને પરમાણુ રીતે બદલીને અપડેટ કરવામાં આવે છે. દરેક અપડેટ સાથે ઇમેજને સંપૂર્ણપણે બદલવાની જરૂરિયાતને દૂર કરીને, અપડેટ્સને અનુક્રમે લાગુ કરવા માટે સાધનો પ્રદાન કરે છે.

જનરેટ કરેલ અલગ વાતાવરણ વપરાયેલ વિતરણથી સંપૂર્ણપણે સ્વતંત્ર છે અને, યોગ્ય પેકેજ સેટિંગ્સ સાથે, વપરાશકર્તા અથવા મુખ્ય સિસ્ટમની ફાઇલો અને પ્રક્રિયાઓની ઍક્સેસ નથી, અને ડીઆરઆઈ અને કૉલ્સ દ્વારા આઉટપુટના અપવાદ સિવાય, ઉપકરણોને સીધા જ ઍક્સેસ કરી શકતા નથી. નેટવર્ક સબસિસ્ટમ માટે. ગ્રાફિક્સ આઉટપુટ અને ઇનપુટ સંસ્થા વેલેન્ડ પ્રોટોકોલનો ઉપયોગ કરીને અથવા X11 સોકેટ ફોરવર્ડિંગ દ્વારા લાગુ કરવામાં આવે છે. બાહ્ય વાતાવરણ સાથેની ક્રિયાપ્રતિક્રિયા DBus મેસેજિંગ સિસ્ટમ અને વિશિષ્ટ પોર્ટલ્સ API પર આધારિત છે.

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

સોર્સ: opennet.ru

એક ટિપ્પણી ઉમેરો