Flatpak و Snap از زمان معرفی خود، کل دنیای دسکتاپ لینوکس را تحت تاثیر خود قرار داده اند. آیا آنها واقعا بهتر از بسته های لینوکس سنتی هستند؟
دریافت نرم افزار در لینوکس مدت هاست که هم ساده و هم پیچیده بوده است. بسیاری از برنامه ها فقط با یک کلیک ماوس یا دستور ترمینال فاصله دارند. اما اگر برنامههای موجود برای نسخه لینوکس انتخابی شما قدیمی هستند، دریافت آخرین بهروزرسانیها اغلب میتواند دردسرساز باشد.
با Flatpak و Snap، این تغییر کرده است. معرفی قالبهای بسته بیشتر در منظرهای شلوغ، پیچیده به نظر میرسد، اما مدیریت آنها زندگی روزمره را در دسکتاپ لینوکس بسیار آسانتر کرده است. بیایید ببینیم چرا
1. برنامه ها و به روز رسانی های جدید را فورا دریافت می کنید
روش سنتی توزیع برنامه ها شامل در دسترس قرار دادن تعداد زیادی برنامه و ابزار در یک مخزن نرم افزاری غول پیکر برای کاربران است. این مخزن اغلب ثابت است. وقتی نسخه جدیدی از توزیع شما منتشر می شود، آخرین نسخه برنامه های موجود در آن زمان را دریافت می کنید.
پیش از این، هنگامی که یک برنامه یا به روز رسانی برنامه جدید منتشر می شد، یا شش ماه یا بیشتر صبر می کردید تا به روز رسانی را در کنار آخرین نسخه سیستم عامل خود دریافت کنید، برنامه را خودتان از منبع ساخته اید، مخازن نرم افزار شخص ثالث را با خطر خراب شدن اضافه می کردید. سیستم شما، یا توزیع خود را با نسخهای رولینگ جایگزین کنید که احتمال خرابی آن بیشتر است.
هم با فرمت Flatpak و هم با فرمت Snap، میتوانید برنامهها و بهروزرسانیهای جدید را به محض در دسترس بودن دانلود کنید، درست مانند رایانههای رومیزی غیر لینوکس. به همین سادگی.
2. توسعه دهندگان می توانند به راحتی برنامه های خود را در لینوکس دریافت کنند
مدل سنتی بالا به این معنی بود که بسیاری از توزیعهای لینوکس دارای مخازن نرمافزاری خاص خود بودند و از فرمتهای مختلف برنامه استفاده میکردند. توسعه نرم افزار برای لینوکس و ایجاد برنامه تنها آغاز کار بود.
سپس باید تصمیم می گرفتید که کدام فرمت های بسته بندی را پشتیبانی کنید، برنامه خود را در کدام مخازن نرم افزاری قرار دهید و چگونه فرآیند پیچیده را هدایت کنید. یا به سادگی کد منبع را در دسترس قرار دادید و امیدوار بودید که شخص دیگری برای توزیع نرم افزار شما بیاید.
اکنون شما همچنان باید بین Flatpak و Snap یکی را انتخاب کنید، اما Flathub و Snap Store دستورالعمل های واضحی را برای آپلود و اشتراک گذاری برنامه شما در مقایسه با مدل مخزن سنتی ارائه می دهند. همین امر در مورد AppCenter، یک فروشگاه برنامه جایگزین که در اطراف Flatpak متمرکز است، صادق است. این تمایز ممکن است برای قدیمیهای قدیمی لینوکس کوچک به نظر برسد، اما برای توسعهدهندگان تازه وارد لینوکس، تفاوت شب و روز است.
3. توسعه دهندگان از یک مکان به همه توزیع ها ارسال می کنند
نه تنها دریافت یک برنامه به یکی از فروشگاه های برنامه جدید آسان تر است، بلکه ارائه یک برنامه به اکثر کاربران لینوکس آسان تر است.
Flatpak و Snap دارای دو فروشگاه برنامه جداگانه هستند که مسلماً ممکن است راه حلی برای این مشکل به نظر نرسد. اما هر فروشگاه برنامه برای اکثریت قریب به اتفاق دسکتاپ های لینوکس در دسترس است. تا زمانی که یک توسعه دهنده تصمیم بگیرد برنامه خود را به عنوان Flatpak یا Snap ارائه کند، به طور موثر نرم افزار خود را از یک مکان واحد در دسترس تمام لینوکس های دسکتاپ قرار می دهد.
این بدان معناست که به جای اینکه یک توسعهدهنده یک DEB با پشتیبانی رسمی فقط برای اوبونتو یا یک RPM برای فدورا ارائه دهد، میتواند یک Flatpak یا یک Snap ارائه دهد که تا حد زیادی در اکثر نسخههای لینوکس اجرا میشود.
4. افزایش امنیت از طریق Sandboxing
فرمت های لینوکس موجود مانند DEB و RPM معمولاً هنگام نصب به سیستم شما دسترسی کامل دارند و دسترسی به هر فایلی را در فهرست کاربری شما حفظ می کنند. این بدان معناست که باید واقعاً به برنامههایی که نصب میکنید و بهروزرسانیهای آنها اعتماد کنید، زیرا یک برنامه به راحتی میتواند سیستم و دادههای شما را در معرض خطر قرار دهد.
Flatpaks و Snaps با جداسازی برنامهها از فایلهای سیستم و دادههای شخصی شما به دنبال رفع این مشکل هستند. برنامهها در حالت ایدهآل فقط میتوانند به بخشهایی از رایانه شما که برای کارکرد نیاز دارند دسترسی داشته باشند، مانند یک پوشه خاص یا وبکم شما.
هر دو فرمت در حال پیشرفت هستند. برخی از Flatpak ها به طور پیش فرض به کل پوشه خانه شما دسترسی دارند. اکثر برنامهها درخواست مجوز نمیکنند، اما در عوض با مجموعهای از مجوزهای پیشفرض ارائه میشوند، بنابراین مگر اینکه در مورد ابزارهایی مانند Flatseal اطلاعات داشته باشید، در واقع نمیدانید Flatpak به چه بخشهایی از سیستم شما میتواند دسترسی داشته باشد. بستههای اسنپ در ابتدا با سندباکس در اوبونتو عرضه شدند، اما در بسیاری از توزیعهای دیگر فاقد سندباکس بودند.
اما کار مداومی برای رسیدگی به این مسائل وجود دارد.
5. برنامه های خود را هنگام ارتقاء توزیع خود نگه دارید
برخی از برنامهها بر روی یک نسخه از توزیع کار میکنند اما نسخه جدیدتری ندارند. این وضعیت مختص لینوکس نیست. برخی از برنامهها از آخرین نسخه macOS یا Android پشتیبانی نمیکنند و اگر توسعهدهنده هرگز نتواند بهروزرسانی ارائه کند، شانسی برای شما نخواهد داشت.
با Flatpak و Snap، در بیشتر موارد، دیگر مهم نیست که از چه نسخه ای از توزیع استفاده می کنید. اگر برنامهای روی نسخه فعلی توزیع شما کار میکند، وقتی توزیع خود را ارتقا دهید به کار خود ادامه میدهد.
این بخش بزرگی از دلیل تغییر سیستم عامل ابتدایی از DEB به Flatpak است. اکنون توسعه دهندگانی که برنامه ها را از طریق AppCenter ارسال می کنند، دیگر نیازی به به روز رسانی نرم افزار خود برای کار با آخرین نسخه سیستم عامل ابتدایی ندارند. برنامه ها به سادگی به کار خود ادامه می دهند.
6. از آخرین برنامه ها در یک توزیع قدیمی یا LTS استفاده کنید
از طرف دیگر، میتوانید آخرین نسخه برنامهها را دانلود کنید، حتی اگر از توزیعی استفاده میکنید که کتابخانههای سیستم آن معمولاً برای نرمافزارهای جدید خیلی قدیمی هستند.
این مدتها نقطه ضعف استفاده از نسخه LTS اوبونتو است که هر دو سال یکبار بهجای نسخههای موقتی که هر شش ماه یک بار منتشر میشود، وجود دارد. این همچنین نقطه ضعف استفاده از Debian است، که گاهی اوقات ممکن است سه سال بین انتشار فاصله داشته باشد و نسخههایی از برنامههایی را که توسعهدهندگان مدتها پیش پشت سر گذاشتهاند، در اختیار شما بگذارد.
با Flatpak و Snap، اگر ثبات و ثبات یک توزیع آهسته را ترجیح می دهید، این انتخاب نباید به قیمت برنامه های جدیدتر تمام شود.
آیا Flatpak و Snap جایگزین DEB و RPM خواهند شد؟
Flatpak و Snap این روزها بیشتر مورد توجه و هیجان روی دسکتاپ لینوکس قرار می گیرند، اما آنها نمی توانند به طور کامل جایگزین فرمت هایی مانند DEB و RPM شوند.
در کوتاه مدت، برخی از برنامه ها دارای ویژگی هایی هستند که در قالب سنتی کار می کنند که هنوز در قالب سندباکس کار نمی کنند. در درازمدت، فرمت Flatpak برای اجزای سیستم کار نمیکند، بنابراین امکان ساخت یک توزیع کاملاً از Flatpak وجود ندارد. اما تصور آینده ای آسان است که در آن، در حالی که ممکن است DEB روی سیستم شما وجود داشته باشد، ممکن است دیگر دلیلی برای نصب دستی آن نداشته باشید.