انتشار سیستم بسته مستقل Flatpak 1.6.0

منتشر شده شاخه پایدار جدید جعبه ابزار فلت پک 1.6، که سیستمی را برای ساخت بسته های مستقل ارائه می دهد که به توزیع های خاص لینوکس متصل نیستند و در یک ظرف خاص اجرا می شوند که برنامه را از بقیه سیستم جدا می کند. پشتیبانی از اجرای بسته های Flatpak برای Arch Linux ارائه شده است، لینوکس، دبیان، فدورا، جنتو، مگیا، لینوکس مینت و اوبونتو. بسته های Flatpak در مخزن فدورا گنجانده شده اند و توسط مدیر برنامه اصلی GNOME پشتیبانی می شوند.

کلید نوآوری ها در شعبه Flatpak 1.6:

  • В پورتال API متد CreateUpdateMonitor اضافه شده است که به برنامه‌ها اجازه می‌دهد ظاهر به‌روزرسانی‌ها را نظارت کنند و درخواست نصب به‌روزرسانی به‌روزرسانی را داشته باشند.
    برای رد کردن اجازه یک برنامه برای نصب به‌روزرسانی‌ها به‌طور مستقل، می‌توانید از دستور «flatpak permission-set flatpak updates $APPID no» استفاده کنید (اگر به جای «no» «پرسیدن» را مشخص کنید، هر بار یک گفتگو برای تأیید نمایش داده می‌شود. به روز رسانی)؛


  • برای ساده سازی ایجاد کنترل کننده ها، یک کتابخانه پیشنهاد شده است
    libportal، که پردازش رویدادها را بدون استفاده مستقیم از Portal API و تجزیه سیگنال‌هایی که از طریق D-Bus می‌آیند، ممکن می‌سازد.
    Libportal لایه های ناهمزمان ساده را برای اکثر "پورتال ها«؛

  • مجوز جدید "--socket= cups" برای دسترسی مستقیم به سرور چاپ CUPS اضافه شد.
  • پروتکل و API را برای مدیریت احراز هویت تغییر داد. احراز هویت برای OCI (ابتکار کانتینر باز) اضافه شد. پشتیبانی پیاده سازی شده برای نصب خودکار احراز هویت از مخزن flatpak خارجی. یک کنترل کننده پاسخ به تماس به FlatpakTransaction اضافه شده است تا از احراز هویت ورود به سیستم و رمز عبور، مشابه روش احراز هویت اولیه HTTP استفاده کند.
  • پشتیبانی از برنامه‌ها و سیستم‌های محافظت‌شده که پس از بوت شدن نیاز به احراز هویت دارند، اضافه شد.
  • لایه حباب بند مورد استفاده برای عایق به روز شده است تا آزاد شود 0.4.0;
  • اضافه شدن پشتیبانی اختیاری برای کنترل های والدین از طریق برنامه کتابخانه libmalcontent، که به شما امکان می دهد دسترسی به انواع خاصی از محتوا را محدود کنید.
  • اکنون برنامه‌های افزودنی قبل از برنامه نصب می‌شوند و به شما این امکان را می‌دهند که یک برنامه کاربردی را بلافاصله پس از اتمام نصب آن دریافت کنید.
  • دستکاری‌ها با فایل‌های موقت دوباره کار شده‌اند، که در صورت کمبود فضای دیسک آزاد، عملکرد را بهبود می‌بخشد.
  • برای اجرای دستور "flatpak را وارد کنید"دیگر نیازی به استفاده از sudo نیست.
  • قابلیت راه‌اندازی محیط‌های ایزوله تودرتو (جعبه ماسه‌بازی فرعی) برای فرآیندهای فرزند به پورتال‌ها اضافه شده است.
  • دستورات جدید "flatpak permission-set" و "permission-remove" برای کنترل تنظیمات مجوز اضافه شده است.
  • گزینه "flatpak install --or-update" اضافه شد که در صورتی که برنامه قبلاً نصب شده باشد، به روز رسانی را انجام می دهد.
  • دستور flatpak mask را برای تعمیر نسخه و جلوگیری از نصب به‌روزرسانی‌ها اضافه کرد.
  • برای تصاویر در قالب OCI (Open Container Initiative)، پشتیبانی از برچسب‌های اتصال، ایجاد تاریخچه تغییرات در تصویر، و فعال کردن انواع مایک داکر، علاوه بر انواع میم OCI، اضافه شده است.
  • کلید زبان‌های پیش‌فرض به تنظیمات اضافه شده است تا علاوه بر لیست سیستم، فهرست زبان‌های مورد استفاده را نیز تعریف کند.

یادآوری می کنیم که Flatpak این امکان را برای توسعه دهندگان اپلیکیشن فراهم می کند تا توزیع برنامه های خود را که در مخازن توزیع استاندارد گنجانده نشده اند، ساده کنند. آماده سازی یک ظرف جهانی بدون ایجاد مجموعه های جداگانه برای هر توزیع. برای کاربرانی که از امنیت آگاه هستند، Flatpak به شما امکان می دهد یک برنامه مشکوک را در یک کانتینر اجرا کنید و فقط به عملکردهای شبکه و فایل های کاربر مرتبط با برنامه دسترسی داشته باشید. برای کاربران علاقه مند به محصولات جدید، Flatpak به شما این امکان را می دهد که آخرین نسخه های آزمایشی و پایدار برنامه ها را بدون نیاز به ایجاد تغییرات در سیستم نصب کنید. به عنوان مثال، در حال حاضر بسته های Flatpak در حال حاضر هستند در حال رفتن هستند برای LibreOffice، Firefox، 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).

علاوه بر محیط استاندارد سیستم (runtime)، از طریق یک ویژه نصب شده است مخزن، وابستگی های اضافی (بسته) مورد نیاز برای کارکرد برنامه ارائه شده است. در مجموع، زمان اجرا و بسته نرم افزاری پر شدن کانتینر را تشکیل می دهند، علیرغم این واقعیت که زمان اجرا به طور جداگانه نصب می شود و به طور همزمان به چندین کانتینر متصل می شود، که به شما امکان می دهد از تکرار فایل های سیستمی رایج در کانتینرها جلوگیری کنید. یک سیستم می‌تواند چندین زمان اجرا مختلف (GNOME، KDE) یا چندین نسخه از زمان اجرا مشابه (گنوم 3.26، گنوم 3.28) نصب کرده باشد. یک کانتینر با یک برنامه کاربردی به عنوان یک وابستگی فقط از یک اتصال به یک زمان اجرا خاص استفاده می کند، بدون اینکه بسته های جداگانه ای را که زمان اجرا را تشکیل می دهند در نظر بگیرد. تمام عناصر گم شده مستقیماً با برنامه بسته بندی می شوند. هنگامی که یک کانتینر تشکیل می شود، محتویات زمان اجرا به عنوان پارتیشن usr/ و بسته نرم افزاری در دایرکتوری /app نصب می شود.

پر کردن کانتینرهای زمان اجرا و برنامه با استفاده از فناوری شکل می گیرد OSTree، که در آن تصویر به صورت اتمی از یک مخزن Git مانند به روز می شود و به روش های کنترل نسخه اجازه می دهد تا روی اجزای توزیع اعمال شود (به عنوان مثال، می توانید به سرعت سیستم را به حالت قبلی برگردانید). بسته های RPM با استفاده از یک لایه خاص به مخزن OSTree ترجمه می شوند rpm-ostree. نصب و به‌روزرسانی جداگانه بسته‌ها در محیط کار پشتیبانی نمی‌شود؛ سیستم نه در سطح اجزای جداگانه، بلکه به طور کلی به‌روزرسانی می‌شود و وضعیت خود را به صورت اتمی تغییر می‌دهد. ابزارهایی را برای اعمال به‌روزرسانی‌ها به صورت تدریجی فراهم می‌کند و نیازی به جایگزینی کامل تصویر با هر به‌روزرسانی را از بین می‌برد.

محیط ایزوله تولید شده کاملاً مستقل از توزیع مورد استفاده است و با تنظیمات بسته مناسب، به فایل ها و فرآیندهای کاربر یا سیستم اصلی دسترسی ندارد، نمی تواند مستقیماً به تجهیزات دسترسی داشته باشد، به استثنای خروجی از طریق DRI، و زیر سیستم شبکه سازماندهی خروجی و ورودی گرافیک اجرا شد با استفاده از پروتکل Wayland یا از طریق سوکت X11 Forwarding. تعامل با محیط خارجی بر اساس سیستم پیام رسانی DBus و یک پورتال API ویژه است. برای عایق کاری استفاده می شود بین لایه ای حباب بند و فناوری‌های مجازی‌سازی کانتینر لینوکس سنتی مبتنی بر استفاده از cgroups، namespaces، Seccomp و SELinux. PulseAudio برای خروجی صدا استفاده می شود.

منبع: opennet.ru

اضافه کردن نظر