رفتن به نوشته‌ها

درآمدی بر Snappy یا snapcraft پکیج منیجر snap store

مقدمه

شرکت کنونیکال سازنده Ubuntu برای امنیت و سادگی بیشتر سیستم عامل Ubuntu touch یک پدیده جدیدی به نام Snappy را بوجود آورد. تا کارآمدی و امنیت را برای سیستم عامل های لینوکس بیس علی الخصوص ubuntu phone فراهم کند که این موضوع برای سایر توزیع ها مورد استفاده قرار گرفته است.

معرفی

این بسته به زبان go و c نوشته شده است و تحت مجوز GPLv3 انتشار پیدا میکند و شروع کار آن ۲۰۱۴ بوده است و سورس کد آن را میتوانید در این قسمت مشاهده کنید:

پکیج هایی که از ابزار snapd استفاده میکنند و یا پکیج snaps را فراخوانی میکنند، کاملا بدون مشکل بروی دیسترو های مختلف لینوکس کار خواهند کرد و اجازه پک کردن نرم افزار به صورت upstream را میدهد به این معنی که سورس کد ارسال از سوی توسعه دهنده اگر مورد تایید قرار گیرد انتشار به راحتی صورت میگیرد. در غیر این صورت بابت هر انتشار یا پچ مجبور به تایید مجدد است.

این سسیستم بر اساس اینترنت اشیا با در نظر گرفتن محاسبات cloud & desktop طراحی شده است.  Snap application packages ها به صورت کاملا standalone یعنی اجرا بدون نیاز به پکیج جانبی میباشند که در تمامی دیسترو ها قابل استفاده اند. و برخلاف بسته های مدیریت پکیج سنتی لینوکس  مانند yum یا apt می‎باشد. مثل فایل های exe که به صورت portable هستند. از این رو حجم آنها به نسبت پکیج های عادی بیشتر هستند. این موضوع مستلزم آن است که بسته های خاص مورد نیاز هر توزیع را همراه داشته باشد و موجب ایجاد تاخیر در توسعه و انتشار یا استقرار نرم افزار برای کاربر نهایی می‎شود. 

snaps ها به هیچ فروشگاه یا store ای وابستگی ندارند میتواند از هر منبعی به صورت upstream منتشر شوند. و اما در استور Ubuntu به صورت پیش فرض هستند و امکان افزوده شدن به سایر استورها را نیز به خوبی دارند. 

همچنین توسعه دهندگان می‎توانند از snaps برای ساختن ابزار command line و یا background service نیز بهرمند شوند. و با این شروع ارتقای نرم افزار با فرمان های atomic و توسط delta امکان پذیر می باشد. اگر در مورد atomic operation اطلاعات بیشتری نیاز دارید از اینجا استفاده کنید.

تا ابتدای ۲۰۱۶ توزیع های  Arch Linux, CentOS, Debian, Fedora, Gentoo Linux , Solus, Manjaro Linux,  Linuxint, OpenEmbedded, Raspbian, OpenWrt و openSUSE توسط snap app پورت  شده اند.

هر توزیع قادر به تفسیر ابردادهای snap برای پیاده سازی امنیت و یا انتظارات دیگر snap  به شیوه خاص توزیع است.

 فایل های آن با فرمت .snap برا ساس فشرده سازی با فرمت squashfs است. مولفه‎ی ایجاد snadbox (سندباکس محیط شبیه سیستم عامل اصلی برای اجرای امن میباشد) برای پردازش داده های نرم افزار و عدم آسیب یا دسترسی به بقیه موارد سیستم عامل برای امنیت بیشتر این نرم افزار ها می‎باشد.

در ۱۱ May سال ۲۰۱۸ یک سرویس snap که با روش آپ استریم آپلود شده بود تلاش برای ماین کردن ارز دجیتالی با سیستم های کلاینت کرد که کنونیکال را مجبور به عذرخواهی سختگیری بیشتر کرد. منبع

سخن پایانی

هرچند که ubuntu phone از طرف کونیکال رها شد ولی میراث به جا مانده از آن تحویلی جدید در دنیای امنیت و یکپارچگی لینوکس خواهد بود. دغدغه همیشه اینترنت داشتن برای نصب برنامه ها را میتواند به خاطره ها بسپارد و موضوع دیگر استفاده از sandbox برای هر برنامه امنیت فضایی را بوجود میاورد که اگر یک نرم افزار تحت نفوذ و سیطره خراب کاران قرار گرفت دیگر نگرانی برای سایر برنامه ها پیش نمیاید.

تنها ضعف این موضوع ارسال به صورت upstream است که ممکن است مشکلات مشابه ماه می ۲۰۱۸ را بوجود آورد.

در صورت دیدگاه یا نقطه نظر در این موضوع از آن استقبال میکنیم.

‌A1Gard

اول از همه کوچک ترین عضو مجموعه ۴xmen بنده حقیر هستم. در ثانی یک توسعه دهنده هستم زمینه های تخصصی کارم :‌ Delphi, PHP, C++ ,Python, JavaScript, Unity game engine, C#, asm و علاقه مند به لینوکس، RCE ، کریپتوگرافی هستم. تا الان حضرت حق اینا رو به ما داده و هر وقت که بخواد ازمون میگیره دست خودشه. یا حق، با حق، تا حق

More Posts

منتشر شده در دسته‌بندی نشده

نظر

  1. SadeghPM SadeghPM

    خیلی عالی بود.
    مرسی که هستی 🙂

    • ‌A1Gard ‌A1Gard

      سر نخ از خودت بود استاد ۳>

  2. حمید حمید

    سلام
    ممنون از مطلب خوبی که گذاشتین.
    برام سوال بود که این snap چی هست و از کجا اومده؟!
    متشکر

    • ‌A1Gard ‌A1Gard

      یک تکنولوژی جدید هست ارائه نرم افزار و شرکت کنونیکال آورده اتش

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *